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]

Re: Fix immediate Darwin gdb crash


I suspect you are correct. How can I differentiate between fat
binaries and regular archives?

Cheers,
Josh

On 22 October 2012 11:24, Tristan Gingold <gingold@adacore.com> wrote:
>
> On Oct 22, 2012, at 4:50 PM, Josh Matthews wrote:
>
>> Attempting to debug any binary on Darwin with gdb HEAD currently triggers an
>> immediate segfault. This patch corrects that.
>
> Hi,
>
>> diff --git a/bfd/mach-o.c b/bfd/mach-o.c
>> index 0379f4f..7c44c5a 100644
>> --- a/bfd/mach-o.c
>> +++ b/bfd/mach-o.c
>> @@ -4863,6 +4863,10 @@ bfd_mach_o_close_and_cleanup (bfd *abfd)
>>           free (dsym_filename);
>>         }
>>     }
>> +  else if (bfd_get_format (abfd) == bfd_archive)
>> +    {
>> +      abfd->tdata.mach_o_fat_data = NULL;
>> +    }
>>
>>   return _bfd_generic_close_and_cleanup (abfd);
>> }
>
>
> I may have missed something, but won't this code also be called
> for regular mach-o archives ?  Why not specially handle fat binary
> and simply close all its members (if this is what we want).
>
> Tristan.
>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]