https://sourceware.org/bugzilla/show_bug.cgi?id=27583
Bug ID: 27583 Summary: GNU mips-linux-gnu-ld 2.34: Local assembly symbols from non-GNU assembler fail to link Product: binutils Version: 2.34 Status: UNCONFIRMED Severity: minor Priority: P2 Component: ld Assignee: unassigned at sourceware dot org Reporter: farisawan.2000 at gmail dot com Target Milestone: --- Created attachment 13313 --> https://sourceware.org/bugzilla/attachment.cgi?id=13313&action=edit Self-contained object file that causes the error [Description] Using function-local labels (Any label not declared as .globl/.global, including labels using the 1f/1b/etc. syntax), causes the linker to fail. Making such labels global using .globl or .global works as expected, and the file links as it should. I have attached the specific object file generated from the assembler in question. [Platform info] KDE Neon (based on Ubuntu); I have seen other people on Ubuntu-based installs having this issue as well; binutils-mips-linux-gnu is installed from the package manager [Command string from Makefile] mips-linux-gnu-ld -L build/us -T build/us/kirby.us.ld -mips3 --accept-unknown-input-arch -T libultra_unused.txt --no-check-sections -T undefined_syms.txt -Map build/us/kirby.us.map -o build/us/kirby.us.elf -lultra -ln_audio [Test case (using the attachment) that also fails] mips-linux-gnu-ld -o test.elf writebackdcache.o [Error output] mips-linux-gnu-ld: build/us/libultra.a(writebackdcache.o): .symtab local symbol at index 3 (>= sh_info of 2) mips-linux-gnu-ld: build/us/libultra.a: error adding symbols: bad value make: *** [Makefile:253: build/us/kirby.us.elf] Error 1 Further tests of the assembler can be done by setting up https://github.com/n64decomp/libreultra (which will require an Ubuntu-based GNU/Linux installation (for MIPS binutils 2.34), and qemu-irix from https://github.com/n64decomp/qemu-irix/releases) -- You are receiving this mail because: You are on the CC list for the bug.