https://sourceware.org/bugzilla/show_bug.cgi?id=17329
Bug ID: 17329 Summary: Error: PC relative branch to label <foo> 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