🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: gnu.gcc.bug
Article #475

Re: GCC (and G++) under AIX on the PS/2

#475
From: Minh Tran-Le
Date: Mon, 17 Jul 1989 08:53
188 lines
6399 bytes
Here are the config files needed to compile gcc under ibm ps2 aix. 

It is not perfect and it still has the following bugs:

o the -g does not generate the correct assembly code for the assembler
to generate the correct dbx debugging info.  Somehow the ps2 aix
assembler does not understand the .stab commands.  Somebody that knows
how the ibm dbx work could fix that one.

o the ibm ps2 assembler has a bug in its span optimization code.  The
current setting disable completely the span optimization feature of the
assembler.


You will have to modify the config.gcc to include the follwing lines:

    aix386 | ps2aix )		# for IBM PS/2 running AIX
	    machine=aix386
	    cpu_type=i386
	    configuration_file=xm-${machine}.h
	    target_machine=tm-${machine}.h
	    ;;

The following "tm-aix386.h" and "xm-aix386.h" are modification of the 
gcc "tm-i386v.h" and "xm-i386v.h".

----- tm-aix386.h -------------------------------------------------------------
/* Definitions for IBM PS2 running AIX/386.
   Copyright (C) 1988 Free Software Foundation, Inc.

This file is part of GNU CC.

GNU CC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 1, or (at your option)
any later version.

GNU CC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with GNU CC; see the file COPYING.  If not, write to
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */


#include "tm-i386.h"

/* Use the ATT assembler syntax.  */

#include "tm-att386.h"

/* By default, target has a 80387.  */

#define TARGET_DEFAULT 1

/* Use crt1.o as a startup file and crtn.o as a closing file.  */

#define STARTFILE_SPEC  \
  "%{pg:gcrt1.o%s}%{!pg:%{p:mcrt1.o%s}%{!p:crt1.o%s}}"

#define LIB_SPEC "%{!p:%{!pg:-lc}}%{p:-lc_p}%{pg:-lc_p} crtn.o%s"

/* Specify predefined symbols in preprocessor.  */

#define CPP_PREDEFINES "-Dunix -Di386 -DAIX"

/* special flags for the aix assembler to generate the short form for all
   qualifying forward reference */

#define ASM_SPEC "-s2"

/* Allow #sccs in preprocessor.  */

#define SCCS_DIRECTIVE

/* Output #ident as a .ident.  */

#define ASM_OUTPUT_IDENT(FILE, NAME) fprintf (FILE, "\t.ident \"%s\"\n", NAME);

/* We don't want to output SDB debugging information. */

#undef SDB_DEBUGGING_INFO
#undef ASM_FILE_START
#if 0
/* this is for when ibm fix the span optimization bug in their
   assembler */
#define ASM_FILE_START(FILE) 					\
  do { fprintf (FILE, "\t.file\t\"%s\"\n", dump_base_name);	\
       if (optimize) ASM_FILE_START_1 (FILE);			\
     } while (0)

#else

#define ASM_FILE_START(FILE) 					\
  do { fprintf (FILE, "\t.file\t\"%s\"\n", dump_base_name);	\
       fprintf (FILE, "\t.noopt\n");                            \
     } while (0)
#endif

/* This was suggested, but it shouldn't be right for DBX output. -- RMS
   #define ASM_OUTPUT_SOURCE_FILENAME(FILE, NAME) */

/* This is IBM AIX, it has a DBX debugger */

#define DBX_DEBUGGING_INFO

/* Implicit library calls should use memcpy, not bcopy, etc.  */

#define TARGET_MEM_FUNCTIONS


/* Machines that use the AT&T assembler syntax
   also return floating point values in an FP register.  */
/* Define how to find the value returned by a function.
   VALTYPE is the data type of the value (as a tree).
   If the precise function being called is known, FUNC is its FUNCTION_DECL;
   otherwise, FUNC is 0.  */

#define VALUE_REGNO(MODE) \
  (((MODE)==SFmode || (MODE)==DFmode) ? FIRST_FLOAT_REG : 0)

/* 1 if N is a possible register number for a function value. */

#define FUNCTION_VALUE_REGNO_P(N) ((N) == 0 || (N)== FIRST_FLOAT_REG)

------ end of tm-aix386.h file ------------------------------------------------


------ xm-aix386.h ------------------------------------------------------------
/* Configuration for GNU C-compiler for IBM PS/2 running AIX/386.
   Copyright (C) 1988 Free Software Foundation, Inc.

This file is part of GNU CC.

GNU CC is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 1, or (at your option)
any later version.

GNU CC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with GNU CC; see the file COPYING.  If not, write to
the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */


/* #defines that need visibility everywhere.  */
#define FALSE 0
#define TRUE 1

/* This describes the machine the compiler is hosted on.  */
#define HOST_BITS_PER_CHAR 8
#define HOST_BITS_PER_SHORT 16
#define HOST_BITS_PER_INT 32
#define HOST_BITS_PER_LONG 32

/* Arguments to use with `exit'.  */
#define SUCCESS_EXIT_CODE 0
#define FATAL_EXIT_CODE 33

#define USG

/* target machine dependencies.
   tm.h is a symbolic link to the actual target specific file.   */
#include "tm.h"

#define bcopy(a,b,c) memcpy (b,a,c)
#define bzero(a,b) memset (a,0,b)
#define bcmp(a,b,c) memcmp (a,b,c)

#define LINK_SPEC "%{!K:-K} %{!T*:-T0x00400000} %{lg} %{g} %{z:-lm}"

#ifdef __GNUC__
#define alloca(n) __builtin_alloca(n)
#endif
----- end of xm-aix386.h ------------------------------------------------------


Minh Tran-Le

Arpanet: tranle@intellicorp.com
Uucp:  ..sun!icmv!mtranle
-------
Technical Details
Message-ID: <8907170754.AA18786@life.ai.mit.edu>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!tut.cis.ohio-state.edu!INTELLICORP.COM!TRANLE
References: <gYkJGay00WB407NVRh@andrew.cmu.edu>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!tut.cis.ohio-state.edu!INTELLICORP.COM!TRANLE
From: TRANLE@INTELLICORP.COM (Minh Tran-Le)
Newsgroups: gnu.gcc.bug
Subject: Re: GCC (and G++) under AIX on the PS/2
Message-ID: <8907170754.AA18786@life.ai.mit.edu>
Date: 17 Jul 89 08:53:39 GMT
References: <gYkJGay00WB407NVRh@andrew.cmu.edu>
Sender: daemon@tut.cis.ohio-state.edu
Distribution: gnu
Organization: GNUs Not Usenet
Lines: 188