aboutsummaryrefslogtreecommitdiffstats
path: root/tools/objtool/elf.c
AgeCommit message (Expand)AuthorFilesLines
2025-11-21objtool: Remove second pass of .cold function correlationJosh Poimboeuf1-1/+2
2025-11-21objtool: Return canonical symbol when aliases exist in symbol finding helpersJosh Poimboeuf1-13/+13
2025-11-21objtool: Don't alias undefined symbolsJosh Poimboeuf1-2/+2
2025-11-21objtool: Fix .cold function detection for duplicate symbolsJosh Poimboeuf1-2/+26
2025-11-21objtool: Support Clang AUTOFDO .cold functionsJosh Poimboeuf1-1/+9
2025-10-30objtool: Remove unneeded semicolonChen Ni1-1/+1
2025-10-14objtool: Add base objtool support for livepatch modulesJosh Poimboeuf1-1/+4
2025-10-14objtool: Refactor prefix symbol creation codeJosh Poimboeuf1-17/+0
2025-10-14objtool/klp: Introduce klp diff subcommand for diffing object filesJosh Poimboeuf1-1/+20
2025-10-14objtool/klp: Add --checksum option to generate per-function checksumsJosh Poimboeuf1-3/+43
2025-10-14objtool: Add elf_create_file()Josh Poimboeuf1-1/+143
2025-10-14objtool: Add elf_create_reloc() and elf_init_reloc()Josh Poimboeuf1-14/+156
2025-10-14objtool: Add elf_create_data()Josh Poimboeuf1-19/+47
2025-10-14objtool: Generalize elf_create_section()Josh Poimboeuf1-50/+64
2025-10-14objtool: Generalize elf_create_symbol()Josh Poimboeuf1-52/+59
2025-10-14objtool: Simplify special symbol handling in elf_update_symbol()Josh Poimboeuf1-3/+2
2025-10-14objtool: Mark prefix functionsJosh Poimboeuf1-0/+7
2025-10-14objtool: Mark .cold subfunctionsJosh Poimboeuf1-9/+10
2025-10-14objtool: Add section/symbol type helpersJosh Poimboeuf1-10/+10
2025-10-14objtool: Clean up compiler flag usageJosh Poimboeuf1-1/+1
2025-10-14objtool: Const string cleanupJosh Poimboeuf1-3/+3
2025-10-14objtool: Fix weak symbol detectionJosh Poimboeuf1-4/+4
2025-10-14objtool: Fix interval tree insertion for zero-length symbolsJosh Poimboeuf1-1/+1
2025-10-14objtool: Add empty symbols to the symbol tree againJosh Poimboeuf1-8/+2
2025-10-14objtool: Propagate elf_truncate_section() error in elf_write()Josh Poimboeuf1-3/+2
2025-10-14objtool: Fix broken error handling in read_symbols()Josh Poimboeuf1-7/+3
2025-10-14objtool: Make find_symbol_containing() less arbitraryJosh Poimboeuf1-5/+20
2025-05-14objtool: Speed up SHT_GROUP reindexingJosh Poimboeuf1-18/+29
2025-04-30objtool: Fix up st_info in COMDAT group sectionRong Xu1-1/+26
2025-04-01objtool: Change "warning:" to "error: " for fatal errorsJosh Poimboeuf1-79/+71
2025-03-25objtool: Improve error handlingJosh Poimboeuf1-11/+11
2025-03-25objtool: Fix detection of consecutive jump tables on Clang 20Josh Poimboeuf1-3/+3
2025-03-17objtool: Add --output optionJosh Poimboeuf1-3/+0
2024-11-06objtool: Fix unreachable instruction warnings for weak functionsRong Xu1-5/+10
2023-10-05objtool: Remove max symbol name length limitationAaron Plattner1-8/+6
2023-07-10objtool: initialize all of struct elfMichal Kubecek1-1/+1
2023-06-07objtool: Skip reading DWARF section dataJosh Poimboeuf1-1/+6
2023-06-07objtool: Get rid of reloc->rel[a]Josh Poimboeuf1-53/+7
2023-06-07objtool: Shrink elf hash nodesJosh Poimboeuf1-8/+44
2023-06-07objtool: Shrink reloc->sym_reloc_entryJosh Poimboeuf1-4/+5
2023-06-07objtool: Get rid of reloc->addendJosh Poimboeuf1-7/+3
2023-06-07objtool: Get rid of reloc->typeJosh Poimboeuf1-4/+2
2023-06-07objtool: Get rid of reloc->offsetJosh Poimboeuf1-5/+5
2023-06-07objtool: Get rid of reloc->idxJosh Poimboeuf1-4/+2
2023-06-07objtool: Get rid of reloc->listJosh Poimboeuf1-19/+13
2023-06-07objtool: Allocate relocs in advance for new rela sectionsJosh Poimboeuf1-5/+13
2023-06-07objtool: Don't free memory in elf_close()Josh Poimboeuf1-20/+4
2023-06-07objtool: Keep GElf_Rel[a] structs syncedJosh Poimboeuf1-41/+14
2023-06-07objtool: Add elf_create_section_pair()Josh Poimboeuf1-60/+91
2023-06-07objtool: Add mark_sec_changed()Josh Poimboeuf1-15/+16
2023-06-07objtool: Fix reloc_hash sizeJosh Poimboeuf1-9/+7
2023-06-07objtool: Consolidate rel/rela handlingJosh Poimboeuf1-148/+54
2023-06-07objtool: Improve reloc namingJosh Poimboeuf1-81/+83
2023-06-07objtool: Remove flags argument from elf_create_section()Josh Poimboeuf1-5/+5
2023-04-14objtool: Add symbol iteration helpersJosh Poimboeuf1-1/+1
2023-02-01objtool: Allocate multiple structures with calloc()Thomas Weißschuh1-21/+21
2022-12-19Merge tag 'powerpc-6.2-1' of git://git.kernel.org/pub/scm/linux/kernel/git/po...Linus Torvalds1-2/+6
2022-11-18objtool: Use target file class size instead of a compiled constantChristophe Leroy1-2/+6
2022-11-05objtool: Optimize elf_dirty_reloc_sym()Peter Zijlstra1-17/+10
2022-11-01objtool: Add option to generate prefix symbolsPeter Zijlstra1-0/+31
2022-11-01objtool: Avoid O(bloody terrible) behaviour -- an ode to libelfPeter Zijlstra1-6/+83
2022-11-01objtool: Slice up elf_create_section_symbol()Peter Zijlstra1-21/+35
2022-10-17objtool: Fix find_{symbol,func}_containing()Peter Zijlstra1-53/+40
2022-09-26objtool: Preserve special st_shndx indexes in elf_update_symbolSami Tolvanen1-1/+6
2022-05-20objtool: Fix objtool regression on x32 systemsMikulas Patocka1-1/+1
2022-05-20objtool: Fix symbol creationPeter Zijlstra1-69/+129
2022-04-22objtool: Remove --lto and --vmlinux in favor of --linkJosh Poimboeuf1-0/+3
2022-04-22objtool: Reorganize cmdline optionsJosh Poimboeuf1-4/+4
2022-04-22objtool: Fix code relocs vs weak symbolsPeter Zijlstra1-22/+165
2022-04-22objtool: Fix type of reloc::addendPeter Zijlstra1-1/+1
2022-03-15objtool: Ignore extra-symbol codePeter Zijlstra1-0/+60
2022-03-15objtool: Add --dry-runPeter Zijlstra1-0/+3
2021-12-03objtool: Fix pv_ops noinstr validationPeter Zijlstra1-0/+1
2021-11-01Merge tag 'objtool-core-2021-10-31' of git://git.kernel.org/pub/scm/linux/ker...Linus Torvalds1-84/+0
2021-10-28objtool,x86: Replace alternatives with .retpoline_sitesPeter Zijlstra1-84/+0
2021-10-06objtool: Update section header before relocationsMichael Forney1-29/+17
2021-10-06objtool: Check for gelf_update_rel[a] failuresMichael Forney1-2/+8
2021-10-05objtool: Remove redundant 'len' field from struct sectionJoe Lawrence1-8/+6
2021-06-28Merge tags 'objtool-urgent-2021-06-28' and 'objtool-core-2021-06-28' of git:/...Linus Torvalds1-42/+68
2021-06-14objtool: Improve reloc hash size guestimatePeter Zijlstra1-7/+4
2021-06-10objtool: Fix .symtab_shndx handling for elf_create_undef_symbol()Peter Zijlstra1-1/+24
2021-05-12objtool: Fix elf_create_undef_symbol() endiannessVasily Gorbik1-0/+1
2021-05-12objtool: Rewrite hashtable sizingPeter Zijlstra1-42/+71
2021-04-02objtool: Add elf_create_undef_symbol()Peter Zijlstra1-0/+60
2021-04-02objtool: Extract elf_symbol_add()Peter Zijlstra1-25/+31
2021-04-02objtool: Extract elf_strtab_concat()Peter Zijlstra1-22/+38
2021-04-02objtool: Create reloc sections implicitlyPeter Zijlstra1-1/+8
2021-04-02objtool: Add elf_create_reloc() helperPeter Zijlstra1-30/+56
2021-04-02objtool: Rework the elf_rebuild_reloc_section() logicPeter Zijlstra1-6/+14
2021-02-23Merge tag 'objtool-core-2021-02-23' of git://git.kernel.org/pub/scm/linux/ker...Linus Torvalds1-18/+22
2021-02-17rbtree: Add generic add and find helpersPeter Zijlstra1-62/+11
2021-01-21objtool: Don't fail on missing symbol tableJosh Poimboeuf1-2/+5
2021-01-13objtool: Rework header include pathsVasily Gorbik1-3/+3
2021-01-13objtool: Fix reloc generation on big endian cross-compilesMartin Schwidefsky1-15/+19
2021-01-13objtool: Don't add empty symbols to the rbtreeJosh Poimboeuf1-0/+7
2020-12-16objtool: Fix seg fault with Clang non-section symbolsJosh Poimboeuf1-0/+26
2020-09-01x86/static_call: Add inline static call implementation for x86-64Josh Poimboeuf1-4/+4
2020-06-18Merge branch 'objtool/urgent' into objtool/corePeter Zijlstra1-3/+61
2020-06-18objtool: Provide elf_write_{insn,reloc}()Peter Zijlstra1-1/+39
2020-06-18objtool: Clean up elf_write() conditionPeter Zijlstra1-2/+11
2020-06-02objtool: Add support for relocations without addendsMatt Helsley1-17/+128
2020-06-01objtool: Rename rela to relocMatt Helsley1-69/+69
2020-05-28objtool: Use sh_info to find the base for .rela sectionsSami Tolvanen1-1/+1
2020-05-28objtool: Do not assume order of parent/child functionsKristen Carlson Accardi1-1/+7
2020-05-15objtool: use gelf_getsymshndx to handle >64k sectionsSami Tolvanen1-7/+17
2020-04-30objtool: Move the IRET hack into the arch decoderMiroslav Benes1-2/+2
2020-04-23objtool: Rename elf_read() to elf_open_read()Ingo Molnar1-1/+1
2020-04-23objtool: Constify 'struct elf *' parametersIngo Molnar1-5/+5
2020-04-22objtool: Optimize !vmlinux.o againPeter Zijlstra1-19/+43
2020-04-22objtool: Fix off-by-one in symbol_by_offset()Julien Thierry1-1/+1
2020-03-25objtool: Optimize find_rela_by_dest_range()Peter Zijlstra1-4/+11
2020-03-25objtool: Optimize read_sections()Peter Zijlstra1-10/+14
2020-03-25objtool: Optimize find_symbol_by_name()Peter Zijlstra1-5/+5
2020-03-25objtool: Rename find_containing_func()Peter Zijlstra1-1/+1
2020-03-25objtool: Optimize find_symbol_*() and read_symbols()Peter Zijlstra1-58/+136
2020-03-25objtool: Optimize find_section_by_name()Peter Zijlstra1-1/+9
2020-03-25objtool: Optimize find_section_by_index()Peter Zijlstra1-5/+8
2020-03-25objtool: Add a statistics modePeter Zijlstra1-1/+17
2020-03-25objtool: Optimize find_symbol_by_index()Peter Zijlstra1-8/+5
2020-02-21objtool: Improve call destination function detectionJosh Poimboeuf1-2/+12
2019-07-18objtool: Refactor jump table codeJosh Poimboeuf1-1/+1
2019-07-18objtool: Refactor function alias logicJosh Poimboeuf1-1/+1
2019-07-18objtool: Rename elf_open() to prevent conflict with libelf from elftoolchainMichael Forney1-1/+1
2019-07-18objtool: Use Elf_Scn typedef instead of assuming struct nameMichael Forney1-1/+1
2019-05-21treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 13Thomas Gleixner1-13/+1
2019-04-03objtool: Handle function aliasesPeter Zijlstra1-4/+11
2018-11-20objtool: Fix segfault in .cold detection with -ffunction-sectionsArtem Savkov1-3/+14
2018-11-20objtool: Fix double-free in .cold detection error pathArtem Savkov1-1/+1
2018-11-03Merge branch 'core/urgent' into x86/urgent, to pick up objtool fixIngo Molnar1-1/+1
2018-11-01objtool: Support GCC 9 cold subfunction naming schemeJosh Poimboeuf1-1/+1
2018-09-08objtool: Support per-function rodata sectionsAllan Xavier1-0/+1
2018-07-14objtool: Use '.strtab' if '.shstrtab' doesn't exist, to support ORC tables on...Simon Ser1-2/+4
2018-07-02objtool: Support GCC 8 '-fnoreorder-functions'Josh Poimboeuf1-13/+28
2018-05-14objtool: Support GCC 8's cold subfunctionsJosh Poimboeuf1-2/+40
2018-01-16objtool: Improve error message for bad file argumentJosh Poimboeuf1-1/+3
2017-09-15objtool: Fix object file corruptionJosh Poimboeuf1-1/+6
2017-09-15objtool: Do not retrieve data from empty sectionsPetr Vandrovec1-12/+13
2017-09-15objtool: Fix memory leak in elf_create_rela_section()Martin Kepplinger1-0/+1
2017-07-18objtool: Add ORC unwind table generationJosh Poimboeuf1-13/+199
2017-06-30objtool: Implement stack validation 2.0Josh Poimboeuf1-31/+28
2017-03-07objtool: Fix another GCC jump table detection issueJosh Poimboeuf1-0/+12
2016-07-13objtool: Add fallback from ELF_C_READ_MMAP to ELF_C_READArnaldo Carvalho de Melo1-0/+7
2016-03-09objtool: Add several performance improvementsJosh Poimboeuf1-6/+15
2016-03-09objtool: Rename some variables and functionsJosh Poimboeuf1-11/+11
2016-02-29objtool: Add tool to perform compile-time stack metadata validationJosh Poimboeuf1-0/+403