This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Hi Guys, I am applying the patch below to fix some problems with mn10300 linker relaxation. The first problem was that alignment directives in the assembler source were not being passed on to the linker so that relaxation would not break alignments. The patch creates a new reloc to handle this situation. The second problem was an off by one error in the delete bytes routine which would mistakenly adjust a symbol at the end of the region being deleted. The third problem was that the test to generate sym_diff relocs was not catching all the situations where they should be generated. The patch also adds some more mn10300 linker tests for relaxation and disables one gas test since it no longer applies. Cheers Nick include/elf/ChangeLog 2007-10-30 Nick Clifton <nickc@redhat.com> * mn10300.h (R_MN10300_ALIGN): Define. bfd/ChangeLog 2007-10-30 Nick Clifton <nickc@redhat.com> * reloc.c (BFD_RELOC_MN10300_ALIGN): Add. * bfd-in2.h: Regenerate. * libbfd.h: Regenerate. * elf-m10300.h: Handle R_MN10300_ALIGN relocs. (mn10300_elf_relax_delete_bytes): Honour R_MN10300_ALIGN relocs. Re-fix off by one error in comparisons. gas/ChangeLog 2007-10-30 Nick Clifton <nickc@redhat.com> * config/tc-mn10300.c (tc_gen_reloc): Fix test that decides when sym_diff relocs should be generated. (md_apply_fix): Skip R_MN10300_ALIGN relocs. (mn10300_fix_adjustable): Do not adjust R_MN10300_ALIGN relocs. (mn10300_handle_align): New function. Generate R_MN10300_ALIGN relocs to record alignment requests. * config/tc-mn10300.h (TC_FORCE_RELOCATION_SUB_SAME): Also force R_MN10300_ALIGN relocs. (HANDLE_ALIGN): Define. Call mn10300_handle_align. gas/testsuite/ChangeLog 2007-10-30 Nick Clifton <nickc@redhat.com> * gas/all/gas.exp: Do not run diff1.s test for mn10300. ld/testsuite/ChangeLog 2007-10-30 Nick Clifton <nickc@redhat.com> * ld-mn10300/mn10300.exp: Run new tests. Skip i126256 test if a compiler is not available. * ld-mn10300/i112045-3.s: New test. * ld-mn10300/i112045-3.d: Expected disassembly. * ld-mn10300/i135409.s: Rename to i135409-1.s. * ld-mn10300/i135409.d: Rename to i135409-1.d * ld-mn10300/i135409-2.s: New test. * ld-mn10300/i135409-2.d: Expected symbol table. * ld-mn10300/i36434.d: Adjust expected disassembly.
Attachment:
mn10300.align-reloc.patch.bz2
Description: BZip2 compressed data
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |