mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-21 18:39:34 +08:00
Prevent problems with section alignment by not shrinking the .rsrc section.
PR ld/20193 * peXXigen.c (rsrc_process_section): Do not shrink the merged .rsrc section.
This commit is contained in:
@ -1,3 +1,9 @@
|
|||||||
|
2016-11-25 Jon Turney <jon.turney@dronecode.org.uk>
|
||||||
|
|
||||||
|
PR ld/20193
|
||||||
|
* peXXigen.c (rsrc_process_section): Do not shrink the merged
|
||||||
|
.rsrc section.
|
||||||
|
|
||||||
2016-11-24 Jiong Wang <jiong.wang@arm.com>
|
2016-11-24 Jiong Wang <jiong.wang@arm.com>
|
||||||
|
|
||||||
PR target/20737
|
PR target/20737
|
||||||
|
@ -4319,26 +4319,8 @@ rsrc_process_section (bfd * abfd,
|
|||||||
rsrc_write_directory (& write_data, & new_table);
|
rsrc_write_directory (& write_data, & new_table);
|
||||||
|
|
||||||
/* Step five: Replace the old contents with the new.
|
/* Step five: Replace the old contents with the new.
|
||||||
We recompute the size as we may have lost entries due to mergeing. */
|
We don't recompute the size as it's too late here to shrink section.
|
||||||
size = ((write_data.next_data - new_data) + 3) & ~ 3;
|
See PR ld/20193 for more details. */
|
||||||
|
|
||||||
{
|
|
||||||
int page_size;
|
|
||||||
|
|
||||||
if (coff_data (abfd)->link_info)
|
|
||||||
{
|
|
||||||
page_size = pe_data (abfd)->pe_opthdr.FileAlignment;
|
|
||||||
|
|
||||||
/* If no file alignment has been set, default to one.
|
|
||||||
This repairs 'ld -r' for arm-wince-pe target. */
|
|
||||||
if (page_size == 0)
|
|
||||||
page_size = 1;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
page_size = PE_DEF_FILE_ALIGNMENT;
|
|
||||||
size = (size + page_size - 1) & - page_size;
|
|
||||||
}
|
|
||||||
|
|
||||||
bfd_set_section_contents (pfinfo->output_bfd, sec, new_data, 0, size);
|
bfd_set_section_contents (pfinfo->output_bfd, sec, new_data, 0, size);
|
||||||
sec->size = sec->rawsize = size;
|
sec->size = sec->rawsize = size;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user