search for: elfdata

Displaying 7 results from an estimated 7 matches for "elfdata".

Did you mean: elf_data
2014 Jan 25
0
[klibc:master] auxv: convert auxiliary vector into an array; define getauxval()
..._init.c */ @@ -35,12 +36,14 @@ char **environ; unsigned int __page_size, __page_shift; struct auxentry { - uintptr_t type; - uintptr_t v; + unsigned long type; + unsigned long v; }; extern void __init_stdio(void); +unsigned long __auxval[_AUXVAL_MAX]; + __noreturn __libc_init(uintptr_t * elfdata, void (*onexit) (void)) { int argc; @@ -76,20 +79,16 @@ __noreturn __libc_init(uintptr_t * elfdata, void (*onexit) (void)) auxentry = (struct auxentry *)(envend + 1); while (auxentry->type) { - switch (auxentry->type) { -#if SHARED - case AT_ENTRY: - MAIN = (main_t) (auxentry-&gt...
2014 Apr 09
0
[klibc:master] Move architecture-specific initialization to arch/
...tatic_init.c or __shared_init.c */ @@ -40,7 +41,8 @@ struct auxentry { unsigned long v; }; -extern void __init_stdio(void); +extern void __libc_init_stdio(void); +extern void __libc_archinit(void); unsigned long __auxval[_AUXVAL_MAX]; @@ -90,20 +92,11 @@ __noreturn __libc_init(uintptr_t * elfdata, void (*onexit) (void)) __page_size = page_size = __auxval[AT_PAGESZ]; -#ifdef __i386__ - { - extern void (*__syscall_entry)(int, ...); - if (__auxval[AT_SYSINFO]) - __syscall_entry = (void (*)(int, ...)) - __auxval[AT_SYSINFO]; - } -#endif - #if __GNUC__ >= 4 /* unsigned int is...
2014 Jan 25
0
[klibc:master] i386: use the vdso for system calls on i386
...- int $0x80 + int $0x80 /* DO NOT call the vdso here! */ pushl %edx cmpl $-4095, %eax jae 1f diff --git a/usr/klibc/libc_init.c b/usr/klibc/libc_init.c index 1087f95..1c6180b 100644 --- a/usr/klibc/libc_init.c +++ b/usr/klibc/libc_init.c @@ -90,6 +90,15 @@ __noreturn __libc_init(uintptr_t * elfdata, void (*onexit) (void)) __page_size = page_size = __auxval[AT_PAGESZ]; +#ifdef __i386__ + { + extern void (*__syscall_entry)(int, ...); + if (__auxval[AT_SYSINFO]) + __syscall_entry = (void (*)(int, ...)) + __auxval[AT_SYSINFO]; + } +#endif + #if __GNUC__ >= 4 /* unsigned int is...
2006 Jun 26
0
[klibc 30/43] parisc support for klibc
...1,37 @@ + .align 4 + + .import $global$, data + .import __libc_init, code + + .global _start + .export _start, ENTRY + .type _start, at function + + .proc + .callinfo + +_start: +/* extend the stack by 64-bytes */ + ldo 64(%sp), %sp + +/* %r25 = argc + * %r24 = argv + * envp = argv + (argc + 1) + * elfdata = (argv - 4) + */ + ldo -4(%r24), %r26 + +/* load global data */ + ldil L%$global$, %dp + ldo R%$global$(%dp), %dp + +/* parisc abi puts the atexit pointer in %r23, see ELF_PLAT_INIT() */ + copy %r23, %r25 + +/* branch to __libc_init */ + bl __libc_init,%r2 + nop +/* break miserably if we ever retu...
2012 Jan 29
5
[PATCH 0/2 v3] mkstemp() and m68k support
Hi, after a year, I decided to hack on klibc again. I?ve reworked both the patch to add mkstemp(), discussing to use AT_RANDOM as cheap entropy source on IRC (if there will ever be another entropy consumer, I can quickly write a minimal arc4random() seeded from it, as it has only 16 octets), capable of making a working mksh (static and shared) on amd64/xen, and the m68k support code, leading to
2006 Jun 28
35
[klibc 00/31] klibc as a historyless patchset (updated and reorganized)
I have updated the klibc patchset based on feedback received. In particular, the patchset has been reorganized so as not to break git-bisect. Additionally, this updates the patch base to 2.6.17-git12 (d38b69689c349f35502b92e20dafb30c62d49d63) and klibc 1.4.8; the main difference on the klibc side is removal of obsolete code. This is also available as a git tree at:
2013 Mar 21
0
[LLVMdev] Universal tool for creating your own language and parsing the AST
Hi everyone, I'm writing a language, that will be a "generic language", useful for (I hope) describing any language. It's called Jeebox. I've had success describing C, ObjC, PHP, JavaScript, Java, my own language SpeedyCog, and others. It isn't released YET... but I am working on it. What is the relevance to LLVM? Well... once Jeebox is released... it will remove one