This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
On Sat, Aug 21, 2010 at 12:08 PM, H.J. Lu <hjl.tools@gmail.com> wrote: > On Fri, Aug 20, 2010 at 9:28 AM, H.J. Lu <hjl.tools@gmail.com> wrote: >> On Fri, Aug 20, 2010 at 8:16 AM, Pedro Alves <pedro@codesourcery.com> wrote: >>> On Friday 20 August 2010 16:00:30, Nick Clifton wrote: >>>> ? Whilst working on another bug I came across a seg-fault in the >>>> ? _after_open() function in elf32.em. ?If the target is not an ELF >>>> ? binary then get_elf_backend_data will return NULL, but the code was >>>> ? not checking for this. ?Fixed by applying the following patch. >>> >>> (...) >>> >>>> ? ? ? ? ? bed = get_elf_backend_data (abfd); >>>> ! ? ? ? ? if (bed == NULL) >>>> ! ? ? ? ? ? s = NULL; >>>> ! ? ? ? ? else >>>> ! ? ? ? ? ? s = bfd_make_section_with_flags (abfd, ".eh_frame_hdr", >>>> ! ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?bed->dynamic_sec_flags >>>> ! ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?| SEC_READONLY); >>> >>> Is it valid to call get_elf_backend_data on a non-elf bfd at all? >>> >>> #define get_elf_backend_data(abfd) \ >>> ? xvec_get_elf_backend_data ((abfd)->xvec) >>> >>> #define bfd_mach_o_get_backend_data(abfd) \ >>> ?((bfd_mach_o_backend_data*)(abfd)->xvec->backend_data) >>> >>> .#define coff_backend_info(abfd) \ >>> . ?((bfd_coff_backend_data *) (abfd)->xvec->backend_data) >>> >>> It appears that for other flavours, it may happen to return >>> something undefined. >>> >>> Shouldn't that check be something like >>> bfd_get_flavour (abfd) != bfd_target_elf_flavour instead? >>> >> >> I agree. The patch doesn't look right to me. Nick, if you can >> provide a testcase, I will look into it. >> > > I opened a bug report: > > http://sourceware.org/bugzilla/show_bug.cgi?id=11937 > Here is a patch. OK to install? -- H.J. --- 2010-08-21 H.J. Lu <hongjiu.lu@intel.com> PR ld/11937 * emultempl/elf32.em (_after_open): Find an ELF input for --build-id and --eh-frame-hdr.
Attachment:
binutils-pr11937-1.patch
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |