STRICT_KERNEL_RWX on PPC32 is broken on PowerMac G4

LEROY Christophe christophe.leroy at c-s.fr
Sun Nov 19 01:36:02 AEDT 2017


Meelis Roos <mroos at linux.ee> a écrit :

>> > > 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)
>

Then i believe there is something wrong with commit  
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?h=next-20171115&id=37bc3e5fd764fb258ff4fcbb90b6d1b67fb466c1

Balbir, do you have any idea ?

Christophe

>
> 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