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 | |
parent | 80d8cb91dee8bdcc4e430b3e2620d95f89b1ee0b (diff) | |
download | glibc-980d25d53e748abd3365aeec0a1ccd1316b4e6d6.zip glibc-980d25d53e748abd3365aeec0a1ccd1316b4e6d6.tar.gz glibc-980d25d53e748abd3365aeec0a1ccd1316b4e6d6.tar.bz2 |
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')
-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 911b1f3..5b45fad 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. */ |