Thread View: gnu.gcc.help
2 messages
2 total messages
Started by Joost Helberg
Tue, 15 Dec 1992 08:53
gcc-2.3.2 problems on m68040
Author: Joost Helberg
Date: Tue, 15 Dec 1992 08:53
Date: Tue, 15 Dec 1992 08:53
63 lines
2861 bytes
2861 bytes
X-Disclaimer: This message was written by an unauthenticated user
at Oracle Corporation. The opinions expressed are those
of the user and not necessarily those of Oracle.
COMPILER: gcc version 2.3.2
CONFIGURATION: ./configure --target=m68k-sysv4
OS: SINIX TOS 5.41
ARCH: Targon31 (68040 multi)
MODIFICATION: none
PROBLEM: "gcc -O" generates a misoptimized code that causes
missing lables in the linking fase
When compiling cccp with optimizing on, the fase1 as well as the fase2
compiler removes labels wich should be there:
$ make CC=gcc CFLAGS="-O" cccp
gcc -DIN_GCC -O -I. -I. -I./config \
-DGCC_INCLUDE_DIR=\"/usr/local/lib/gcc-lib/m68k-sysv4/`sed -e 's/.*\"\
([^ \"]*\)[ \"].*/\1/' < ./version.c`/include\" \
-DGPLUSPLUS_INCLUDE_DIR=\"/usr/local/lib/g++-include\" \
-DLOCAL_INCLUDE_DIR=\"/usr/local/include\" \
-DCROSS_INCLUDE_DIR=\"/usr/local/lib/gcc-lib/m68k-sysv4/`sed -e 's/.*\
"\([^ \"]*\)[ \"].*/\1/' < ./version.c`/sys-include\" \
-DTOOLDIR=\"/usr/local/m68k-sysv4/\" \
-c `echo ./cccp.c | sed 's,^\./,,'`
gcc -DIN_GCC -O -I. -I. -I./config -c ./cexp.c
gcc -DIN_GCC -O -o cccp cccp.o cexp.o version.o obstack.o ` case "g
cc" in "cc") echo alloca.o ;; esac `
Undefined first referenced
symbol in file
.LD785 cccp.o
.LD388 cccp.o
.LD2020 cccp.o
.LD279 cexp.o
.LD1064 cccp.o
.LD120 cexp.o
.LD2175 cccp.o
.LD350 cexp.o
.LD155 cccp.o
.LD777 cccp.o
ld: cccp: fatal error: Symbol referencing errors. No output written to cccp
*** Error code 1 (bu21)
Part of the generated assembler in cccp.o:
cmp.l %d6,%a0
bcs.w .L779
.LI785:
mov.w .LD785(%pc,%a0.l*2),%d0
jmp 6(%pc,%d0.w)
.swbeg &6
Any suggestions??
--
Joost Helberg Rijnzathe 6
jhelberg@oracle.nl NL-3454 PV De Meern
jhelberg@nl.oracle.com The Netherlands
Oracle Europe BV Product Line Development
Phone: +31 3406 94211 Fax: +31 3406 65609
Re: gcc-2.3.2 problems on m68040
Author: Adams
Date: Thu, 17 Dec 1992 16:19
Date: Thu, 17 Dec 1992 16:19
76 lines
3735 bytes
3735 bytes
In article <3421@nlsun1.oracle.nl> jhelberg@nl.oracle.com (Joost Helberg) writes: > > COMPILER: gcc version 2.3.2 > CONFIGURATION: ./configure --target=m68k-sysv4 > OS: SINIX TOS 5.41 > ARCH: Targon31 (68040 multi) > MODIFICATION: none > PROBLEM: "gcc -O" generates a misoptimized code that causes > missing lables in the linking fase > > When compiling cccp with optimizing on, the fase1 as well as the fase2 > compiler removes labels wich should be there: > > $ make CC=gcc CFLAGS="-O" cccp > gcc -DIN_GCC -O -I. -I. -I./config \ > -DGCC_INCLUDE_DIR=\"/usr/local/lib/gcc-lib/m68k-sysv4/`sed -e 's/.*\"\ > ([^ \"]*\)[ \"].*/\1/' < ./version.c`/include\" \ > -DGPLUSPLUS_INCLUDE_DIR=\"/usr/local/lib/g++-include\" \ > -DLOCAL_INCLUDE_DIR=\"/usr/local/include\" \ > -DCROSS_INCLUDE_DIR=\"/usr/local/lib/gcc-lib/m68k-sysv4/`sed -e 's/.*\ > "\([^ \"]*\)[ \"].*/\1/' < ./version.c`/sys-include\" \ > -DTOOLDIR=\"/usr/local/m68k-sysv4/\" \ > -c `echo ./cccp.c | sed 's,^\./,,'` > gcc -DIN_GCC -O -I. -I. -I./config -c ./cexp.c > gcc -DIN_GCC -O -o cccp cccp.o cexp.o version.o obstack.o ` case "g cc" in "cc") echo alloca.o ;; esac ` > Undefined first referenced > symbol in file > .LD785 cccp.o > .LD388 cccp.o > .LD2020 cccp.o > .LD279 cexp.o > .LD1064 cccp.o > .LD120 cexp.o > .LD2175 cccp.o > .LD350 cexp.o > .LD155 cccp.o > .LD777 cccp.o > ld: cccp: fatal error: Symbol referencing errors. No output written to cccp > *** Error code 1 (bu21) > > > Part of the generated assembler in cccp.o: > > cmp.l %d6,%a0 > bcs.w .L779 > .LI785: > mov.w .LD785(%pc,%a0.l*2),%d0 > jmp 6(%pc,%d0.w) > .swbeg &6 > > Any suggestions?? > > > -- > Joost Helberg Rijnzathe 6 > jhelberg@oracle.nl NL-3454 PV De Meern > jhelberg@nl.oracle.com The Netherlands > > Oracle Europe BV Product Line Development > Phone: +31 3406 94211 Fax: +31 3406 65609 > > Well, you are using an SGS (software generation system) assembler and you are running a version of System V..... 1) .LDxxxx symbols denotes local symbols, which should _never_ occur as global symbols and never occur as external symbols, __BUT__ a lot of 68k System V assemblers do have this bug, and use another prefix to denote local labels, often "L%", in a undocumented manner. ( do a "strings" across your as, might help). 2) You will have to patch your backend. best adams
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads