Opened 9 years ago

Closed 9 years ago

#46557 closed defect (duplicate)

libgcc @4.9.2_1: build failure on Leopard PPC, ld: 32-bit absolute address out of range

Reported by: mojca (Mojca Miklavec) Owned by: mww@…
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: larryv (Lawrence Velázquez), wastrodows@…
Port: libgcc

Description

Here's the error I experience while trying to compile libgcc on a PowerPC Leopard:

:info:build       cc1-checksum.o libbackend.a main.o  libcommon-target.a libcommon.a ../libcpp/libcpp.a ../libdecnumber/libdecnumber.a libcommon.a ../libcpp/libcpp.a  -liconv ../libbacktrace/.libs/libbacktrace.a ../libiberty/libiberty.a ../libdecnumber/libdecnumber.a  -L/opt/local/lib -lcloog-isl -L/opt/local/lib -lisl -L/opt/local/lib -L/opt/local/lib -L/opt/local/lib -lmpc -lmpfr -lgmp   -lz
:info:build final section layout:
:info:build     __TEXT/__text addr=0x00001AF8, size=0x008DDC9C, fileOffset=0x00000AF8, type=1
:info:build     __TEXT/__text_startup addr=0x008DF794, size=0x000005C0, fileOffset=0x008DE794, type=1
:info:build     __TEXT/__text_cold addr=0x008DFD54, size=0x000113F4, fileOffset=0x008DED54, type=1
:info:build     __TEXT/__symbol_stub1 addr=0x008F1148, size=0x00003090, fileOffset=0x008F0148, type=27
:info:build     __TEXT/__cstring addr=0x008F41D8, size=0x000A5325, fileOffset=0x008F31D8, type=12
:info:build     __TEXT/__const addr=0x00999500, size=0x001B6224, fileOffset=0x00998500, type=0
:info:build     __TEXT/__eh_frame addr=0x00B4F728, size=0x001208D8, fileOffset=0x00B4E728, type=18
:info:build     __DATA/__dyld addr=0x00C70000, size=0x0000001C, fileOffset=0x00C6F000, type=29
:info:build     __DATA/__nl_symbol_ptr addr=0x00C7001C, size=0x00000EAC, fileOffset=0x00C6F01C, type=28
:info:build     __DATA/__la_symbol_ptr addr=0x00C70EC8, size=0x00000C24, fileOffset=0x00C6FEC8, type=26
:info:build     __DATA/__mod_init_func addr=0x00C71AEC, size=0x000000C8, fileOffset=0x00C70AEC, type=32
:info:build     __DATA/__data addr=0x00C71BB8, size=0x00003208, fileOffset=0x00C70BB8, type=0
:info:build     __DATA/__const addr=0x00C74DC0, size=0x00057498, fileOffset=0x00C73DC0, type=0
:info:build     __DATA/__static_data addr=0x00CCC258, size=0x00000010, fileOffset=0x00CCB258, type=0
:info:build     __DATA/__gcc_except_tab addr=0x00CCC268, size=0x000060BA, fileOffset=0x00CCB268, type=0
:info:build     __DATA/__pu_bss2 addr=0x00CD2324, size=0x0008892C, fileOffset=0x00000000, type=24
:info:build     __DATA/__common addr=0x00D5AC50, size=0x0000000C, fileOffset=0x00000000, type=24
:info:build     __DATA/__bss1 addr=0x00D5AC5C, size=0x000007DE, fileOffset=0x00000000, type=24
:info:build     __DATA/__bss12 addr=0x00D5C000, size=0x40000000, fileOffset=0x00000000, type=24
:info:build     __DATA/__bss4 addr=0x40D5C000, size=0x00004A00, fileOffset=0x00000000, type=24
:info:build     __DATA/__bss3 addr=0x40D60A00, size=0x00004B18, fileOffset=0x00000000, type=24
:info:build     __DATA/__bss0 addr=0x40D65518, size=0x00001F4C, fileOffset=0x00000000, type=24
:info:build     __DATA/__bss2 addr=0x40D67464, size=0x0002AAF8, fileOffset=0x00000000, type=24
:info:build     __DATA/__pu_bss3 addr=0x40D91F60, size=0x000125D8, fileOffset=0x00000000, type=24
:info:build     __DATA/__pu_bss0 addr=0x40DA4538, size=0x00007A6C, fileOffset=0x00000000, type=24
:info:build ld: 32-bit absolute address out of range (0x140D68FBC max is 4GB): from vtable for (anonymous namespace)::pass_branch_target_load_optimize2 + 0x0000001C (0x00C9CC00) to 0x140D68FBC in vtable for (anonymous namespace)::pass_branch_target_load_optimize2 from libbackend.a(bt-load.o) for architecture ppc
:info:build collect2: error: ld returned 1 exit status
:info:build make[3]: *** [cc1] Error 1
:info:build make[3]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_lang_gcc49/libgcc/work/build/gcc'
:info:build make[2]: *** [all-stage2-gcc] Error 2

I've seen #44667 and #45174, but they seem to break with a different error.

Attachments (1)

libgcc-on-leopard-ppc.main.log (4.1 MB) - added by mojca (Mojca Miklavec) 9 years ago.

Change History (6)

Changed 9 years ago by mojca (Mojca Miklavec)

comment:1 Changed 9 years ago by wastrodows@…

Cc: wastrodows@… added

Cc Me!

comment:2 Changed 9 years ago by zzanderr

Same problem here, again on Leopard (10.5.8), PowerBook G4, ppc7450. I was hoping that my computer had merely overheated! This is a serious problem as gcc46-gcc49 all need libgcc, and I am rebuilding MacPorts from scratch. Almost all of the ports I am seriously interested in require a non-native GCC to build. It's a good thing I still have _most_ of the ports from my old installation on a separate directory path, even though I can't update the gcc-4x. I hope that everything depending on the gcc-4x will update using the outdated versions.

Has anyone made any progress here?

By the way, I am using ld64-127 @127.2_0+llvm34 (with llvm-3.4 @3.4.2_1). Does anyone know if ld64-97 @97.17+llvm34 can build the current libgcc? Or a different llvm? Also--what other llvm's build on a PPC running Leopard (the only other llvm I've tried is llvm-3.3)? Any help will be greatly appreciated!

comment:3 Changed 9 years ago by zzanderr

I discovered that libgcc builds on the PowerBook G4 running Leopard if it is built after ensuring that you have explicitly chosen the correct ld64; the wrong ld64 (ld64 +ld64_127) is chosen by default. For PPC users (with Leopard) experiencing this problem I suggest they try this:

sudo port install ld64-97 +llvm34
sudo port install ld64 +ld64_97

before they attempt to build libgcc. Another llvm-XX may work just as well, but that is what works for me. I guess I ought to notify the maintainer of the ld64 ports so that in the future, the correct ld64 is chosen by default.

comment:4 Changed 9 years ago by zzanderr

You may be interested in the log files for both the bad and good builds of libgcc:https://trac.macports.org/ticket/46801

comment:5 Changed 9 years ago by jeremyhu (Jeremy Huddleston Sequoia)

Resolution: duplicate
Status: newclosed
Note: See TracTickets for help on using tickets.