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...