Home
last modified time | relevance | path

Searched refs:elf (Results 1 – 25 of 79) sorted by relevance

1234

/Linux-v5.15/tools/objtool/
Delf.c31 #define __elf_table(name) (elf->name##_hash)
32 #define __elf_bits(name) (elf->name##_bits)
86 struct section *find_section_by_name(const struct elf *elf, const char *name) in find_section_by_name() argument
98 static struct section *find_section_by_index(struct elf *elf, in find_section_by_index() argument
111 static struct symbol *find_symbol_by_index(struct elf *elf, unsigned int idx) in find_symbol_by_index() argument
179 struct symbol *find_symbol_by_name(const struct elf *elf, const char *name) in find_symbol_by_name() argument
191 struct reloc *find_reloc_by_dest_range(const struct elf *elf, struct section *sec, in find_reloc_by_dest_range() argument
220 struct reloc *find_reloc_by_dest(const struct elf *elf, struct section *sec, unsigned long offset) in find_reloc_by_dest() argument
222 return find_reloc_by_dest_range(elf, sec, offset, 1); in find_reloc_by_dest()
225 static int read_sections(struct elf *elf) in read_sections() argument
[all …]
Dorc_dump.c73 Elf *elf; in orc_dump() local
91 elf = elf_begin(fd, ELF_C_READ_MMAP, NULL); in orc_dump()
92 if (!elf) { in orc_dump()
97 if (elf_getshdrnum(elf, &nr_sections)) { in orc_dump()
102 if (elf_getshdrstrndx(elf, &shstrtab_idx)) { in orc_dump()
108 scn = elf_getscn(elf, i); in orc_dump()
119 name = elf_strptr(elf, shstrtab_idx, sh.sh_name); in orc_dump()
168 scn = elf_getscn(elf, sym.st_shndx); in orc_dump()
179 name = elf_strptr(elf, shstrtab_idx, sh.sh_name); in orc_dump()
185 name = elf_strptr(elf, strtab_idx, sym.st_name); in orc_dump()
[all …]
Dspecial.c68 static int get_alt_entry(struct elf *elf, struct special_entry *entry, in get_alt_entry() argument
96 orig_reloc = find_reloc_by_dest(elf, sec, offset + entry->orig); in get_alt_entry()
105 new_reloc = find_reloc_by_dest(elf, sec, offset + entry->new); in get_alt_entry()
130 key_reloc = find_reloc_by_dest(elf, sec, offset + entry->key); in get_alt_entry()
147 int special_get_alts(struct elf *elf, struct list_head *alts) in special_get_alts() argument
158 sec = find_section_by_name(elf, entry->sec); in special_get_alts()
178 ret = get_alt_entry(elf, entry, sec, idx, alt); in special_get_alts()
Dorc_gen.c84 static int write_orc_entry(struct elf *elf, struct section *orc_sec, in write_orc_entry() argument
98 if (elf_add_reloc_to_insn(elf, ip_sec, idx * sizeof(int), R_X86_64_PC32, in write_orc_entry()
215 sec = find_section_by_name(file->elf, ".orc_unwind"); in orc_create()
220 orc_sec = elf_create_section(file->elf, ".orc_unwind", 0, in orc_create()
225 sec = elf_create_section(file->elf, ".orc_unwind_ip", 0, sizeof(int), nr); in orc_create()
231 if (write_orc_entry(file->elf, orc_sec, sec, idx++, in orc_create()
Dbuiltin-orc.c55 if (!file->elf->changed) in cmd_orc()
58 return elf_write(file->elf); in cmd_orc()
/Linux-v5.15/tools/objtool/include/objtool/
Delf.h79 struct elf { struct
80 Elf *elf; argument
130 struct elf *elf_open_read(const char *name, int flags);
131 struct section *elf_create_section(struct elf *elf, const char *name, unsigned int sh_flags, size_t…
133 int elf_add_reloc(struct elf *elf, struct section *sec, unsigned long offset,
135 int elf_add_reloc_to_insn(struct elf *elf, struct section *sec,
139 int elf_write_insn(struct elf *elf, struct section *sec,
142 int elf_write_reloc(struct elf *elf, struct reloc *reloc);
143 struct symbol *elf_create_undef_symbol(struct elf *elf, const char *name);
144 int elf_write(struct elf *elf);
[all …]
Dobjtool.h18 struct elf *elf; member
Dspecial.h33 int special_get_alts(struct elf *elf, struct list_head *alts);
/Linux-v5.15/arch/arm64/kvm/hyp/nvhe/
Dgen-hyprel.c137 } elf; variable
164 elf.path, ## __VA_ARGS__); \
172 elf.path, strerror(errno)); \
198 #define elf_ptr(type, off) ((type *)(elf.begin + (off)))
202 for (var = elf.sh_table; var < elf.sh_table + elf16toh(elf.ehdr->e_shnum); ++var)
218 return elf.sh_string + elf32toh(shdr->sh_name); in section_name()
238 return &elf.sh_table[idx]; in section_by_idx()
251 elf.path = path; in init_elf()
266 elf.begin = mmap(0, stat.st_size, PROT_READ, MAP_PRIVATE, fd, 0); in init_elf()
267 if (elf.begin == MAP_FAILED) { in init_elf()
[all …]
/Linux-v5.15/tools/perf/util/
Dsymbol-elf.c78 static int elf_getphdrnum(Elf *elf, size_t *dst) in elf_getphdrnum() argument
83 ehdr = gelf_getehdr(elf, &gehdr); in elf_getphdrnum()
94 static int elf_getshdrstrndx(Elf *elf __maybe_unused, size_t *dst __maybe_unused) in elf_getshdrstrndx()
191 static size_t elf_addr_to_index(Elf *elf, GElf_Addr addr) in elf_addr_to_index() argument
197 while ((sec = elf_nextscn(elf, sec)) != NULL) { in elf_addr_to_index()
210 Elf_Scn *elf_section_by_name(Elf *elf, GElf_Ehdr *ep, in elf_section_by_name() argument
217 if (!elf_rawdata(elf_getscn(elf, ep->e_shstrndx), NULL)) in elf_section_by_name()
220 while ((sec = elf_nextscn(elf, sec)) != NULL) { in elf_section_by_name()
224 str = elf_strptr(elf, ep->e_shstrndx, shp->sh_name); in elf_section_by_name()
301 Elf *elf; in dso__synthesize_plt_symbols() local
[all …]
Dunwind-libunwind-local.c173 Elf *elf; in elf_section_offset() local
178 elf = elf_begin(fd, PERF_ELF_C_READ_MMAP, NULL); in elf_section_offset()
179 if (elf == NULL) in elf_section_offset()
183 if (gelf_getehdr(elf, &ehdr) == NULL) in elf_section_offset()
186 if (!elf_section_by_name(elf, &ehdr, &shdr, name, NULL)) in elf_section_offset()
192 elf_end(elf); in elf_section_offset()
199 Elf *elf; in elf_is_exec() local
203 elf = elf_begin(fd, PERF_ELF_C_READ_MMAP, NULL); in elf_is_exec()
204 if (elf == NULL) in elf_is_exec()
206 if (gelf_getehdr(elf, &ehdr) == NULL) in elf_is_exec()
[all …]
/Linux-v5.15/scripts/mod/
Dmodpost.c360 static enum export export_from_secname(struct elf_info *elf, unsigned int sec) in export_from_secname() argument
362 const char *secname = sec_name(elf, sec); in export_from_secname()
372 static enum export export_from_sec(struct elf_info *elf, unsigned int sec) in export_from_sec() argument
374 if (sec == elf->export_sec) in export_from_sec()
376 else if (sec == elf->export_gpl_sec) in export_from_sec()
818 static const char *sym_name(struct elf_info *elf, Elf_Sym *sym) in sym_name() argument
821 return elf->strtab + sym->st_name; in sym_name()
898 static void check_section(const char *modname, struct elf_info *elf, in check_section() argument
901 const char *sec = sech_name(elf, sechdr); in check_section()
1027 void (*handler)(const char *modname, struct elf_info *elf,
[all …]
/Linux-v5.15/arch/alpha/boot/tools/
Dobjstrip.c61 struct elfhdr *elf; in main() local
149 elf = (struct elfhdr *) buf; in main()
151 if (elf->e_ident[0] == 0x7f && str_has_prefix((char *)elf->e_ident + 1, "ELF")) { in main()
152 if (elf->e_type != ET_EXEC) { in main()
157 if (!elf_check_arch(elf)) { in main()
159 prog_name, elf->e_machine); in main()
162 if (elf->e_phnum != 1) { in main()
165 prog_name, elf->e_phnum); in main()
168 e_entry = elf->e_entry; in main()
170 lseek(fd, elf->e_phoff, SEEK_SET); in main()
/Linux-v5.15/arch/powerpc/platforms/powernv/
Dopal-core.c308 Elf64_Ehdr *elf; in create_opalcore() local
355 elf = (Elf64_Ehdr *)bufp; in create_opalcore()
357 memcpy(elf->e_ident, ELFMAG, SELFMAG); in create_opalcore()
358 elf->e_ident[EI_CLASS] = ELF_CLASS; in create_opalcore()
359 elf->e_ident[EI_DATA] = ELFDATA2MSB; in create_opalcore()
360 elf->e_ident[EI_VERSION] = EV_CURRENT; in create_opalcore()
361 elf->e_ident[EI_OSABI] = ELF_OSABI; in create_opalcore()
362 memset(elf->e_ident+EI_PAD, 0, EI_NIDENT-EI_PAD); in create_opalcore()
363 elf->e_type = cpu_to_be16(ET_CORE); in create_opalcore()
364 elf->e_machine = cpu_to_be16(ELF_ARCH); in create_opalcore()
[all …]
/Linux-v5.15/arch/mips/tools/
DMakefile2 hostprogs := elf-entry
3 PHONY += elf-entry
4 elf-entry: $(obj)/elf-entry
/Linux-v5.15/tools/bpf/resolve_btfids/
Dmain.c95 Elf *elf; member
278 static int compressed_section_fix(Elf *elf, Elf_Scn *scn, GElf_Shdr *sh) in compressed_section_fix() argument
280 int expected = gelf_getclass(elf) == ELFCLASS32 ? 4 : 8; in compressed_section_fix()
306 Elf *elf; in elf_collect() local
318 elf = elf_begin(fd, ELF_C_RDWR_MMAP, NULL); in elf_collect()
319 if (!elf) { in elf_collect()
327 obj->efile.elf = elf; in elf_collect()
329 elf_flagelf(elf, ELF_C_SET, ELF_F_LAYOUT); in elf_collect()
331 if (elf_getshdrstrndx(elf, &shdrstrndx) != 0) { in elf_collect()
340 while ((scn = elf_nextscn(elf, scn)) != NULL) { in elf_collect()
[all …]
/Linux-v5.15/tools/objtool/arch/x86/
Ddecode.c25 static int is_x86_64(const struct elf *elf) in is_x86_64() argument
27 switch (elf->ehdr.e_machine) { in is_x86_64()
33 WARN("unexpected ELF machine type %d", elf->ehdr.e_machine); in is_x86_64()
105 int arch_decode_instruction(const struct elf *elf, const struct section *sec, in arch_decode_instruction() argument
121 x86_64 = is_x86_64(elf); in arch_decode_instruction()
675 static int elf_add_alternative(struct elf *elf, in elf_add_alternative() argument
684 sec = find_section_by_name(elf, ".altinstructions"); in elf_add_alternative()
686 sec = elf_create_section(elf, ".altinstructions", in elf_add_alternative()
695 s = elf_getscn(elf->elf, sec->idx); in elf_add_alternative()
717 if (elf_add_reloc_to_insn(elf, sec, sec->sh.sh_size, in elf_add_alternative()
[all …]
/Linux-v5.15/fs/
Dbinfmt_elf_fdpic.c1237 static inline void fill_elf_fdpic_header(struct elfhdr *elf, int segs) in fill_elf_fdpic_header() argument
1239 memcpy(elf->e_ident, ELFMAG, SELFMAG); in fill_elf_fdpic_header()
1240 elf->e_ident[EI_CLASS] = ELF_CLASS; in fill_elf_fdpic_header()
1241 elf->e_ident[EI_DATA] = ELF_DATA; in fill_elf_fdpic_header()
1242 elf->e_ident[EI_VERSION] = EV_CURRENT; in fill_elf_fdpic_header()
1243 elf->e_ident[EI_OSABI] = ELF_OSABI; in fill_elf_fdpic_header()
1244 memset(elf->e_ident+EI_PAD, 0, EI_NIDENT-EI_PAD); in fill_elf_fdpic_header()
1246 elf->e_type = ET_CORE; in fill_elf_fdpic_header()
1247 elf->e_machine = ELF_ARCH; in fill_elf_fdpic_header()
1248 elf->e_version = EV_CURRENT; in fill_elf_fdpic_header()
[all …]
Dbinfmt_elf.c539 struct file *elf, bool is_interp, in arch_elf_pt_proc() argument
1455 static void fill_elf_header(struct elfhdr *elf, int segs, in fill_elf_header() argument
1458 memset(elf, 0, sizeof(*elf)); in fill_elf_header()
1460 memcpy(elf->e_ident, ELFMAG, SELFMAG); in fill_elf_header()
1461 elf->e_ident[EI_CLASS] = ELF_CLASS; in fill_elf_header()
1462 elf->e_ident[EI_DATA] = ELF_DATA; in fill_elf_header()
1463 elf->e_ident[EI_VERSION] = EV_CURRENT; in fill_elf_header()
1464 elf->e_ident[EI_OSABI] = ELF_OSABI; in fill_elf_header()
1466 elf->e_type = ET_CORE; in fill_elf_header()
1467 elf->e_machine = machine; in fill_elf_header()
[all …]
/Linux-v5.15/arch/powerpc/kernel/
Dfadump.c949 struct elfhdr *elf; in fadump_init_elfcore_header() local
951 elf = (struct elfhdr *) bufp; in fadump_init_elfcore_header()
953 memcpy(elf->e_ident, ELFMAG, SELFMAG); in fadump_init_elfcore_header()
954 elf->e_ident[EI_CLASS] = ELF_CLASS; in fadump_init_elfcore_header()
955 elf->e_ident[EI_DATA] = ELF_DATA; in fadump_init_elfcore_header()
956 elf->e_ident[EI_VERSION] = EV_CURRENT; in fadump_init_elfcore_header()
957 elf->e_ident[EI_OSABI] = ELF_OSABI; in fadump_init_elfcore_header()
958 memset(elf->e_ident+EI_PAD, 0, EI_NIDENT-EI_PAD); in fadump_init_elfcore_header()
959 elf->e_type = ET_CORE; in fadump_init_elfcore_header()
960 elf->e_machine = ELF_ARCH; in fadump_init_elfcore_header()
[all …]
/Linux-v5.15/arch/x86/realmode/rm/
DMakefile52 LDFLAGS_realmode.elf := -m elf_i386 --emit-relocs -T
55 targets += realmode.elf
56 $(obj)/realmode.elf: $(obj)/realmode.lds $(REALMODE_OBJS) FORCE
62 $(obj)/realmode.bin: $(obj)/realmode.elf $(obj)/realmode.relocs FORCE
69 $(obj)/realmode.relocs: $(obj)/realmode.elf FORCE
/Linux-v5.15/arch/xtensa/boot/boot-redboot/
DMakefile25 $(obj)/zImage.elf: $(obj)/zImage.o $(LIBS)
26 $(Q)$(LD) $(LD_ARGS) -o $@ $^ -L/xtensa-elf/lib $(LIBGCC)
28 $(obj)/../zImage.redboot: $(obj)/zImage.elf
/Linux-v5.15/tools/build/feature/
Dtest-libelf.c6 Elf *elf = elf_begin(0, ELF_C_READ, 0); in main() local
8 return (long)elf; in main()
/Linux-v5.15/arch/xtensa/boot/
DMakefile26 Image: boot-elf
31 boot-elf boot-redboot: $(addprefix $(obj)/,$(subdir-y))
42 boot-elf: $(obj)/vmlinux.bin
/Linux-v5.15/tools/testing/selftests/sgx/
DMakefile22 all: $(TEST_CUSTOM_PROGS) $(OUTPUT)/test_encl.elf
47 $(OUTPUT)/test_encl.elf: test_encl.lds test_encl.c test_encl_bootstrap.S
51 $(OUTPUT)/test_encl.elf \

1234