🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

2 total messages Started by Joost Helberg Tue, 15 Dec 1992 08:53
gcc-2.3.2 problems on m68040
#753
Author: Joost Helberg
Date: Tue, 15 Dec 1992 08:53
63 lines
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
#772
Author: Adams
Date: Thu, 17 Dec 1992 16:19
76 lines
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