Re: STRICT_KERNEL_RWX on PPC32 is broken on PowerMac G4

From: Meelis Roos
Date: Sat Nov 18 2017 - 02:59:42 EST


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