Bug 15226 - [AIX 4.2.1] bootstrap failure in collect2.c: parse error before "FILHDR"
Summary: [AIX 4.2.1] bootstrap failure in collect2.c: parse error before "FILHDR"
Status: RESOLVED WONTFIX
Alias: None
Product: gcc
Classification: Unclassified
Component: bootstrap (show other bugs)
Version: 3.4.0
: P2 normal
Target Milestone: ---
Assignee: Not yet assigned to anyone
URL:
Keywords: build
Depends on:
Blocks:
 
Reported: 2004-04-30 12:20 UTC by dtucker
Modified: 2006-02-14 11:05 UTC (History)
2 users (show)

See Also:
Host: powerpc-ibm-aix4.2.1.0
Target: powerpc-ibm-aix4.2.1.0
Build: powerpc-ibm-aix4.2.1.0
Known to work:
Known to fail:
Last reconfirmed:


Attachments
Add includes for filehdr.h and syms.h (231 bytes, patch)
2004-04-30 12:23 UTC, dtucker
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description dtucker 2004-04-30 12:20:53 UTC
Bootstrapping on AIX 4.2.1 (yeah, I know it's old) fails because of some missing
declarations (FILHDR and SYMENT, they're in filehdr.h syms.h respectively).  I
got it to build by adding those includes to gcc/collect2.c (I'll attach the
trivial patch, it's probably not the right thing but it works for me).

$ /home/dtucker/gcc-3.4.0/configure --enable-languages=c --disable-nls
--with-included-gettext --enable-threads=aix && make bootstrap
[snip build]
gcc   -g  -DIN_GCC   -W -Wall -Wwrite-strings -Wstrict-prototypes
-Wmissing-prototypes -pedantic -Wno-long-long    -DHAVE_CONFIG_H    -I. -I.
-I/home/dtucker/gcc-3.4.0/gcc -I/home/dtucker/gcc-3.4.0/gcc/.
-I/home/dtucker/gcc-3.4.0/gcc/../include   \
-DTARGET_MACHINE=\"powerpc-ibm-aix4.2.1.0\" \
-c /home/dtucker/gcc-3.4.0/gcc/collect2.c -o collect2.o
In file included from /home/dtucker/gcc-3.4.0/gcc/collect2.c:102:
/usr/include/ldfcn.h:50: error: parse error before "FILHDR"
/usr/include/ldfcn.h:52: error: parse error before '}' token
/home/dtucker/gcc-3.4.0/gcc/collect2.c:2645: error: parse error before "SYMENT"
/home/dtucker/gcc-3.4.0/gcc/collect2.c:2645: warning: function declaration isn't
a prototype
/home/dtucker/gcc-3.4.0/gcc/collect2.c: In function `scan_prog_file':
/home/dtucker/gcc-3.4.0/gcc/collect2.c:2684: error: dereferencing pointer to
incomplete type
/home/dtucker/gcc-3.4.0/gcc/collect2.c:2684: error: `U802WRMAGIC' undeclared
(first use in this function)
/home/dtucker/gcc-3.4.0/gcc/collect2.c:2684: error: (Each undeclared identifier
is reported only once
/home/dtucker/gcc-3.4.0/gcc/collect2.c:2684: error: for each function it appears
in.)
/home/dtucker/gcc-3.4.0/gcc/collect2.c:2684: error: dereferencing pointer to
incomplete type
/home/dtucker/gcc-3.4.0/gcc/collect2.c:2684: error: `U802ROMAGIC' undeclared
(first use in this function)
/home/dtucker/gcc-3.4.0/gcc/collect2.c:2684: error: dereferencing pointer to
incomplete type
/home/dtucker/gcc-3.4.0/gcc/collect2.c:2684: error: `U802TOCMAGIC' undeclared
(first use in this function)
/home/dtucker/gcc-3.4.0/gcc/collect2.c:2684: error: dereferencing pointer to
incomplete type
/home/dtucker/gcc-3.4.0/gcc/collect2.c:2684: error: dereferencing pointer to
incomplete type
/home/dtucker/gcc-3.4.0/gcc/collect2.c:2684: error: dereferencing pointer to
incomplete type
/home/dtucker/gcc-3.4.0/gcc/collect2.c:2687: error: dereferencing pointer to
incomplete type
/home/dtucker/gcc-3.4.0/gcc/collect2.c:2687: error: dereferencing pointer to
incomplete type
/home/dtucker/gcc-3.4.0/gcc/collect2.c:2689: error: dereferencing pointer to
incomplete type
/home/dtucker/gcc-3.4.0/gcc/collect2.c:2694: error: dereferencing pointer to
incomplete type
/home/dtucker/gcc-3.4.0/gcc/collect2.c:2694: error: `F_SHROBJ' undeclared (first
use in this function)
/home/dtucker/gcc-3.4.0/gcc/collect2.c:2699: error: `SYMENT' undeclared (first
use in this function)
/home/dtucker/gcc-3.4.0/gcc/collect2.c:2699: error: parse error before "symbol"
/home/dtucker/gcc-3.4.0/gcc/collect2.c:2701: warning: implicit declaration of
function `ldtbread'
/home/dtucker/gcc-3.4.0/gcc/collect2.c:2701: error: `symbol' undeclared (first
use in this function)
/home/dtucker/gcc-3.4.0/gcc/collect2.c:2705: error: `C_EXT' undeclared (first
use in this function)
/home/dtucker/gcc-3.4.0/gcc/collect2.c:2705: error: `N_UNDEF' undeclared (first
use in this function)
/home/dtucker/gcc-3.4.0/gcc/collect2.c:2705: error: `N_TMASK' undeclared (first
use in this function)
/home/dtucker/gcc-3.4.0/gcc/collect2.c:2705: error: `DT_NON' undeclared (first
use in this function)
/home/dtucker/gcc-3.4.0/gcc/collect2.c:2705: error: `N_BTSHFT' undeclared (first
use in this function)
/home/dtucker/gcc-3.4.0/gcc/collect2.c:2705: error: `DT_FCN' undeclared (first
use in this function)
/home/dtucker/gcc-3.4.0/gcc/collect2.c:2799: error: dereferencing pointer to
incomplete type
/home/dtucker/gcc-3.4.0/gcc/collect2.c:2810: warning: implicit declaration of
function `ldclose'
Comment 1 dtucker 2004-04-30 12:23:01 UTC
Created attachment 6196 [details]
Add includes for filehdr.h and syms.h
Comment 2 David Edelsohn 2004-05-14 21:20:52 UTC
collect2.c includes a.out.h for OBJECT_FORMAT_COFF.  I no longer have access to
AIX 4.2.1, but current AIX /usr/include/a.out.h includes xcoff.h, which includes
filehdr.h and syms.h.
Comment 3 Riccardo Mottola 2006-02-14 11:05:35 UTC
this is still broken in both gcc 3.4.5 and gcc 4.0.2 on aix 4.2.1
(well, it is marked as wontfix, thus it was to be expected)