https://sourceware.org/bugzilla/show_bug.cgi?id=25616
Bug ID: 25616 Summary: --fix-v4bx does not work Product: binutils Version: 2.31 Status: UNCONFIRMED Severity: normal Priority: P2 Component: ld Assignee: unassigned at sourceware dot org Reporter: gary at partis dot co.uk Target Milestone: --- Created attachment 12327 --> https://sourceware.org/bugzilla/attachment.cgi?id=12327&action=edit Tar file containing object and library files to be linked Hi I am using GNU ld version 2.31.1 to target ARMv3 (ARM610/710) processors. Primarily, GCC's libgcc contains "BX LR" instructions which we want changed to "MOV PC,LR" so to be compatible with older processors, but after running the linker with the "--fix-vxb4" directive the BX instructions are still there (we use objdump to disassemble the resultant ELF file to check). Attached is a tar containing some object and library files. They are linked thus : arm-eabi-ld --fix-v4bx -static -nostdlib --format elf32-littlearm --relocatable OS_FuncMain.o StringUtils.o --start-group StringUtils.a ANSIC.a OS.a libgcc.a --end-group -o StringUtils.elf Then a check is made : arm-eabi-objdump StringUtils.elf --disassemble-all --all-headers | grep -i bx ...and the "bx lr" instructions are still there instead of the "mov pc,lr". Kind regards Gary Partis -- You are receiving this mail because: You are on the CC list for the bug.