binutils-gdb/ld/testsuite/ld-avr
Andrew Burgess bac13f5a4c AVR/ld: Use .avr.prop data during linker relaxation.
Make use of the data held within the .avr.prop section during linker
relaxation in order to maintain the properties of the .org and .align
directives.

In relation to the .align directives, if enough bytes are deleted before
a .align directive then the alignment can be moved while still
maintaining the alignment requirement.

bfd/ChangeLog:

	* elf32-avr.c (struct elf_avr_section_data): New structure.
	(struct avr_relax_info): New structure.
	(elf_avr_new_section_hook): New function.
	(struct elf_avr_section_data): Add relax_info.
	(get_avr_relax_info): New function.
	(init_avr_relax_info): New function.
	(elf32_avr_relax_delete_bytes): Find next property record before
	deleting bytes.  When deleting don't move bytes beyond the next
	property record.
	(avr_elf32_assign_records_to_section): New function.
	(avr_property_record_compare): New function.
	(avr_load_all_property_sections): New function.
	(elf32_avr_relax_section): Load property data.  After relaxing the
	section, move any .align directives that have enough deleted bytes
	before them.
	(bfd_elf32_new_section_hook): Define.

ld/testsuite/ChangeLog:

	* ld-avr/avr-prop-1.d: New file.
	* ld-avr/avr-prop-1.s: New file.
	* ld-avr/avr-prop-2.d: New file.
	* ld-avr/avr-prop-2.s: New file.
	* ld-avr/avr-prop-3.d: New file.
	* ld-avr/avr-prop-3.s: New file.
	* ld-avr/avr-prop-4.d: New file.
	* ld-avr/avr-prop-4.s: New file.
2015-02-25 23:19:11 +00:00
..
avr-prop-1.d AVR/ld: Use .avr.prop data during linker relaxation. 2015-02-25 23:19:11 +00:00
avr-prop-1.s AVR/ld: Use .avr.prop data during linker relaxation. 2015-02-25 23:19:11 +00:00
avr-prop-2.d AVR/ld: Use .avr.prop data during linker relaxation. 2015-02-25 23:19:11 +00:00
avr-prop-2.s AVR/ld: Use .avr.prop data during linker relaxation. 2015-02-25 23:19:11 +00:00
avr-prop-3.d AVR/ld: Use .avr.prop data during linker relaxation. 2015-02-25 23:19:11 +00:00
avr-prop-3.s AVR/ld: Use .avr.prop data during linker relaxation. 2015-02-25 23:19:11 +00:00
avr-prop-4.d AVR/ld: Use .avr.prop data during linker relaxation. 2015-02-25 23:19:11 +00:00
avr-prop-4.s AVR/ld: Use .avr.prop data during linker relaxation. 2015-02-25 23:19:11 +00:00
avr.exp ChangeLog rotatation and copyright year update 2015-01-02 00:53:45 +10:30
norelax_diff.d
region_overflow.d This patch modifies the AVR linker script templates to use __<name>_REGION_LENGTH__ symbols, if provided, for setting memory region lengths, defaulting to the current constant values otherwise. 2015-02-24 11:26:28 +00:00
region_overflow.s This patch modifies the AVR linker script templates to use __<name>_REGION_LENGTH__ symbols, if provided, for setting memory region lengths, defaulting to the current constant values otherwise. 2015-02-24 11:26:28 +00:00
relax-02.d When relaxing, update size of symbols. 2014-11-03 20:34:13 +00:00
relax-02.s
relax-03.d When relaxing, update size of symbols. 2014-11-03 20:34:13 +00:00
relax-03.s
relax-elf-flags-01.d AVR/ld: Propagate link-relax elf header flag correctly. 2014-12-23 15:45:11 +00:00
relax-elf-flags-02.d AVR: Assembler now prepares for linker relaxation by default. 2014-12-24 21:27:43 +00:00
relax-elf-flags-03.d AVR: Assembler now prepares for linker relaxation by default. 2014-12-24 21:27:43 +00:00
relax-elf-flags-04.d AVR: Assembler now prepares for linker relaxation by default. 2014-12-24 21:27:43 +00:00
relax-elf-flags-05.d AVR: Assembler now prepares for linker relaxation by default. 2014-12-24 21:27:43 +00:00
relax-elf-flags-06.d AVR: Assembler now prepares for linker relaxation by default. 2014-12-24 21:27:43 +00:00
relax-elf-flags-07.d AVR/ld: Propagate link-relax elf header flag correctly. 2014-12-23 15:45:11 +00:00
relax-elf-flags-08.d AVR/ld: Propagate link-relax elf header flag correctly. 2014-12-23 15:45:11 +00:00
relax-elf-flags-a.s AVR/ld: Propagate link-relax elf header flag correctly. 2014-12-23 15:45:11 +00:00
relax-elf-flags-b.s AVR/ld: Propagate link-relax elf header flag correctly. 2014-12-23 15:45:11 +00:00
relax.s
relax_diff.d