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.