[PATCH] MIPS/binutils: microMIPS linker relaxation fixes
Richard Sandiford
rdsandiford@googlemail.com
Tue Nov 15 17:01:00 GMT 2011
More information about the Binutils mailing list
Tue Nov 15 17:01:00 GMT 2011
- Previous message (by thread): [PATCH] MIPS/binutils: microMIPS linker relaxation fixes
- Next message (by thread): [PATCH] MIPS/binutils: microMIPS linker relaxation fixes
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
"Maciej W. Rozycki" <macro@codesourcery.com> writes: > So I have actually given it some more thought and my understanding of the > ABI remains that while orphaned R_MIPS_LO16 relocations are indeed > permitted, they still must be preceded by a corresponding R_MIPS_HI16, > although that is not required to be adjacent. I believe this is only > permitted to allow cases like you quoted to avoid unnecessary extra code > to add missing R_MIPS_HI16 relocations. There are still potential problems though. We deliberately allow things like: lui $4,%hi(foo) lw $6,%lo(foo)($4) lw $7,%lo(foo+4)($4) ... .align 8 foo: .word X, Y and foo is allowed to be in a text section. Does your patch ensure that foo remains 8-byte aligned, even if we relax code earlier in the section? > Do you have a better idea? TBH, my inclination is to remove it from trunk too. I imagine GCC's LTO will catch many of the interesting cases (because then we assemble the output object's text section at once). Richard
- Previous message (by thread): [PATCH] MIPS/binutils: microMIPS linker relaxation fixes
- Next message (by thread): [PATCH] MIPS/binutils: microMIPS linker relaxation fixes
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Binutils mailing list