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]

Re: [PATCH] add linker relaxation support for avr port rev. 6


Hi Björn,

2006-02-28 Bjoern Haase <bjoern.m.haase@web.de>

* include/elf/avr.h:

	R_AVR_MS8_LDI,R_AVR_MS8_LDI_NEG: Add.
	EF_AVR_LINKRELAX_PREPARED: Add.

* bfd/elf32-avr.c:

avr_reloc_map: insert BFD_RELOC_AVR_MS8_LDI and R_AVR_MS8_LDI
bfd_elf_avr_final_write_processing: set EF_AVR_LINKRELAX_PREPARED in e_flags field.
elf32_avr_relax_section: add.
elf32_avr_relax_delete_bytes: add.
elf32_avr_get_relocated_section_contents: add.
avr_pc_wrap_around: add.
avr_relative_distance_considering_wrap_around: add.
avr_final_link_relocate: Handle negative int8t_t immediate for R_AVR_LDI
* gas/config/tc-avr.c:


avr_mod_hash_value: Add.
md_apply_fix, exp_mod: Use BFD_RELOC_HH8_LDI and BFD_RELOC_MS8_LDI for hlo8() and hhi8()
md_begin: set linkrelax variable to 1, use avr_mod_hash_value instead of int avr_ldi_expression: use avr_mod_hash_value instead of (int)
tc_gen_reloc:
handle substractions of symbols, if possible do fixups, abort otherwise

* gas/config/tc-avr.h:
TC_LINKRELAX_FIXUP, TC_VALIDATE_FIX, tc_fix_adjustable: add.

* bfd/bfd-in2.h: Add BFD_RELOC_AVR_MS8_LDI and BFD_RELOC_AVR_LDI_NEG
* bfd/libbfd.h: Ditto.
* bfd/reloc.c: Ditto.


	* ld/scripttempl/avr.sc:
	add *(.jumptables) *(.lowtext), add KEEP() directives
	add *(.data*) *(.rodata) and *(.rodata*) and *(.bss*) to .data and .bss
	output sections.

Approved and applied! Thanks very much for perservering with this patch.


Cheers
  Nick


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]