While compiling binutils-2.17, i get the error "dereferencing type-punned pointer will break strict-aliasing rules"

Nick Clifton nickc@redhat.com
Mon Jun 18 15:41:00 GMT 2007


Hi Mayank,

> (struct bfd_link_hash_entry **) &h))) -->The error points to this line in all places.
> 
> The problem is that variable h is of type struct coff_link_hash_entry *, whereas the 
> function pointer expects a variable of type struct bfd_link_hash_entry *.
> 
> Does anybody know how to fix the above error.

This is not an error.  The coff_link_hash_entry structure includes a 
bfd_link_hash_entry structure as its first field.  (See bfd/libcoff.h). 
  Hence it is OK to cast the pointer in this way.

There may be more elegant ways to handle this sort of thing, but the 
code does work.

Cheers
   Nick




More information about the Binutils mailing list