summaryrefslogtreecommitdiff
path: root/scripts/sortextable.c (follow)
Commit message (Collapse)AuthorAge
* parisc: Use generic extable search and sort routinesHelge Deller2016-05-12
| | | | | | | | | | Switch to the generic extable search and sort routines which were introduced with commit a272858 from Ard Biesheuvel. This saves quite some memory in the vmlinux binary with the 64bit kernel. Signed-off-by: Helge Deller <deller@gmx.de> (cherry picked from commit 0de798584bdedfdad19db21e3c7aec84f252f4f3) Signed-off-by: Alex Shi <alex.shi@linaro.org>
* arm64: switch to relative exception tablesArd Biesheuvel2016-05-11
| | | | | | | | | | | | | | | | | | | Instead of using absolute addresses for both the exception location and the fixup, use offsets relative to the exception table entry values. Not only does this cut the size of the exception table in half, it is also a prerequisite for KASLR, since absolute exception table entries are subject to dynamic relocation, which is incompatible with the sorting of the exception table that occurs at build time. This patch also introduces the _ASM_EXTABLE preprocessor macro (which exists on x86 as well) and its _asm_extable assembly counterpart, as shorthands to emit exception table entries. Acked-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> (cherry picked from commit 6c94f27ac847ff8ef15b3da5b200574923bd6287) Signed-off-by: Alex Shi <alex.shi@linaro.org>
* scripts/sortextable: add support for ET_DYN binariesArd Biesheuvel2016-05-11
| | | | | | | | | | | Add support to scripts/sortextable for handling relocatable (PIE) executables, whose ELF type is ET_DYN, not ET_EXEC. Other than adding support for the new type, no changes are needed. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> (cherry picked from commit 7b957b6e603623ef8b2e8222fa94b976df613fa2) Signed-off-by: Alex Shi <alex.shi@linaro.org>
* ARCv2: extable: Enable sorting at build timeVineet Gupta2015-06-22
| | | | Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
* xtensa: enable sorting extable at build timeMax Filippov2014-04-02
| | | | | Signed-off-by: Max Filippov <jcmvbkbc@gmail.com> Acked-by: David Daney <ddaney.cavm@gmail.com>
* microblaze: extable: sort the exception table at build timeMichal Simek2014-01-23
| | | | | | | | | | | | | | | | | | 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 <michal.simek@xilinx.com> Acked-by: David Daney <david.daney@cavium.com> Cc: Catalin Marinas <catalin.marinas@arm.com> Cc: Will Deacon <will.deacon@arm.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* ARC: extable: Enable sorting at build timeVineet Gupta2013-11-25
| | | | | | | | | | Avoids wasting cycles at boot specially on slower simulators Signed-off-by: Vineet Gupta <vgupta@synopsys.com> Cc: Michal Marek <mmarek@suse.cz> Cc: Francois Bedard <fbedard@synopsys.com> Cc: linux-kernel@vger.kernel.org Acked-by: David Daney <david.daney@cavium.com>
* scripts/sortextable: support objects with more than 64K sections.Jamie Iles2013-11-13
| | | | | | | | | | | | 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 > 64K sections as modpost does. Signed-off-by: Jamie Iles <jamie.iles@oracle.com> Cc: Rusty Russell <rusty@rustcorp.com.au> Cc: Michal Marek <mmarek@suse.cz> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* scripts: remove unused function in sortextable.cRamkumar Ramachandra2013-07-25
| | | | | | Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com> Acked-by: David Daney <david.daney@cavium.com> Signed-off-by: Michal Marek <mmarek@suse.cz>
* arm64: extable: sort the exception table at build timeWill Deacon2013-06-12
| | | | | | | | | | | | | 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 <will.deacon@arm.com> Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
* ARM: 7568/1: Sort exception table at compile timeStephen Boyd2012-11-04
| | | | | | | | | | | | | | | | 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 <david.daney@cavium.com> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org> Tested-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
* s390/exceptions: switch to relative exception table entriesHeiko Carstens2012-09-26
| | | | | | | | | 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 <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
* s390/exceptions: sort exception table at build timeHeiko Carstens2012-07-26
| | | | | | | Follow x86 and MIPS and sort the main exception table at build time. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
* scripts/sortextable: Handle relative entries, and other cleanupsDavid Daney2012-04-24
| | | | | | | | | | | | | | x86 is now using relative rather than absolute addresses in its exception table, so we add a sorter for these. If there are relocations on the __ex_table section, they are redundant and probably incorrect after the sort, so they are zeroed out leaving them valid and consistent. Also use the unaligned safe accessors from tools/{be,le}_byteshift.h Signed-off-by: David Daney <david.daney@cavium.com> Link: http://lkml.kernel.org/r/1335291795-26693-2-git-send-email-ddaney.cavm@gmail.com Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* scripts: Add sortextable to sort the kernel's exception table.David Daney2012-04-19
Using this build-time sort saves time booting as we don't have to burn cycles sorting the exception table. Signed-off-by: David Daney <david.daney@cavium.com> Link: http://lkml.kernel.org/r/1334872799-14589-2-git-send-email-ddaney.cavm@gmail.com Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>