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: [PATCH] Fix build of gold/mips.cc with GCC 4.3


On Wed, Jul 26, 2017 at 3:55 AM, Richard Biener <rguenther@suse.de> wrote:
>
> I need the following to fix build with GCC 4.3 which with -m32 complains
> about 0x800080008000 being too large for 'long' type.  GCC 4.8
> doesn't complain so not sure whether it just silently discards extra
> precision or if the standard mandates a long-long literal here.
>
> Richard.
>
> --- gold/mips.cc.orig   2017-07-26 12:42:53.595075930 +0200
> +++ gold/mips.cc        2017-07-26 12:43:15.859443263 +0200
> @@ -5664,7 +5664,7 @@
>                                       : addend_a);
>
>      Valtype x = psymval->value(object, addend);
> -    x = ((x + (uint64_t) 0x800080008000) >> 48) & 0xffff;
> +    x = ((x + (uint64_t) 0x800080008000ULL) >> 48) & 0xffff;
>      val = Bits<32>::bit_select32(val, x, 0xffff);
>
>      if (calculate_only)

See:

https://sourceware.org/ml/binutils/2017-05/msg00013.html

-- 
H.J.


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