aboutsummaryrefslogtreecommitdiff
path: root/elf
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2002-10-12 06:34:56 +0000
committerUlrich Drepper <drepper@redhat.com>2002-10-12 06:34:56 +0000
commitcc12f2a442d1d971d6ec0c21bdfa578299601fc7 (patch)
tree2d4f96a7c563e25200a940fade4aea05e4203a7b /elf
parentf44476711db142376aa30182b23384037905b910 (diff)
downloadglibc-cc12f2a442d1d971d6ec0c21bdfa578299601fc7.zip
glibc-cc12f2a442d1d971d6ec0c21bdfa578299601fc7.tar.gz
glibc-cc12f2a442d1d971d6ec0c21bdfa578299601fc7.tar.bz2
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.
Diffstat (limited to 'elf')
-rw-r--r--elf/dl-load.c38
1 files changed, 18 insertions, 20 deletions
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: