Displaying 20 results from an estimated 24 matches for "d_un".
2007 Mar 05
7
[PATCH 2/10] linux 2.6.18: COMPAT_VDSO
...case DT_HASH:
+ case DT_STRTAB:
+ case DT_SYMTAB:
+ case 0x6ffffff0: /* DT_VERSYM */
+ case 0x6ffffffc: /* DT_VERDEF */
+ break;
+ case DT_SONAME:
+ case DT_STRSZ:
+ case 0x6ffffffd: /* DT_VERDEFNUM */
+ continue;
+ case DT_SYMENT:
+ szdynsym = dyn[j].d_un.d_val;
+ continue;
+ default:
+ if (dyn[j].d_tag >= 0x60000000 /* OLD_DT_LOOS */
+ || dyn[j].d_tag < 31 /* DT_ENCODING */
+ || !(dyn[j].d_tag & 1)) {
+ printk(KERN_WARNING "vDSO dynamic info %u has unsupported tag
%08X\n", j, dyn[j].d_tag);...
2007 Mar 05
7
[PATCH 2/10] linux 2.6.18: COMPAT_VDSO
...case DT_HASH:
+ case DT_STRTAB:
+ case DT_SYMTAB:
+ case 0x6ffffff0: /* DT_VERSYM */
+ case 0x6ffffffc: /* DT_VERDEF */
+ break;
+ case DT_SONAME:
+ case DT_STRSZ:
+ case 0x6ffffffd: /* DT_VERDEFNUM */
+ continue;
+ case DT_SYMENT:
+ szdynsym = dyn[j].d_un.d_val;
+ continue;
+ default:
+ if (dyn[j].d_tag >= 0x60000000 /* OLD_DT_LOOS */
+ || dyn[j].d_tag < 31 /* DT_ENCODING */
+ || !(dyn[j].d_tag & 1)) {
+ printk(KERN_WARNING "vDSO dynamic info %u has unsupported tag
%08X\n", j, dyn[j].d_tag);...
2007 Mar 05
7
[PATCH 2/10] linux 2.6.18: COMPAT_VDSO
...case DT_HASH:
+ case DT_STRTAB:
+ case DT_SYMTAB:
+ case 0x6ffffff0: /* DT_VERSYM */
+ case 0x6ffffffc: /* DT_VERDEF */
+ break;
+ case DT_SONAME:
+ case DT_STRSZ:
+ case 0x6ffffffd: /* DT_VERDEFNUM */
+ continue;
+ case DT_SYMENT:
+ szdynsym = dyn[j].d_un.d_val;
+ continue;
+ default:
+ if (dyn[j].d_tag >= 0x60000000 /* OLD_DT_LOOS */
+ || dyn[j].d_tag < 31 /* DT_ENCODING */
+ || !(dyn[j].d_tag & 1)) {
+ printk(KERN_WARNING "vDSO dynamic info %u has unsupported tag
%08X\n", j, dyn[j].d_tag);...
2007 Apr 18
4
[patch 0/4] Clean up asm/bugs.h, identify_cpu() and update COMPAT_VDSO
Hi Andi,
Four patches:
- clean up asm/bugs.h, by moving all the C code into its own C file
- split identify_cpu() into boot and secondary variants, so that
boot-time setup functions can be marked __init
- repost of the COMPAT_VDSO patches with a bit more robustness from
unknown DT_tags, and functions marked __init, since all this is
boot-time only setup.
Thanks,
J
--
2007 Apr 18
4
[patch 0/4] Clean up asm/bugs.h, identify_cpu() and update COMPAT_VDSO
Hi Andi,
Four patches:
- clean up asm/bugs.h, by moving all the C code into its own C file
- split identify_cpu() into boot and secondary variants, so that
boot-time setup functions can be marked __init
- repost of the COMPAT_VDSO patches with a bit more robustness from
unknown DT_tags, and functions marked __init, since all this is
boot-time only setup.
Thanks,
J
--
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.
2007 Jun 01
2
another RFC patch: bzImage with ELF payload
...s */
#define PT_NULL 0
@@ -124,6 +126,7 @@ typedef __s64 Elf64_Sxword;
#define ELF64_ST_BIND(x) ELF_ST_BIND(x)
#define ELF64_ST_TYPE(x) ELF_ST_TYPE(x)
+#ifndef __ASSEMBLY__
struct elf32_dyn {
Elf32_Sword d_tag;
union{
@@ -139,6 +142,7 @@ struct elf64_dyn {
Elf64_Addr d_ptr;
} d_un;
};
+#endif /* __ASSEMBLY__ */
/* The following are used with relocations */
#define ELF32_R_SYM(x) ((x) >> 8)
@@ -147,6 +151,7 @@ struct elf64_dyn {
#define ELF64_R_SYM(i) ((i) >> 32)
#define ELF64_R_TYPE(i) ((i) & 0xffffffff)
+#ifndef __ASSEMBLY__
struct elf32_rel {...
2007 Jun 01
2
another RFC patch: bzImage with ELF payload
...s */
#define PT_NULL 0
@@ -124,6 +126,7 @@ typedef __s64 Elf64_Sxword;
#define ELF64_ST_BIND(x) ELF_ST_BIND(x)
#define ELF64_ST_TYPE(x) ELF_ST_TYPE(x)
+#ifndef __ASSEMBLY__
struct elf32_dyn {
Elf32_Sword d_tag;
union{
@@ -139,6 +142,7 @@ struct elf64_dyn {
Elf64_Addr d_ptr;
} d_un;
};
+#endif /* __ASSEMBLY__ */
/* The following are used with relocations */
#define ELF32_R_SYM(x) ((x) >> 8)
@@ -147,6 +151,7 @@ struct elf64_dyn {
#define ELF64_R_SYM(i) ((i) >> 32)
#define ELF64_R_TYPE(i) ((i) & 0xffffffff)
+#ifndef __ASSEMBLY__
struct elf32_rel {...
2007 May 31
1
[patch rfc wip] first cut of ELF bzImage
.../
#define PT_NULL 0
@@ -123,6 +125,7 @@ typedef __s64 Elf64_Sxword;
#define ELF64_ST_BIND(x) ELF_ST_BIND(x)
#define ELF64_ST_TYPE(x) ELF_ST_TYPE(x)
+#ifndef __ASSEMBLY__
typedef struct dynamic{
Elf32_Sword d_tag;
union{
@@ -138,6 +141,7 @@ typedef struct {
Elf64_Addr d_ptr;
} d_un;
} Elf64_Dyn;
+#endif /* __ASSEMBLY__ */
/* The following are used with relocations */
#define ELF32_R_SYM(x) ((x) >> 8)
@@ -146,6 +150,7 @@ typedef struct {
#define ELF64_R_SYM(i) ((i) >> 32)
#define ELF64_R_TYPE(i) ((i) & 0xffffffff)
+#ifndef __ASSEMBLY__
typedef str...
2007 May 31
1
[patch rfc wip] first cut of ELF bzImage
.../
#define PT_NULL 0
@@ -123,6 +125,7 @@ typedef __s64 Elf64_Sxword;
#define ELF64_ST_BIND(x) ELF_ST_BIND(x)
#define ELF64_ST_TYPE(x) ELF_ST_TYPE(x)
+#ifndef __ASSEMBLY__
typedef struct dynamic{
Elf32_Sword d_tag;
union{
@@ -138,6 +141,7 @@ typedef struct {
Elf64_Addr d_ptr;
} d_un;
} Elf64_Dyn;
+#endif /* __ASSEMBLY__ */
/* The following are used with relocations */
#define ELF32_R_SYM(x) ((x) >> 8)
@@ -146,6 +150,7 @@ typedef struct {
#define ELF64_R_SYM(i) ((i) >> 32)
#define ELF64_R_TYPE(i) ((i) & 0xffffffff)
+#ifndef __ASSEMBLY__
typedef str...
2007 Apr 18
1
[PATCH, experimental] i386 Allow the fixmap to be relocated at boot time
...DT_HASH ||
+ tag =3D=3D DT_STRTAB || tag =3D=3D DT_SYMTAB ||
+ tag =3D=3D DT_RELA || tag =3D=3D DT_INIT ||
+ tag =3D=3D DT_FINI || tag =3D=3D DT_REL ||
+ tag =3D=3D DT_JMPREL || tag =3D=3D DT_VERSYM ||
+ tag =3D=3D DT_VERDEF || tag =3D=3D DT_VERNEED)
+ dyn->d_un.d_val +=3D VSYSCALL_RELOCATION;
+ }
+ } else if (strcmp(secstrings+sechdrs[i].sh_name, ".useless") =3D=3D 0) {
+ uint32_t *got =3D (void *)hdr + sechdrs[i].sh_offset;
+ *got +=3D VSYSCALL_RELOCATION;
+ }
+ }
+ phdr =3D (void *)hdr + hdr->e_phoff;
+ for (i =3D 0; i < hdr->...
2007 Apr 18
1
[PATCH, experimental] i386 Allow the fixmap to be relocated at boot time
...DT_HASH ||
+ tag =3D=3D DT_STRTAB || tag =3D=3D DT_SYMTAB ||
+ tag =3D=3D DT_RELA || tag =3D=3D DT_INIT ||
+ tag =3D=3D DT_FINI || tag =3D=3D DT_REL ||
+ tag =3D=3D DT_JMPREL || tag =3D=3D DT_VERSYM ||
+ tag =3D=3D DT_VERDEF || tag =3D=3D DT_VERNEED)
+ dyn->d_un.d_val +=3D VSYSCALL_RELOCATION;
+ }
+ } else if (strcmp(secstrings+sechdrs[i].sh_name, ".useless") =3D=3D 0) {
+ uint32_t *got =3D (void *)hdr + sechdrs[i].sh_offset;
+ *got +=3D VSYSCALL_RELOCATION;
+ }
+ }
+ phdr =3D (void *)hdr + hdr->e_phoff;
+ for (i =3D 0; i < hdr->...
2012 Jun 26
2
[GIT PULL] elflink bug fixes
...lf_module *module) {
Elf32_Dyn *dyn_entry = module->dyn_table;
@@ -196,8 +191,8 @@ static int prepare_dynlinking(struct elf_module *module) {
* are then inform the user that we ran out of
* space.
*/
- if (nr_needed < MAX_NR_DEPS)
- needed[nr_needed++] = dyn_entry->d_un.d_ptr;
+ if (module->nr_needed < MAX_NR_DEPS)
+ module->needed[module->nr_needed++] = dyn_entry->d_un.d_ptr;
else {
printf("Too many dependencies!\n");
return -1;
@@ -502,40 +497,37 @@ int module_load(struct elf_module *module) {
CHECKED(res, load_segme...
2007 Apr 18
2
[RFC, PATCH] Fixup COMPAT_VDSO to work with CONFIG_PARAVIRT
...;d_tag) !=3D DT_NULL)
+ switch(tag) {
+ case DT_PLTGOT:
+ case DT_HASH:
+ case DT_STRTAB:
+ case DT_SYMTAB:
+ case DT_RELA:
+ case DT_INIT:
+ case DT_FINI:
+ case DT_REL:
+ case DT_JMPREL:
+ case DT_VERSYM:
+ case DT_VERDEF:
+ case DT_VERNEED:
+ dyn->d_un.d_val +=3D VDSO_HIGH_BASE;
+ }
+ } else if (strcmp(secstrings+sechdrs[i].sh_name, ".useless") =3D=3D 0) {
+ /* This is demonic; see vsyscall.lds.S; it puts the
+ * .got in a section named .useless */
+ uint32_t *got =3D (void *)hdr + sechdrs[i].sh_offset;
+ *got +=3D VDSO_HIGH...
2007 Apr 18
2
[RFC, PATCH] Fixup COMPAT_VDSO to work with CONFIG_PARAVIRT
...;d_tag) !=3D DT_NULL)
+ switch(tag) {
+ case DT_PLTGOT:
+ case DT_HASH:
+ case DT_STRTAB:
+ case DT_SYMTAB:
+ case DT_RELA:
+ case DT_INIT:
+ case DT_FINI:
+ case DT_REL:
+ case DT_JMPREL:
+ case DT_VERSYM:
+ case DT_VERDEF:
+ case DT_VERNEED:
+ dyn->d_un.d_val +=3D VDSO_HIGH_BASE;
+ }
+ } else if (strcmp(secstrings+sechdrs[i].sh_name, ".useless") =3D=3D 0) {
+ /* This is demonic; see vsyscall.lds.S; it puts the
+ * .got in a section named .useless */
+ uint32_t *got =3D (void *)hdr + sechdrs[i].sh_offset;
+ *got +=3D VDSO_HIGH...
2007 Apr 18
4
[patch 0/2] Updates to compat VDSOs
Hi Andi,
Here's a couple of patches to fix up COMPAT_VDSO:
The first is a straightforward implementation of Jan's original idea
of relocating the VDSO to match its mapped location. Unlike Jan and
Zach's version, I changed it to relocate based on the phdrs rather than
the sections; the result is pleasantly compact.
The second patch takes advantage of the fact that all the
2007 Apr 18
4
[patch 0/2] Updates to compat VDSOs
Hi Andi,
Here's a couple of patches to fix up COMPAT_VDSO:
The first is a straightforward implementation of Jan's original idea
of relocating the VDSO to match its mapped location. Unlike Jan and
Zach's version, I changed it to relocate based on the phdrs rather than
the sections; the result is pleasantly compact.
The second patch takes advantage of the fact that all the
2007 Jun 06
7
[PATCH RFC 0/7] proposed updates to boot protocol and paravirt booting
This series:
1. Updates the boot protocol to version 2.07
2. Clean up the existing build process, to get rid of tools/build and
make the linker do more heavy lifting
3. Make the bzImage payload an ELF file. The bootloader can extract
this as a naked ELF file by skipping over boot_params.setup_sects worth
of 16-bit setup code.
4. Update the boot_params to 2.07, and update the
2007 Jun 06
7
[PATCH RFC 0/7] proposed updates to boot protocol and paravirt booting
This series:
1. Updates the boot protocol to version 2.07
2. Clean up the existing build process, to get rid of tools/build and
make the linker do more heavy lifting
3. Make the bzImage payload an ELF file. The bootloader can extract
this as a naked ELF file by skipping over boot_params.setup_sects worth
of 16-bit setup code.
4. Update the boot_params to 2.07, and update the