diff options
Diffstat (limited to 'libc/sysdeps/unix/sysv/linux')
38 files changed, 100 insertions, 104 deletions
diff --git a/libc/sysdeps/unix/sysv/linux/a.out.h b/libc/sysdeps/unix/sysv/linux/a.out.h index f0514c93a..e3f4bdd08 100644 --- a/libc/sysdeps/unix/sysv/linux/a.out.h +++ b/libc/sysdeps/unix/sysv/linux/a.out.h @@ -50,7 +50,7 @@ enum machine_type #define NMAGIC 0410 /* Code indicating demand-paged executable. */ #define ZMAGIC 0413 -/* This indicates a demand-paged executable with the header in the text. +/* This indicates a demand-paged executable with the header in the text. The first page is unmapped to help trap NULL pointer references. */ #define QMAGIC 0314 /* Code indicating core file. */ diff --git a/libc/sysdeps/unix/sysv/linux/clock.c b/libc/sysdeps/unix/sysv/linux/clock.c index 5268d33c7..16036bd13 100644 --- a/libc/sysdeps/unix/sysv/linux/clock.c +++ b/libc/sysdeps/unix/sysv/linux/clock.c @@ -1,4 +1,5 @@ -/* Copyright (C) 1991-2013 Free Software Foundation, Inc. +/* Return the time used by the program so far (user time + system time). + Copyright (C) 1991-2013 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 @@ -19,26 +20,21 @@ #include <time.h> #include <unistd.h> -/* Return the time used by the program so far (user time + system time). */ +#if CLOCKS_PER_SEC != 1000000l +# error "CLOCKS_PER_SEC should be 1000000" +#endif + clock_t clock (void) { - struct tms buf; - long clk_tck = __sysconf (_SC_CLK_TCK); - - /* We don't check for errors here. The only error the kernel - returns is EFAULT if the value cannot be written to the struct we - pass a pointer to. Otherwise the kernel returns an `unsigned - long' value which is the number of jiffies since system start. - But this number can be negative (when read as `long') when the - system is up for some time. Ignoring errors should therefore - have no negative impacts but solve the problem. */ - __times (&buf); - - return - (clk_tck <= CLOCKS_PER_SEC) - ? ((unsigned long) buf.tms_utime + buf.tms_stime) * (CLOCKS_PER_SEC - / clk_tck) - : ((unsigned long) buf.tms_utime + buf.tms_stime) / (clk_tck - / CLOCKS_PER_SEC); + struct timespec ts; + + /* clock_gettime shouldn't fail here since CLOCK_PROCESS_CPUTIME_ID is + supported since 2.6.12. Check the return value anyway in case the kernel + barfs on us for some reason. */ + if (__glibc_unlikely (__clock_gettime (CLOCK_PROCESS_CPUTIME_ID, &ts) != 0)) + return (clock_t) -1; + + return (ts.tv_sec * CLOCKS_PER_SEC + + ts.tv_nsec / (1000000000 / CLOCKS_PER_SEC)); } diff --git a/libc/sysdeps/unix/sysv/linux/clock_getcpuclockid.c b/libc/sysdeps/unix/sysv/linux/clock_getcpuclockid.c index 5c89c66a4..e234bdc60 100644 --- a/libc/sysdeps/unix/sysv/linux/clock_getcpuclockid.c +++ b/libc/sysdeps/unix/sysv/linux/clock_getcpuclockid.c @@ -23,7 +23,7 @@ #include "kernel-posix-cpu-timers.h" int -clock_getcpuclockid (pid_t pid, clockid_t *clock_id) +__clock_getcpuclockid (pid_t pid, clockid_t *clock_id) { /* The clockid_t value is a simple computation from the PID. But we do a clock_getres call to validate it. */ @@ -46,4 +46,4 @@ clock_getcpuclockid (pid_t pid, clockid_t *clock_id) else return INTERNAL_SYSCALL_ERRNO (r, err); } -strong_alias (clock_getcpuclockid, __clock_getcpuclockid) +weak_alias (__clock_getcpuclockid, clock_getcpuclockid) diff --git a/libc/sysdeps/unix/sysv/linux/clock_nanosleep.c b/libc/sysdeps/unix/sysv/linux/clock_nanosleep.c index 41bc5e904..2e496d28c 100644 --- a/libc/sysdeps/unix/sysv/linux/clock_nanosleep.c +++ b/libc/sysdeps/unix/sysv/linux/clock_nanosleep.c @@ -26,8 +26,8 @@ /* We can simply use the syscall. The CPU clocks are not supported with this function. */ int -clock_nanosleep (clockid_t clock_id, int flags, const struct timespec *req, - struct timespec *rem) +__clock_nanosleep (clockid_t clock_id, int flags, const struct timespec *req, + struct timespec *rem) { INTERNAL_SYSCALL_DECL (err); int r; @@ -52,4 +52,4 @@ clock_nanosleep (clockid_t clock_id, int flags, const struct timespec *req, return (INTERNAL_SYSCALL_ERROR_P (r, err) ? INTERNAL_SYSCALL_ERRNO (r, err) : 0); } -strong_alias (clock_nanosleep, __clock_nanosleep) +weak_alias (__clock_nanosleep, clock_nanosleep) diff --git a/libc/sysdeps/unix/sysv/linux/getclktck.c b/libc/sysdeps/unix/sysv/linux/getclktck.c index 55e9f4f92..47ec6c06d 100644 --- a/libc/sysdeps/unix/sysv/linux/getclktck.c +++ b/libc/sysdeps/unix/sysv/linux/getclktck.c @@ -25,7 +25,7 @@ /* Return frequency of times(). */ int -__getclktck () +__getclktck (void) { return GLRO(dl_clktck) ?: SYSTEM_CLK_TCK; } diff --git a/libc/sysdeps/unix/sysv/linux/gethostid.c b/libc/sysdeps/unix/sysv/linux/gethostid.c index 78d045a5d..39d6219b2 100644 --- a/libc/sysdeps/unix/sysv/linux/gethostid.c +++ b/libc/sysdeps/unix/sysv/linux/gethostid.c @@ -67,7 +67,7 @@ sethostid (id) # include <netinet/in.h> long int -gethostid () +gethostid (void) { char hostname[MAXHOSTNAMELEN + 1]; size_t buflen; diff --git a/libc/sysdeps/unix/sysv/linux/getpagesize.c b/libc/sysdeps/unix/sysv/linux/getpagesize.c index 2a9184dad..e1454158c 100644 --- a/libc/sysdeps/unix/sysv/linux/getpagesize.c +++ b/libc/sysdeps/unix/sysv/linux/getpagesize.c @@ -24,7 +24,7 @@ /* Return the system page size. */ int -__getpagesize () +__getpagesize (void) { assert (GLRO(dl_pagesize) != 0); return GLRO(dl_pagesize); diff --git a/libc/sysdeps/unix/sysv/linux/getsysstats.c b/libc/sysdeps/unix/sysv/linux/getsysstats.c index 249bd19c3..88f28c9e1 100644 --- a/libc/sysdeps/unix/sysv/linux/getsysstats.c +++ b/libc/sysdeps/unix/sysv/linux/getsysstats.c @@ -124,7 +124,7 @@ next_line (int fd, char *const buffer, char **cp, char **re, int -__get_nprocs () +__get_nprocs (void) { static int cached_result; static time_t timestamp; @@ -234,7 +234,7 @@ weak_alias (__get_nprocs, get_nprocs) /* On some architectures it is possible to distinguish between configured and active cpus. */ int -__get_nprocs_conf () +__get_nprocs_conf (void) { /* XXX Here will come a test for the new system call. */ @@ -333,7 +333,7 @@ phys_pages_info (const char *format) But not all systems have support for the /proc filesystem. If it is not available we return -1 as an error signal. */ long int -__get_phys_pages () +__get_phys_pages (void) { /* XXX Here will come a test for the new system call. */ @@ -354,7 +354,7 @@ weak_alias (__get_phys_pages, get_phys_pages) But not all systems have support for the /proc filesystem. If it is not available we return -1 as an error signal. */ long int -__get_avphys_pages () +__get_avphys_pages (void) { /* XXX Here will come a test for the new system call. */ diff --git a/libc/sysdeps/unix/sysv/linux/lutimes.c b/libc/sysdeps/unix/sysv/linux/lutimes.c index 46d58dcfc..83f040330 100644 --- a/libc/sysdeps/unix/sysv/linux/lutimes.c +++ b/libc/sysdeps/unix/sysv/linux/lutimes.c @@ -45,7 +45,7 @@ lutimes (const char *file, const struct timeval tvp[2]) } return INLINE_SYSCALL (utimensat, 4, AT_FDCWD, file, tvp ? ts : NULL, - AT_SYMLINK_NOFOLLOW); + AT_SYMLINK_NOFOLLOW); #else __set_errno (ENOSYS); return -1; diff --git a/libc/sysdeps/unix/sysv/linux/net/if_ppp.h b/libc/sysdeps/unix/sysv/linux/net/if_ppp.h index bf5ec8387..1b1c3ea6e 100644 --- a/libc/sysdeps/unix/sysv/linux/net/if_ppp.h +++ b/libc/sysdeps/unix/sysv/linux/net/if_ppp.h @@ -3,7 +3,7 @@ /* * if_ppp.h - Point-to-Point Protocol definitions. * - * Copyright (c) 1989 Carnegie Mellon University. + * Copyright (c) 1989 Carnegie Mellon University. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/libc/sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S b/libc/sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S index 5790eff4c..81af26416 100644 --- a/libc/sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S +++ b/libc/sysdeps/unix/sysv/linux/powerpc/powerpc32/clone.S @@ -30,7 +30,7 @@ all the freaky stuff we have to do to make the call useful. */ /* int [r3] clone(int (*fn)(void *arg) [r3], void *child_stack [r4], - int flags [r5], void *arg [r6], void *parent_tid [r7], + int flags [r5], void *arg [r6], void *parent_tid [r7], void *tls [r8], void *child_tid [r9]); */ ENTRY (__clone) diff --git a/libc/sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S b/libc/sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S index f1de10f3f..b97b993cf 100644 --- a/libc/sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S +++ b/libc/sysdeps/unix/sysv/linux/powerpc/powerpc32/setcontext.S @@ -51,8 +51,8 @@ versioned_symbol (libc, __setcontext, setcontext, GLIBC_2_3_4) #if SHLIB_COMPAT (libc, GLIBC_2_3_3, GLIBC_2_3_4) compat_text_section - -# undef __CONTEXT_FUNC_NAME + +# undef __CONTEXT_FUNC_NAME # define __CONTEXT_FUNC_NAME __novec_setcontext # undef __CONTEXT_ENABLE_VRS diff --git a/libc/sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S b/libc/sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S index 4dd9c0a4c..7ee4ef15f 100644 --- a/libc/sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S +++ b/libc/sysdeps/unix/sysv/linux/powerpc/powerpc32/swapcontext.S @@ -49,8 +49,8 @@ versioned_symbol (libc, __swapcontext, swapcontext, GLIBC_2_3_4) #if SHLIB_COMPAT (libc, GLIBC_2_3_3, GLIBC_2_3_4) compat_text_section - -# undef __CONTEXT_FUNC_NAME + +# undef __CONTEXT_FUNC_NAME # define __CONTEXT_FUNC_NAME __novec_swapcontext # undef __CONTEXT_ENABLE_VRS diff --git a/libc/sysdeps/unix/sysv/linux/powerpc/powerpc64/Versions b/libc/sysdeps/unix/sysv/linux/powerpc/powerpc64/Versions index 3ff01d1c1..16d712805 100644 --- a/libc/sysdeps/unix/sysv/linux/powerpc/powerpc64/Versions +++ b/libc/sysdeps/unix/sysv/linux/powerpc/powerpc64/Versions @@ -12,11 +12,11 @@ libc { readdir64; readdir64_r; # s* - scandir64; + scandir64; } GLIBC_2.3.4 { getcontext; - setcontext; + setcontext; swapcontext; } GLIBC_2.17 { diff --git a/libc/sysdeps/unix/sysv/linux/powerpc/sys/procfs.h b/libc/sysdeps/unix/sysv/linux/powerpc/sys/procfs.h index 9f60b7124..b046897f6 100644 --- a/libc/sysdeps/unix/sysv/linux/powerpc/sys/procfs.h +++ b/libc/sysdeps/unix/sysv/linux/powerpc/sys/procfs.h @@ -31,9 +31,9 @@ __BEGIN_DECLS -/* These definitions are normally provided by ucontext.h via - asm/sigcontext.h, asm/ptrace.h, and asm/elf.h. Otherwise we define - them here. */ +/* These definitions are normally provided by ucontext.h via + asm/sigcontext.h, asm/ptrace.h, and asm/elf.h. Otherwise we define + them here. */ #if !defined __PPC64_ELF_H && !defined _ASM_POWERPC_ELF_H #define ELF_NGREG 48 /* includes nip, msr, lr, etc. */ #define ELF_NFPREG 33 /* includes fpscr */ diff --git a/libc/sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h b/libc/sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h index 93580653a..935a68c70 100644 --- a/libc/sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h +++ b/libc/sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h @@ -61,14 +61,14 @@ typedef struct #else -/* For 64-bit kernels with Altivec support, a machine context is exactly - * a sigcontext. For older kernel (without Altivec) the sigcontext matches - * the mcontext upto but not including the v_regs field. For kernels that - * don't AT_HWCAP or return AT_HWCAP without PPC_FEATURE_HAS_ALTIVEC the +/* For 64-bit kernels with Altivec support, a machine context is exactly + * a sigcontext. For older kernel (without Altivec) the sigcontext matches + * the mcontext upto but not including the v_regs field. For kernels that + * don't AT_HWCAP or return AT_HWCAP without PPC_FEATURE_HAS_ALTIVEC the * v_regs field may not exit and should not be referenced. The v_regd field * can be refernced safely only after verifying that PPC_FEATURE_HAS_ALTIVEC * is set in AT_HWCAP. */ - + /* Number of general registers. */ # define NGREG 48 /* includes r0-r31, nip, msr, lr, etc. */ # define NFPREG 33 /* includes fp0-fp31 &fpscr. */ @@ -78,7 +78,7 @@ typedef unsigned long gregset_t[NGREG]; typedef double fpregset_t[NFPREG]; /* Container for Altivec/VMX Vector Status and Control Register. Only 32-bits - but can only be copied to/from a 128-bit vector register. So we allocated + but can only be copied to/from a 128-bit vector register. So we allocated a whole quadword speedup save/restore. */ typedef struct _libc_vscr { @@ -106,22 +106,22 @@ typedef struct { gregset_t gp_regs; fpregset_t fp_regs; /* - * To maintain compatibility with current implementations the sigcontext is - * extended by appending a pointer (v_regs) to a quadword type (elf_vrreg_t) - * followed by an unstructured (vmx_reserve) field of 69 doublewords. This - * allows the array of vector registers to be quadword aligned independent of - * the alignment of the containing sigcontext or ucontext. It is the - * responsibility of the code setting the sigcontext to set this pointer to - * either NULL (if this processor does not support the VMX feature) or the + * To maintain compatibility with current implementations the sigcontext is + * extended by appending a pointer (v_regs) to a quadword type (elf_vrreg_t) + * followed by an unstructured (vmx_reserve) field of 69 doublewords. This + * allows the array of vector registers to be quadword aligned independent of + * the alignment of the containing sigcontext or ucontext. It is the + * responsibility of the code setting the sigcontext to set this pointer to + * either NULL (if this processor does not support the VMX feature) or the * address of the first quadword within the allocated (vmx_reserve) area. * - * The pointer (v_regs) of vector type (elf_vrreg_t) is essentually - * an array of 34 quadword entries. The entries with - * indexes 0-31 contain the corresponding vector registers. The entry with - * index 32 contains the vscr as the last word (offset 12) within the - * quadword. This allows the vscr to be stored as either a quadword (since - * it must be copied via a vector register to/from storage) or as a word. - * The entry with index 33 contains the vrsave as the first word (offset 0) + * The pointer (v_regs) of vector type (elf_vrreg_t) is essentually + * an array of 34 quadword entries. The entries with + * indexes 0-31 contain the corresponding vector registers. The entry with + * index 32 contains the vscr as the last word (offset 12) within the + * quadword. This allows the vscr to be stored as either a quadword (since + * it must be copied via a vector register to/from storage) or as a word. + * The entry with index 33 contains the vrsave as the first word (offset 0) * within the quadword. */ vrregset_t *v_regs; diff --git a/libc/sysdeps/unix/sysv/linux/s390/s390-32/clone.S b/libc/sysdeps/unix/sysv/linux/s390/s390-32/clone.S index a3652a95d..dc7835dfd 100644 --- a/libc/sysdeps/unix/sysv/linux/s390/s390-32/clone.S +++ b/libc/sysdeps/unix/sysv/linux/s390/s390-32/clone.S @@ -52,7 +52,7 @@ error: lhi %r2,-EINVAL j SYSCALL_ERROR_LABEL PSEUDO_END (__clone) - + thread_start: #ifdef RESET_PID tmh %r3,1 /* CLONE_THREAD == 0x00010000 */ diff --git a/libc/sysdeps/unix/sysv/linux/s390/s390-32/getcontext.S b/libc/sysdeps/unix/sysv/linux/s390/s390-32/getcontext.S index 0a2e63e78..6923f0eb1 100644 --- a/libc/sysdeps/unix/sysv/linux/s390/s390-32/getcontext.S +++ b/libc/sysdeps/unix/sysv/linux/s390/s390-32/getcontext.S @@ -24,7 +24,7 @@ /* __getcontext (const ucontext_t *ucp) Saves the machine context in UCP such that when it is activated, - it appears as if __getcontext() returned again. + it appears as if __getcontext() returned again. This implementation is intended to be used for *synchronous* context switches only. Therefore, it does not have to save anything diff --git a/libc/sysdeps/unix/sysv/linux/s390/s390-32/posix_fadvise64.c b/libc/sysdeps/unix/sysv/linux/s390/s390-32/posix_fadvise64.c index f4b0dae03..08032bdda 100644 --- a/libc/sysdeps/unix/sysv/linux/s390/s390-32/posix_fadvise64.c +++ b/libc/sysdeps/unix/sysv/linux/s390/s390-32/posix_fadvise64.c @@ -38,7 +38,7 @@ __posix_fadvise64_l64 (int fd, off64_t offset, off64_t len, int advise) { struct fadvise64_64_layout parameters; INTERNAL_SYSCALL_DECL (err); - + parameters.fd = fd; parameters.offset = offset; parameters.len = len; diff --git a/libc/sysdeps/unix/sysv/linux/s390/s390-32/setcontext.S b/libc/sysdeps/unix/sysv/linux/s390/s390-32/setcontext.S index ac25bea50..03d200880 100644 --- a/libc/sysdeps/unix/sysv/linux/s390/s390-32/setcontext.S +++ b/libc/sysdeps/unix/sysv/linux/s390/s390-32/setcontext.S @@ -58,7 +58,7 @@ ENTRY(__setcontext) ld %f13,SC_FPRS+104(%r1) ld %f14,SC_FPRS+112(%r1) ld %f15,SC_FPRS+120(%r1) - + /* Don't touch %a0, used for thread purposes. */ lam %a1,%a15,SC_ACRS+4(%r1) diff --git a/libc/sysdeps/unix/sysv/linux/s390/s390-32/swapcontext.S b/libc/sysdeps/unix/sysv/linux/s390/s390-32/swapcontext.S index ecb0b3f80..b022f2ca7 100644 --- a/libc/sysdeps/unix/sysv/linux/s390/s390-32/swapcontext.S +++ b/libc/sysdeps/unix/sysv/linux/s390/s390-32/swapcontext.S @@ -70,7 +70,7 @@ ENTRY(__swapcontext) /* Store general purpose registers. */ stm %r0,%r15,SC_GPRS(%r1) - + /* sigprocmask (SIG_SETMASK, &sc->sc_mask, NULL). */ la %r2,SIG_BLOCK lr %r5,%r0 @@ -98,7 +98,7 @@ ENTRY(__swapcontext) ld %f13,SC_FPRS+104(%r5) ld %f14,SC_FPRS+112(%r5) ld %f15,SC_FPRS+120(%r5) - + /* Don't touch %a0, used for thread purposes. */ lam %a1,%a15,SC_ACRS+4(%r5) @@ -107,5 +107,5 @@ ENTRY(__swapcontext) /* Return. */ br %r14 -END(__swapcontext) +END(__swapcontext) weak_alias (__swapcontext, swapcontext) diff --git a/libc/sysdeps/unix/sysv/linux/s390/s390-64/mmap.S b/libc/sysdeps/unix/sysv/linux/s390/s390-64/mmap.S index 379450cdd..2d2ef0c60 100644 --- a/libc/sysdeps/unix/sysv/linux/s390/s390-64/mmap.S +++ b/libc/sysdeps/unix/sysv/linux/s390/s390-64/mmap.S @@ -43,7 +43,7 @@ ENTRY(__mmap) stg %r1,0(%r15) /* Store back chain. */ stg %r0,8(%r15) /* Store eos. */ - /* Store parameters on stack, because old_mmap + /* Store parameters on stack, because old_mmap takes only one parameter: a pointer to the parameter area. */ mvc 200(8,%r15),368(%r15) /* Move 'offset'. */ lgfr %r6,%r6 @@ -63,7 +63,7 @@ ENTRY(__mmap) cfi_adjust_cfa_offset (-208) lmg %r6,%r15,48(%r15) /* Load registers. */ - /* Check gpr 2 for error. */ + /* Check gpr 2 for error. */ lghi %r0,-4096 clgr %r2,%r0 jgnl SYSCALL_ERROR_LABEL diff --git a/libc/sysdeps/unix/sysv/linux/s390/s390-64/register-dump.h b/libc/sysdeps/unix/sysv/linux/s390/s390-64/register-dump.h index d487897a5..3067c4c37 100644 --- a/libc/sysdeps/unix/sysv/linux/s390/s390-64/register-dump.h +++ b/libc/sysdeps/unix/sysv/linux/s390/s390-64/register-dump.h @@ -82,7 +82,7 @@ register_dump (int fd, struct sigcontext *ctx) hexvalue (ctx->sregs->regs.gprs[15], regs[15], 16); hexvalue (ctx->sregs->regs.psw.mask, regs[16], 16); hexvalue (ctx->sregs->regs.psw.addr, regs[17], 16); - + /* Generate the output. */ ADD_STRING ("Register dump:\n\n GPR0: "); ADD_MEM (regs[0], 16); diff --git a/libc/sysdeps/unix/sysv/linux/s390/s390-64/setcontext.S b/libc/sysdeps/unix/sysv/linux/s390/s390-64/setcontext.S index 8157327bf..f9ce7b6d3 100644 --- a/libc/sysdeps/unix/sysv/linux/s390/s390-64/setcontext.S +++ b/libc/sysdeps/unix/sysv/linux/s390/s390-64/setcontext.S @@ -61,7 +61,7 @@ ENTRY(__setcontext) /* Don't touch %a0 and %a1, used for thread purposes. */ lam %a2,%a15,SC_ACRS+8(%r1) - + /* Load general purpose registers. */ lmg %r0,%r15,SC_GPRS(%r1) diff --git a/libc/sysdeps/unix/sysv/linux/s390/s390-64/socket.S b/libc/sysdeps/unix/sysv/linux/s390/s390-64/socket.S index 08872573c..e3fb8b9be 100644 --- a/libc/sysdeps/unix/sysv/linux/s390/s390-64/socket.S +++ b/libc/sysdeps/unix/sysv/linux/s390/s390-64/socket.S @@ -100,10 +100,10 @@ ENTRY(__socket) lmg %r6,15,48(%r15) /* Load registers. */ /* gpr2 is < 0 if there was an error. */ - lghi %r0,-125 + lghi %r0,-125 clgr %r2,%r0 jgnl SYSCALL_ERROR_LABEL - + /* Successful; return the syscall's value. */ br %r14 diff --git a/libc/sysdeps/unix/sysv/linux/s390/s390-64/swapcontext.S b/libc/sysdeps/unix/sysv/linux/s390/s390-64/swapcontext.S index a08e68cdd..a62666074 100644 --- a/libc/sysdeps/unix/sysv/linux/s390/s390-64/swapcontext.S +++ b/libc/sysdeps/unix/sysv/linux/s390/s390-64/swapcontext.S @@ -101,11 +101,11 @@ ENTRY(__swapcontext) /* Don't touch %a0 and %a1, used for thread purposes. */ lam %a2,%a15,SC_ACRS+8(%r5) - + /* Load general purpose registers. */ lmg %r0,%r15,SC_GPRS(%r5) /* Return. */ br %r14 -END(__swapcontext) +END(__swapcontext) weak_alias (__swapcontext, swapcontext) diff --git a/libc/sysdeps/unix/sysv/linux/s390/s390-64/syscall.S b/libc/sysdeps/unix/sysv/linux/s390/s390-64/syscall.S index ab90eee48..f204d2541 100644 --- a/libc/sysdeps/unix/sysv/linux/s390/s390-64/syscall.S +++ b/libc/sysdeps/unix/sysv/linux/s390/s390-64/syscall.S @@ -40,7 +40,7 @@ ENTRY (syscall) cfi_adjust_cfa_offset (160) stg %r1,0(%r15) /* Store back chain. */ stg %r0,8(%r15) /* Store eos. */ - + lgr %r1,%r2 /* Move syscall number. */ lgr %r2,%r3 /* First parameter. */ lgr %r3,%r4 /* Second parameter. */ diff --git a/libc/sysdeps/unix/sysv/linux/scsi/scsi_ioctl.h b/libc/sysdeps/unix/sysv/linux/scsi/scsi_ioctl.h index 15ed314ec..d151580eb 100644 --- a/libc/sysdeps/unix/sysv/linux/scsi/scsi_ioctl.h +++ b/libc/sysdeps/unix/sysv/linux/scsi/scsi_ioctl.h @@ -16,7 +16,7 @@ <http://www.gnu.org/licenses/>. */ #ifndef _SCSI_IOCTL_H -#define _SCSI_IOCTL_H +#define _SCSI_IOCTL_H /* IOCTLs for SCSI. */ #define SCSI_IOCTL_SEND_COMMAND 1 /* Send a command to the SCSI host. */ diff --git a/libc/sysdeps/unix/sysv/linux/sh/brk.c b/libc/sysdeps/unix/sysv/linux/sh/brk.c index ae8a97b1a..d9097d391 100644 --- a/libc/sysdeps/unix/sysv/linux/sh/brk.c +++ b/libc/sysdeps/unix/sysv/linux/sh/brk.c @@ -31,7 +31,7 @@ __brk (void *addr) register long r4 asm ("%r4") = (long)addr; asm volatile ("trapa #0x11\n\t" SYSCALL_INST_PAD - : "=z"(newbrk) + : "=z"(newbrk) : "r" (r3), "r" (r4)); __curbrk = newbrk; diff --git a/libc/sysdeps/unix/sysv/linux/sh/clone.S b/libc/sysdeps/unix/sysv/linux/sh/clone.S index bcbe9e765..1a8fb4e35 100644 --- a/libc/sysdeps/unix/sysv/linux/sh/clone.S +++ b/libc/sysdeps/unix/sysv/linux/sh/clone.S @@ -56,7 +56,7 @@ ENTRY(__clone) not r1, r1 // r1=0 means r0 = -1 to -4095 tst r1, r1 // i.e. error in linux bf .Lclone_end -.Lsyscall_error: +.Lsyscall_error: SYSCALL_ERROR_HANDLER .Lclone_end: tst r0, r0 @@ -84,10 +84,10 @@ ENTRY(__clone) stc gbr, r1 mov.w .Lpidoff, r2 add r1, r2 - mov.l r0, @r2 + mov.l r0, @r2 mov.w .Ltidoff, r2 add r1, r2 - mov.l r0, @r2 + mov.l r0, @r2 4: #endif /* thread starts */ diff --git a/libc/sysdeps/unix/sysv/linux/sh/sh3/getcontext.S b/libc/sysdeps/unix/sysv/linux/sh/sh3/getcontext.S index 263abb334..50b99fb38 100644 --- a/libc/sysdeps/unix/sysv/linux/sh/sh3/getcontext.S +++ b/libc/sysdeps/unix/sysv/linux/sh/sh3/getcontext.S @@ -73,7 +73,7 @@ ENTRY(__getcontext) not r1, r1 // r1=0 means r0 = -1 to -4095 tst r1, r1 // i.e. error in linux bf .Lgetcontext_end -.Lsyscall_error: +.Lsyscall_error: SYSCALL_ERROR_HANDLER .Lgetcontext_end: /* All done, return 0 for success. */ diff --git a/libc/sysdeps/unix/sysv/linux/sh/sh3/register-dump.h b/libc/sysdeps/unix/sysv/linux/sh/sh3/register-dump.h index 6b2145fdc..5277b605d 100644 --- a/libc/sysdeps/unix/sysv/linux/sh/sh3/register-dump.h +++ b/libc/sysdeps/unix/sysv/linux/sh/sh3/register-dump.h @@ -30,15 +30,15 @@ MACL: XXXXXXXX MACH: XXXXXXXX PC: XXXXXXXX PR: XXXXXXXX GBR: XXXXXXXX SR: XXXXXXXX - FR0: XXXXXXXX FR1: XXXXXXXX FR2: XXXXXXXX FR3: XXXXXXXX - FR4: XXXXXXXX FR5: XXXXXXXX FR6: XXXXXXXX FR7: XXXXXXXX - FR8: XXXXXXXX FR9: XXXXXXXX FR10: XXXXXXXX FR11: XXXXXXXX -FR12: XXXXXXXX FR13: XXXXXXXX FR14: XXXXXXXX FR15: XXXXXXXX - - XR0: XXXXXXXX XR1: XXXXXXXX XR2: XXXXXXXX XR3: XXXXXXXX - XR4: XXXXXXXX XR5: XXXXXXXX XR6: XXXXXXXX XR7: XXXXXXXX - XR8: XXXXXXXX XR9: XXXXXXXX XR10: XXXXXXXX XR11: XXXXXXXX -XR12: XXXXXXXX XR13: XXXXXXXX XR14: XXXXXXXX XR15: XXXXXXXX + FR0: XXXXXXXX FR1: XXXXXXXX FR2: XXXXXXXX FR3: XXXXXXXX + FR4: XXXXXXXX FR5: XXXXXXXX FR6: XXXXXXXX FR7: XXXXXXXX + FR8: XXXXXXXX FR9: XXXXXXXX FR10: XXXXXXXX FR11: XXXXXXXX +FR12: XXXXXXXX FR13: XXXXXXXX FR14: XXXXXXXX FR15: XXXXXXXX + + XR0: XXXXXXXX XR1: XXXXXXXX XR2: XXXXXXXX XR3: XXXXXXXX + XR4: XXXXXXXX XR5: XXXXXXXX XR6: XXXXXXXX XR7: XXXXXXXX + XR8: XXXXXXXX XR9: XXXXXXXX XR10: XXXXXXXX XR11: XXXXXXXX +XR12: XXXXXXXX XR13: XXXXXXXX XR14: XXXXXXXX XR15: XXXXXXXX FPSCR: XXXXXXXX FPUL: XXXXXXXX diff --git a/libc/sysdeps/unix/sysv/linux/sh/sh3/setcontext.S b/libc/sysdeps/unix/sysv/linux/sh/sh3/setcontext.S index cc5f34f2e..1bd8041a8 100644 --- a/libc/sysdeps/unix/sysv/linux/sh/sh3/setcontext.S +++ b/libc/sysdeps/unix/sysv/linux/sh/sh3/setcontext.S @@ -41,7 +41,7 @@ ENTRY(__setcontext) not r1, r1 // r1=0 means r0 = -1 to -4095 tst r1, r1 // i.e. error in linux bf .Lsetcontext_restore -.Lsyscall_error: +.Lsyscall_error: SYSCALL_ERROR_HANDLER .Lpseudo_end: rts diff --git a/libc/sysdeps/unix/sysv/linux/sh/sh3/swapcontext.S b/libc/sysdeps/unix/sysv/linux/sh/sh3/swapcontext.S index d4afa7806..e42fd35ab 100644 --- a/libc/sysdeps/unix/sysv/linux/sh/sh3/swapcontext.S +++ b/libc/sysdeps/unix/sysv/linux/sh/sh3/swapcontext.S @@ -75,12 +75,12 @@ ENTRY(__swapcontext) not r1, r1 // r1=0 means r0 = -1 to -4095 tst r1, r1 // i.e. error in linux bf .Lswapcontext_restore -.Lsyscall_error: +.Lsyscall_error: SYSCALL_ERROR_HANDLER .Lpseudo_end: rts nop -.Lswapcontext_restore: +.Lswapcontext_restore: mov r8, r0 add #(oPC), r0 mov.l @r0+, r2 @@ -126,7 +126,7 @@ ENTRY(__swapcontext) cfi_adjust_cfa_offset(-4) jmp @r0 mov.l @r15+, r0 - + PSEUDO_END(__swapcontext) weak_alias (__swapcontext, swapcontext) diff --git a/libc/sysdeps/unix/sysv/linux/sh/vfork.S b/libc/sysdeps/unix/sysv/linux/sh/vfork.S index 6a1d82770..8099fec49 100644 --- a/libc/sysdeps/unix/sysv/linux/sh/vfork.S +++ b/libc/sysdeps/unix/sysv/linux/sh/vfork.S @@ -58,7 +58,7 @@ ENTRY (__vfork) not r1, r1 // r1=0 means r0 = -1 to -4095 tst r1, r1 // i.e. error in linux bf .Lpseudo_end -.Lsyscall_error: +.Lsyscall_error: SYSCALL_ERROR_HANDLER .Lpseudo_end: rts diff --git a/libc/sysdeps/unix/sysv/linux/sparc/a.out.h b/libc/sysdeps/unix/sysv/linux/sparc/a.out.h index 6ea7065e1..593c4cccf 100644 --- a/libc/sysdeps/unix/sysv/linux/sparc/a.out.h +++ b/libc/sysdeps/unix/sysv/linux/sparc/a.out.h @@ -53,7 +53,7 @@ enum machine_type #define NMAGIC 0410 /* Code indicating demand-paged executable. */ #define ZMAGIC 0413 -/* This indicates a demand-paged executable with the header in the text. +/* This indicates a demand-paged executable with the header in the text. The first page is unmapped to help trap NULL pointer references. */ #define QMAGIC 0314 /* Code indicating core file. */ diff --git a/libc/sysdeps/unix/sysv/linux/sparc/sparc64/brk.S b/libc/sysdeps/unix/sysv/linux/sparc/sparc64/brk.S index 7276d73c6..e9b98088f 100644 --- a/libc/sysdeps/unix/sysv/linux/sparc/sparc64/brk.S +++ b/libc/sysdeps/unix/sysv/linux/sparc/sparc64/brk.S @@ -74,7 +74,7 @@ ENTRY (__brk) /* Don't use "ret" cause the preprocessor will eat it. */ jmpl %i7+8, %g0 restore - + /* What a horrible way to die. */ .Lerr0: set ENOMEM, %o0 .Lerr1: diff --git a/libc/sysdeps/unix/sysv/linux/sys/personality.h b/libc/sysdeps/unix/sysv/linux/sys/personality.h index f2abac2e5..bab1217ad 100644 --- a/libc/sysdeps/unix/sysv/linux/sys/personality.h +++ b/libc/sysdeps/unix/sysv/linux/sys/personality.h @@ -41,7 +41,7 @@ enum These go in the low byte. Avoid using the top bit, it will conflict with error returns. */ -enum +enum { PER_LINUX = 0x0000, PER_LINUX_32BIT = 0x0000 | ADDR_LIMIT_32BIT, |