Warning: Immediates 21 and 32 will give undefined behavior.

View: New views
9 Messages — Rating Filter:   Alert me  

Warning: Immediates 21 and 32 will give undefined behavior.

by Frans Pop-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

During compilations using gcc-4.3 of the upstream 2.6.31-rc4 kernel, I
twice noticed the warning below. As the compilation was done with '-j4',
I'm not sure what code causes it. I'm also not sure if the example below
is the same as the first time I saw it.

Is this something to worry about, or to ignore?

The kernel config was 64-bits SMP.

Cheers,
FJP

<snip>
  CC [M]  drivers/pcmcia/pd6729.o
  CC [M]  drivers/pcmcia/i82365.o
  CC [M]  net/netfilter/nf_conntrack_proto_sctp.o
  CC [M]  drivers/net/e1000e/ich8lan.o
  CC [M]  net/netfilter/nf_conntrack_proto_udplite.o
  CC [M]  drivers/pcmcia/i82092.o
  CC [M]  drivers/net/e1000e/es2lan.o
  CC [M]  drivers/net/e1000/e1000_hw.o
  CC [M]  net/netfilter/nf_conntrack_netlink.o
  LD [M]  drivers/pcmcia/pcmcia_core.o
  LD [M]  drivers/pcmcia/pcmcia.o
  CC      drivers/regulator/core.o
  CC [M]  drivers/net/e1000e/lib.o
  CC [M]  net/netfilter/nf_conntrack_amanda.o
  CC [M]  drivers/regulator/fixed.o
  CC [M]  drivers/regulator/bq24022.o
  CC [M]  drivers/net/e1000e/phy.o
  CC [M]  drivers/regulator/wm8350-regulator.o
  CC [M]  net/netfilter/nf_conntrack_ftp.o
  CC [M]  drivers/net/e1000/e1000_ethtool.o
{standard input}: Assembler messages:
{standard input}:1345: Warning: Immediates 21 and 32 will give undefined behavior.
  CC [M]  drivers/net/e1000e/param.o
  CC [M]  drivers/regulator/wm8400-regulator.o
  LD [M]  net/netfilter/nf_conntrack_h323.o
  CC [M]  net/netfilter/nf_conntrack_irc.o
  CC [M]  drivers/net/e1000e/ethtool.o
  CC [M]  drivers/net/e1000/e1000_param.o
  CC [M]  drivers/regulator/pcf50633-regulator.o
  CC [M]  net/netfilter/nf_conntrack_netbios_ns.o
  LD      drivers/regulator/built-in.o
  LD [M]  drivers/net/e1000/e1000.o
</snip>


--
To UNSUBSCRIBE, email to debian-hppa-REQUEST@...
with a subject of "unsubscribe". Trouble? Contact listmaster@...


Re: Warning: Immediates 21 and 32 will give undefined behavior.

by Carlos O'Donell-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Fri, Jul 31, 2009 at 10:26 AM, Frans Pop<elendil@...> wrote:

> During compilations using gcc-4.3 of the upstream 2.6.31-rc4 kernel, I
> twice noticed the warning below. As the compilation was done with '-j4',
> I'm not sure what code causes it. I'm also not sure if the example below
> is the same as the first time I saw it.
>
> Is this something to worry about, or to ignore?
>
> The kernel config was 64-bits SMP.
>
> Cheers,
> FJP
>
> <snip>
>  CC [M]  drivers/pcmcia/pd6729.o
>  CC [M]  drivers/pcmcia/i82365.o
>  CC [M]  net/netfilter/nf_conntrack_proto_sctp.o
>  CC [M]  drivers/net/e1000e/ich8lan.o
>  CC [M]  net/netfilter/nf_conntrack_proto_udplite.o
>  CC [M]  drivers/pcmcia/i82092.o
>  CC [M]  drivers/net/e1000e/es2lan.o
>  CC [M]  drivers/net/e1000/e1000_hw.o
>  CC [M]  net/netfilter/nf_conntrack_netlink.o
>  LD [M]  drivers/pcmcia/pcmcia_core.o
>  LD [M]  drivers/pcmcia/pcmcia.o
>  CC      drivers/regulator/core.o
>  CC [M]  drivers/net/e1000e/lib.o
>  CC [M]  net/netfilter/nf_conntrack_amanda.o
>  CC [M]  drivers/regulator/fixed.o
>  CC [M]  drivers/regulator/bq24022.o
>  CC [M]  drivers/net/e1000e/phy.o
>  CC [M]  drivers/regulator/wm8350-regulator.o
>  CC [M]  net/netfilter/nf_conntrack_ftp.o
>  CC [M]  drivers/net/e1000/e1000_ethtool.o
> {standard input}: Assembler messages:
> {standard input}:1345: Warning: Immediates 21 and 32 will give undefined behavior.

Dave,

Any comments?

Cheers,
CArlos.


--
To UNSUBSCRIBE, email to debian-hppa-REQUEST@...
with a subject of "unsubscribe". Trouble? Contact listmaster@...


Re: Warning: Immediates 21 and 32 will give undefined behavior.

by John David Anglin-4 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Fri, 31 Jul 2009, Carlos O'Donell wrote:

> On Fri, Jul 31, 2009 at 10:26 AM, Frans Pop<elendil@...> wrote:
> > During compilations using gcc-4.3 of the upstream 2.6.31-rc4 kernel, I
> > twice noticed the warning below. As the compilation was done with '-j4',
> > I'm not sure what code causes it. I'm also not sure if the example below
> > is the same as the first time I saw it.
> >
> > Is this something to worry about, or to ignore?
> >
> > The kernel config was 64-bits SMP.

The problem is believed to be fixed in the GCC trunk, 4.3 and 4.4
branches.  It is not fixed in any released version of GCC.  Helge
reported this a couple of weeks ago.

GCC loads various constants with depwi and depdi.  The deposit length
was wrong.

I believe the error occurs compiling nls_base.c.  The constant that
generated the message was -10240 (0xffffd800).

Helge found that a 715 failed to boot because some hand written assembler
code had an incorrect deposit length.  Thus, he believes that it is an
issue to worry about on old machines.  He developed the assembler check.

It is not a new issue.  The responsible GCC code had not changed since
1997.  So, maybe it is not a problem on most PA machines.

There are other situations where depwi and depdi are used in GCC, but
I haven't seen any of these warnings.  If you see warnings in other
situations, I will fix GCC.  Most wrong code problems are simple to fix.

Dave
--
J. David Anglin                                  dave.anglin@...
National Research Council of Canada              (613) 990-0752 (FAX: 952-6602)


--
To UNSUBSCRIBE, email to debian-hppa-REQUEST@...
with a subject of "unsubscribe". Trouble? Contact listmaster@...


Re: Warning: Immediates 21 and 32 will give undefined behavior.

by Frans Pop-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Friday 31 July 2009, Carlos O'Donell wrote:

> On Fri, Jul 31, 2009 at 10:26 AM, Frans Pop<elendil@...> wrote:
> > During compilations using gcc-4.3 of the upstream 2.6.31-rc4 kernel,
> > I twice noticed the warning below. As the compilation was done with
> > '-j4', I'm not sure what code causes it. I'm also not sure if the
> > example below is the same as the first time I saw it.
> >
> > <snip>
> >  CC [M]  drivers/pcmcia/pd6729.o
> >  CC [M]  drivers/pcmcia/i82365.o
> >  CC [M]  net/netfilter/nf_conntrack_proto_sctp.o
> >  CC [M]  drivers/net/e1000e/ich8lan.o
> >  CC [M]  net/netfilter/nf_conntrack_proto_udplite.o
> >  CC [M]  drivers/pcmcia/i82092.o
> >  CC [M]  drivers/net/e1000e/es2lan.o
> >  CC [M]  drivers/net/e1000/e1000_hw.o
> >  CC [M]  net/netfilter/nf_conntrack_netlink.o
> >  LD [M]  drivers/pcmcia/pcmcia_core.o
> >  LD [M]  drivers/pcmcia/pcmcia.o
> >  CC      drivers/regulator/core.o
> >  CC [M]  drivers/net/e1000e/lib.o
> >  CC [M]  net/netfilter/nf_conntrack_amanda.o
> >  CC [M]  drivers/regulator/fixed.o
> >  CC [M]  drivers/regulator/bq24022.o
> >  CC [M]  drivers/net/e1000e/phy.o
> >  CC [M]  drivers/regulator/wm8350-regulator.o
> >  CC [M]  net/netfilter/nf_conntrack_ftp.o
> >  CC [M]  drivers/net/e1000/e1000_ethtool.o
> > {standard input}: Assembler messages:
> > {standard input}:1345: Warning: Immediates 21 and 32 will give undefined behavior.

I got the same warning again later during the same compilation:
  LD [M]  drivers/net/wireless/iwlwifi/iwlcore.o
  LD [M]  drivers/net/wireless/iwlwifi/iwlagn.o
  LD [M]  drivers/net/wireless/iwlwifi/iwl3945.o
  LD      drivers/net/wireless/libertas_tf/built-in.o
  CC [M]  drivers/net/wireless/libertas_tf/main.o
  CC [M]  drivers/net/wireless/libertas/11d.o
  CC [M]  drivers/scsi/sym53c8xx_2/sym_hipd.o
  CC [M]  drivers/net/wireless/libertas_tf/cmd.o
  CC [M]  drivers/net/wireless/libertas/debugfs.o
  CC [M]  drivers/usb/misc/iowarrior.o
{standard input}: Assembler messages:
{standard input}:435: Warning: Immediates 21 and 32 will give undefined behavior.
  CC [M]  drivers/net/wireless/libertas_tf/if_usb.o
  CC [M]  drivers/usb/misc/isight_firmware.o
  CC [M]  drivers/net/wireless/libertas/persistcfg.o
  CC [M]  drivers/usb/misc/ldusb.o
  CC [M]  drivers/net/wireless/libertas/ethtool.o
  CC [M]  drivers/usb/misc/trancevibrator.o
  CC [M]  drivers/scsi/sym53c8xx_2/sym_malloc.o
  LD [M]  drivers/net/wireless/libertas_tf/libertas_tf.o
  LD [M]  drivers/net/wireless/libertas_tf/libertas_tf_usb.o

If needed I can do the build again with V=1 and without -j4 so
we'd get a better idea what exactly causes it.

Cheers,
FJP


--
To UNSUBSCRIBE, email to debian-hppa-REQUEST@...
with a subject of "unsubscribe". Trouble? Contact listmaster@...


Re: Warning: Immediates 21 and 32 will give undefined behavior.

by Carlos O'Donell-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Fri, Jul 31, 2009 at 2:18 PM, John David
Anglin<dave@...> wrote:

> On Fri, 31 Jul 2009, Carlos O'Donell wrote:
>
>> On Fri, Jul 31, 2009 at 10:26 AM, Frans Pop<elendil@...> wrote:
>> > During compilations using gcc-4.3 of the upstream 2.6.31-rc4 kernel, I
>> > twice noticed the warning below. As the compilation was done with '-j4',
>> > I'm not sure what code causes it. I'm also not sure if the example below
>> > is the same as the first time I saw it.
>> >
>> > Is this something to worry about, or to ignore?
>> >
>> > The kernel config was 64-bits SMP.
>
> The problem is believed to be fixed in the GCC trunk, 4.3 and 4.4
> branches.  It is not fixed in any released version of GCC.  Helge
> reported this a couple of weeks ago.
>
> GCC loads various constants with depwi and depdi.  The deposit length
> was wrong.

If I understand correctly, are you saying that debian's gcc is at
fault, and that the bug was never in a released version of gcc?

Cheers,
Carlos.


--
To UNSUBSCRIBE, email to debian-hppa-REQUEST@...
with a subject of "unsubscribe". Trouble? Contact listmaster@...


Re: Warning: Immediates 21 and 32 will give undefined behavior.

by John David Anglin-4 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

> > GCC loads various constants with depwi and depdi. =A0The deposit length
> > was wrong.
>
> If I understand correctly, are you saying that debian's gcc is at
> fault, and that the bug was never in a released version of gcc?

No, the bug is present in all released versions of gcc.  They need
to build a snapshot from the current GCC svn tree (4.3, 4.4 or trunk),
or apply the patch to their own source.

2009-07-20  John David Anglin  <dave.anglin@...>

        * pa.c (compute_zdepwi_operands): Limit deposit length to 32 - lsb.
        Cast "1" to unsigned HOST_WIDE_INT.
        (compute_zdepdi_operands): Limit maximum length to 64 bits.  Limit
        deposit length to the maximum length - lsb.  Extend length if
        HOST_BITS_PER_WIDE_INT is 32.

Dave
--
J. David Anglin                                  dave.anglin@...
National Research Council of Canada              (613) 990-0752 (FAX: 952-6602)


--
To UNSUBSCRIBE, email to debian-hppa-REQUEST@...
with a subject of "unsubscribe". Trouble? Contact listmaster@...


Re: Warning: Immediates 21 and 32 will give undefined behavior.

by Carlos O'Donell-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Fri, Jul 31, 2009 at 3:10 PM, John David
Anglin<dave@...> wrote:

>> > GCC loads various constants with depwi and depdi. =A0The deposit length
>> > was wrong.
>>
>> If I understand correctly, are you saying that debian's gcc is at
>> fault, and that the bug was never in a released version of gcc?
>
> No, the bug is present in all released versions of gcc.  They need
> to build a snapshot from the current GCC svn tree (4.3, 4.4 or trunk),
> or apply the patch to their own source.
>
> 2009-07-20  John David Anglin  <dave.anglin@...>
>
>        * pa.c (compute_zdepwi_operands): Limit deposit length to 32 - lsb.
>        Cast "1" to unsigned HOST_WIDE_INT.
>        (compute_zdepdi_operands): Limit maximum length to 64 bits.  Limit
>        deposit length to the maximum length - lsb.  Extend length if
>        HOST_BITS_PER_WIDE_INT is 32.

Frans,

Would you mind filing a bug against debian gcc to have them pickup
this patch for hppa?

Cheers,
Carlos.


--
To UNSUBSCRIBE, email to debian-hppa-REQUEST@...
with a subject of "unsubscribe". Trouble? Contact listmaster@...


Re: Warning: Immediates 21 and 32 will give undefined behavior.

by Frans Pop-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Friday 31 July 2009, Carlos O'Donell wrote:

> On Fri, Jul 31, 2009, John David Anglin<dave@...> wrote:
> >> > GCC loads various constants with depwi and depdi. The deposit
> >> > length was wrong.
> >
> > No, the bug is present in all released versions of gcc.  They need
> > to build a snapshot from the current GCC svn tree (4.3, 4.4 or
> > trunk), or apply the patch to their own source.
> >
> > 2009-07-20  John David Anglin  <dave.anglin@...>
> >        * pa.c (compute_zdepwi_operands): Limit deposit length to 32 -
> > lsb. Cast "1" to unsigned HOST_WIDE_INT.
> >        (compute_zdepdi_operands): Limit maximum length to 64 bits.
> >  Limit deposit length to the maximum length - lsb.  Extend length if
> > HOST_BITS_PER_WIDE_INT is 32.
>
> Would you mind filing a bug against debian gcc to have them pickup
> this patch for hppa?

Done: http://bugs.debian.org/539470

Cheers,
FJP


--
To UNSUBSCRIBE, email to debian-hppa-REQUEST@...
with a subject of "unsubscribe". Trouble? Contact listmaster@...


Re: Warning: Immediates 21 and 32 will give undefined behavior.

by Carlos O'Donell-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Sat, Aug 1, 2009 at 4:20 AM, Frans Pop<elendil@...> wrote:
>> Would you mind filing a bug against debian gcc to have them pickup
>> this patch for hppa?
>
> Done: http://bugs.debian.org/539470

Thanks Frans!

Cheers,
Carlos.


--
To UNSUBSCRIBE, email to debian-hppa-REQUEST@...
with a subject of "unsubscribe". Trouble? Contact listmaster@...