Fix a bug recently introduced to the linker where it would complain about a section being larger than a file, even if the section was artificial.
PR 24753 bfd * compress.c (bfd_get_full_section_contents): Do not complain about linker created sections that are larger than the file size. ld * emultempl/aarch64elf.em (_aarch64_add_stub_section): Include the LINKER_CREATED section flag when creating the stub section.
This commit is contained in:
parent
163b2c58bd
commit
125f83f66c
@ -1,3 +1,9 @@
|
||||
2019-07-02 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
PR 24753
|
||||
* compress.c (bfd_get_full_section_contents): Do not complain
|
||||
about linker created sections that are larger than the file size.
|
||||
|
||||
2019-07-02 Christophe Lyon <christophe.lyon@linaro.org>
|
||||
|
||||
* bfd/elf32-arm.c (CMSE_STUB_NAME): New define.
|
||||
|
@ -253,6 +253,9 @@ bfd_get_full_section_contents (bfd *abfd, sec_ptr sec, bfd_byte **ptr)
|
||||
ufile_ptr filesize = bfd_get_file_size (abfd);
|
||||
if (filesize > 0
|
||||
&& filesize < sz
|
||||
/* PR 24753: Linker created sections can be larger than
|
||||
the file size, eg if they are being used to hold stubs. */
|
||||
&& (bfd_get_section_flags (abfd, sec) & SEC_LINKER_CREATED) == 0
|
||||
/* The MMO file format supports its own special compression
|
||||
technique, but it uses COMPRESS_SECTION_NONE when loading
|
||||
a section's contents. */
|
||||
|
@ -1,3 +1,9 @@
|
||||
2019-07-02 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
PR 24753
|
||||
* emultempl/aarch64elf.em (_aarch64_add_stub_section): Include the
|
||||
LINKER_CREATED section flag when creating the stub section.
|
||||
|
||||
2019-07-02 Srinath Parvathaneni <srinath.parvathaneni@arm.com>
|
||||
|
||||
* testsuite/ld-arm/arm-elf.exp: Add tests.
|
||||
|
@ -169,7 +169,7 @@ elf${ELFSIZE}_aarch64_add_stub_section (const char *stub_sec_name,
|
||||
lang_output_section_statement_type *os;
|
||||
struct hook_stub_info info;
|
||||
|
||||
flags = (SEC_ALLOC | SEC_LOAD | SEC_READONLY | SEC_CODE
|
||||
flags = (SEC_ALLOC | SEC_LOAD | SEC_READONLY | SEC_CODE | SEC_LINKER_CREATED
|
||||
| SEC_HAS_CONTENTS | SEC_RELOC | SEC_IN_MEMORY | SEC_KEEP);
|
||||
stub_sec = bfd_make_section_anyway_with_flags (stub_file->the_bfd,
|
||||
stub_sec_name, flags);
|
||||
|
Loading…
Reference in New Issue
Block a user