<feed xmlns='http://www.w3.org/2005/Atom'>
<title>user/sven/linux.git/scripts/sortextable.c, branch v4.4.29</title>
<subtitle>Linux Kernel
</subtitle>
<id>https://git.stealer.net/cgit.cgi/user/sven/linux.git/atom?h=v4.4.29</id>
<link rel='self' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/atom?h=v4.4.29'/>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/'/>
<updated>2016-10-31T10:14:00Z</updated>
<entry>
<title>x86/mm: Expand the exception table logic to allow new handling options</title>
<updated>2016-10-31T10:14:00Z</updated>
<author>
<name>Tony Luck</name>
<email>tony.luck@intel.com</email>
</author>
<published>2016-02-17T18:20:12Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=fcf5e5198b447969ed2a56ec335dae3c695a6b46'/>
<id>urn:sha1:fcf5e5198b447969ed2a56ec335dae3c695a6b46</id>
<content type='text'>
commit 548acf19234dbda5a52d5a8e7e205af46e9da840 upstream.

Huge amounts of help from  Andy Lutomirski and Borislav Petkov to
produce this. Andy provided the inspiration to add classes to the
exception table with a clever bit-squeezing trick, Boris pointed
out how much cleaner it would all be if we just had a new field.

Linus Torvalds blessed the expansion with:

  ' I'd rather not be clever in order to save just a tiny amount of space
    in the exception table, which isn't really criticial for anybody. '

The third field is another relative function pointer, this one to a
handler that executes the actions.

We start out with three handlers:

 1: Legacy - just jumps the to fixup IP
 2: Fault - provide the trap number in %ax to the fixup code
 3: Cleaned up legacy for the uaccess error hack

Signed-off-by: Tony Luck &lt;tony.luck@intel.com&gt;
Reviewed-by: Borislav Petkov &lt;bp@suse.de&gt;
Cc: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Cc: Peter Zijlstra &lt;peterz@infradead.org&gt;
Cc: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Link: http://lkml.kernel.org/r/f6af78fcbd348cf4939875cfda9c19689b5e50b8.1455732970.git.tony.luck@intel.com
Signed-off-by: Ingo Molnar &lt;mingo@kernel.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>ARCv2: extable: Enable sorting at build time</title>
<updated>2015-06-22T08:36:56Z</updated>
<author>
<name>Vineet Gupta</name>
<email>vgupta@synopsys.com</email>
</author>
<published>2013-11-22T07:35:58Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=b3210d141f5ec32d3b29d0cf4f33d922a739602f'/>
<id>urn:sha1:b3210d141f5ec32d3b29d0cf4f33d922a739602f</id>
<content type='text'>
Signed-off-by: Vineet Gupta &lt;vgupta@synopsys.com&gt;
</content>
</entry>
<entry>
<title>xtensa: enable sorting extable at build time</title>
<updated>2014-04-01T21:35:50Z</updated>
<author>
<name>Max Filippov</name>
<email>jcmvbkbc@gmail.com</email>
</author>
<published>2014-02-18T11:29:11Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=25df8198f4b257cf6db4d4f000c53accfa9c28f8'/>
<id>urn:sha1:25df8198f4b257cf6db4d4f000c53accfa9c28f8</id>
<content type='text'>
Signed-off-by: Max Filippov &lt;jcmvbkbc@gmail.com&gt;
Acked-by: David Daney &lt;ddaney.cavm@gmail.com&gt;
</content>
</entry>
<entry>
<title>microblaze: extable: sort the exception table at build time</title>
<updated>2014-01-24T00:36:50Z</updated>
<author>
<name>Michal Simek</name>
<email>michal.simek@xilinx.com</email>
</author>
<published>2014-01-23T23:52:46Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=372c7209d6a05130b9d867f7ba350dec19e54030'/>
<id>urn:sha1:372c7209d6a05130b9d867f7ba350dec19e54030</id>
<content type='text'>
Sort the exception table at build-time rather than during boot.

Microblaze is the same case as AARCH64 that's why EM_MICROBLAZE
conditional check was added to allow cross-compilation on machines which
are not running the latest libc-dev.

Inspired by AARCH64 commit adace89562c7 ("arm64: extable: sort the
exception table at build time").

Signed-off-by: Michal Simek &lt;michal.simek@xilinx.com&gt;
Acked-by: David Daney &lt;david.daney@cavium.com&gt;
Cc: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
Cc: Will Deacon &lt;will.deacon@arm.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>ARC: extable: Enable sorting at build time</title>
<updated>2013-11-25T05:05:23Z</updated>
<author>
<name>Vineet Gupta</name>
<email>vgupta@synopsys.com</email>
</author>
<published>2013-11-15T06:38:05Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=f06d19e460cdd326eff955ca614cb8064bd0a5f2'/>
<id>urn:sha1:f06d19e460cdd326eff955ca614cb8064bd0a5f2</id>
<content type='text'>
Avoids wasting cycles at boot specially on slower simulators

Signed-off-by: Vineet Gupta &lt;vgupta@synopsys.com&gt;
Cc: Michal Marek &lt;mmarek@suse.cz&gt;
Cc: Francois Bedard &lt;fbedard@synopsys.com&gt;
Cc: linux-kernel@vger.kernel.org
Acked-by: David Daney &lt;david.daney@cavium.com&gt;
</content>
</entry>
<entry>
<title>scripts/sortextable: support objects with more than 64K sections.</title>
<updated>2013-11-13T03:09:00Z</updated>
<author>
<name>Jamie Iles</name>
<email>jamie.iles@oracle.com</email>
</author>
<published>2013-11-12T23:06:51Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=59c36455d061e200f386e1817362f6afd6265b6a'/>
<id>urn:sha1:59c36455d061e200f386e1817362f6afd6265b6a</id>
<content type='text'>
Building with a large config and -ffunction-sections results in a large
number of sections and sortextable needs to be able to handle that.
Implement support for &gt; 64K sections as modpost does.

Signed-off-by: Jamie Iles &lt;jamie.iles@oracle.com&gt;
Cc: Rusty Russell &lt;rusty@rustcorp.com.au&gt;
Cc: Michal Marek &lt;mmarek@suse.cz&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>scripts: remove unused function in sortextable.c</title>
<updated>2013-07-25T14:20:33Z</updated>
<author>
<name>Ramkumar Ramachandra</name>
<email>artagnon@gmail.com</email>
</author>
<published>2013-07-10T18:03:38Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=4f9879f6c6454f255cb81b7a34dd35e355679f4b'/>
<id>urn:sha1:4f9879f6c6454f255cb81b7a34dd35e355679f4b</id>
<content type='text'>
Signed-off-by: Ramkumar Ramachandra &lt;artagnon@gmail.com&gt;
Acked-by: David Daney &lt;david.daney@cavium.com&gt;
Signed-off-by: Michal Marek &lt;mmarek@suse.cz&gt;
</content>
</entry>
<entry>
<title>arm64: extable: sort the exception table at build time</title>
<updated>2013-06-12T10:23:01Z</updated>
<author>
<name>Will Deacon</name>
<email>will.deacon@arm.com</email>
</author>
<published>2013-05-08T16:29:24Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=adace89562c7a9645b8dc84f6e1ac7ba8756094e'/>
<id>urn:sha1:adace89562c7a9645b8dc84f6e1ac7ba8756094e</id>
<content type='text'>
As is done for other architectures, sort the exception table at
build-time rather than during boot.

Since sortextable appears to be a standalone C program relying on the
host elf.h to provide EM_AARCH64, I've had to add a conditional check in
order to allow cross-compilation on machines that aren't running a
bleeding-edge libc-dev.

Signed-off-by: Will Deacon &lt;will.deacon@arm.com&gt;
Signed-off-by: Catalin Marinas &lt;catalin.marinas@arm.com&gt;
</content>
</entry>
<entry>
<title>ARM: 7568/1: Sort exception table at compile time</title>
<updated>2012-11-04T10:31:16Z</updated>
<author>
<name>Stephen Boyd</name>
<email>sboyd@codeaurora.org</email>
</author>
<published>2012-10-29T18:19:34Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=ee951c630c5ce5108f8014ce1c9d738b5bbfea60'/>
<id>urn:sha1:ee951c630c5ce5108f8014ce1c9d738b5bbfea60</id>
<content type='text'>
Add the ARM machine identifier to sortextable and select the
config option so that we can sort the exception table at compile
time. sortextable relies on a section named __ex_table existing
in the vmlinux, but ARM's linker script places the exception
table in the data section. Give the exception table its own
section so that sortextable can find it.

This allows us to skip the sorting step during boot.

Cc: David Daney &lt;david.daney@cavium.com&gt;
Signed-off-by: Stephen Boyd &lt;sboyd@codeaurora.org&gt;
Tested-by: Will Deacon &lt;will.deacon@arm.com&gt;
Signed-off-by: Russell King &lt;rmk+kernel@arm.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>s390/exceptions: switch to relative exception table entries</title>
<updated>2012-09-26T13:45:10Z</updated>
<author>
<name>Heiko Carstens</name>
<email>heiko.carstens@de.ibm.com</email>
</author>
<published>2012-09-05T11:26:11Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=eb608fb366de123a97227437e5306f731f4a63c5'/>
<id>urn:sha1:eb608fb366de123a97227437e5306f731f4a63c5</id>
<content type='text'>
This is the s390 port of 70627654 "x86, extable: Switch to relative
exception table entries".
Reduces the size of our exception tables by 50% on 64 bit builds.

Signed-off-by: Heiko Carstens &lt;heiko.carstens@de.ibm.com&gt;
Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
</content>
</entry>
</feed>
