[Bug binutils/17329] New: Error: PC relative branch to label which is not in the instruction space
https://sourceware.org/bugzilla/show_bug.cgi?id=17329 Bug ID: 17329 Summary: Error: PC relative branch to label which is not in the instruction space Product: binutils Version: 2.24 Status: NEW Severity: normal Priority: P2 Component: binutils Assignee: unassigned at sourceware dot org Reporter: thomas.petazz...@free-electrons.com When building the fxload program (see http://sourceforge.net/projects/linux-hotplug/files/fxload/2008_10_13/) with gcc 4.9.1, binutils 2.24, on the Microblaze EL architecture, the build fails with: /home/buildroot/instance-1/output/host/usr/bin/microblazeel-buildroot-linux-gnu-gcc -c -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -Os -g2 main.c -o main.o {standard input}: Assembler messages: {standard input}: Error: PC relative branch to label logerror which is not in the instruction space {standard input}: Error: PC relative branch to label logerror which is not in the instruction space {standard input}: Error: PC relative branch to label logerror which is not in the instruction space {standard input}: Error: PC relative branch to label logerror which is not in the instruction space {standard input}: Error: PC relative branch to label logerror which is not in the instruction space {standard input}: Error: PC relative branch to label logerror which is not in the instruction space {standard input}: Error: PC relative branch to label logerror which is not in the instruction space make[1]: *** [main.o] Error 1 make[1]: *** Waiting for unfinished jobs {standard input}: Assembler messages: {standard input}:6463: Error: operation combines symbols in different segments {standard input}:6464: Error: operation combines symbols in different segments {standard input}:6467: Error: operation combines symbols in different segments {standard input}:6468: Error: operation combines symbols in different segments {standard input}:6477: Error: operation combines symbols in different segments {standard input}:6478: Error: operation combines symbols in different segments {standard input}:6481: Error: operation combines symbols in different segments {standard input}:6482: Error: operation combines symbols in different segments {standard input}:6488: Error: operation combines symbols in different segments {standard input}:6489: Error: operation combines symbols in different segments {standard input}:6492: Error: operation combines symbols in different segments {standard input}:6493: Error: operation combines symbols in different segments {standard input}:6502: Error: operation combines symbols in different segments {standard input}:6503: Error: operation combines symbols in different segments {standard input}:6509: Error: operation combines symbols in different segments make[1]: *** [ezusb.o] Error 1 The logerror() function does not seem to have anything really special. It is defined in main.c: void logerror(const char *format, ...) __attribute__ ((format (__printf__, 1, 2))); void logerror(const char *format, ...) { va_list ap; va_start(ap, format); if(dosyslog) vsyslog(LOG_ERR, format, ap); else vfprintf(stderr, format, ap); va_end(ap); } And used from both main.o and ezusb.o, with ezusb.c carrying this definition: extern void logerror(const char *format, ...) __attribute__ ((format (printf, 1, 2))); I will reproduce the problem and attach the assembler file triggering the issue. -- You are receiving this mail because: You are on the CC list for the bug. ___ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils
[Bug binutils/17329] Error: PC relative branch to label which is not in the instruction space
https://sourceware.org/bugzilla/show_bug.cgi?id=17329 --- Comment #1 from Thomas Petazzoni --- Created attachment 7767 --> https://sourceware.org/bugzilla/attachment.cgi?id=7767&action=edit main.S Here is the assembly file that triggers the following message: {standard input}: Assembler messages: {standard input}: Error: PC relative branch to label logerror which is not in the instruction space {standard input}: Error: PC relative branch to label logerror which is not in the instruction space {standard input}: Error: PC relative branch to label logerror which is not in the instruction space {standard input}: Error: PC relative branch to label logerror which is not in the instruction space {standard input}: Error: PC relative branch to label logerror which is not in the instruction space {standard input}: Error: PC relative branch to label logerror which is not in the instruction space {standard input}: Error: PC relative branch to label logerror which is not in the instruction space make[2]: *** [main.o] Error 1 -- You are receiving this mail because: You are on the CC list for the bug. ___ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils
[Bug binutils/17329] Error: PC relative branch to label which is not in the instruction space
https://sourceware.org/bugzilla/show_bug.cgi?id=17329 --- Comment #2 from Thomas Petazzoni --- Created attachment 7768 --> https://sourceware.org/bugzilla/attachment.cgi?id=7768&action=edit ezusb.S Here is the file that triggers the following error: {standard input}: Assembler messages: {standard input}:6463: Error: operation combines symbols in different segments {standard input}:6464: Error: operation combines symbols in different segments {standard input}:6467: Error: operation combines symbols in different segments {standard input}:6468: Error: operation combines symbols in different segments {standard input}:6477: Error: operation combines symbols in different segments {standard input}:6478: Error: operation combines symbols in different segments {standard input}:6481: Error: operation combines symbols in different segments {standard input}:6482: Error: operation combines symbols in different segments {standard input}:6488: Error: operation combines symbols in different segments {standard input}:6489: Error: operation combines symbols in different segments {standard input}:6492: Error: operation combines symbols in different segments {standard input}:6493: Error: operation combines symbols in different segments {standard input}:6502: Error: operation combines symbols in different segments {standard input}:6503: Error: operation combines symbols in different segments {standard input}:6509: Error: operation combines symbols in different segments {standard input}:6510: Error: operation combines symbols in different segments {standard input}:6516: Error: operation combines symbols in different segments {standard input}:6517: Error: operation combines symbols in different segments {standard input}:6520: Error: operation combines symbols in different segments {standard input}:6521: Error: operation combines symbols in different segments {standard input}:6527: Error: operation combines symbols in different segments {standard input}:6528: Error: operation combines symbols in different segments {standard input}:6531: Error: operation combines symbols in different segments {standard input}:6532: Error: operation combines symbols in different segments {standard input}:6541: Error: operation combines symbols in different segments {standard input}:6542: Error: operation combines symbols in different segments {standard input}:6548: Error: operation combines symbols in different segments {standard input}:6549: Error: operation combines symbols in different segments make[2]: *** [ezusb.o] Error 1 -- You are receiving this mail because: You are on the CC list for the bug. ___ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils
[Bug binutils/17329] Error: PC relative branch to label which is not in the instruction space
https://sourceware.org/bugzilla/show_bug.cgi?id=17329 --- Comment #3 from Thomas Petazzoni --- Additional insights: * Compiling with -Os -g2 (original test) : fails * Compiling with just -Os : works * Compiling with just -g2 : works * Compiling with -O2 -g2 : fails * Compiling with -O2 : works Summary: it's the combination of an optimization flag (-O) with debugging symbols (-g) that fails. So, after all, maybe it's more a gcc issue than a binutils issue? -- You are receiving this mail because: You are on the CC list for the bug. ___ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils
[Bug binutils/17329] Error: PC relative branch to label which is not in the instruction space
https://sourceware.org/bugzilla/show_bug.cgi?id=17329 --- Comment #5 from Thomas Petazzoni --- Thanks, I've reported the issue to gcc at https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63261. -- You are receiving this mail because: You are on the CC list for the bug. ___ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils
[Bug binutils/19405] New: nios2 binutils assertion fail at elf32-nios2.c:1038
https://sourceware.org/bugzilla/show_bug.cgi?id=19405 Bug ID: 19405 Summary: nios2 binutils assertion fail at elf32-nios2.c:1038 Product: binutils Version: 2.25 Status: NEW Severity: normal Priority: P2 Component: binutils Assignee: unassigned at sourceware dot org Reporter: thomas.petazz...@free-electrons.com Target Milestone: --- When compiling the gtkmm3 project on the nios2 architecture using a gcc 5.3.0 / binutils 2.25 toolchain, at the moment of linking the final shared library, I get tons of: /home/test/outputs/gtkmm3-nios2-internal/host/usr/lib/gcc/nios2-buildroot-linux-gnu/5.3.0/../../../../nios2-buildroot-linux-gnu/bin/ld: BFD (GNU Binutils) 2.25 .1 assertion fail elf32-nios2.c:1038 This message follows gazillions of: /home/test/outputs/gtkmm3-nios2-internal/host/usr/lib/gcc/nios2-buildroot-linux-gnu/5.3.0/../../../../nios2-buildroot-linux-gnu/bin/ld: FDE encoding in .libs/s tockid.o(.eh_frame) prevents .eh_frame_hdr table being created. messages. The link command line is: libtool: link: /home/test/outputs/gtkmm3-nios2-internal/host/usr/bin/nios2-buildroot-linux-gnu-g++ -fPIC -DPIC -shared -nostdlib /home/test/outputs/gtkmm3-nio s2-internal/host/usr/nios2-buildroot-linux-gnu/sysroot/usr/lib/crti.o /home/test/outputs/gtkmm3-nios2-internal/host/usr/lib/gcc/nios2-buildroot-linux-gnu/5.3.0 /crtbeginS.o .libs/applaunchcontext.o .libs/cursor.o .libs/device.o .libs/devicemanager.o .libs/display.o .libs/displaymanager.o .libs/dragcontext.o .libs/eve nt.o .libs/pixbuf.o .libs/pixbufanimation.o .libs/pixbufanimationiter.o .libs/pixbufformat.o .libs/pixbufloader.o .libs/rectangle.o .libs/rgba.o .libs/screen.o .libs/timecoord.o .libs/types.o .libs/visual.o .libs/window.o .libs/color.o .libs/wrap_init.o .libs/general.o -Wl,-rpath -Wl,/home/test/outputs/gtkmm3-nios2 -internal/host/usr/nios2-buildroot-linux-gnu/sysroot/usr/lib -Wl,-rpath -Wl,/home/test/outputs/gtkmm3-nios2-internal/host/usr/nios2-buildroot-linux-gnu/sysroot /usr/lib -L/home/test/outputs/gtkmm3-nios2-internal/host/usr/nios2-buildroot-linux-gnu/sysroot/usr/lib /home/test/outputs/gtkmm3-nios2-internal/host/usr/nios2- buildroot-linux-gnu/sysroot/usr/lib/libgiomm-2.4.so /home/test/outputs/gtkmm3-nios2-internal/host/usr/nios2-buildroot-linux-gnu/sysroot/usr/lib/libpangomm-1.4. so /home/test/outputs/gtkmm3-nios2-internal/host/usr/nios2-buildroot-linux-gnu/sysroot/usr/lib/libglibmm-2.4.so /home/test/outputs/gtkmm3-nios2-internal/host/u sr/nios2-buildroot-linux-gnu/sysroot/usr/lib/libgtk-3.so /home/test/outputs/gtkmm3-nios2-internal/host/usr/nios2-buildroot-linux-gnu/sysroot/usr/lib/libgdk-3.s o /home/test/outputs/gtkmm3-nios2-internal/host/usr/nios2-buildroot-linux-gnu/sysroot/usr/lib/libpangocairo-1.0.so /home/test/outputs/gtkmm3-nios2-internal/hos t/usr/nios2-buildroot-linux-gnu/sysroot/usr/lib/libpango-1.0.so /home/test/outputs/gtkmm3-nios2-internal/host/usr/nios2-buildroot-linux-gnu/sysroot/usr/lib/lib atk-1.0.so /home/test/outputs/gtkmm3-nios2-internal/host/usr/nios2-buildroot-linux-gnu/sysroot/usr/lib/libcairo-gobject.so /home/test/outputs/gtkmm3-nios2-inte rnal/host/usr/nios2-buildroot-linux-gnu/sysroot/usr/lib/libgio-2.0.so /home/test/outputs/gtkmm3-nios2-internal/host/usr/nios2-buildroot-linux-gnu/sysroot/usr/l ib/libcairomm-1.0.so /home/test/outputs/gtkmm3-nios2-internal/host/usr/nios2-buildroot-linux-gnu/sysroot/usr/lib/libcairo.so /home/test/outputs/gtkmm3-nios2-in ternal/host/usr/nios2-buildroot-linux-gnu/sysroot/usr/lib/libsigc-2.0.so /home/test/outputs/gtkmm3-nios2-internal/host/usr/nios2-buildroot-linux-gnu/sysroot/us r/lib/libgdk_pixbuf-2.0.so /home/test/outputs/gtkmm3-nios2-internal/host/usr/nios2-buildroot-linux-gnu/sysroot/usr/lib/libgobject-2.0.so /home/test/outputs/gtk mm3-nios2-internal/host/usr/nios2-buildroot-linux-gnu/sysroot/usr/lib/libglib-2.0.so -L/home/test/outputs/gtkmm3-nios2-internal/host/usr/lib/gcc/nios2-buildroo t-linux-gnu/5.3.0 -L/home/test/outputs/gtkmm3-nios2-internal/host/usr/lib/gcc/nios2-buildroot-linux-gnu/5.3.0/../../../../nios2-buildroot-linux-gnu/lib -L/home /test/outputs/gtkmm3-nios2-internal/host/usr/nios2-buildroot-linux-gnu/sysroot/lib -lstdc++ -lm -lc -lgcc_s /home/test/outputs/gtkmm3-nios2-internal/host/usr/l ib/gcc/nios2-buildroot-linux-gnu/5.3.0/crtendS.o /home/test/outputs/gtkmm3-nios2-internal/host/usr/nios2-buildroot-linux-gnu/sysroot/usr/lib/crtn.o -Os -pth read -Wl,-soname -Wl,libgdkmm-3.0.so.1 -o .libs/libgdkmm-3.0.so.1.1.0 Steps to reproduce: $ git clone git://git.busybox.net/buildroot $ cd buildroot $ cat > .config <https://lists.gnu.org/mailman/listinfo/bug-binutils
[Bug binutils/19405] nios2 binutils assertion fail at elf32-nios2.c:1038
https://sourceware.org/bugzilla/show_bug.cgi?id=19405 --- Comment #2 from Thomas Petazzoni --- (In reply to Nick Clifton from comment #1) > Hi Thomas, > > I just tried to reproduce the problem, following the steps that you > suggested, and nothing went wrong Please could you check that the bug > still exists for you. > > I was running the build on an x86_64 machine running Fedora 23, perhaps > that makes a difference ? > > Cheers > Nick Thanks Nick for testing! After reporting this bug, we have marked the gtkmm3 package as not available on nios2, as a temporary workaround. So in fact, your build is not building gtkmm3. Could you instead do: $ git clone git://git.busybox.net/buildroot $ cd buildroot $ git checkout 09649f2a305e0b9d52555c35c24178255aa298df $ cat > .config
[Bug binutils/19405] nios2 binutils assertion fail at elf32-nios2.c:1038
https://sourceware.org/bugzilla/show_bug.cgi?id=19405 --- Comment #4 from Thomas Petazzoni --- (In reply to Nick Clifton from comment #3) > Created attachment 8912 [details] > Fix assertion, reduce number of messages about FDE encoding > > Hi Thomas, > > Thanks - I can now reproduce the problem. > > The assertion failures were due to a thinko - the test was not allowing > for negative values. The FDE encoding warnings are correct, but there > really are too many of them. > > So please try out this patch. It should fix the assertion and reduce the > number of warnings about FDE encoding to 10. If this works for you then I > will commit it to the mainline sources. > > Cheers > Nick Thanks for the patch! Note that I am not able to do a runtime test as I don't have any NIOS2 platform, so all I can do is a build time test. Regarding the FDE encoding warnings, what do they mean exactly? -- You are receiving this mail because: You are on the CC list for the bug. ___ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils
[Bug binutils/19405] nios2 binutils assertion fail at elf32-nios2.c:1038
https://sourceware.org/bugzilla/show_bug.cgi?id=19405 --- Comment #6 from Thomas Petazzoni --- (In reply to Nick Clifton from comment #5) > (In reply to Thomas Petazzoni from comment #4) > > Regarding the FDE encoding warnings, what do they mean exactly? > > They mean that the binary search table that is part of the .eh_frame_hdr > section cannot be created. This happens because the (compiler generated) > debug information for the entries in the .eh_frame section use absolute > addresses not PC-relative addresses. That means that at run time those > addresses will have to be relocated (to wherever the library is being > loaded). Hence it is not safe to create a binary search table in the > .eh_frame_hdr section as the addresses are not fixed. > > In practice the warning is not serious. It just means that exception > handling might be slower than it could be, but it should still work. Great, thanks a lot for the explanation! I will try your patch soon and report back. -- You are receiving this mail because: You are on the CC list for the bug. ___ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils
[Bug ld/21464] New: relocation truncated to fit: R_OR1K_GOT16 on OpenRISC, when linking libQtGui.so.4.8.7
https://sourceware.org/bugzilla/show_bug.cgi?id=21464 Bug ID: 21464 Summary: relocation truncated to fit: R_OR1K_GOT16 on OpenRISC, when linking libQtGui.so.4.8.7 Product: binutils Version: 2.27 Status: UNCONFIRMED Severity: normal Priority: P2 Component: ld Assignee: unassigned at sourceware dot org Reporter: thomas.petazz...@free-electrons.com Target Milestone: --- When building the GUI module of Qt 4.8.7 on OpenRISC, the binutils 2.27 linker barfs with: /home/rclinux/rc-buildroot-test/scripts/instance-0/output/host/opt/ext-toolchain/bin/../lib/gcc/or1k-buildroot-linux-uclibc/5.4.0/crtbeginS.o: In function `register_tm_clones': crtstuff.c:(.text+0xd8): relocation truncated to fit: R_OR1K_GOT16 against undefined symbol `_ITM_registerTMCloneTable' /home/rclinux/rc-buildroot-test/scripts/instance-0/output/host/opt/ext-toolchain/bin/../lib/gcc/or1k-buildroot-linux-uclibc/5.4.0/crtbeginS.o: In function `__do_global_dtors_aux': crtstuff.c:(.text+0x1e0): relocation truncated to fit: R_OR1K_GOT16 against symbol `__deregister_frame_info@@GLIBC_2.0' defined in .text section in /home/rclinux/rc-buildroot-test/scripts/instance-0/output/host/opt/ext-toolchain/bin/../lib/gcc/or1k-buildroot-linux-uclibc/5.4.0/../../../../or1k-buildroot-linux-uclibc/lib/libgcc_s.so /home/rclinux/rc-buildroot-test/scripts/instance-0/output/host/opt/ext-toolchain/bin/../lib/gcc/or1k-buildroot-linux-uclibc/5.4.0/crtbeginS.o: In function `frame_dummy': crtstuff.c:(.text+0x278): relocation truncated to fit: R_OR1K_GOT16 against symbol `__register_frame_info@@GLIBC_2.0' defined in .text section in /home/rclinux/rc-buildroot-test/scripts/instance-0/output/host/opt/ext-toolchain/bin/../lib/gcc/or1k-buildroot-linux-uclibc/5.4.0/../../../../or1k-buildroot-linux-uclibc/lib/libgcc_s.so crtstuff.c:(.text+0x2c0): relocation truncated to fit: R_OR1K_GOT16 against undefined symbol `_Jv_RegisterClasses' .obj/debug-shared-emb-generic/qtextdocumentfragment.o: In function `QString::QString()': /home/rclinux/rc-buildroot-test/scripts/instance-0/output/build/qt-4.8.7/src/gui/../../include/QtCore/../../src/corelib/tools/qstring.h:879:(.text+0x434): relocation truncated to fit: R_OR1K_GOT16 against symbol `QString::shared_null' defined in .data section in /home/rclinux/rc-buildroot-test/scripts/instance-0/output/build/qt-4.8.7/lib/libQtCore.so /home/rclinux/rc-buildroot-test/scripts/instance-0/output/build/qt-4.8.7/src/gui/../../include/QtCore/../../src/corelib/tools/qstring.h:879:(.text+0x440): relocation truncated to fit: R_OR1K_GOT16 against symbol `QString::shared_null' defined in .data section in /home/rclinux/rc-buildroot-test/scripts/instance-0/output/build/qt-4.8.7/lib/libQtCore.so /home/rclinux/rc-buildroot-test/scripts/instance-0/output/build/qt-4.8.7/src/gui/../../include/QtCore/../../src/corelib/tools/qstring.h:879:(.text+0x4a8): relocation truncated to fit: R_OR1K_GOT16 against symbol `QString::shared_null' defined in .data section in /home/rclinux/rc-buildroot-test/scripts/instance-0/output/build/qt-4.8.7/lib/libQtCore.so /home/rclinux/rc-buildroot-test/scripts/instance-0/output/build/qt-4.8.7/src/gui/../../include/QtCore/../../src/corelib/tools/qstring.h:879:(.text+0x4ac): relocation truncated to fit: R_OR1K_GOT16 against symbol `QString::shared_null' defined in .data section in /home/rclinux/rc-buildroot-test/scripts/instance-0/output/build/qt-4.8.7/lib/libQtCore.so .obj/debug-shared-emb-generic/qtextdocumentfragment.o: In function `QByteArray::QByteArray()': /home/rclinux/rc-buildroot-test/scripts/instance-0/output/build/qt-4.8.7/src/gui/../../include/QtCore/../../src/corelib/tools/qbytearray.h:400:(.text+0x544): relocation truncated to fit: R_OR1K_GOT16 against symbol `QByteArray::shared_null' defined in .data section in /home/rclinux/rc-buildroot-test/scripts/instance-0/output/build/qt-4.8.7/lib/libQtCore.so /home/rclinux/rc-buildroot-test/scripts/instance-0/output/build/qt-4.8.7/src/gui/../../include/QtCore/../../src/corelib/tools/qbytearray.h:400:(.text+0x558): relocation truncated to fit: R_OR1K_GOT16 against symbol `QByteArray::shared_null' defined in .data section in /home/rclinux/rc-buildroot-test/scripts/instance-0/output/build/qt-4.8.7/lib/libQtCore.so .obj/debug-shared-emb-generic/qtextdocumentfragment.o: In function `QString::QString()': /home/rclinux/rc-buildroot-test/scripts/instance-0/output/build/qt-4.8.7/src/gui/../../include/QtCore/../../src/corelib/tools/qstring.h:879:(.text+0x78c): additional relocation overflows omitted from the output collect2: error: ld returned 1 exit status This issue can be reproduced using the following steps: $ git://git.busybox.net/buildroot $ cd buildroot/ $ git checkout 25902b111a93e562e3c1991f65c03649c88802c4 $ cat > .config <http://autobuild.buildroot.net/toolchains/ta
[Bug ld/21464] relocation truncated to fit: R_OR1K_GOT16 on OpenRISC, when linking libQtGui.so.4.8.7
https://sourceware.org/bugzilla/show_bug.cgi?id=21464 Thomas Petazzoni changed: What|Removed |Added Version|2.27|2.28 --- Comment #2 from Thomas Petazzoni --- The same issue still exists with binutils 2.28. Steps to reproduce: $ git://git.busybox.net/buildroot $ cd buildroot/ $ git checkout 25902b111a93e562e3c1991f65c03649c88802c4 $ cat > .config