diff options
Diffstat (limited to 'sysdeps/unix')
-rw-r--r-- | sysdeps/unix/arm/sysdep.h | 2 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/arm/profil-counter.h | 26 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/arm/syscall.S | 8 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/arm/sysdep.h | 34 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/i386/sysdep.h | 36 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/netinet/in.h | 2 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/shmat.c | 2 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/socketbits.h | 8 |
8 files changed, 74 insertions, 44 deletions
diff --git a/sysdeps/unix/arm/sysdep.h b/sysdeps/unix/arm/sysdep.h index 1c580731ba..b1860dd443 100644 --- a/sysdeps/unix/arm/sysdep.h +++ b/sysdeps/unix/arm/sysdep.h @@ -19,7 +19,7 @@ Cambridge, MA 02139, USA. */ #include <sysdeps/unix/sysdep.h> #include <sysdeps/arm/sysdep.h> -/* Some definitions to allow the assembler in sysdeps/unix/*.S to build +/* Some definitions to allow the assembler in sysdeps/unix/ to build without needing ARM-specific versions of all the files. */ #define ret RETINSTR(mov, pc, r14) diff --git a/sysdeps/unix/sysv/linux/arm/profil-counter.h b/sysdeps/unix/sysv/linux/arm/profil-counter.h new file mode 100644 index 0000000000..a915da7788 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arm/profil-counter.h @@ -0,0 +1,26 @@ +/* Low-level statistical profiling support function. Linux/ARM version. + Copyright (C) 1996, 1997 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#include <sigcontext.h> + +void +profil_counter (int signo, struct sigcontext sc) +{ + profil_count ((void *) sc.eip); +} diff --git a/sysdeps/unix/sysv/linux/arm/syscall.S b/sysdeps/unix/sysv/linux/arm/syscall.S index 7a87278303..bc2bc7dbaa 100644 --- a/sysdeps/unix/sysv/linux/arm/syscall.S +++ b/sysdeps/unix/sysv/linux/arm/syscall.S @@ -1,4 +1,4 @@ -/* Copyright (C) 1995, 1996 Free Software Foundation, Inc. +/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -26,10 +26,10 @@ ENTRY (syscall) /* Normally encoding the system call number in the instruction is good. But we pay the price here. */ - + sub sp, sp, $0xc @ get 3 words on the stack orr r0, r0, $0xef000000 @ make up a SWI instruction - orr r0, r0, $SWI_BASE + orr r0, r0, $SWI_BASE str r0, [sp] ldr r0, _reti str r0, [sp, $4] @@ -43,5 +43,5 @@ _ret: add sp, sp, $0xc RETINSTR(mov, pc, r14) _reti: .word 0xe51ff004 @ ldr pc, [pc, $4] - + PSEUDO_END (syscall) diff --git a/sysdeps/unix/sysv/linux/arm/sysdep.h b/sysdeps/unix/sysv/linux/arm/sysdep.h index 6478a5d182..0aa085d351 100644 --- a/sysdeps/unix/sysv/linux/arm/sysdep.h +++ b/sysdeps/unix/sysv/linux/arm/sysdep.h @@ -1,22 +1,22 @@ /* Copyright (C) 1992, 93, 95, 96, 97 Free Software Foundation, Inc. -This file is part of the GNU C Library. -Contributed by Ulrich Drepper, <drepper@gnu.ai.mit.edu>, August 1995. -ARM changes by Philip Blundell, <pjb27@cam.ac.uk>, May 1997. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper, <drepper@gnu.ai.mit.edu>, August 1995. + ARM changes by Philip Blundell, <pjb27@cam.ac.uk>, May 1997. -The GNU C Library is free software; you can redistribute it and/or -modify it under the terms of the GNU Library General Public License as -published by the Free Software Foundation; either version 2 of the -License, or (at your option) any later version. + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. -The GNU C Library is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -Library General Public License for more details. + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. -You should have received a copy of the GNU Library General Public -License along with the GNU C Library; see the file COPYING.LIB. If -not, write to the Free Software Foundation, Inc., 675 Mass Ave, -Cambridge, MA 02139, USA. */ + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ #ifndef _LINUX_ARM_SYSDEP_H #define _LINUX_ARM_SYSDEP_H 1 @@ -61,12 +61,12 @@ Cambridge, MA 02139, USA. */ #ifndef PIC #define SYSCALL_ERROR_HANDLER /* Nothing here; code in sysdep.S is used. */ #else -#error Aiee +#error Aiee #endif /* PIC */ #undef DO_CALL #define DO_CALL(args, syscall_name) \ - swi SYS_ify (syscall_name); + swi SYS_ify (syscall_name); #endif /* ASSEMBLER */ diff --git a/sysdeps/unix/sysv/linux/i386/sysdep.h b/sysdeps/unix/sysv/linux/i386/sysdep.h index 7418982c2a..a38e4b3531 100644 --- a/sysdeps/unix/sysv/linux/i386/sysdep.h +++ b/sysdeps/unix/sysv/linux/i386/sysdep.h @@ -1,21 +1,21 @@ -/* Copyright (C) 1992, 93, 95, 96 Free Software Foundation, Inc. -This file is part of the GNU C Library. -Contributed by Ulrich Drepper, <drepper@gnu.ai.mit.edu>, August 1995. - -The GNU C Library is free software; you can redistribute it and/or -modify it under the terms of the GNU Library General Public License as -published by the Free Software Foundation; either version 2 of the -License, or (at your option) any later version. - -The GNU C Library is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -Library General Public License for more details. - -You should have received a copy of the GNU Library General Public -License along with the GNU C Library; see the file COPYING.LIB. If -not, write to the Free Software Foundation, Inc., 675 Mass Ave, -Cambridge, MA 02139, USA. */ +/* Copyright (C) 1992, 93, 95, 96, 97 Free Software Foundation, Inc. + This file is part of the GNU C Library. + Contributed by Ulrich Drepper, <drepper@gnu.ai.mit.edu>, August 1995. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ #ifndef _LINUX_I386_SYSDEP_H #define _LINUX_I386_SYSDEP_H 1 diff --git a/sysdeps/unix/sysv/linux/netinet/in.h b/sysdeps/unix/sysv/linux/netinet/in.h index 451f8f5a20..b0c793e7cf 100644 --- a/sysdeps/unix/sysv/linux/netinet/in.h +++ b/sysdeps/unix/sysv/linux/netinet/in.h @@ -301,7 +301,7 @@ extern u_int16_t htons __P ((u_int16_t __hostshort)); (((u_int32_t *)(a))[2] == 0) && (ntohl(((u_int32_t *)(a))[3]) > 1)) -/* Bind socket to a priviledged IP port. */ +/* Bind socket to a privileged IP port. */ extern int bindresvport __P ((int __sockfd, struct sockaddr_in *__sin)); diff --git a/sysdeps/unix/sysv/linux/shmat.c b/sysdeps/unix/sysv/linux/shmat.c index 070b00c30f..9d36b26aa2 100644 --- a/sysdeps/unix/sysv/linux/shmat.c +++ b/sysdeps/unix/sysv/linux/shmat.c @@ -32,7 +32,7 @@ shmat (shmid, shmaddr, shmflg) int retval; unsigned long raddr; - retval = __ipc (IPCOP_shmat, shmid, shmflg, (int) &raddr, shmaddr); + retval = __ipc (IPCOP_shmat, shmid, shmflg, (int) &raddr, (void *) shmaddr); return ((unsigned long int) retval > -(unsigned long int) SHMLBA ? (void *) retval : (void *) raddr); } diff --git a/sysdeps/unix/sysv/linux/socketbits.h b/sysdeps/unix/sysv/linux/socketbits.h index 101afc268c..e60f903fc5 100644 --- a/sysdeps/unix/sysv/linux/socketbits.h +++ b/sysdeps/unix/sysv/linux/socketbits.h @@ -158,9 +158,13 @@ struct cmsghdr #endif #define CMSG_NXTHDR(mhdr, cmsg) __cmsg_nxthdr (mhdr, cmsg) #define CMSG_FIRSTHDR(mhdr) \ - ((size_t) (mhdr)->msg_controllen >= sizeof (struct cmsghdr) \ + ((size_t) (mhdr)->msg_controllen >= sizeof (struct cmsghdr) \ ? (struct cmsghdr *) (mhdr)->msg_control : (struct cmsghdr *) NULL) - +#define CMSG_ALIGN(len) (((len) + sizeof (size_t) - 1) \ + & ~(sizeof (size_t) - 1)) +#define CMSG_SPACE(len) (CMSG_ALIGN (len) \ + + CMSG_ALIGN (sizeof (struct cmsghdr))) +#define CMSG_LEN(len) (CMSG_ALIGN (sizeof (struct cmsghdr)) + (len)) #ifndef _EXTERN_INLINE # define _EXTERN_INLINE extern __inline |