diff options
| author | Khem Raj <kraj@mvista.com> | 2009-03-16 22:18:05 +0000 |
|---|---|---|
| committer | Khem Raj <kraj@mvista.com> | 2009-03-16 22:18:05 +0000 |
| commit | dd18c96de380689533d5d0c71f487d32cc2f75fb (patch) | |
| tree | b483dcc832de1d4a3fb0e9b2d8404759e38ac7e1 /libc | |
| parent | d05d1f200b65042c806466baf7e30e1885ab56dc (diff) | |
| download | uClibc-alpine-dd18c96de380689533d5d0c71f487d32cc2f75fb.tar.bz2 uClibc-alpine-dd18c96de380689533d5d0c71f487d32cc2f75fb.tar.xz | |
Merged revisions 25669-25670,25673-25674 via svnmerge from
svn+ssh://svn.uclibc.org/svn/trunk/uClibc
........
r25669 | vapier | 2009-03-15 23:14:34 -0700 (Sun, 15 Mar 2009) | 1 line
import user.h from the kernel as it is no longer exported by the kernel
........
r25670 | vapier | 2009-03-15 23:16:15 -0700 (Sun, 15 Mar 2009) | 1 line
enable mprotect() regardless of MMU as some systems have MPUs which allows memory protection
........
r25673 | carmelo | 2009-03-16 06:33:27 -0700 (Mon, 16 Mar 2009) | 2 lines
Added string.h header for strerr prototype.
........
r25674 | carmelo | 2009-03-16 06:36:39 -0700 (Mon, 16 Mar 2009) | 10 lines
Fixed makefiles inclusion flow to pass actual configuration variable values.
Test build system modified to be similar to uClibc one:
* test custom logic moved from Makefile to a new Makefile.in (to be included
by Makefile).
* Makefile same for all tests and just used for including all other needed
makefiles.
Signed-off-by: Salvatore Cro <salvatore.cro@st.com>
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
........
Diffstat (limited to 'libc')
| -rw-r--r-- | libc/sysdeps/linux/bfin/sys/user.h | 57 | ||||
| -rw-r--r-- | libc/sysdeps/linux/common/mprotect.c | 2 |
2 files changed, 58 insertions, 1 deletions
diff --git a/libc/sysdeps/linux/bfin/sys/user.h b/libc/sysdeps/linux/bfin/sys/user.h new file mode 100644 index 000000000..558abd6ad --- /dev/null +++ b/libc/sysdeps/linux/bfin/sys/user.h @@ -0,0 +1,57 @@ +#ifndef _SYS_USER_H +#define _SYS_USER_H + +struct user_bfinfp_struct { +}; + +/* This is the old layout of "struct pt_regs" as of Linux 1.x, and + is still the layout used by user (the new pt_regs doesn't have + all registers). */ +struct user_regs_struct { + long r0, r1, r2, r3, r4, r5, r6, r7; + long p0, p1, p2, p3, p4, p5, usp, fp; + long i0, i1, i2, i3; + long l0, l1, l2, l3; + long b0, b1, b2, b3; + long m0, m1, m2, m3; + long a0w, a1w; + long a0x, a1x; + unsigned long rets; + unsigned long astat; + unsigned long pc; + unsigned long orig_p0; +}; + +/* When the kernel dumps core, it starts by dumping the user struct - + this will be used by gdb to figure out where the data and stack segments + are within the file, and what virtual addresses to use. */ + +struct user { +/* We start with the registers, to mimic the way that "memory" is returned + from the ptrace(3,...) function. */ + + struct user_regs_struct regs; /* Where the registers are actually stored */ + +/* The rest of this junk is to help gdb figure out what goes where */ + unsigned long int u_tsize; /* Text segment size (pages). */ + unsigned long int u_dsize; /* Data segment size (pages). */ + unsigned long int u_ssize; /* Stack segment size (pages). */ + unsigned long start_code; /* Starting virtual address of text. */ + unsigned long start_stack; /* Starting virtual address of stack area. + This is actually the bottom of the stack, + the top of the stack is always found in the + esp register. */ + long int signal; /* Signal that caused the core dump. */ + int reserved; /* No longer used */ + unsigned long u_ar0; + /* Used by gdb to help find the values for */ + /* the registers. */ + unsigned long magic; /* To uniquely identify a core file */ + char u_comm[32]; /* User command that was responsible */ +}; +#define NBPG PAGE_SIZE +#define UPAGES 1 +#define HOST_TEXT_START_ADDR (u.start_code) +#define HOST_STACK_END_ADDR (u.start_stack + u.u_ssize * NBPG) + +#endif diff --git a/libc/sysdeps/linux/common/mprotect.c b/libc/sysdeps/linux/common/mprotect.c index a0e7610fd..d60fc04d6 100644 --- a/libc/sysdeps/linux/common/mprotect.c +++ b/libc/sysdeps/linux/common/mprotect.c @@ -10,6 +10,6 @@ #include <sys/syscall.h> #include <sys/mman.h> -#if defined __ARCH_USE_MMU__ && defined __NR_mprotect +#if defined __NR_mprotect _syscall3(int, mprotect, void *, addr, size_t, len, int, prot) #endif |
