Re: [PATCH] jump_label: align jump_entry table to at least 4-bytes
From: David Daney <hidden>
Date: 2017-02-28 03:15:36
Also in:
linux-arm-kernel, linux-mips, lkml
On 02/27/2017 02:50 PM, Jason Baron wrote:
On 02/27/2017 05:45 PM, David Daney wrote:quoted
On 02/27/2017 02:36 PM, Steven Rostedt wrote:quoted
On Mon, 27 Feb 2017 14:21:21 -0800 David Daney [off-list ref] wrote:quoted
See attached for mips. It seems to do the right thing. I leave it as an exercise to the reader to fix the other architectures. Consult your own binutils experts to verify that what I say is true.It may still just be safer to do the pointers instead. That way we don't need to worry about some strange arch or off by one binutils messing it up.Obviously it is your choice, but this is bog standard ELF linking. In theory even the arrays of power-of-2 sized objects should also supply an entity size. Think __ex_table and its ilk. The benefit of supplying an entsize is that you don't have to change the structure of the existing code and risk breaking something in the process. David DaneyThanks for the suggestion! I would like to see if this resolves the ppc issue we had. I'm attaching a powerpc patch based on your suggestion. Hopefully, Sachin can try it.
If there are problems, you could try something like: $ find . -name \*\.o | xargs mips64-octeon-linux-gnu-readelf -eW | grep 'File:\| __jump_table' File: ./drivers/firmware/built-in.o File: ./drivers/built-in.o [3249] __jump_table PROGBITS 0000000000000000 1838c8 0022c8 18 WAM 0 0 8 File: ./drivers/spi/built-in.o [82] __jump_table PROGBITS 0000000000000000 008cb0 000048 18 WAM 0 0 8 File: ./drivers/spi/spi-cavium-octeon.o File: ./drivers/spi/spi-cavium.o File: ./drivers/spi/spi.o . . . Look for files where the size of the __jump_table section is not a integer multiple of the entsize.
Thanks, -Jason