public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
* c/3670: GCC 3.0 (snapshot 20010604) fails to build under i386 Solaris 8
@ 2001-07-13 2:16 santtu
0 siblings, 0 replies; only message in thread
From: santtu @ 2001-07-13 2:16 UTC (permalink / raw)
To: gcc-gnats
>Number: 3670
>Category: c
>Synopsis: GCC 3.0 fails to build
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: unassigned
>State: open
>Class: wrong-code
>Submitter-Id: net
>Arrival-Date: Fri Jul 13 02:16:01 PDT 2001
>Closed-Date:
>Last-Modified:
>Originator: Santeri Paavolainen
>Release: 3.0 20010604 (prerelease) gcc-core only
>Organization:
SSH Communications Security Corp.
>Environment:
System: SunOS lanttu 5.8 Generic_108529-03 i86pc i386 i86pc
Architecture: i86pc
<machine, os, target, libraries (multiple lines)>
host: i386-pc-solaris2.8
build: i386-pc-solaris2.8
target: i386-pc-solaris2.8
configured with: ./configure --prefix /l/beta
>Description:
<precise description of the problem (multiple lines)>
When using "gcc version 2.95.2 19991024 (release)" for the
bootstrap compiler as:
$ export CC=gcc
$ ./configure --prefix /l/beta
$ make bootstrap
then the following error will happen at xgcc phase
(eg. bootstrap compiler compiled successfully?):
./xgcc -B./ -B/l/beta/i386-pc-solaris2.8/bin/ -isystem /l/beta/i386-pc-solaris2.8/include -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -isystem ./include -fPIC -g1 -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -I. -I. -I. -I./. -I./config -I./../include -fexceptions -c ./unwind-dw2.c -o libgcc/./unwind-dw2.o
unwind-dw2.c: In function `extract_cie_info':
unwind-dw2.c:218: warning: implicit declaration of function `strlen'
unwind-dw2.c: In function `execute_stack_op':
unwind-dw2.c:299: warning: `result' might be used uninitialized in this function
unwind-dw2.c: In function `execute_cfa_program':
unwind-dw2.c:774: warning: implicit declaration of function `alloca'
unwind-dw2.c: In function `uw_frame_state_for':
unwind-dw2.c:885: warning: implicit declaration of function `memset'
unwind-dw2.c: In function `uw_install_context_1':
unwind-dw2.c:1087: warning: missing braces around initializer
unwind-dw2.c:1087: warning: (near initialization for `once_regsizes.__pthread_once_pad')
unwind-dw2.c:1102: warning: implicit declaration of function `memcpy'
Assembler: unwind-dw2.c
"/var/tmp/ccelTRWc.s", line 4245 : Illegal subtraction
"/var/tmp/ccelTRWc.s", line 4268 : Illegal subtraction
"/var/tmp/ccelTRWc.s", line 4299 : Illegal subtraction
"/var/tmp/ccelTRWc.s", line 4326 : Illegal subtraction
"/var/tmp/ccelTRWc.s", line 4363 : Illegal subtraction
"/var/tmp/ccelTRWc.s", line 4406 : Illegal subtraction
"/var/tmp/ccelTRWc.s", line 4449 : Illegal subtraction
"/var/tmp/ccelTRWc.s", line 4488 : Illegal subtraction
"/var/tmp/ccelTRWc.s", line 4523 : Illegal subtraction
"/var/tmp/ccelTRWc.s", line 4552 : Illegal subtraction
"/var/tmp/ccelTRWc.s", line 4587 : Illegal subtraction
"/var/tmp/ccelTRWc.s", line 4618 : Illegal subtraction
"/var/tmp/ccelTRWc.s", line 4661 : Illegal subtraction
"/var/tmp/ccelTRWc.s", line 4704 : Illegal subtraction
"/var/tmp/ccelTRWc.s", line 4741 : Illegal subtraction
"/var/tmp/ccelTRWc.s", line 4776 : Illegal subtraction
"/var/tmp/ccelTRWc.s", line 4815 : Illegal subtraction
To obtain debuggeed assembler output I did:
./xgcc -dA -S -B./ -B/l/beta/i386-pc-solaris2.8/bin/ -isystem /l/beta/i386-pc-solaris2.8/include -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -isystem ./include -fPIC -g1 -DHAVE_GTHR_DEFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -I. -I. -I. -I./. -I./config -I./../include -fexceptions -c ./unwind-dw2.c
then
/usr/ccs/bin/as -V -Qy -s -o libgcc/./unwind-dw2.o unwind-dw2.s
("as: Sun WorkShop 6 99/08/16") produced the same errors as
before (different line numbering, though). The first error
happens on a construct like:
.LASFDE1:
.long .LASFDE1-__FRAME_BEGIN__ / FDE CIE offset
.long .LFB1-. / FDE initial location XXX
.long .LFE1-.LFB1 / FDE address range
.byte 0x0 / uleb128 0x0; Augmentation size
.byte 0x4 / DW_CFA_advance_loc4
.long .LCFI0-.LFB1
.byte 0xe / DW_CFA_def_cfa_offset
.byte 0x8 / uleb128 0x8
.byte 0x85 / DW_CFA_offset, column 0x5
.byte 0x2 / uleb128 0x2
.byte 0x4 / DW_CFA_advance_loc4
I have marked the erring line with "XXX". All errors are
similar in structure, eg.
.long .LABEL-.
This is generated in dwarf2out.c function
output_call_frame_info.
I figures this much out. There is a prefix
.Letext:
/APP
.section .eh_frame,"aw",@progbits
__FRAME_BEGIN__:
.long .LECIE1-.LSCIE1 / Length of Common Information Entry
.LSCIE1:
.long 0x0 / CIE Identifier Tag
.byte 0x1 / CIE Version
.ascii "zR\0" / CIE Augmentation
{etc.etc.etc.}
shortly before the erring part. If I comment .section out,
then the code compiles cleanly (doesn't probably work, but I
didn't check that out).
With the .section intact, any combination referencing the
.LFB1 (or any other number) and a *address in the current
section* leads to an error. Apparently address/relocatable
address calculations between different sections is not
allowed...
The same problem appears also on file unwind-dw2-fde.c.
>How-To-Repeat:
Get snapshot (or 3.0 release), try to bootstrap using earlier
GCC release, and the native assembler (*not* gas).
>Fix:
Workaround: use gas (--with-as=/../as) instead of native
(/usr/ccs/bin/as) assembler.
>Release-Note:
>Audit-Trail:
>Unformatted:
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2001-07-13 2:16 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-07-13 2:16 c/3670: GCC 3.0 (snapshot 20010604) fails to build under i386 Solaris 8 santtu
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).