From a18590c38657a982f8d544f2f54f39ba9abe9fca Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Thu, 10 Nov 2016 12:26:53 +0000 Subject: 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. --- bfd/compress.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'bfd/compress.c') 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)) -- cgit v1.1