search for: elf32_sym

Displaying 20 results from an estimated 25 matches for "elf32_sym".

2012 Apr 17
2
[GIT PULL] elflink warning fixes and auto extension support
...com32/lib/sys/module/common.c b/com32/lib/sys/module/common.c index e26163f..eeb2607 100644 --- a/com32/lib/sys/module/common.c +++ b/com32/lib/sys/module/common.c @@ -322,7 +322,7 @@ int check_symbols(struct elf_module *module) for(i = 1; i < module->symtable_size; i++) { - crt_sym = (Elf32_Sym*)(module->sym_table + i * module->syment_size); + crt_sym = symbol_get_entry(module, i); crt_name = module->str_table + crt_sym->st_name; strong_count = 0; @@ -434,7 +434,7 @@ static Elf32_Sym *module_find_symbol_sysv(const char *name, struct elf_module *m while (crt_inde...
2019 Apr 30
3
RFC - a proposal to support additional symbol metadata in ELF object files in the ARM compiler
...when scanning the symbol table for an incoming object file. In an ELF symbol table entry: typedef struct { Elf32_Word st_name; Elf32_Addr st_value; Elf32_Word st_size; unsigned char st_info; unsigned char st_other; Elf32_Half st_shndx; } Elf32_Sym; typedef struct { Elf64_Word st_name; unsigned char st_info; unsigned char st_other; Elf64_Half st_shndx; Elf64_Addr st_value; Elf64_Xword st_size; } Elf64_Sym; The st_size and st_value fields could be used to represent attribute informat...
2007 Mar 05
7
[PATCH 2/10] linux 2.6.18: COMPAT_VDSO
...itch(shdr->sh_type) { + case SHT_DYNAMIC: + case SHT_HASH: + case SHT_NOBITS: + case SHT_NOTE: + case SHT_PROGBITS: + case SHT_STRTAB: + case 0x6ffffffd: /* SHT_GNU_verdef */ + case 0x6fffffff: /* SHT_GNU_versym */ + break; + case SHT_DYNSYM: + BUG_ON(shdr->sh_entsize < sizeof(Elf32_Sym)); + if (!szdynsym) + szdynsym = shdr->sh_entsize; + else + WARN_ON(szdynsym != shdr->sh_entsize); + if (!ndynsym) + ndynsym = shdr->sh_size / szdynsym; + else + WARN_ON(ndynsym != shdr->sh_size / szdynsym); + if (!dynsym) + dynsym = shdr->sh_addr; + else +...
2007 Mar 05
7
[PATCH 2/10] linux 2.6.18: COMPAT_VDSO
...itch(shdr->sh_type) { + case SHT_DYNAMIC: + case SHT_HASH: + case SHT_NOBITS: + case SHT_NOTE: + case SHT_PROGBITS: + case SHT_STRTAB: + case 0x6ffffffd: /* SHT_GNU_verdef */ + case 0x6fffffff: /* SHT_GNU_versym */ + break; + case SHT_DYNSYM: + BUG_ON(shdr->sh_entsize < sizeof(Elf32_Sym)); + if (!szdynsym) + szdynsym = shdr->sh_entsize; + else + WARN_ON(szdynsym != shdr->sh_entsize); + if (!ndynsym) + ndynsym = shdr->sh_size / szdynsym; + else + WARN_ON(ndynsym != shdr->sh_size / szdynsym); + if (!dynsym) + dynsym = shdr->sh_addr; + else +...
2007 Mar 05
7
[PATCH 2/10] linux 2.6.18: COMPAT_VDSO
...itch(shdr->sh_type) { + case SHT_DYNAMIC: + case SHT_HASH: + case SHT_NOBITS: + case SHT_NOTE: + case SHT_PROGBITS: + case SHT_STRTAB: + case 0x6ffffffd: /* SHT_GNU_verdef */ + case 0x6fffffff: /* SHT_GNU_versym */ + break; + case SHT_DYNSYM: + BUG_ON(shdr->sh_entsize < sizeof(Elf32_Sym)); + if (!szdynsym) + szdynsym = shdr->sh_entsize; + else + WARN_ON(szdynsym != shdr->sh_entsize); + if (!ndynsym) + ndynsym = shdr->sh_size / szdynsym; + else + WARN_ON(ndynsym != shdr->sh_size / szdynsym); + if (!dynsym) + dynsym = shdr->sh_addr; + else +...
2019 Apr 30
3
[EXTERNAL] Re: RFC - a proposal to support additional symbol metadata in ELF object files in the ARM compiler
...: > > > > typedef struct { > > Elf32_Word st_name; > > Elf32_Addr st_value; > > Elf32_Word st_size; > > unsigned char st_info; > > unsigned char st_other; > > Elf32_Half st_shndx; > > } Elf32_Sym; > > > > typedef struct { > > Elf64_Word st_name; > > unsigned char st_info; > > unsigned char st_other; > > Elf64_Half st_shndx; > > Elf64_Addr st_value; > > Elf64_Xword st_size; > > }...
2012 Mar 23
19
[PATCH 00/19][elflink] Improve compatibility with 4.x
From: Matt Fleming <matt.fleming at intel.com> The following patch series is available at, git://git.zytor.com/users/mfleming/syslinux.git elflink All patches are against the 'elflink' branch. This series fixes a few serious bugs and some behavioural incompatibilities with the 4.x series. Matt Fleming (19): ldlinux: Initialise 'p' before using it. ldlinux: Parse
2019 May 01
2
RFC - a proposal to support additional symbol metadata in ELF object files in the ARM compiler
...Elf32_Word st_name; > > Elf32_Addr st_value; > > Elf32_Word st_size; > > unsigned char st_info; > > unsigned char st_other; > > Elf32_Half st_shndx; > > } Elf32_Sym; > > > > typedef struct { > > Elf64_Word st_name; > > unsigned char st_info; > > unsigned char st_other; > > Elf64_Half st_shndx; > > Elf64_Addr st_valu...
2007 Apr 18
2
[RFC, PATCH] Fixup COMPAT_VDSO to work with CONFIG_PARAVIRT
...rings =3D (void *)hdr + sechdrs[hdr->e_shstrndx].sh_offset; + + for (i =3D 1; i < hdr->e_shnum; i++) { + if (!(sechdrs[i].sh_flags & SHF_ALLOC)) + continue; + + sechdrs[i].sh_addr +=3D VDSO_HIGH_BASE; + if (strcmp(secstrings+sechdrs[i].sh_name, ".dynsym") =3D=3D 0) { + Elf32_Sym *sym =3D (void *)hdr + sechdrs[i].sh_offset; + n =3D sechdrs[i].sh_size / sizeof(*sym); + for (j =3D 1; j < n; j++) { + int ndx =3D sym[j].st_shndx; + if (ndx =3D=3D SHN_UNDEF || ndx =3D=3D SHN_ABS) + continue; + sym[j].st_value +=3D VDSO_HIGH_BASE; + } + } else if (strcmp...
2007 Apr 18
2
[RFC, PATCH] Fixup COMPAT_VDSO to work with CONFIG_PARAVIRT
...rings =3D (void *)hdr + sechdrs[hdr->e_shstrndx].sh_offset; + + for (i =3D 1; i < hdr->e_shnum; i++) { + if (!(sechdrs[i].sh_flags & SHF_ALLOC)) + continue; + + sechdrs[i].sh_addr +=3D VDSO_HIGH_BASE; + if (strcmp(secstrings+sechdrs[i].sh_name, ".dynsym") =3D=3D 0) { + Elf32_Sym *sym =3D (void *)hdr + sechdrs[i].sh_offset; + n =3D sechdrs[i].sh_size / sizeof(*sym); + for (j =3D 1; j < n; j++) { + int ndx =3D sym[j].st_shndx; + if (ndx =3D=3D SHN_UNDEF || ndx =3D=3D SHN_ABS) + continue; + sym[j].st_value +=3D VDSO_HIGH_BASE; + } + } else if (strcmp...
2007 Dec 10
1
[git patch] m-i-t support, ipconfig fix
...+ #endif /* _SYS_ELF32_H */ diff --git a/usr/include/sys/elf64.h b/usr/include/sys/elf64.h index 0b486ac..877b7cd 100644 --- a/usr/include/sys/elf64.h +++ b/usr/include/sys/elf64.h @@ -110,4 +110,8 @@ typedef struct elf64_note { Elf64_Word n_type; /* Content type */ } Elf64_Nhdr; +/* Both Elf32_Sym and Elf64_Sym use the same one-byte st_info field. */ +#define ELF64_ST_BIND(val) ELF32_ST_BIND (val) +#define ELF64_ST_TYPE(val) ELF32_ST_TYPE (val) + #endif /* _SYS_ELF64_H */ diff --git a/usr/include/sys/elfcommon.h b/usr/include/sys/elfcommon.h index 0d81db5..ad5e459 100644 --- a/usr/inc...
2003 Jan 07
1
klibc-0.72 released
This adds [f]getc() and fgets() for parsing config files. Probably hard to avoid. Still trying to decide if I actually want to add system() or not. -hpa
2012 Aug 14
1
[GIT PULL] elflink fixes
...*begin = NULL; + + for_each_module(mod) { + if (!strcmp(mod->name, name)) { + begin = mod; + break; + } + } + + if (!begin) + return begin; + + for_each_module_safe(mod, m) { + if (mod == begin) + break; + + if (mod != begin) + module_unload(mod); + } + + return begin; +} + static Elf32_Sym *module_find_symbol_sysv(const char *name, struct elf_module *module) { unsigned long h = elf_hash((const unsigned char*)name); Elf32_Word *cr_word = module->hash_table; diff --git a/com32/lib/sys/module/elf_module.c b/com32/lib/sys/module/elf_module.c index dbb5afe..b220e1a 100644 --- a/com...
2019 May 01
4
RFC - a proposal to support additional symbol metadata in ELF object files in the ARM compiler
...> > > Elf32_Word st_size; > > > > > > unsigned char st_info; > > > > > > unsigned char st_other; > > > > > > Elf32_Half st_shndx; > > > > > > } Elf32_Sym; > > > > > > > > > > > > typedef struct { > > > > > > Elf64_Word st_name; > > > > > > unsigned char st_info; > > > > > > unsigned char st_othe...
2007 Sep 22
3
[git patch] module-init-tools fixes
...+ #endif /* _SYS_ELF32_H */ diff --git a/usr/include/sys/elf64.h b/usr/include/sys/elf64.h index 0b486ac..877b7cd 100644 --- a/usr/include/sys/elf64.h +++ b/usr/include/sys/elf64.h @@ -110,4 +110,8 @@ typedef struct elf64_note { Elf64_Word n_type; /* Content type */ } Elf64_Nhdr; +/* Both Elf32_Sym and Elf64_Sym use the same one-byte st_info field. */ +#define ELF64_ST_BIND(val) ELF32_ST_BIND (val) +#define ELF64_ST_TYPE(val) ELF32_ST_TYPE (val) + #endif /* _SYS_ELF64_H */ diff --git a/usr/include/sys/elfcommon.h b/usr/include/sys/elfcommon.h index 0d81db5..ad5e459 100644 --- a/usr/inc...
2019 May 06
2
[EXTERNAL] Re: RFC - a proposal to support additional symbol metadata in ELF object files in the ARM compiler
...> > > Elf32_Word st_size; > > > > > > unsigned char st_info; > > > > > > unsigned char st_other; > > > > > > Elf32_Half st_shndx; > > > > > > } Elf32_Sym; > > > > > > > > > > > > typedef struct { > > > > > > Elf64_Word st_name; > > > > > > unsigned char st_info; > > > > > > unsigned char st_othe...
2007 Apr 18
1
[RFC, PATCH 7/24] i386 Vmi memory hole
Create a configurable hole in the linear address space at the top of memory. A more advanced interface is needed to negotiate how much space the hypervisor is allowed to steal, but in the end, it seems most likely that a fixed constant size will be chosen for the compiled kernel, potentially propagated to an information page used by paravirtual initialization to determine interface compatibility.
2007 Apr 18
1
[RFC, PATCH 7/24] i386 Vmi memory hole
Create a configurable hole in the linear address space at the top of memory. A more advanced interface is needed to negotiate how much space the hypervisor is allowed to steal, but in the end, it seems most likely that a fixed constant size will be chosen for the compiled kernel, potentially propagated to an information page used by paravirtual initialization to determine interface compatibility.
2019 May 07
2
[EXTERNAL] Re: RFC - a proposal to support additional symbol metadata in ELF object files in the ARM compiler
...> >> > > > unsigned char st_info; >> > > > >> > > > unsigned char st_other; >> > > > >> > > > Elf32_Half st_shndx; >> > > > >> > > > } Elf32_Sym; >> > > > >> > > > >> > > > >> > > > typedef struct { >> > > > >> > > > Elf64_Word st_name; >> > > > >> > > > unsigned char st_i...
2007 Apr 18
1
[PATCH, experimental] i386 Allow the fixmap to be relocated at boot time
...=3D (void *)hdr + sechdrs[hdr->e_shstrndx].sh_offset; + + for (i =3D 1; i < hdr->e_shnum; i++) { + if (!(sechdrs[i].sh_flags & SHF_ALLOC)) + continue; + + sechdrs[i].sh_addr +=3D VSYSCALL_RELOCATION; + if (strcmp(secstrings+sechdrs[i].sh_name, ".dynsym") =3D=3D 0) { + Elf32_Sym *sym =3D (void *)hdr + sechdrs[i].sh_offset; + n =3D sechdrs[i].sh_size / sizeof(*sym); + for (j =3D 1; j < n; j++) { + int ndx =3D sym[j].st_shndx; + if (ndx =3D=3D SHN_UNDEF || ndx =3D=3D SHN_ABS) + continue; + sym[j].st_value +=3D VSYSCALL_RELOCATION; + } + } else if (s...