bebbo / amiga-gcc

The GNU C-Compiler with Binutils and other useful tools for cross development for Amiga
GNU General Public License v2.0
319 stars 66 forks source link

reloc ... is out of range: 00000000 #331

Closed githubaf closed 1 year ago

githubaf commented 1 year ago

I updated today to your latest version and see now many messages like these:

WCS: classface reloc for _DoMethod is out of range: 00000000 WCS: text reloc for _CheckRexxMsg is out of range: 00000000 WCS: text reloc for _SetRexxVar is out of range: 00000000 WCS: text reloc for _DeletePort is out of range: 00000000 WCS: text reloc for _DeletePort is out of range: 00000000

The resulting executable crashes.

bebbo commented 1 year ago

please check if the libamiga.a is the correct one. In a previous version the NDK3.2 version was used but turned out to causes exactly theses issues.

githubaf commented 1 year ago

Hm, I made a fresh install, i.e. erased everything, and did

git clone https://github.com/bebbo/amiga-gcc cd amiga-gcc make update make all all-sdk PREFIX=~/opt/m68k-amigaos_07Mar23/

What can I do to use the correct libamiga.a? It seems a "libb" is missing?

I looked into the map-file and ist says

cat WCS_68020.map  | grep libamiga.a
/home/developer/opt/m68k-amigaos_07Mar23/m68k-amigaos/lib//libamiga.a(CreatePort.c-00000002.o)
/home/developer/opt/m68k-amigaos_07Mar23/m68k-amigaos/lib//libamiga.a(CreateExtIO.c-00000003.o)
/home/developer/opt/m68k-amigaos_07Mar23/m68k-amigaos/lib//libamiga.a(rexxvars.asm-00000004.o)
/home/developer/opt/m68k-amigaos_07Mar23/m68k-amigaos/lib//libamiga.a(checkrexx.asm-00000005.o)
                              /home/developer/opt/m68k-amigaos_07Mar23/m68k-amigaos/lib//libamiga.a(rexxvars.asm-00000004.o) (CheckRexxMsg)
/home/developer/opt/m68k-amigaos_07Mar23/m68k-amigaos/lib//libamiga.a(classface.asm-00000006.o)
/home/developer/opt/m68k-amigaos_07Mar23/m68k-amigaos/lib//libamiga.a(exec_LVO-00000007.o)
                              /home/developer/opt/m68k-amigaos_07Mar23/m68k-amigaos/lib//libamiga.a(checkrexx.asm-00000005.o) (LVOCloseLibrary)
/home/developer/opt/m68k-amigaos_07Mar23/m68k-amigaos/lib//libamiga.a(memmap.asm-00000008.o)
                              /home/developer/opt/m68k-amigaos_07Mar23/m68k-amigaos/lib//libamiga.a(checkrexx.asm-00000005.o) (AbsExecBase)
/home/developer/opt/m68k-amigaos_07Mar23/m68k-amigaos/lib//libamiga.a(NewList.asm-00000009.o)
                              /home/developer/opt/m68k-amigaos_07Mar23/m68k-amigaos/lib//libamiga.a(CreatePort.c-00000002.o) (NewList)
LOAD /home/developer/opt/m68k-amigaos_07Mar23/m68k-amigaos/lib//libamiga.a
 text           0x00000000001125b0       0xbc /home/developer/opt/m68k-amigaos_07Mar23/m68k-amigaos/lib//libamiga.a(CreatePort.c-00000002.o)
 text           0x000000000011266c       0x64 /home/developer/opt/m68k-amigaos_07Mar23/m68k-amigaos/lib//libamiga.a(CreateExtIO.c-00000003.o)
 text           0x00000000001126d0      0x1ec /home/developer/opt/m68k-amigaos_07Mar23/m68k-amigaos/lib//libamiga.a(rexxvars.asm-00000004.o)
 text           0x00000000001128bc       0x58 /home/developer/opt/m68k-amigaos_07Mar23/m68k-amigaos/lib//libamiga.a(checkrexx.asm-00000005.o)
 classface      0x0000000000112914       0xd0 /home/developer/opt/m68k-amigaos_07Mar23/m68k-amigaos/lib//libamiga.a(classface.asm-00000006.o)
 exec_LVO0      0x00000000001129e4        0x0 /home/developer/opt/m68k-amigaos_07Mar23/m68k-amigaos/lib//libamiga.a(exec_LVO-00000007.o)
 exec_LVO1      0x00000000001129e4        0x0 /home/developer/opt/m68k-amigaos_07Mar23/m68k-amigaos/lib//libamiga.a(exec_LVO-00000007.o)
 data           0x00000000001129e4        0x0 /home/developer/opt/m68k-amigaos_07Mar23/m68k-amigaos/lib//libamiga.a(memmap.asm-00000008.o)
 _NewList       0x00000000001129e4       0x14 /home/developer/opt/m68k-amigaos_07Mar23/m68k-amigaos/lib//libamiga.a(NewList.asm-00000009.o)

If I use gcc from 8.Nov22 the map file looks very different:

cat WCS_68020.map  | grep libamiga.a
/home/developer/opt/m68k-amigaos_08Nov22/m68k-amigaos/lib/libb/libamiga.a(allocvec.o)
/home/developer/opt/m68k-amigaos_08Nov22/m68k-amigaos/lib/libb/libamiga.a(freevec.o)
/home/developer/opt/m68k-amigaos_08Nov22/m68k-amigaos/lib/libb/libamiga.a(getprogramname.)
/home/developer/opt/m68k-amigaos_08Nov22/m68k-amigaos/lib/libb/libamiga.a(DoMethod.bo)
/home/developer/opt/m68k-amigaos_08Nov22/m68k-amigaos/lib/libb/libamiga.a(DoSuperMethod.b)
/home/developer/opt/m68k-amigaos_08Nov22/m68k-amigaos/lib/libb/libamiga.a(CreatePort.bo)
/home/developer/opt/m68k-amigaos_08Nov22/m68k-amigaos/lib/libb/libamiga.a(CreateIO.bo)
/home/developer/opt/m68k-amigaos_08Nov22/m68k-amigaos/lib/libb/libamiga.a(GetSetCheckRexxVar.bo)
LOAD /home/developer/opt/m68k-amigaos_08Nov22/m68k-amigaos/lib/libb/libamiga.a
 .text          0x00000000000dc2dc       0x18 /home/developer/opt/m68k-amigaos_08Nov22/m68k-amigaos/lib/libb/libamiga.a(allocvec.o)
 .text          0x00000000000dc2f4       0x14 /home/developer/opt/m68k-amigaos_08Nov22/m68k-amigaos/lib/libb/libamiga.a(freevec.o)
 .text          0x00000000000dc308       0x1c /home/developer/opt/m68k-amigaos_08Nov22/m68k-amigaos/lib/libb/libamiga.a(getprogramname.)
 .text          0x00000000000dc324       0x24 /home/developer/opt/m68k-amigaos_08Nov22/m68k-amigaos/lib/libb/libamiga.a(DoMethod.bo)
 .text          0x00000000000dc348       0x2c /home/developer/opt/m68k-amigaos_08Nov22/m68k-amigaos/lib/libb/libamiga.a(DoSuperMethod.b)
 .text          0x00000000000dc374       0xa0 /home/developer/opt/m68k-amigaos_08Nov22/m68k-amigaos/lib/libb/libamiga.a(CreatePort.bo)
 .text          0x00000000000dc414       0x78 /home/developer/opt/m68k-amigaos_08Nov22/m68k-amigaos/lib/libb/libamiga.a(CreateIO.bo)
 .text          0x00000000000dc48c      0x220 /home/developer/opt/m68k-amigaos_08Nov22/m68k-amigaos/lib/libb/libamiga.a(GetSetCheckRexxVar.bo)
 .data          0x00000000000e1174        0x0 /home/developer/opt/m68k-amigaos_08Nov22/m68k-amigaos/lib/libb/libamiga.a(allocvec.o)
 .data          0x00000000000e1174        0x0 /home/developer/opt/m68k-amigaos_08Nov22/m68k-amigaos/lib/libb/libamiga.a(freevec.o)
 .data          0x00000000000e1174        0x0 /home/developer/opt/m68k-amigaos_08Nov22/m68k-amigaos/lib/libb/libamiga.a(getprogramname.)
 .data          0x00000000000e1174        0x0 /home/developer/opt/m68k-amigaos_08Nov22/m68k-amigaos/lib/libb/libamiga.a(DoMethod.bo)
 .data          0x00000000000e1174        0x0 /home/developer/opt/m68k-amigaos_08Nov22/m68k-amigaos/lib/libb/libamiga.a(DoSuperMethod.b)
 .data          0x00000000000e1174        0x0 /home/developer/opt/m68k-amigaos_08Nov22/m68k-amigaos/lib/libb/libamiga.a(CreatePort.bo)
 .data          0x00000000000e1174        0x0 /home/developer/opt/m68k-amigaos_08Nov22/m68k-amigaos/lib/libb/libamiga.a(CreateIO.bo)
 .data          0x00000000000e1174        0x0 /home/developer/opt/m68k-amigaos_08Nov22/m68k-amigaos/lib/libb/libamiga.a(GetSetCheckRexxVar.bo)
 .bss           0x00000000000e21f4        0x0 /home/developer/opt/m68k-amigaos_08Nov22/m68k-amigaos/lib/libb/libamiga.a(allocvec.o)
 .bss           0x00000000000e21f4        0x0 /home/developer/opt/m68k-amigaos_08Nov22/m68k-amigaos/lib/libb/libamiga.a(freevec.o)
 .bss           0x00000000000e21f4        0x0 /home/developer/opt/m68k-amigaos_08Nov22/m68k-amigaos/lib/libb/libamiga.a(getprogramname.)
 .bss           0x00000000000e21f4        0x0 /home/developer/opt/m68k-amigaos_08Nov22/m68k-amigaos/lib/libb/libamiga.a(DoMethod.bo)
 .bss           0x00000000000e21f4        0x0 /home/developer/opt/m68k-amigaos_08Nov22/m68k-amigaos/lib/libb/libamiga.a(DoSuperMethod.b)
 .bss           0x00000000000e21f4        0x0 /home/developer/opt/m68k-amigaos_08Nov22/m68k-amigaos/lib/libb/libamiga.a(CreatePort.bo)
 .bss           0x00000000000e21f4        0x0 /home/developer/opt/m68k-amigaos_08Nov22/m68k-amigaos/lib/libb/libamiga.a(CreateIO.bo)
 .bss           0x00000000000e21f4        0x0 /home/developer/opt/m68k-amigaos_08Nov22/m68k-amigaos/lib/libb/libamiga.a(GetSetCheckRexxVar.bo)
githubaf commented 1 year ago

That helped, WCS is working again.