diff options
author | Nick Clifton <nickc@redhat.com> | 2016-11-10 12:26:53 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2016-11-10 12:26:53 +0000 |
commit | a18590c38657a982f8d544f2f54f39ba9abe9fca (patch) | |
tree | 5aa0bbe70b03cf080a4c6e1c8bdf69c8c9a3d0e7 /bfd | |
parent | ac33b731d214d79738ca04d27f7464d4482f6a01 (diff) | |
download | gdb-a18590c38657a982f8d544f2f54f39ba9abe9fca.zip gdb-a18590c38657a982f8d544f2f54f39ba9abe9fca.tar.gz gdb-a18590c38657a982f8d544f2f54f39ba9abe9fca.tar.bz2 |
Provide a more helpful error message when the BFD library is unable to load an extremely large section.
PR target/20737
* elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Bind defined
symbol locally in PIE.
Diffstat (limited to 'bfd')
-rw-r--r-- | bfd/ChangeLog | 6 | ||||
-rw-r--r-- | bfd/compress.c | 8 |
2 files changed, 14 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 9d97c64..abfda75 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -4,6 +4,12 @@ * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Bind defined symbol locally in PIE. +2016-11-10 Nick Clifton <nickc@redhat.com> + + PR binutils/20801 + * compress.c (bfd_get_full_section_contents): Provide a more + helpful error message when a section is too large to load. + 2016-11-08 Pedro Alves <palves@redhat.com> * dwarf2.c (struct funcinfo) <is_linkage>: Type is bfd_boolean, diff --git a/bfd/compress.c b/bfd/compress.c index 0a96630..95e8c23 100644 --- a/bfd/compress.c +++ b/bfd/compress.c @@ -247,7 +247,15 @@ bfd_get_full_section_contents (bfd *abfd, sec_ptr sec, bfd_byte **ptr) { p = (bfd_byte *) bfd_malloc (sz); if (p == NULL) + { + /* PR 20801: Provide a more helpful error message. */ + if (bfd_get_error () == bfd_error_no_memory) + _bfd_error_handler + /* xgettext:c-format */ + (_("error: %B(%A) is too large (%#lx bytes)"), + abfd, sec, (long) sz); return FALSE; + } } if (!bfd_get_section_contents (abfd, sec, p, 0, sz)) |