Segmentation Fault with bfd_abs_section_ptr
Nick Clifton
nickc@cambridge.redhat.com
Thu Jul 11 04:28:00 GMT 2002
Hi Pierre,
> It appears that I go throw bfd_make_section_old_way of
> section.c and exit at :
> if (strcmp (name, BFD_ABS_SECTION_NAME) == 0)
> return bfd_abs_section_ptr;
> but bfd_abs_section_ptr->output_section is 0x0 where
> as in the 32 bit version it's already equal to
> bfd_abs_section_ptr...
>
> So the problem might be in the instanciation of
> bfd_abs_section_ptr that I can't found...
> Can someone help me?
bfd_abs_section_ptr is created in bfd/section.c. Have a look for the
STD_SECTION macro. If this macro is failing to initialise the
output_section field of asection structure then there is a probably a
bug somewhere in your conversion of 32bit code to 64bit, so that it is
actually setting an earlier field in the structure (because it was
using a 32-bit field instead of a 64-bit wide field).
I would suggest running the program inside a debugger and then when
the seg fault occurs, printing out the entire contents of the
bfd_abs_section_ptr structure. Have a look at the fields and try to
work out where the mis-initialisation occurs.
Cheers
Nick
More information about the Binutils
mailing list