diff options
author | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2016-08-19 15:30:01 -0300 |
---|---|---|
committer | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2016-09-15 11:13:10 -0300 |
commit | 980d25d53e748abd3365aeec0a1ccd1316b4e6d6 (patch) | |
tree | 2f19f774e72a85bf2daa6551b88c272dce2aa294 /nptl/sem_open.c | |
parent | 80d8cb91dee8bdcc4e430b3e2620d95f89b1ee0b (diff) | |
download | glibc-980d25d53e748abd3365aeec0a1ccd1316b4e6d6.tar.gz glibc-980d25d53e748abd3365aeec0a1ccd1316b4e6d6.tar.xz glibc-980d25d53e748abd3365aeec0a1ccd1316b4e6d6.zip |
nptl: Consolidate sem_open implementations
Current sparc32 sem_open and default one only differ on: 1. Default one contains a 'futex_supports_pshared' check. 2. sem.newsem.pad is initialized to zero. This patch removes sparc32 and sparc32v9 sem_open arch specific implementation and instead set sparc32 to use nptl default one. Using 1. is fine since it should always evaluate 0 for Linux (an optimized away by the compiler). Adding 2. to default implementation should be ok since 'pad' field is used mainly on sparc32 code. I checked on i686 and checked a sparc32v9 build. * nptl/sem_open.c (sem_open): Init pad value to 0. * sysdeps/sparc/sparc32/sem_open.c: Remove file. * sysdeps/sparc/sparc32/sparcv9/sem_open.c: Likewise.
Diffstat (limited to 'nptl/sem_open.c')
-rw-r--r-- | nptl/sem_open.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/nptl/sem_open.c b/nptl/sem_open.c index 911b1f30a9..5b45fadd71 100644 --- a/nptl/sem_open.c +++ b/nptl/sem_open.c @@ -207,6 +207,8 @@ sem_open (const char *name, int oflag, ...) sem.newsem.data = value; #else sem.newsem.value = value << SEM_VALUE_SHIFT; + /* pad is used as a mutex on pre-v9 sparc and ignored otherwise. */ + sem.newsem.pad = 0; sem.newsem.nwaiters = 0; #endif /* This always is a shared semaphore. */ |