STRICT_KERNEL_RWX on PPC32 is broken on PowerMac G4

Meelis Roos mroos at linux.ee
Sat Nov 18 18:54:33 AEDT 2017


> > > How early does it hang ? Any oops or trace ?
> > 
> > Very early - instead oif kernel emssages, I see some repeated gibberish
> > of some characteers, and the background turns white.
> > I am booting from yaboot, background is normally black.
> 
> Ok, could you try by replacing #ifdef CONFIG_STRICT_KERNEL_RWX by #if 0
> in arch/powerpc/lib/code-patching.c

With this change and CONFIG_STRICT_KERNEL_RWX=y, it still boots.

BTW, I get these warnings (sorry for the word wrap from screen paste) - 
may they be related or rather not?

  WRAP    arch/powerpc/boot/zImage.pmac
  WRAP    arch/powerpc/boot/zImage.coff
  WRAP    arch/powerpc/boot/zImage.miboot
INFO: Uncompressed kernel (size 0x5d4c3c) overlaps the address of the wrapper(0x400000)
INFO: Fixing the link_address of wrapper to (0x600000)


And before that:

  HOSTCC  arch/powerpc/boot/addnote
arch/powerpc/boot/addnote.c: In function ‘main’:
arch/powerpc/boot/addnote.c:75:47: warning: right shift count >= width 
of type [-Wshift-count-overflow]
 #define PUT_64BE(off, v)((PUT_32BE((off), (v) >> 32L), \
                                               ^
arch/powerpc/boot/addnote.c:72:39: note: in definition of macro 
‘PUT_16BE’
 #define PUT_16BE(off, v)(buf[off] = ((v) >> 8) & 0xff, \
                                       ^
arch/powerpc/boot/addnote.c:75:27: note: in expansion of macro 
‘PUT_32BE’
 #define PUT_64BE(off, v)((PUT_32BE((off), (v) >> 32L), \
                           ^~~~~~~~
arch/powerpc/boot/addnote.c:94:50: note: in expansion of macro 
‘PUT_64BE’
 #define PUT_64(off, v)  (e_data == ELFDATA2MSB ? PUT_64BE(off, v) : \
                                                  ^~~~~~~~
arch/powerpc/boot/addnote.c:183:3: note: in expansion of macro ‘PUT_64’
   PUT_64(ph + PH_OFFSET, ns);
   ^~~~~~
arch/powerpc/boot/addnote.c:75:47: warning: right shift count >= width 
of type [-Wshift-count-overflow]
 #define PUT_64BE(off, v)((PUT_32BE((off), (v) >> 32L), \
                                               ^
arch/powerpc/boot/addnote.c:73:23: note: in definition of macro 
‘PUT_16BE’
     buf[(off) + 1] = (v) & 0xff)
                       ^
arch/powerpc/boot/addnote.c:75:27: note: in expansion of macro 
‘PUT_32BE’
 #define PUT_64BE(off, v)((PUT_32BE((off), (v) >> 32L), \
                           ^~~~~~~~
arch/powerpc/boot/addnote.c:94:50: note: in expansion of macro 
‘PUT_64BE’
 #define PUT_64(off, v)  (e_data == ELFDATA2MSB ? PUT_64BE(off, v) : \
                                                  ^~~~~~~~
arch/powerpc/boot/addnote.c:183:3: note: in expansion of macro ‘PUT_64’
   PUT_64(ph + PH_OFFSET, ns);
   ^~~~~~
arch/powerpc/boot/addnote.c:75:47: warning: right shift count >= width 
of type [-Wshift-count-overflow]
 #define PUT_64BE(off, v)((PUT_32BE((off), (v) >> 32L), \
                                               ^
arch/powerpc/boot/addnote.c:72:39: note: in definition of macro 
‘PUT_16BE’
 #define PUT_16BE(off, v)(buf[off] = ((v) >> 8) & 0xff, \
                                       ^
arch/powerpc/boot/addnote.c:75:27: note: in expansion of macro 
‘PUT_32BE’
 #define PUT_64BE(off, v)((PUT_32BE((off), (v) >> 32L), \
                           ^~~~~~~~
arch/powerpc/boot/addnote.c:94:50: note: in expansion of macro 
‘PUT_64BE’
 #define PUT_64(off, v)  (e_data == ELFDATA2MSB ? PUT_64BE(off, v) : \
                                                  ^~~~~~~~
arch/powerpc/boot/addnote.c:183:3: note: in expansion of macro ‘PUT_64’
   PUT_64(ph + PH_OFFSET, ns);
   ^~~~~~
arch/powerpc/boot/addnote.c:75:47: warning: right shift count >= width 
of type [-Wshift-count-overflow]
 #define PUT_64BE(off, v)((PUT_32BE((off), (v) >> 32L), \
                                               ^
arch/powerpc/boot/addnote.c:73:23: note: in definition of macro 
‘PUT_16BE’
     buf[(off) + 1] = (v) & 0xff)
                       ^
arch/powerpc/boot/addnote.c:75:27: note: in expansion of macro 
‘PUT_32BE’
 #define PUT_64BE(off, v)((PUT_32BE((off), (v) >> 32L), \
                           ^~~~~~~~
arch/powerpc/boot/addnote.c:94:50: note: in expansion of macro 
‘PUT_64BE’
 #define PUT_64(off, v)  (e_data == ELFDATA2MSB ? PUT_64BE(off, v) : \
                                                  ^~~~~~~~
arch/powerpc/boot/addnote.c:183:3: note: in expansion of macro ‘PUT_64’
   PUT_64(ph + PH_OFFSET, ns);
   ^~~~~~
arch/powerpc/boot/addnote.c:85:73: warning: right shift count >= width 
of type [-Wshift-count-overflow]
 #define PUT_64LE(off, v) (PUT_32LE((off), (v)), PUT_32LE((off) + 4, (v) 
>> 32L))
                                                                         
^
arch/powerpc/boot/addnote.c:82:39: note: in definition of macro 
‘PUT_16LE’
 #define PUT_16LE(off, v) (buf[off] = (v) & 0xff, \
                                       ^
arch/powerpc/boot/addnote.c:85:49: note: in expansion of macro 
‘PUT_32LE’
 #define PUT_64LE(off, v) (PUT_32LE((off), (v)), PUT_32LE((off) + 4, (v) 
>> 32L))
                                                 ^~~~~~~~
arch/powerpc/boot/addnote.c:95:5: note: in expansion of macro ‘PUT_64LE’
     PUT_64LE(off, v))
     ^~~~~~~~
arch/powerpc/boot/addnote.c:183:3: note: in expansion of macro ‘PUT_64’
   PUT_64(ph + PH_OFFSET, ns);
   ^~~~~~
arch/powerpc/boot/addnote.c:85:73: warning: right shift count >= width 
of type [-Wshift-count-overflow]
 #define PUT_64LE(off, v) (PUT_32LE((off), (v)), PUT_32LE((off) + 4, (v) 
>> 32L))
                                                                         
^
arch/powerpc/boot/addnote.c:83:25: note: in definition of macro 
‘PUT_16LE’
      buf[(off) + 1] = ((v) >> 8) & 0xff)
                         ^
arch/powerpc/boot/addnote.c:85:49: note: in expansion of macro 
‘PUT_32LE’
 #define PUT_64LE(off, v) (PUT_32LE((off), (v)), PUT_32LE((off) + 4, (v) 
>> 32L))
                                                 ^~~~~~~~
arch/powerpc/boot/addnote.c:95:5: note: in expansion of macro ‘PUT_64LE’
     PUT_64LE(off, v))
     ^~~~~~~~
arch/powerpc/boot/addnote.c:183:3: note: in expansion of macro ‘PUT_64’
   PUT_64(ph + PH_OFFSET, ns);
   ^~~~~~
arch/powerpc/boot/addnote.c:85:73: warning: right shift count >= width 
of type [-Wshift-count-overflow]
 #define PUT_64LE(off, v) (PUT_32LE((off), (v)), PUT_32LE((off) + 4, (v) 
>> 32L))
                                                                         
^
arch/powerpc/boot/addnote.c:82:39: note: in definition of macro 
‘PUT_16LE’
 #define PUT_16LE(off, v) (buf[off] = (v) & 0xff, \
                                       ^
arch/powerpc/boot/addnote.c:85:49: note: in expansion of macro 
‘PUT_32LE’
 #define PUT_64LE(off, v) (PUT_32LE((off), (v)), PUT_32LE((off) + 4, (v) 
>> 32L))
                                                 ^~~~~~~~
arch/powerpc/boot/addnote.c:95:5: note: in expansion of macro ‘PUT_64LE’
     PUT_64LE(off, v))
     ^~~~~~~~
arch/powerpc/boot/addnote.c:183:3: note: in expansion of macro ‘PUT_64’
   PUT_64(ph + PH_OFFSET, ns);
   ^~~~~~
arch/powerpc/boot/addnote.c:85:73: warning: right shift count >= width 
of type [-Wshift-count-overflow]
 #define PUT_64LE(off, v) (PUT_32LE((off), (v)), PUT_32LE((off) + 4, (v) 
>> 32L))
                                                                         
^
arch/powerpc/boot/addnote.c:83:25: note: in definition of macro 
‘PUT_16LE’
      buf[(off) + 1] = ((v) >> 8) & 0xff)
                         ^
arch/powerpc/boot/addnote.c:85:49: note: in expansion of macro 
‘PUT_32LE’
 #define PUT_64LE(off, v) (PUT_32LE((off), (v)), PUT_32LE((off) + 4, (v) 
>> 32L))
                                                 ^~~~~~~~
arch/powerpc/boot/addnote.c:95:5: note: in expansion of macro ‘PUT_64LE’
     PUT_64LE(off, v))
     ^~~~~~~~
arch/powerpc/boot/addnote.c:183:3: note: in expansion of macro ‘PUT_64’
   PUT_64(ph + PH_OFFSET, ns);
   ^~~~~~
arch/powerpc/boot/addnote.c:75:47: warning: right shift count >= width 
of type [-Wshift-count-overflow]
 #define PUT_64BE(off, v)((PUT_32BE((off), (v) >> 32L), \
                                               ^
arch/powerpc/boot/addnote.c:72:39: note: in definition of macro 
‘PUT_16BE’
 #define PUT_16BE(off, v)(buf[off] = ((v) >> 8) & 0xff, \
                                       ^
arch/powerpc/boot/addnote.c:75:27: note: in expansion of macro 
‘PUT_32BE’
 #define PUT_64BE(off, v)((PUT_32BE((off), (v) >> 32L), \
                           ^~~~~~~~
arch/powerpc/boot/addnote.c:94:50: note: in expansion of macro 
‘PUT_64BE’
 #define PUT_64(off, v)  (e_data == ELFDATA2MSB ? PUT_64BE(off, v) : \
                                                  ^~~~~~~~
arch/powerpc/boot/addnote.c:188:3: note: in expansion of macro ‘PUT_64’
   PUT_64(ph + PH_FILESZ, nnote);
   ^~~~~~
arch/powerpc/boot/addnote.c:75:47: warning: right shift count >= width 
of type [-Wshift-count-overflow]
 #define PUT_64BE(off, v)((PUT_32BE((off), (v) >> 32L), \
                                               ^
arch/powerpc/boot/addnote.c:73:23: note: in definition of macro 
‘PUT_16BE’
     buf[(off) + 1] = (v) & 0xff)
                       ^
arch/powerpc/boot/addnote.c:75:27: note: in expansion of macro 
‘PUT_32BE’
 #define PUT_64BE(off, v)((PUT_32BE((off), (v) >> 32L), \
                           ^~~~~~~~
arch/powerpc/boot/addnote.c:94:50: note: in expansion of macro 
‘PUT_64BE’
 #define PUT_64(off, v)  (e_data == ELFDATA2MSB ? PUT_64BE(off, v) : \
                                                  ^~~~~~~~
arch/powerpc/boot/addnote.c:188:3: note: in expansion of macro ‘PUT_64’
   PUT_64(ph + PH_FILESZ, nnote);
   ^~~~~~
arch/powerpc/boot/addnote.c:75:47: warning: right shift count >= width 
of type [-Wshift-count-overflow]
 #define PUT_64BE(off, v)((PUT_32BE((off), (v) >> 32L), \
                                               ^
arch/powerpc/boot/addnote.c:72:39: note: in definition of macro 
‘PUT_16BE’
 #define PUT_16BE(off, v)(buf[off] = ((v) >> 8) & 0xff, \
                                       ^
arch/powerpc/boot/addnote.c:75:27: note: in expansion of macro 
‘PUT_32BE’
 #define PUT_64BE(off, v)((PUT_32BE((off), (v) >> 32L), \
                           ^~~~~~~~
arch/powerpc/boot/addnote.c:94:50: note: in expansion of macro 
‘PUT_64BE’
 #define PUT_64(off, v)  (e_data == ELFDATA2MSB ? PUT_64BE(off, v) : \
                                                  ^~~~~~~~
arch/powerpc/boot/addnote.c:188:3: note: in expansion of macro ‘PUT_64’
   PUT_64(ph + PH_FILESZ, nnote);
   ^~~~~~
arch/powerpc/boot/addnote.c:75:47: warning: right shift count >= width 
of type [-Wshift-count-overflow]
 #define PUT_64BE(off, v)((PUT_32BE((off), (v) >> 32L), \
                                               ^
arch/powerpc/boot/addnote.c:73:23: note: in definition of macro 
‘PUT_16BE’
     buf[(off) + 1] = (v) & 0xff)
                       ^
arch/powerpc/boot/addnote.c:75:27: note: in expansion of macro 
‘PUT_32BE’
 #define PUT_64BE(off, v)((PUT_32BE((off), (v) >> 32L), \
                           ^~~~~~~~
arch/powerpc/boot/addnote.c:94:50: note: in expansion of macro 
‘PUT_64BE’
 #define PUT_64(off, v)  (e_data == ELFDATA2MSB ? PUT_64BE(off, v) : \
                                                  ^~~~~~~~
arch/powerpc/boot/addnote.c:188:3: note: in expansion of macro ‘PUT_64’
   PUT_64(ph + PH_FILESZ, nnote);
   ^~~~~~
arch/powerpc/boot/addnote.c:85:73: warning: right shift count >= width 
of type [-Wshift-count-overflow]
 #define PUT_64LE(off, v) (PUT_32LE((off), (v)), PUT_32LE((off) + 4, (v) 
>> 32L))
                                                                         
^
arch/powerpc/boot/addnote.c:82:39: note: in definition of macro 
‘PUT_16LE’
 #define PUT_16LE(off, v) (buf[off] = (v) & 0xff, \
                                       ^
arch/powerpc/boot/addnote.c:85:49: note: in expansion of macro 
‘PUT_32LE’
 #define PUT_64LE(off, v) (PUT_32LE((off), (v)), PUT_32LE((off) + 4, (v) 
>> 32L))
                                                 ^~~~~~~~
arch/powerpc/boot/addnote.c:95:5: note: in expansion of macro ‘PUT_64LE’
     PUT_64LE(off, v))
     ^~~~~~~~
arch/powerpc/boot/addnote.c:188:3: note: in expansion of macro ‘PUT_64’
   PUT_64(ph + PH_FILESZ, nnote);
   ^~~~~~
arch/powerpc/boot/addnote.c:85:73: warning: right shift count >= width 
of type [-Wshift-count-overflow]
 #define PUT_64LE(off, v) (PUT_32LE((off), (v)), PUT_32LE((off) + 4, (v) 
>> 32L))
                                                                         
^
arch/powerpc/boot/addnote.c:83:25: note: in definition of macro 
‘PUT_16LE’
      buf[(off) + 1] = ((v) >> 8) & 0xff)
                         ^
arch/powerpc/boot/addnote.c:85:49: note: in expansion of macro 
‘PUT_32LE’
 #define PUT_64LE(off, v) (PUT_32LE((off), (v)), PUT_32LE((off) + 4, (v) 
>> 32L))
                                                 ^~~~~~~~
arch/powerpc/boot/addnote.c:95:5: note: in expansion of macro ‘PUT_64LE’
     PUT_64LE(off, v))
     ^~~~~~~~
arch/powerpc/boot/addnote.c:188:3: note: in expansion of macro ‘PUT_64’
   PUT_64(ph + PH_FILESZ, nnote);
   ^~~~~~
arch/powerpc/boot/addnote.c:85:73: warning: right shift count >= width 
of type [-Wshift-count-overflow]
 #define PUT_64LE(off, v) (PUT_32LE((off), (v)), PUT_32LE((off) + 4, (v) 
>> 32L))
                                                                         
^
arch/powerpc/boot/addnote.c:82:39: note: in definition of macro 
‘PUT_16LE’
 #define PUT_16LE(off, v) (buf[off] = (v) & 0xff, \
                                       ^
arch/powerpc/boot/addnote.c:85:49: note: in expansion of macro 
‘PUT_32LE’
 #define PUT_64LE(off, v) (PUT_32LE((off), (v)), PUT_32LE((off) + 4, (v) 
>> 32L))
                                                 ^~~~~~~~
arch/powerpc/boot/addnote.c:95:5: note: in expansion of macro ‘PUT_64LE’
     PUT_64LE(off, v))
     ^~~~~~~~
arch/powerpc/boot/addnote.c:188:3: note: in expansion of macro ‘PUT_64’
   PUT_64(ph + PH_FILESZ, nnote);
   ^~~~~~
arch/powerpc/boot/addnote.c:85:73: warning: right shift count >= width 
of type [-Wshift-count-overflow]
 #define PUT_64LE(off, v) (PUT_32LE((off), (v)), PUT_32LE((off) + 4, (v) 
>> 32L))
                                                                         
^
arch/powerpc/boot/addnote.c:83:25: note: in definition of macro 
‘PUT_16LE’
      buf[(off) + 1] = ((v) >> 8) & 0xff)
                         ^
arch/powerpc/boot/addnote.c:85:49: note: in expansion of macro 
‘PUT_32LE’
 #define PUT_64LE(off, v) (PUT_32LE((off), (v)), PUT_32LE((off) + 4, (v) 
>> 32L))
                                                 ^~~~~~~~
arch/powerpc/boot/addnote.c:95:5: note: in expansion of macro ‘PUT_64LE’
     PUT_64LE(off, v))
     ^~~~~~~~
arch/powerpc/boot/addnote.c:188:3: note: in expansion of macro ‘PUT_64’
   PUT_64(ph + PH_FILESZ, nnote);
   ^~~~~~
arch/powerpc/boot/addnote.c:75:47: warning: right shift count >= width 
of type [-Wshift-count-overflow]
 #define PUT_64BE(off, v)((PUT_32BE((off), (v) >> 32L), \
                                               ^
arch/powerpc/boot/addnote.c:72:39: note: in definition of macro 
‘PUT_16BE’
 #define PUT_16BE(off, v)(buf[off] = ((v) >> 8) & 0xff, \
                                       ^
arch/powerpc/boot/addnote.c:75:27: note: in expansion of macro 
‘PUT_32BE’
 #define PUT_64BE(off, v)((PUT_32BE((off), (v) >> 32L), \
                           ^~~~~~~~
arch/powerpc/boot/addnote.c:94:50: note: in expansion of macro 
‘PUT_64BE’
 #define PUT_64(off, v)  (e_data == ELFDATA2MSB ? PUT_64BE(off, v) : \
                                                  ^~~~~~~~
arch/powerpc/boot/addnote.c:206:3: note: in expansion of macro ‘PUT_64’
   PUT_64(ph + PH_OFFSET, ns);
   ^~~~~~
arch/powerpc/boot/addnote.c:75:47: warning: right shift count >= width 
of type [-Wshift-count-overflow]
 #define PUT_64BE(off, v)((PUT_32BE((off), (v) >> 32L), \
                                               ^
arch/powerpc/boot/addnote.c:73:23: note: in definition of macro 
‘PUT_16BE’
     buf[(off) + 1] = (v) & 0xff)
                       ^
arch/powerpc/boot/addnote.c:75:27: note: in expansion of macro 
‘PUT_32BE’
 #define PUT_64BE(off, v)((PUT_32BE((off), (v) >> 32L), \
                           ^~~~~~~~
arch/powerpc/boot/addnote.c:94:50: note: in expansion of macro 
‘PUT_64BE’
 #define PUT_64(off, v)  (e_data == ELFDATA2MSB ? PUT_64BE(off, v) : \
                                                  ^~~~~~~~
arch/powerpc/boot/addnote.c:206:3: note: in expansion of macro ‘PUT_64’
   PUT_64(ph + PH_OFFSET, ns);
   ^~~~~~
arch/powerpc/boot/addnote.c:75:47: warning: right shift count >= width 
of type [-Wshift-count-overflow]
 #define PUT_64BE(off, v)((PUT_32BE((off), (v) >> 32L), \
                                               ^
arch/powerpc/boot/addnote.c:72:39: note: in definition of macro 
‘PUT_16BE’
 #define PUT_16BE(off, v)(buf[off] = ((v) >> 8) & 0xff, \
                                       ^
arch/powerpc/boot/addnote.c:75:27: note: in expansion of macro 
‘PUT_32BE’
 #define PUT_64BE(off, v)((PUT_32BE((off), (v) >> 32L), \
                           ^~~~~~~~
arch/powerpc/boot/addnote.c:94:50: note: in expansion of macro 
‘PUT_64BE’
 #define PUT_64(off, v)  (e_data == ELFDATA2MSB ? PUT_64BE(off, v) : \
                                                  ^~~~~~~~
arch/powerpc/boot/addnote.c:206:3: note: in expansion of macro ‘PUT_64’
   PUT_64(ph + PH_OFFSET, ns);
   ^~~~~~
arch/powerpc/boot/addnote.c:75:47: warning: right shift count >= width 
of type [-Wshift-count-overflow]
 #define PUT_64BE(off, v)((PUT_32BE((off), (v) >> 32L), \
                                               ^
arch/powerpc/boot/addnote.c:73:23: note: in definition of macro 
‘PUT_16BE’
     buf[(off) + 1] = (v) & 0xff)
                       ^
arch/powerpc/boot/addnote.c:75:27: note: in expansion of macro 
‘PUT_32BE’
 #define PUT_64BE(off, v)((PUT_32BE((off), (v) >> 32L), \
                           ^~~~~~~~
arch/powerpc/boot/addnote.c:94:50: note: in expansion of macro 
‘PUT_64BE’
 #define PUT_64(off, v)  (e_data == ELFDATA2MSB ? PUT_64BE(off, v) : \
                                                  ^~~~~~~~
arch/powerpc/boot/addnote.c:206:3: note: in expansion of macro ‘PUT_64’
   PUT_64(ph + PH_OFFSET, ns);
   ^~~~~~
arch/powerpc/boot/addnote.c:85:73: warning: right shift count >= width 
of type [-Wshift-count-overflow]
 #define PUT_64LE(off, v) (PUT_32LE((off), (v)), PUT_32LE((off) + 4, (v) 
>> 32L))
                                                                         
^
arch/powerpc/boot/addnote.c:82:39: note: in definition of macro 
‘PUT_16LE’
 #define PUT_16LE(off, v) (buf[off] = (v) & 0xff, \
                                       ^
arch/powerpc/boot/addnote.c:85:49: note: in expansion of macro 
‘PUT_32LE’
 #define PUT_64LE(off, v) (PUT_32LE((off), (v)), PUT_32LE((off) + 4, (v) 
>> 32L))
                                                 ^~~~~~~~
arch/powerpc/boot/addnote.c:95:5: note: in expansion of macro ‘PUT_64LE’
     PUT_64LE(off, v))
     ^~~~~~~~
arch/powerpc/boot/addnote.c:206:3: note: in expansion of macro ‘PUT_64’
   PUT_64(ph + PH_OFFSET, ns);
   ^~~~~~
arch/powerpc/boot/addnote.c:85:73: warning: right shift count >= width 
of type [-Wshift-count-overflow]
 #define PUT_64LE(off, v) (PUT_32LE((off), (v)), PUT_32LE((off) + 4, (v) 
>> 32L))
                                                                         
^
arch/powerpc/boot/addnote.c:83:25: note: in definition of macro 
‘PUT_16LE’
      buf[(off) + 1] = ((v) >> 8) & 0xff)
                         ^
arch/powerpc/boot/addnote.c:85:49: note: in expansion of macro 
‘PUT_32LE’
 #define PUT_64LE(off, v) (PUT_32LE((off), (v)), PUT_32LE((off) + 4, (v) 
>> 32L))
                                                 ^~~~~~~~
arch/powerpc/boot/addnote.c:95:5: note: in expansion of macro ‘PUT_64LE’
     PUT_64LE(off, v))
     ^~~~~~~~
arch/powerpc/boot/addnote.c:206:3: note: in expansion of macro ‘PUT_64’
   PUT_64(ph + PH_OFFSET, ns);
   ^~~~~~
arch/powerpc/boot/addnote.c:85:73: warning: right shift count >= width 
of type [-Wshift-count-overflow]
 #define PUT_64LE(off, v) (PUT_32LE((off), (v)), PUT_32LE((off) + 4, (v) 
>> 32L))
                                                                         
^
arch/powerpc/boot/addnote.c:82:39: note: in definition of macro 
‘PUT_16LE’
 #define PUT_16LE(off, v) (buf[off] = (v) & 0xff, \
                                       ^
arch/powerpc/boot/addnote.c:85:49: note: in expansion of macro 
‘PUT_32LE’
 #define PUT_64LE(off, v) (PUT_32LE((off), (v)), PUT_32LE((off) + 4, (v) 
>> 32L))
                                                 ^~~~~~~~
arch/powerpc/boot/addnote.c:95:5: note: in expansion of macro ‘PUT_64LE’
     PUT_64LE(off, v))
     ^~~~~~~~
arch/powerpc/boot/addnote.c:206:3: note: in expansion of macro ‘PUT_64’
   PUT_64(ph + PH_OFFSET, ns);
   ^~~~~~
arch/powerpc/boot/addnote.c:85:73: warning: right shift count >= width 
of type [-Wshift-count-overflow]
 #define PUT_64LE(off, v) (PUT_32LE((off), (v)), PUT_32LE((off) + 4, (v) 
>> 32L))
                                                                         
^
arch/powerpc/boot/addnote.c:83:25: note: in definition of macro 
‘PUT_16LE’
      buf[(off) + 1] = ((v) >> 8) & 0xff)
                         ^
arch/powerpc/boot/addnote.c:85:49: note: in expansion of macro 
‘PUT_32LE’
 #define PUT_64LE(off, v) (PUT_32LE((off), (v)), PUT_32LE((off) + 4, (v) 
>> 32L))
                                                 ^~~~~~~~
arch/powerpc/boot/addnote.c:95:5: note: in expansion of macro ‘PUT_64LE’
     PUT_64LE(off, v))
     ^~~~~~~~
arch/powerpc/boot/addnote.c:206:3: note: in expansion of macro ‘PUT_64’
   PUT_64(ph + PH_OFFSET, ns);
   ^~~~~~
arch/powerpc/boot/addnote.c:75:47: warning: right shift count >= width 
of type [-Wshift-count-overflow]
 #define PUT_64BE(off, v)((PUT_32BE((off), (v) >> 32L), \
                                               ^
arch/powerpc/boot/addnote.c:72:39: note: in definition of macro 
‘PUT_16BE’
 #define PUT_16BE(off, v)(buf[off] = ((v) >> 8) & 0xff, \
                                       ^
arch/powerpc/boot/addnote.c:75:27: note: in expansion of macro 
‘PUT_32BE’
 #define PUT_64BE(off, v)((PUT_32BE((off), (v) >> 32L), \
                           ^~~~~~~~
arch/powerpc/boot/addnote.c:94:50: note: in expansion of macro 
‘PUT_64BE’
 #define PUT_64(off, v)  (e_data == ELFDATA2MSB ? PUT_64BE(off, v) : \
                                                  ^~~~~~~~
arch/powerpc/boot/addnote.c:211:3: note: in expansion of macro ‘PUT_64’
   PUT_64(ph + PH_FILESZ, nnote2);
   ^~~~~~
arch/powerpc/boot/addnote.c:75:47: warning: right shift count >= width 
of type [-Wshift-count-overflow]
 #define PUT_64BE(off, v)((PUT_32BE((off), (v) >> 32L), \
                                               ^
arch/powerpc/boot/addnote.c:73:23: note: in definition of macro 
‘PUT_16BE’
     buf[(off) + 1] = (v) & 0xff)
                       ^
arch/powerpc/boot/addnote.c:75:27: note: in expansion of macro 
‘PUT_32BE’
 #define PUT_64BE(off, v)((PUT_32BE((off), (v) >> 32L), \
                           ^~~~~~~~
arch/powerpc/boot/addnote.c:94:50: note: in expansion of macro 
‘PUT_64BE’
 #define PUT_64(off, v)  (e_data == ELFDATA2MSB ? PUT_64BE(off, v) : \
                                                  ^~~~~~~~
arch/powerpc/boot/addnote.c:211:3: note: in expansion of macro ‘PUT_64’
   PUT_64(ph + PH_FILESZ, nnote2);
   ^~~~~~
arch/powerpc/boot/addnote.c:75:47: warning: right shift count >= width 
of type [-Wshift-count-overflow]
 #define PUT_64BE(off, v)((PUT_32BE((off), (v) >> 32L), \
                                               ^
arch/powerpc/boot/addnote.c:72:39: note: in definition of macro 
‘PUT_16BE’
 #define PUT_16BE(off, v)(buf[off] = ((v) >> 8) & 0xff, \
                                       ^
arch/powerpc/boot/addnote.c:75:27: note: in expansion of macro 
‘PUT_32BE’
 #define PUT_64BE(off, v)((PUT_32BE((off), (v) >> 32L), \
                           ^~~~~~~~
arch/powerpc/boot/addnote.c:94:50: note: in expansion of macro 
‘PUT_64BE’
 #define PUT_64(off, v)  (e_data == ELFDATA2MSB ? PUT_64BE(off, v) : \
                                                  ^~~~~~~~
arch/powerpc/boot/addnote.c:211:3: note: in expansion of macro ‘PUT_64’
   PUT_64(ph + PH_FILESZ, nnote2);
   ^~~~~~
arch/powerpc/boot/addnote.c:75:47: warning: right shift count >= width 
of type [-Wshift-count-overflow]
 #define PUT_64BE(off, v)((PUT_32BE((off), (v) >> 32L), \
                                               ^
arch/powerpc/boot/addnote.c:73:23: note: in definition of macro 
‘PUT_16BE’
     buf[(off) + 1] = (v) & 0xff)
                       ^
arch/powerpc/boot/addnote.c:75:27: note: in expansion of macro 
‘PUT_32BE’
 #define PUT_64BE(off, v)((PUT_32BE((off), (v) >> 32L), \
                           ^~~~~~~~
arch/powerpc/boot/addnote.c:94:50: note: in expansion of macro 
‘PUT_64BE’
 #define PUT_64(off, v)  (e_data == ELFDATA2MSB ? PUT_64BE(off, v) : \
                                                  ^~~~~~~~
arch/powerpc/boot/addnote.c:211:3: note: in expansion of macro ‘PUT_64’
   PUT_64(ph + PH_FILESZ, nnote2);
   ^~~~~~
arch/powerpc/boot/addnote.c:85:73: warning: right shift count >= width 
of type [-Wshift-count-overflow]
 #define PUT_64LE(off, v) (PUT_32LE((off), (v)), PUT_32LE((off) + 4, (v) 
>> 32L))
                                                                         
^
arch/powerpc/boot/addnote.c:82:39: note: in definition of macro 
‘PUT_16LE’
 #define PUT_16LE(off, v) (buf[off] = (v) & 0xff, \
                                       ^
arch/powerpc/boot/addnote.c:85:49: note: in expansion of macro 
‘PUT_32LE’
 #define PUT_64LE(off, v) (PUT_32LE((off), (v)), PUT_32LE((off) + 4, (v) 
>> 32L))
                                                 ^~~~~~~~
arch/powerpc/boot/addnote.c:95:5: note: in expansion of macro ‘PUT_64LE’
     PUT_64LE(off, v))
     ^~~~~~~~
arch/powerpc/boot/addnote.c:211:3: note: in expansion of macro ‘PUT_64’
   PUT_64(ph + PH_FILESZ, nnote2);
   ^~~~~~
arch/powerpc/boot/addnote.c:85:73: warning: right shift count >= width 
of type [-Wshift-count-overflow]
 #define PUT_64LE(off, v) (PUT_32LE((off), (v)), PUT_32LE((off) + 4, (v) 
>> 32L))
                                                                         
^
arch/powerpc/boot/addnote.c:83:25: note: in definition of macro 
‘PUT_16LE’
      buf[(off) + 1] = ((v) >> 8) & 0xff)
                         ^
arch/powerpc/boot/addnote.c:85:49: note: in expansion of macro 
‘PUT_32LE’
 #define PUT_64LE(off, v) (PUT_32LE((off), (v)), PUT_32LE((off) + 4, (v) 
>> 32L))
                                                 ^~~~~~~~
arch/powerpc/boot/addnote.c:95:5: note: in expansion of macro ‘PUT_64LE’
     PUT_64LE(off, v))
     ^~~~~~~~
arch/powerpc/boot/addnote.c:211:3: note: in expansion of macro ‘PUT_64’
   PUT_64(ph + PH_FILESZ, nnote2);
   ^~~~~~
arch/powerpc/boot/addnote.c:85:73: warning: right shift count >= width 
of type [-Wshift-count-overflow]
 #define PUT_64LE(off, v) (PUT_32LE((off), (v)), PUT_32LE((off) + 4, (v) 
>> 32L))
                                                                         
^
arch/powerpc/boot/addnote.c:82:39: note: in definition of macro 
‘PUT_16LE’
 #define PUT_16LE(off, v) (buf[off] = (v) & 0xff, \
                                       ^
arch/powerpc/boot/addnote.c:85:49: note: in expansion of macro 
‘PUT_32LE’
 #define PUT_64LE(off, v) (PUT_32LE((off), (v)), PUT_32LE((off) + 4, (v) 
>> 32L))
                                                 ^~~~~~~~
arch/powerpc/boot/addnote.c:95:5: note: in expansion of macro ‘PUT_64LE’
     PUT_64LE(off, v))
     ^~~~~~~~
arch/powerpc/boot/addnote.c:211:3: note: in expansion of macro ‘PUT_64’
   PUT_64(ph + PH_FILESZ, nnote2);
   ^~~~~~
arch/powerpc/boot/addnote.c:85:73: warning: right shift count >= width 
of type [-Wshift-count-overflow]
 #define PUT_64LE(off, v) (PUT_32LE((off), (v)), PUT_32LE((off) + 4, (v) 
>> 32L))
                                                                         
^
arch/powerpc/boot/addnote.c:83:25: note: in definition of macro 
‘PUT_16LE’
      buf[(off) + 1] = ((v) >> 8) & 0xff)
                         ^
arch/powerpc/boot/addnote.c:85:49: note: in expansion of macro 
‘PUT_32LE’
 #define PUT_64LE(off, v) (PUT_32LE((off), (v)), PUT_32LE((off) + 4, (v) 
>> 32L))
                                                 ^~~~~~~~
arch/powerpc/boot/addnote.c:95:5: note: in expansion of macro ‘PUT_64LE’
     PUT_64LE(off, v))
     ^~~~~~~~
arch/powerpc/boot/addnote.c:211:3: note: in expansion of macro ‘PUT_64’
   PUT_64(ph + PH_FILESZ, nnote2);
   ^~~~~~


-- 
Meelis Roos (mroos at linux.ee)


More information about the Linuxppc-dev mailing list