This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Re: Multi-gdb build failure
- From: Tristan Gingold <gingold at adacore dot com>
- To: Andreas Schwab <schwab at redhat dot com>
- Cc: "Pierre Muller" <pierre dot muller at ics-cnrs dot unistra dot fr>, <gdb at sourceware dot org>
- Date: Fri, 16 Apr 2010 16:32:03 +0200
- Subject: Re: Multi-gdb build failure
- References: <27531.5651590519$1271404881@news.gmane.org> <m38w8nok8r.fsf@hase.home>
On Apr 16, 2010, at 10:49 AM, Andreas Schwab wrote:
> "Pierre Muller" <pierre.muller@ics-cnrs.unistra.fr> writes:
>
>> ../../src/bfd/vms-alpha.c: In function `alpha_vms_link_add_object_symbols':
>> ../../src/bfd/vms-alpha.c:7997: warning: dereferencing type-punned pointer
>> will
>> break strict-aliasing rules
>> make[3]: *** [vms-alpha.lo] Error 1
>>
>> Is there a fix to this?
>
> --- vms-alpha.c.~1.1.~ 2010-04-14 11:24:59.000000000 +0200
> +++ vms-alpha.c 2010-04-16 10:46:19.000000000 +0200
> @@ -7975,6 +7975,7 @@ alpha_vms_link_add_object_symbols (bfd *
> {
> struct vms_symbol_entry *e = PRIV (syms)[i];
> struct alpha_vms_link_hash_entry *h;
> + struct bfd_link_hash_entry *h_root;
> asymbol sym;
>
> if (!alpha_vms_convert_symbol (abfd, e, &sym))
> @@ -7992,10 +7993,12 @@ alpha_vms_link_add_object_symbols (bfd *
> else
> h = NULL;
>
> + h_root = (struct bfd_link_hash_entry *) h;
> if (_bfd_generic_link_add_one_symbol
> (info, abfd, sym.name, sym.flags, sym.section, sym.value,
> - NULL, FALSE, FALSE, (struct bfd_link_hash_entry **)&h) == FALSE)
> + NULL, FALSE, FALSE, &h_root) == FALSE)
> return FALSE;
> + h = (struct alpha_vms_link_hash_entry *) h_root;
>
> if ((e->flags & EGSY__V_DEF)
> && h->sym == NULL
That's look fine. I will commit that now.
Thank you for catching that,
Tristan.