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).