From cc12f2a442d1d971d6ec0c21bdfa578299601fc7 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Sat, 12 Oct 2002 06:34:56 +0000 Subject: Update. * elf/dl-load.c (_dl_map_object_from_fd): Remove unnecessarily duplicated variable c. * sysdeps/unix/sysv/linux/sigwait.c (__sigwait): Use INTERNAL_SYSCALL if possible. Add hack to prevent the compiler from clobbering the signal context. --- ChangeLog | 10 +++++---- elf/dl-load.c | 38 +++++++++++++++++------------------ sysdeps/unix/sysv/linux/i386/sysdep.h | 2 +- 3 files changed, 25 insertions(+), 25 deletions(-) diff --git a/ChangeLog b/ChangeLog index 6ba5af1..1842411 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,15 +1,17 @@ 2002-10-11 Ulrich Drepper - * sysdeps/unix/sysv/linux/sigwait.c (__sigwait): Use - INTERNAL_SYSCALL is possible. + * elf/dl-load.c (_dl_map_object_from_fd): Remove unnecessarily + duplicated variable c. + + * sysdeps/unix/sysv/linux/sigwait.c (__sigwait): Use INTERNAL_SYSCALL + if possible. * sysdeps/unix/sysv/linux/i386/sysdep.h (INTERNAL_SYSCALL_ERROR_P): New define. (INTERNAL_SYSCALL_ERRNO): Likewise. * sysdeps/unix/sysv/linux/i386/profil-counter.h (profil_counter): - Add hack to prevent the compiler from clobbering the signal - context. + Add hack to prevent the compiler from clobbering the signal context. 2002-10-11 Roland McGrath diff --git a/elf/dl-load.c b/elf/dl-load.c index 1d10541..e1909ca 100644 --- a/elf/dl-load.c +++ b/elf/dl-load.c @@ -916,29 +916,27 @@ _dl_map_object_from_fd (const char *name, int fd, struct filebuf *fbp, goto call_lose; } - { - struct loadcmd *c = &loadcmds[nloadcmds++]; - c->mapstart = ph->p_vaddr & ~(ph->p_align - 1); - c->mapend = ((ph->p_vaddr + ph->p_filesz + GL(dl_pagesize) - 1) - & ~(GL(dl_pagesize) - 1)); - c->dataend = ph->p_vaddr + ph->p_filesz; - c->allocend = ph->p_vaddr + ph->p_memsz; - c->mapoff = ph->p_offset & ~(ph->p_align - 1); - - /* Optimize a common case. */ + c = &loadcmds[nloadcmds++]; + c->mapstart = ph->p_vaddr & ~(ph->p_align - 1); + c->mapend = ((ph->p_vaddr + ph->p_filesz + GL(dl_pagesize) - 1) + & ~(GL(dl_pagesize) - 1)); + c->dataend = ph->p_vaddr + ph->p_filesz; + c->allocend = ph->p_vaddr + ph->p_memsz; + c->mapoff = ph->p_offset & ~(ph->p_align - 1); + + /* Optimize a common case. */ #if (PF_R | PF_W | PF_X) == 7 && (PROT_READ | PROT_WRITE | PROT_EXEC) == 7 - c->prot = (PF_TO_PROT - >> ((ph->p_flags & (PF_R | PF_W | PF_X)) * 4)) & 0xf; + c->prot = (PF_TO_PROT + >> ((ph->p_flags & (PF_R | PF_W | PF_X)) * 4)) & 0xf; #else - c->prot = 0; - if (ph->p_flags & PF_R) - c->prot |= PROT_READ; - if (ph->p_flags & PF_W) - c->prot |= PROT_WRITE; - if (ph->p_flags & PF_X) - c->prot |= PROT_EXEC; + c->prot = 0; + if (ph->p_flags & PF_R) + c->prot |= PROT_READ; + if (ph->p_flags & PF_W) + c->prot |= PROT_WRITE; + if (ph->p_flags & PF_X) + c->prot |= PROT_EXEC; #endif - } break; case PT_TLS: diff --git a/sysdeps/unix/sysv/linux/i386/sysdep.h b/sysdeps/unix/sysv/linux/i386/sysdep.h index ac7edb4..851d91b 100644 --- a/sysdeps/unix/sysv/linux/i386/sysdep.h +++ b/sysdeps/unix/sysv/linux/i386/sysdep.h @@ -316,7 +316,7 @@ asm (".L__X'%ebx = 1\n\t" (int) resultvar; }) #undef INTERNAL_SYSCALL_ERROR_P -#define INTERNAL_SYSCALL_ERROR_P(val) ((val) >= 0xfffff001) +#define INTERNAL_SYSCALL_ERROR_P(val) ((unsigned int) (val) >= 0xfffff001u) #undef INTERNAL_SYSCALL_ERRNO #define INTERNAL_SYSCALL_ERRNO(val) (-(val)) -- cgit v1.1