https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69082

            Bug ID: 69082
           Summary: Final link fails on ARM using lto
           Product: gcc
           Version: 4.9.3
            Status: UNCONFIRMED
          Severity: critical
          Priority: P3
         Component: lto
          Assignee: unassigned at gcc dot gnu.org
          Reporter: tulipawn at gmail dot com
  Target Milestone: ---

Created attachment 37189
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=37189&action=edit
The offending assembly file

Only when compiling with -flto the final link fails (all goes fine without
lto):

===> LD [ufo]
/tmp/ccUuOyr9.s: Assembler messages:
/tmp/ccUuOyr9.s:11199: Error: offset out of range
/tmp/ccUuOyr9.s:11208: Error: offset out of range
/tmp/ccUuOyr9.s:11487: Error: offset out of range
/tmp/ccUuOyr9.s:11521: Error: offset out of range
/tmp/ccUuOyr9.s:11788: Error: offset out of range
/tmp/ccUuOyr9.s:11797: Error: offset out of range
lto-wrapper: /usr/bin/g++-4.9.real returned 1 exit status
/usr/bin/ld.gold.real: fatal error: lto-wrapper failed
collect2: error: ld returned 1 exit status

Flags that were given explicitly:
 -O3 -mcpu=cortex-a5 -mfpu=neon -mfloat-abi=hard -fsigned-char -ffast-math
-ftree-vectorize -Ofast -save-temps -v -flto -ffat-lto-objects

The full command line for the binaries being compiled:

===> LD [ufo2map]
COLLECT_GCC_OPTIONS='-D' 'HAVE_CONFIG_H' '-g' '-Winline' '-Wcast-qual'
'-Wcast-align' '-Wmissing-declarations' '-Wpointer-arith' '-Wno-long-long'
'-Wpedantic' '-Wall' '-Wextra' '-Wno-sign-compare' '-Wno-unused-parameter'
'-Wreturn-type' '-Wwrite-strings' '-Wno-variadic-macros'
'-Wno-format-zero-length' '-D' 'NDEBUG' '-D' 'SHARED_EXT="so"' '-D'
'_GNU_SOURCE' '-D' '_BSD_SOURCE' '-D' '_XOPEN_SOURCE' '-O3' '-mcpu=cortex-a5'
'-mfpu=neon' '-mfloat-abi=hard' '-fsigned-char' '-ftree-vectorize' '-Ofast'
'-save-temps' '-v' '-flto' '-ffat-lto-objects' '-D' 'PANDORA' '-D' 'ARM' '-D'
'NEON' '-D' 'HAVE_GLES' '-ffast-math' '-funroll-loops' '-D' '_FORTIFY_SOURCE=2'
'-D' 'NDEBUG' '-Wnon-virtual-dtor' '-D' 'COMPILE_MAP' '-D' '_REENTRANT' '-I'
'/usr/include/SDL2' '-c' '-o'
'release-openpandora-armv7l/ufoslicer/ports/unix/unix_main.cpp.o' '-MP' '-MD'
'-MT' 'release-openpandora-armv7l/ufoslicer/ports/unix/unix_main.cpp.o'
'-shared-libgcc' '-mthumb' '-mtls-dialect=gnu'
 as -v -I /usr/include/SDL2 -mcpu=cortex-a5 -mfloat-abi=hard -mfpu=neon
-meabi=5 -o release-openpandora-armv7l/ufoslicer/ports/unix/unix_main.cpp.o
unix_main.s
GNU assembler version 2.24 (arm-linux-gnueabihf) using BFD version (GNU
Binutils for Ubuntu) 2.24
COMPILER_PATH=/usr/lib/gcc/arm-linux-gnueabihf/4.9/:/usr/lib/gcc/arm-linux-gnueabihf/4.9/:/usr/lib/gcc/arm-linux-gnueabihf/:/usr/lib/gcc/arm-linux-gnueabihf/4.9/:/usr/lib/gcc/arm-linux-gnueabihf/
LIBRARY_PATH=/usr/lib/gcc/arm-linux-gnueabihf/4.9/:/usr/lib/gcc/arm-linux-gnueabihf/4.9/../../../arm-linux-gnueabihf/:/usr/lib/gcc/arm-linux-gnueabihf/4.9/../../../../lib/:/lib/arm-linux-gnueabihf/:/lib/../lib/:/usr/lib/arm-linux-gnueabihf/:/usr/lib/../lib/:/usr/lib/gcc/arm-linux-gnueabihf/4.9/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-D' 'HAVE_CONFIG_H' '-g' '-Winline' '-Wcast-qual'
'-Wcast-align' '-Wmissing-declarations' '-Wpointer-arith' '-Wno-long-long'
'-Wpedantic' '-Wall' '-Wextra' '-Wno-sign-compare' '-Wno-unused-parameter'
'-Wreturn-type' '-Wwrite-strings' '-Wno-variadic-macros'
'-Wno-format-zero-length' '-D' 'NDEBUG' '-D' 'SHARED_EXT="so"' '-D'
'_GNU_SOURCE' '-D' '_BSD_SOURCE' '-D' '_XOPEN_SOURCE' '-O3' '-mcpu=cortex-a5'
'-mfpu=neon' '-mfloat-abi=hard' '-fsigned-char' '-ftree-vectorize' '-Ofast'
'-save-temps' '-v' '-flto' '-ffat-lto-objects' '-D' 'PANDORA' '-D' 'ARM' '-D'
'NEON' '-D' 'HAVE_GLES' '-ffast-math' '-funroll-loops' '-D' '_FORTIFY_SOURCE=2'
'-D' 'NDEBUG' '-Wnon-virtual-dtor' '-D' 'COMPILE_MAP' '-D' '_REENTRANT' '-I'
'/usr/include/SDL2' '-c' '-o'
'release-openpandora-armv7l/ufoslicer/ports/unix/unix_main.cpp.o' '-MP' '-MD'
'-MT' 'release-openpandora-armv7l/ufoslicer/ports/unix/unix_main.cpp.o'
'-shared-libgcc' '-mthumb' '-mtls-dialect=gnu'

The final link commands:

/usr/lib/gcc/arm-linux-gnueabihf/4.9/collect2 -plugin
/usr/lib/gcc/arm-linux-gnueabihf/4.9/liblto_plugin.so
-plugin-opt=/usr/lib/gcc/arm-linux-gnueabihf/4.9/lto-wrapper
-plugin-opt=-fresolution=/tmp/ccx67lBs.res -plugin-opt=-pass-through=-lgcc_s
-plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc
-plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --sysroot=/
--build-id --eh-frame-hdr -dynamic-linker /lib/ld-linux-armhf.so.3 -X
--hash-style=gnu --as-needed -m armelf_linux_eabi -z relro -o ufo
/usr/lib/gcc/arm-linux-gnueabihf/4.9/../../../arm-linux-gnueabihf/crt1.o
/usr/lib/gcc/arm-linux-gnueabihf/4.9/../../../arm-linux-gnueabihf/crti.o
/usr/lib/gcc/arm-linux-gnueabihf/4.9/crtbegin.o
-L/usr/lib/gcc/arm-linux-gnueabihf/4.9
-L/usr/lib/gcc/arm-linux-gnueabihf/4.9/../../../arm-linux-gnueabihf
-L/usr/lib/gcc/arm-linux-gnueabihf/4.9/../../../../lib
-L/lib/arm-linux-gnueabihf -L/lib/../lib -L/usr/lib/arm-linux-gnueabihf
-L/usr/lib/../lib -L/usr/lib/gcc/arm-linux-gnueabihf/4.9/../../..
release-openpandora-armv7l/ufo/client/cl_console.cpp.o
release-openpandora-armv7l/ufo/client/cl_http.cpp.o
release-openpandora-armv7l/ufo/client/cl_inventory_callbacks.cpp.o
release-openpandora-armv7l/ufo/client/cl_inventory.cpp.o
release-openpandora-armv7l/ufo/client/cl_irc.cpp.o
release-openpandora-armv7l/ufo/client/cl_language.cpp.o
release-openpandora-armv7l/ufo/client/cl_lua.cpp.o
release-openpandora-armv7l/ufo/client/cl_main.cpp.o
release-openpandora-armv7l/ufo/client/cl_menu.cpp.o
release-openpandora-armv7l/ufo/client/cl_screen.cpp.o
release-openpandora-armv7l/ufo/client/cl_team.cpp.o
release-openpandora-armv7l/ufo/client/cl_tip.cpp.o
release-openpandora-armv7l/ufo/client/cl_tutorials.cpp.o
release-openpandora-armv7l/ufo/client/cl_video.cpp.o
release-openpandora-armv7l/ufo/client/input/cl_input.cpp.o
release-openpandora-armv7l/ufo/client/input/cl_joystick.cpp.o
release-openpandora-armv7l/ufo/client/input/cl_keys.cpp.o
release-openpandora-armv7l/ufo/client/cinematic/cl_cinematic.cpp.o
release-openpandora-armv7l/ufo/client/cinematic/cl_cinematic_ogm.cpp.o
release-openpandora-armv7l/ufo/client/cinematic/cl_cinematic_roq.cpp.o
release-openpandora-armv7l/ufo/client/cinematic/cl_sequence.cpp.o
release-openpandora-armv7l/ufo/client/battlescape/cl_actor.cpp.o
release-openpandora-armv7l/ufo/client/battlescape/cl_battlescape.cpp.o
release-openpandora-armv7l/ufo/client/battlescape/cl_camera.cpp.o
release-openpandora-armv7l/ufo/client/battlescape/cl_hud_callbacks.cpp.o
release-openpandora-armv7l/ufo/client/battlescape/cl_hud.cpp.o
release-openpandora-armv7l/ufo/client/battlescape/cl_localentity.cpp.o
release-openpandora-armv7l/ufo/client/battlescape/cl_parse.cpp.o
release-openpandora-armv7l/ufo/client/battlescape/cl_particle.cpp.o
release-openpandora-armv7l/ufo/client/battlescape/cl_radar.cpp.o
release-openpandora-armv7l/ufo/client/battlescape/cl_spawn.cpp.o
release-openpandora-armv7l/ufo/client/battlescape/cl_ugv.cpp.o
release-openpandora-armv7l/ufo/client/battlescape/cl_view.cpp.o
release-openpandora-armv7l/ufo/client/battlescape/events/e_main.cpp.o
release-openpandora-armv7l/ufo/client/battlescape/events/e_parse.cpp.o
release-openpandora-armv7l/ufo/client/battlescape/events/e_server.cpp.o
release-openpandora-armv7l/ufo/client/battlescape/events/event/actor/e_event_actoradd.cpp.o
release-openpandora-armv7l/ufo/client/battlescape/events/event/actor/e_event_actorappear.cpp.o
release-openpandora-armv7l/ufo/client/battlescape/events/event/actor/e_event_actorclientaction.cpp.o
release-openpandora-armv7l/ufo/client/battlescape/events/event/actor/e_event_actordie.cpp.o
release-openpandora-armv7l/ufo/client/battlescape/events/event/actor/e_event_actorendshot.cpp.o
release-openpandora-armv7l/ufo/client/battlescape/events/event/actor/e_event_actormove.cpp.o
release-openpandora-armv7l/ufo/client/battlescape/events/event/actor/e_event_actorreactionfireabortshot.cpp.o
release-openpandora-armv7l/ufo/client/battlescape/events/event/actor/e_event_actorreactionfireaddtarget.cpp.o
release-openpandora-armv7l/ufo/client/battlescape/events/event/ac


/usr/bin/ld.gold.real -plugin
/usr/lib/gcc/arm-linux-gnueabihf/4.9/liblto_plugin.so
-plugin-opt=/usr/lib/gcc/arm-linux-gnueabihf/4.9/lto-wrapper
-plugin-opt=-fresolution=/tmp/ccx67lBs.res -plugin-opt=-pass-through=-lgcc_s
-plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc
-plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --sysroot=/
--build-id --eh-frame-hdr -dynamic-linker /lib/ld-linux-armhf.so.3 -X
--hash-style=gnu --as-needed -m armelf_linux_eabi -z relro -o ufo
/usr/lib/gcc/arm-linux-gnueabihf/4.9/../../../arm-linux-gnueabihf/crt1.o
/usr/lib/gcc/arm-linux-gnueabihf/4.9/../../../arm-linux-gnueabihf/crti.o
/usr/lib/gcc/arm-linux-gnueabihf/4.9/crtbegin.o
-L/usr/lib/gcc/arm-linux-gnueabihf/4.9
-L/usr/lib/gcc/arm-linux-gnueabihf/4.9/../../../arm-linux-gnueabihf
-L/usr/lib/gcc/arm-linux-gnueabihf/4.9/../../../../lib
-L/lib/arm-linux-gnueabihf -L/lib/../lib -L/usr/lib/arm-linux-gnueabihf
-L/usr/lib/../lib -L/usr/lib/gcc/arm-linux-gnueabihf/4.9/../../..
release-openpandora-armv7l/ufo/client/cl_console.cpp.o
release-openpandora-armv7l/ufo/client/cl_http.cpp.o
release-openpandora-armv7l/ufo/client/cl_inventory_callbacks.cpp.o
release-openpandora-armv7l/ufo/client/cl_inventory.cpp.o
release-openpandora-armv7l/ufo/client/cl_irc.cpp.o
release-openpandora-armv7l/ufo/client/cl_language.cpp.o
release-openpandora-armv7l/ufo/client/cl_lua.cpp.o
release-openpandora-armv7l/ufo/client/cl_main.cpp.o
release-openpandora-armv7l/ufo/client/cl_menu.cpp.o
release-openpandora-armv7l/ufo/client/cl_screen.cpp.o
release-openpandora-armv7l/ufo/client/cl_team.cpp.o
release-openpandora-armv7l/ufo/client/cl_tip.cpp.o
release-openpandora-armv7l/ufo/client/cl_tutorials.cpp.o
release-openpandora-armv7l/ufo/client/cl_video.cpp.o
release-openpandora-armv7l/ufo/client/input/cl_input.cpp.o
release-openpandora-armv7l/ufo/client/input/cl_joystick.cpp.o
release-openpandora-armv7l/ufo/client/input/cl_keys.cpp.o
release-openpandora-armv7l/ufo/client/cinematic/cl_cinematic.cpp.o
release-openpandora-armv7l/ufo/client/cinematic/cl_cinematic_ogm.cpp.o
release-openpandora-armv7l/ufo/client/cinematic/cl_cinematic_roq.cpp.o
release-openpandora-armv7l/ufo/client/cinematic/cl_sequence.cpp.o
release-openpandora-armv7l/ufo/client/battlescape/cl_actor.cpp.o
release-openpandora-armv7l/ufo/client/battlescape/cl_battlescape.cpp.o
release-openpandora-armv7l/ufo/client/battlescape/cl_camera.cpp.o
release-openpandora-armv7l/ufo/client/battlescape/cl_hud_callbacks.cpp.o
release-openpandora-armv7l/ufo/client/battlescape/cl_hud.cpp.o
release-openpandora-armv7l/ufo/client/battlescape/cl_localentity.cpp.o
release-openpandora-armv7l/ufo/client/battlescape/cl_parse.cpp.o
release-openpandora-armv7l/ufo/client/battlescape/cl_particle.cpp.o
release-openpandora-armv7l/ufo/client/battlescape/cl_radar.cpp.o
release-openpandora-armv7l/ufo/client/battlescape/cl_spawn.cpp.o
release-openpandora-armv7l/ufo/client/battlescape/cl_ugv.cpp.o
release-openpandora-armv7l/ufo/client/battlescape/cl_view.cpp.o
release-openpandora-armv7l/ufo/client/battlescape/events/e_main.cpp.o
release-openpandora-armv7l/ufo/client/battlescape/events/e_parse.cpp.o
release-openpandora-armv7l/ufo/client/battlescape/events/e_server.cpp.o
release-openpandora-armv7l/ufo/client/battlescape/events/event/actor/e_event_actoradd.cpp.o
release-openpandora-armv7l/ufo/client/battlescape/events/event/actor/e_event_actorappear.cpp.o
release-openpandora-armv7l/ufo/client/battlescape/events/event/actor/e_event_actorclientaction.cpp.o
release-openpandora-armv7l/ufo/client/battlescape/events/event/actor/e_event_actordie.cpp.o
release-openpandora-armv7l/ufo/client/battlescape/events/event/actor/e_event_actorendshot.cpp.o
release-openpandora-armv7l/ufo/client/battlescape/events/event/actor/e_event_actormove.cpp.o
release-openpandora-armv7l/ufo/client/battlescape/events/event/actor/e_event_actorreactionfireabortshot.cpp.o
release-openpandora-armv7l/ufo/client/battlescape/events/event/actor/e_event_actorreactionfireaddtarget.cpp.o
release-openpandora-armv7l/ufo/client/battlescape/events/event/actor/e_event_actorreactio

Reply via email to