home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: gnu.gcc.help
- Path: sparky!uunet!zaphod.mps.ohio-state.edu!usc!howland.reston.ans.net!sol.ctr.columbia.edu!ira.uka.de!math.fu-berlin.de!news.th-darmstadt.de!adams
- From: adams@pdv2.fmr.maschinenbau.th-darmstadt.de (Adams)
- Subject: Re: gcc-2.3.2 problems on m68040
- Sender: news@news.th-darmstadt.de (The News System)
- Message-ID: <ADAMS.92Dec17161907@PDV2.pdv2.fmr.maschinenbau.th-darmstadt.de>
- In-Reply-To: jhelberg@nl.oracle.com's message of 15 Dec 92 08: 53:58 GMT
- Date: Thu, 17 Dec 1992 16:19:07 GMT
- References: <3421@nlsun1.oracle.nl>
- Nntp-Posting-Host: pdv2.fmr.maschinenbau.th-darmstadt.de
- Organization: TH-Darmstadt
- Lines: 79
-
- 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
-
-
-
-