devel
Threads by month
- ----- 2025 -----
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
January 2015
- 1 participants
- 7 discussions

uClibc-ng - small C library for embedded systems branch master updated. f03fbbb009c0df52d363719a592e2ac33577d9a6
by wbx@helium.waldemar-brodkorb.de 26 Jan '15
by wbx@helium.waldemar-brodkorb.de 26 Jan '15
26 Jan '15
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "uClibc-ng - small C library for embedded systems".
The branch, master has been updated
via f03fbbb009c0df52d363719a592e2ac33577d9a6 (commit)
via 92de8a5f6ffb1ff9f7183fd08d872aa098b75ae2 (commit)
via d88e1855ff2828fbad0335fc8e06dd295e1c1130 (commit)
via 4449e47c2bf51beebaa0b163f4445057b221ad4e (commit)
via 59f06d06f05abf20092617fcfa34438c77d92bdd (commit)
via e55f589191162eb40f44696c77e569049313d381 (commit)
via 217f0a86c07beae6a27d422b5f46ee853f3a447a (commit)
via a952a1dd2bba69da4c52a111600f4279aadc3602 (commit)
via 920db6d3935c86aff1b4fd0096ce6b5e3605d20d (commit)
via 78b154a95b507c205241dd883396952e0dfbede7 (commit)
via 516c45013d9fa31905f172e6fc7ca9072b5148cf (commit)
from 97dc8cb71d96a4bbfda0aa51740433d5da825b6a (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit f03fbbb009c0df52d363719a592e2ac33577d9a6
Merge: 97dc8cb 92de8a5
Author: Waldemar Brodkorb <wbx(a)openadk.org>
Date: Mon Jan 26 11:22:42 2015 -0600
merge upstream changes
-----------------------------------------------------------------------
Summary of changes:
ldso/ldso/xtensa/dl-startup.h | 20 +++++++++++++++-
ldso/ldso/xtensa/dl-sysdep.h | 24 +++++++++++++++++++-
ldso/ldso/xtensa/resolve.S | 7 ------
libc/misc/dirent/opendir.c | 2 +-
libc/stdlib/_atexit.c | 2 +-
libc/stdlib/malloc-simple/alloc.c | 4 +++-
libc/stdlib/malloc-standard/malloc.c | 2 +-
libc/stdlib/malloc-standard/malloc.h | 2 +-
libc/stdlib/setenv.c | 11 ++++++---
libc/stdlib/unix_grantpt.c | 2 +-
libc/string/_collate.c | 4 ++--
libc/sysdeps/linux/common/mknod.c | 2 +-
libc/sysdeps/linux/common/sync_file_range.c | 5 +++-
libcrypt/crypt.c | 18 +++++++++------
.../nptl/sysdeps/unix/sysv/linux/arm/Makefile.arch | 3 +++
test/nptl/Makefile.in | 2 +-
test/nptl/tst-cancel7.c | 2 +-
test/nptl/tst-exec4.c | 2 +-
test/nptl/tst-mqueue7.c | 6 ++---
19 files changed, 85 insertions(+), 35 deletions(-)
diff --git a/ldso/ldso/xtensa/dl-startup.h b/ldso/ldso/xtensa/dl-startup.h
index 70a6255..8fe54a3 100644
--- a/ldso/ldso/xtensa/dl-startup.h
+++ b/ldso/ldso/xtensa/dl-startup.h
@@ -83,6 +83,7 @@ do { \
unsigned long l_addr = tpnt->loadaddr; \
Elf32_Word relative_count; \
unsigned long rel_addr; \
+ Elf32_Addr prev_got_start = 0, prev_got_end = 0; \
int x; \
\
got_loc = (xtensa_got_location *) \
@@ -93,7 +94,24 @@ do { \
got_start = got_loc[x].offset & ~(PAGE_SIZE - 1); \
got_end = ((got_loc[x].offset + got_loc[x].length + PAGE_SIZE - 1) \
& ~(PAGE_SIZE - 1)); \
- _dl_mprotect ((void *)(got_start + l_addr), got_end - got_start, \
+ if (got_end >= prev_got_start && got_start <= prev_got_end) { \
+ if (got_end > prev_got_end) \
+ prev_got_end = got_end; \
+ if (got_start < prev_got_start) \
+ prev_got_start = got_start; \
+ continue; \
+ } else if (prev_got_start != prev_got_end) { \
+ _dl_mprotect ((void *)(prev_got_start + l_addr), \
+ prev_got_end - prev_got_start, \
+ PROT_READ | PROT_WRITE | PROT_EXEC); \
+ } \
+ prev_got_start = got_start; \
+ prev_got_end = got_end; \
+ } \
+\
+ if (prev_got_start != prev_got_end) { \
+ _dl_mprotect ((void *)(prev_got_start + l_addr), \
+ prev_got_end - prev_got_start, \
PROT_READ | PROT_WRITE | PROT_EXEC); \
} \
\
diff --git a/ldso/ldso/xtensa/dl-sysdep.h b/ldso/ldso/xtensa/dl-sysdep.h
index 148de5b..d308237 100644
--- a/ldso/ldso/xtensa/dl-sysdep.h
+++ b/ldso/ldso/xtensa/dl-sysdep.h
@@ -36,6 +36,7 @@ typedef struct xtensa_got_location_struct {
do { \
xtensa_got_location *got_loc; \
Elf32_Addr l_addr = MODULE->loadaddr; \
+ Elf32_Addr prev_got_start = 0, prev_got_end = 0; \
int x; \
\
got_loc = (xtensa_got_location *) \
@@ -47,7 +48,28 @@ typedef struct xtensa_got_location_struct {
got_start = got_loc[x].offset & ~(PAGE_SIZE - 1); \
got_end = ((got_loc[x].offset + got_loc[x].length + PAGE_SIZE - 1) \
& ~(PAGE_SIZE - 1)); \
- _dl_mprotect ((void *)(got_start + l_addr) , got_end - got_start, \
+ if (got_end >= prev_got_start && got_start <= prev_got_end) \
+ { \
+ if (got_end > prev_got_end) \
+ prev_got_end = got_end; \
+ if (got_start < prev_got_start) \
+ prev_got_start = got_start; \
+ continue; \
+ } \
+ else if (prev_got_start != prev_got_end) \
+ { \
+ _dl_mprotect ((void *)(prev_got_start + l_addr), \
+ prev_got_end - prev_got_start, \
+ PROT_READ | PROT_WRITE | PROT_EXEC); \
+ } \
+ prev_got_start = got_start; \
+ prev_got_end = got_end; \
+ } \
+ \
+ if (prev_got_start != prev_got_end) \
+ { \
+ _dl_mprotect ((void *)(prev_got_start + l_addr), \
+ prev_got_end - prev_got_start, \
PROT_READ | PROT_WRITE | PROT_EXEC); \
} \
\
diff --git a/ldso/ldso/xtensa/resolve.S b/ldso/ldso/xtensa/resolve.S
index d1ae8aa..8061af2 100644
--- a/ldso/ldso/xtensa/resolve.S
+++ b/ldso/ldso/xtensa/resolve.S
@@ -31,13 +31,6 @@
.global _dl_linux_resolve
.type _dl_linux_resolve, @function
_dl_linux_resolve:
- /* Fix up the high 2 bits of the return address. */
- movi a13, 0f
- slli a12, a0, 2
-0: extui a13, a13, 30, 2
- ssai 2
- src a12, a13, a12
-
/* Call the fixup function. */
movi a8, _dl_linux_resolver
callx8 a8
diff --git a/libc/misc/dirent/opendir.c b/libc/misc/dirent/opendir.c
index 66a5cc9..8af00f8 100644
--- a/libc/misc/dirent/opendir.c
+++ b/libc/misc/dirent/opendir.c
@@ -110,7 +110,7 @@ DIR *opendir(const char *name)
if (!ptr) {
close_not_cancel_no_status(fd);
- __set_errno(ENOMEM);
+ /* __set_errno(ENOMEM); */
}
return ptr;
}
diff --git a/libc/stdlib/_atexit.c b/libc/stdlib/_atexit.c
index ef6772f..3faa9f0 100644
--- a/libc/stdlib/_atexit.c
+++ b/libc/stdlib/_atexit.c
@@ -257,7 +257,7 @@ struct exit_function attribute_hidden *__new_exitfn(void)
efp = realloc(__exit_function_table,
(__exit_slots+20)*sizeof(struct exit_function));
if (efp == NULL) {
- __set_errno(ENOMEM);
+ /* __set_errno(ENOMEM); */
goto DONE;
}
__exit_function_table = efp;
diff --git a/libc/stdlib/malloc-simple/alloc.c b/libc/stdlib/malloc-simple/alloc.c
index 14f3846..a3c068a 100644
--- a/libc/stdlib/malloc-simple/alloc.c
+++ b/libc/stdlib/malloc-simple/alloc.c
@@ -42,8 +42,10 @@ void *malloc(size_t size)
result = mmap((void *) 0, size + sizeof(size_t), PROT_READ | PROT_WRITE,
MMAP_FLAGS, 0, 0);
- if (result == MAP_FAILED)
+ if (result == MAP_FAILED) {
+ __set_errno(ENOMEM);
return 0;
+ }
* (size_t *) result = size;
return(result + sizeof(size_t));
}
diff --git a/libc/stdlib/malloc-standard/malloc.c b/libc/stdlib/malloc-standard/malloc.c
index 3253ebd..2abb5bb 100644
--- a/libc/stdlib/malloc-standard/malloc.c
+++ b/libc/stdlib/malloc-standard/malloc.c
@@ -744,7 +744,7 @@ static void* __malloc_alloc(size_t nb, mstate av)
}
/* catch all failure paths */
- errno = ENOMEM;
+ __set_errno(ENOMEM);
return 0;
}
diff --git a/libc/stdlib/malloc-standard/malloc.h b/libc/stdlib/malloc-standard/malloc.h
index d945627..1a4cc5a 100644
--- a/libc/stdlib/malloc-standard/malloc.h
+++ b/libc/stdlib/malloc-standard/malloc.h
@@ -512,7 +512,7 @@ nextchunk-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
#define checked_request2size(req, sz) \
if (REQUEST_OUT_OF_RANGE(req)) { \
- errno = ENOMEM; \
+ __set_errno(ENOMEM); \
return 0; \
} \
(sz) = request2size(req);
diff --git a/libc/stdlib/setenv.c b/libc/stdlib/setenv.c
index 00e3f3d..ecc3025 100644
--- a/libc/stdlib/setenv.c
+++ b/libc/stdlib/setenv.c
@@ -41,7 +41,7 @@ static char **last_environ;
to reuse values once generated for a `setenv' call since we can never
free the strings. [in uclibc, we do not] */
static int __add_to_environ(const char *name, const char *value,
- int replace)
+ int replace)
{
register char **ep;
register size_t size;
@@ -76,7 +76,7 @@ static int __add_to_environ(const char *name, const char *value,
/* We allocated this space; we can extend it. */
new_environ = realloc(last_environ, (size + 2) * sizeof(char *));
if (new_environ == NULL) {
- __set_errno(ENOMEM);
+ /* __set_errno(ENOMEM); */
goto DONE;
}
if (__environ != last_environ) {
@@ -97,7 +97,7 @@ static int __add_to_environ(const char *name, const char *value,
var_val = malloc(namelen + 1 + vallen);
if (var_val == NULL) {
- __set_errno(ENOMEM);
+ /* __set_errno(ENOMEM); */
goto DONE;
}
memcpy(var_val, name, namelen);
@@ -116,6 +116,11 @@ static int __add_to_environ(const char *name, const char *value,
int setenv(const char *name, const char *value, int replace)
{
+ if (name == NULL || *name == '\0' || strchr (name, '=') != NULL) {
+ __set_errno(EINVAL);
+ return -1;
+ }
+
/* NB: setenv("VAR", NULL, 1) inserts "VAR=" string */
return __add_to_environ(name, value ? value : "", replace);
}
diff --git a/libc/stdlib/unix_grantpt.c b/libc/stdlib/unix_grantpt.c
index 5dbb7f5..66c18c0 100644
--- a/libc/stdlib/unix_grantpt.c
+++ b/libc/stdlib/unix_grantpt.c
@@ -68,7 +68,7 @@ pts_name (int fd, char **pts, size_t buf_len)
if (! new_buf)
{
rv = -1;
- errno = ENOMEM;
+ /* __set_errno(ENOMEM); */
break;
}
buf = new_buf;
diff --git a/libc/string/_collate.c b/libc/string/_collate.c
index 2ebfb93..93501b8 100644
--- a/libc/string/_collate.c
+++ b/libc/string/_collate.c
@@ -367,7 +367,7 @@ static void next_weight(col_state_t *cs, int pass __LOCALE_PARAM )
if (cs->back_buf == cs->ibb) { /* was using internal buffer */
cs->bp = malloc(cs->bb_size + 128);
if (!cs->bp) {
- __set_errno(ENOMEM);
+ /* __set_errno(ENOMEM); */
#ifdef __UCLIBC_MJN3_ONLY__
#warning what to do here?
#endif
@@ -379,7 +379,7 @@ static void next_weight(col_state_t *cs, int pass __LOCALE_PARAM )
} else {
cs->bp = realloc(cs->back_buf, cs->bb_size + 128);
if (!cs->bp) {
- __set_errno(ENOMEM);
+ /* __set_errno(ENOMEM); */
#ifdef __UCLIBC_MJN3_ONLY__
#warning what to do here?
#endif
diff --git a/libc/sysdeps/linux/common/mknod.c b/libc/sysdeps/linux/common/mknod.c
index 794e19f..e0c54e6 100644
--- a/libc/sysdeps/linux/common/mknod.c
+++ b/libc/sysdeps/linux/common/mknod.c
@@ -25,7 +25,7 @@ int mknod(const char *path, mode_t mode, dev_t dev)
k_dev = (dev) & ((1ULL << 32) - 1);
if (k_dev != dev) {
- __set_errno (EINVAL);
+ __set_errno(EINVAL);
return -1;
}
return INLINE_SYSCALL(mknod, 3, path, mode, (unsigned int)k_dev);
diff --git a/libc/sysdeps/linux/common/sync_file_range.c b/libc/sysdeps/linux/common/sync_file_range.c
index 8d4ed92..6cd7e94 100644
--- a/libc/sysdeps/linux/common/sync_file_range.c
+++ b/libc/sysdeps/linux/common/sync_file_range.c
@@ -23,10 +23,13 @@
static int __NC(sync_file_range)(int fd, off64_t offset, off64_t nbytes, unsigned int flags)
{
# if defined __powerpc__ && __WORDSIZE == 64
- return INLINE_SYSCALL(sync_file_range, 4, fd, offset, nbytes, flags);
+ return INLINE_SYSCALL(sync_file_range, 4, fd, flags, offset, nbytes);
# elif defined __mips__ && _MIPS_SIM == _ABIO32
return INLINE_SYSCALL(sync_file_range, 7, fd, 0,
OFF64_HI_LO(offset), OFF64_HI_LO(nbytes), flags);
+# elif defined __NR_sync_file_range2
+ return INLINE_SYSCALL(sync_file_range, 6, fd, flags,
+ OFF64_HI_LO(offset), OFF64_HI_LO(nbytes));
# else
return INLINE_SYSCALL(sync_file_range, 6, fd,
OFF64_HI_LO(offset), OFF64_HI_LO(nbytes), flags);
diff --git a/libcrypt/crypt.c b/libcrypt/crypt.c
index f79c9fe..10061a0 100644
--- a/libcrypt/crypt.c
+++ b/libcrypt/crypt.c
@@ -14,17 +14,21 @@ char *crypt(const char *key, const char *salt)
const unsigned char *ukey = (const unsigned char *)key;
const unsigned char *usalt = (const unsigned char *)salt;
- if (salt[0] == '$' && salt[2] == '$') {
- if (*++salt == '1')
- return __md5_crypt(ukey, usalt);
+ if (salt[0] == '$') {
+ if (salt[1] && salt[2] == '$') { /* no blowfish '2X' here ATM */
+ if (*++salt == '1')
+ return __md5_crypt(ukey, usalt);
#ifdef __UCLIBC_HAS_SHA256_CRYPT_IMPL__
- else if (*salt == '5')
- return __sha256_crypt(ukey, usalt);
+ else if (*salt == '5')
+ return __sha256_crypt(ukey, usalt);
#endif
#ifdef __UCLIBC_HAS_SHA512_CRYPT_IMPL__
- else if (*salt == '6')
- return __sha512_crypt(ukey, usalt);
+ else if (*salt == '6')
+ return __sha512_crypt(ukey, usalt);
#endif
+ }
+ /* __set_errno(EINVAL);*/ /* ENOSYS might be misleading */
+ return NULL;
}
return __des_crypt(ukey, usalt);
}
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/arm/Makefile.arch b/libpthread/nptl/sysdeps/unix/sysv/linux/arm/Makefile.arch
index 861ae9e..5522ce3 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/arm/Makefile.arch
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/arm/Makefile.arch
@@ -18,3 +18,6 @@ libc_linux_arch_SSRC-OMIT = waitpid.S
# This macro should be alternatively implemented in THUMB
# assembly.
ASFLAGS-pt-vfork.S = -marm
+CFLAGS-OMIT-pt-vfork.S = -mthumb
+ASFLAGS-vfork.S = -marm
+CFLAGS-OMIT-vfork.S = -mthumb
diff --git a/test/nptl/Makefile.in b/test/nptl/Makefile.in
index d20d2c1..700a464 100644
--- a/test/nptl/Makefile.in
+++ b/test/nptl/Makefile.in
@@ -207,7 +207,7 @@ tst-tls5: tst-tls5mod.so
tst-cleanupx4 : tst-cleanup4aux.o
tst-fini1: tst-fini1mod.so
-OPTS_tst-cancel7 = --command ./tst-cancel7
+OPTS_tst-cancel7 = -c ./tst-cancel7
OPTS_tst-mqueue7 = -- ./tst-mqueue7
OPTS_tst-exec4 = ./tst-exec4
diff --git a/test/nptl/tst-cancel7.c b/test/nptl/tst-cancel7.c
index 3bdfa9f..616c0a8 100644
--- a/test/nptl/tst-cancel7.c
+++ b/test/nptl/tst-cancel7.c
@@ -32,7 +32,7 @@ char pidfilename[] = "/tmp/tst-cancel7-XXXXXX";
static void *
tf (void *arg)
{
- const char *args = " --direct --pidfile ";
+ const char *args = " -d -p ";
char *cmd = alloca (strlen (command) + strlen (args)
+ strlen (pidfilename) + 1);
diff --git a/test/nptl/tst-exec4.c b/test/nptl/tst-exec4.c
index b5d290f..1a4b88c 100644
--- a/test/nptl/tst-exec4.c
+++ b/test/nptl/tst-exec4.c
@@ -51,7 +51,7 @@ tf (void *arg)
char **argv = (char **) alloca ((n + 1) * sizeof (char *));
for (n = 0; oldargv[n + 1] != NULL; ++n)
argv[n] = oldargv[n + 1];
- argv[n++] = (char *) "--direct";
+ argv[n++] = (char *) "-d";
argv[n] = NULL;
execv (argv[0], argv);
diff --git a/test/nptl/tst-mqueue7.c b/test/nptl/tst-mqueue7.c
index d1a6529..d3ea2b7 100644
--- a/test/nptl/tst-mqueue7.c
+++ b/test/nptl/tst-mqueue7.c
@@ -87,14 +87,14 @@ do_test (int argc, char **argv)
return 1;
}
- char after_exec_arg[sizeof "--after-exec=0x" + sizeof (long) * 3];
+ char after_exec_arg[sizeof "-a=0x" + sizeof (long) * 3];
snprintf (after_exec_arg, sizeof (after_exec_arg),
- "--after-exec=0x%lx", (long) q);
+ "-a=0x%lx", (long) q);
const char *newargv[argc + 2];
for (int i = 1; i < argc; ++i)
newargv[i - 1] = argv[i];
- newargv[argc - 1] = "--direct";
+ newargv[argc - 1] = "-d";
newargv[argc] = after_exec_arg;
newargv[argc + 1] = NULL;
hooks/post-receive
--
uClibc-ng - small C library for embedded systems
1
0

uClibc-ng - small C library for embedded systems branch upstream updated. 92de8a5f6ffb1ff9f7183fd08d872aa098b75ae2
by wbx@helium.waldemar-brodkorb.de 26 Jan '15
by wbx@helium.waldemar-brodkorb.de 26 Jan '15
26 Jan '15
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "uClibc-ng - small C library for embedded systems".
The branch, upstream has been updated
via 92de8a5f6ffb1ff9f7183fd08d872aa098b75ae2 (commit)
via d88e1855ff2828fbad0335fc8e06dd295e1c1130 (commit)
via 4449e47c2bf51beebaa0b163f4445057b221ad4e (commit)
via 59f06d06f05abf20092617fcfa34438c77d92bdd (commit)
via e55f589191162eb40f44696c77e569049313d381 (commit)
via 217f0a86c07beae6a27d422b5f46ee853f3a447a (commit)
via a952a1dd2bba69da4c52a111600f4279aadc3602 (commit)
via 920db6d3935c86aff1b4fd0096ce6b5e3605d20d (commit)
via 78b154a95b507c205241dd883396952e0dfbede7 (commit)
via 516c45013d9fa31905f172e6fc7ca9072b5148cf (commit)
from 638a23483b40c5b606ee323e6612e7e454e5154b (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 92de8a5f6ffb1ff9f7183fd08d872aa098b75ae2
Author: Bernhard Reutner-Fischer <rep.dot.nop(a)gmail.com>
Date: Mon Jan 26 16:50:29 2015 +0100
libc: sync_file_range missing comma
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop(a)gmail.com>
commit d88e1855ff2828fbad0335fc8e06dd295e1c1130
Author: Bernhard Reutner-Fischer <rep.dot.nop(a)gmail.com>
Date: Sat Jan 24 20:50:02 2015 +0100
libc: ppc64 etc: Fix sync_file_range
Fix copy'n paste error for ppc64 and other sync_file_range2 arches
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop(a)gmail.com>
commit 4449e47c2bf51beebaa0b163f4445057b221ad4e
Author: Max Filippov <jcmvbkbc(a)gmail.com>
Date: Sat Jan 10 06:48:37 2015 +0300
xtensa: ldso: drop unused address calculation from _dl_linux_resolve
The result of the calculation in register a12 is never used as the
function _dl_linux_resolver only accepts 2 arguments. Drop it.
Signed-off-by: Max Filippov <jcmvbkbc(a)gmail.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop(a)gmail.com>
commit 59f06d06f05abf20092617fcfa34438c77d92bdd
Author: Max Filippov <jcmvbkbc(a)gmail.com>
Date: Sat Jan 10 04:42:42 2015 +0300
xtensa: ldso: coalesce dl_mprotect address ranges
This noticeably lowers the number of mprotect calls at program startup,
e.g. for busybox: 7 calls vs 1835 calls.
Signed-off-by: Max Filippov <jcmvbkbc(a)gmail.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop(a)gmail.com>
commit e55f589191162eb40f44696c77e569049313d381
Author: Wang Yufen <wangyufen(a)huawei.com>
Date: Tue Nov 11 15:59:11 2014 +0800
add argument check in mknod
mknod() in glibc/eglibc will check the argument, like this,
...
if (k_dev != dev) {
__set_errno (EINVAL);
return -1;
}
...
So add argument check in uclibc's mknod() too.
Signed-off-by: Wang Yufen <wangyufen(a)huawei.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop(a)gmail.com>
commit 217f0a86c07beae6a27d422b5f46ee853f3a447a
Author: Xishi Qiu <qiuxishi(a)huawei.com>
Date: Tue Nov 4 19:26:28 2014 +0800
add argument check in setenv()
setenv() in glibc/eglibc will check the argument, like this,
...
if (name == NULL || *name == '\0' || strchr (name, '=') != NULL)
{
__set_errno (EINVAL);
return -1;
}
...
So add argument check in uclibc's setenv() too.
Signed-off-by: Xishi Qiu <qiuxishi(a)huawei.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop(a)gmail.com>
commit a952a1dd2bba69da4c52a111600f4279aadc3602
Author: Bernhard Reutner-Fischer <rep.dot.nop(a)gmail.com>
Date: Fri Jan 23 15:47:02 2015 +0100
nptl: compile pt-vfork in ARM-mode
amending commit 49a67cf67d5a7194214566bc730ee7e28d55bbe1
could need a thumb implementation..
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop(a)gmail.com>
commit 920db6d3935c86aff1b4fd0096ce6b5e3605d20d
Author: Bernhard Reutner-Fischer <rep.dot.nop(a)gmail.com>
Date: Mon Jan 19 22:49:10 2015 +0100
libc: Avoid redundant setting of ENOMEM
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop(a)gmail.com>
commit 78b154a95b507c205241dd883396952e0dfbede7
Author: Bernhard Reutner-Fischer <rep.dot.nop(a)gmail.com>
Date: Mon Jan 19 17:24:19 2015 +0100
libcrypt: return NULL on unsupported salt
BZ #7808 asks us not to fallback to DES if the optional SHA are disabled
but requested by the user.
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop(a)gmail.com>
commit 516c45013d9fa31905f172e6fc7ca9072b5148cf
Author: Bernhard Reutner-Fischer <rep.dot.nop(a)gmail.com>
Date: Wed Jan 7 13:26:42 2015 +0100
test: Adjust passed options
to follow suit 067637375658047d70c296606ae17ef0bc86499d
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop(a)gmail.com>
-----------------------------------------------------------------------
Summary of changes:
ldso/ldso/xtensa/dl-startup.h | 20 +++++++++++++++-
ldso/ldso/xtensa/dl-sysdep.h | 24 +++++++++++++++++++-
ldso/ldso/xtensa/resolve.S | 7 ------
libc/misc/dirent/opendir.c | 2 +-
libc/stdlib/_atexit.c | 2 +-
libc/stdlib/malloc-simple/alloc.c | 4 +++-
libc/stdlib/malloc-standard/malloc.c | 2 +-
libc/stdlib/malloc-standard/malloc.h | 2 +-
libc/stdlib/setenv.c | 11 ++++++---
libc/stdlib/unix_grantpt.c | 2 +-
libc/string/_collate.c | 4 ++--
libc/sysdeps/linux/common/mknod.c | 4 ++++
libc/sysdeps/linux/common/sync_file_range.c | 5 +++-
libcrypt/crypt.c | 18 +++++++++------
.../nptl/sysdeps/unix/sysv/linux/arm/Makefile.arch | 3 +++
test/nptl/Makefile.in | 2 +-
test/nptl/tst-cancel7.c | 2 +-
test/nptl/tst-exec4.c | 2 +-
test/nptl/tst-mqueue7.c | 6 ++---
19 files changed, 88 insertions(+), 34 deletions(-)
diff --git a/ldso/ldso/xtensa/dl-startup.h b/ldso/ldso/xtensa/dl-startup.h
index b135a4c..0c28d5e 100644
--- a/ldso/ldso/xtensa/dl-startup.h
+++ b/ldso/ldso/xtensa/dl-startup.h
@@ -83,6 +83,7 @@ do { \
unsigned long l_addr = tpnt->loadaddr; \
Elf32_Word relative_count; \
unsigned long rel_addr; \
+ Elf32_Addr prev_got_start = 0, prev_got_end = 0; \
int x; \
\
got_loc = (xtensa_got_location *) \
@@ -93,7 +94,24 @@ do { \
got_start = got_loc[x].offset & ~(PAGE_SIZE - 1); \
got_end = ((got_loc[x].offset + got_loc[x].length + PAGE_SIZE - 1) \
& ~(PAGE_SIZE - 1)); \
- _dl_mprotect ((void *)(got_start + l_addr), got_end - got_start, \
+ if (got_end >= prev_got_start && got_start <= prev_got_end) { \
+ if (got_end > prev_got_end) \
+ prev_got_end = got_end; \
+ if (got_start < prev_got_start) \
+ prev_got_start = got_start; \
+ continue; \
+ } else if (prev_got_start != prev_got_end) { \
+ _dl_mprotect ((void *)(prev_got_start + l_addr), \
+ prev_got_end - prev_got_start, \
+ PROT_READ | PROT_WRITE | PROT_EXEC); \
+ } \
+ prev_got_start = got_start; \
+ prev_got_end = got_end; \
+ } \
+\
+ if (prev_got_start != prev_got_end) { \
+ _dl_mprotect ((void *)(prev_got_start + l_addr), \
+ prev_got_end - prev_got_start, \
PROT_READ | PROT_WRITE | PROT_EXEC); \
} \
\
diff --git a/ldso/ldso/xtensa/dl-sysdep.h b/ldso/ldso/xtensa/dl-sysdep.h
index a0ed4e5..5f8bcb0 100644
--- a/ldso/ldso/xtensa/dl-sysdep.h
+++ b/ldso/ldso/xtensa/dl-sysdep.h
@@ -36,6 +36,7 @@ typedef struct xtensa_got_location_struct {
do { \
xtensa_got_location *got_loc; \
Elf32_Addr l_addr = MODULE->loadaddr; \
+ Elf32_Addr prev_got_start = 0, prev_got_end = 0; \
int x; \
\
got_loc = (xtensa_got_location *) \
@@ -47,7 +48,28 @@ typedef struct xtensa_got_location_struct {
got_start = got_loc[x].offset & ~(PAGE_SIZE - 1); \
got_end = ((got_loc[x].offset + got_loc[x].length + PAGE_SIZE - 1) \
& ~(PAGE_SIZE - 1)); \
- _dl_mprotect ((void *)(got_start + l_addr) , got_end - got_start, \
+ if (got_end >= prev_got_start && got_start <= prev_got_end) \
+ { \
+ if (got_end > prev_got_end) \
+ prev_got_end = got_end; \
+ if (got_start < prev_got_start) \
+ prev_got_start = got_start; \
+ continue; \
+ } \
+ else if (prev_got_start != prev_got_end) \
+ { \
+ _dl_mprotect ((void *)(prev_got_start + l_addr), \
+ prev_got_end - prev_got_start, \
+ PROT_READ | PROT_WRITE | PROT_EXEC); \
+ } \
+ prev_got_start = got_start; \
+ prev_got_end = got_end; \
+ } \
+ \
+ if (prev_got_start != prev_got_end) \
+ { \
+ _dl_mprotect ((void *)(prev_got_start + l_addr), \
+ prev_got_end - prev_got_start, \
PROT_READ | PROT_WRITE | PROT_EXEC); \
} \
\
diff --git a/ldso/ldso/xtensa/resolve.S b/ldso/ldso/xtensa/resolve.S
index d1ae8aa..8061af2 100644
--- a/ldso/ldso/xtensa/resolve.S
+++ b/ldso/ldso/xtensa/resolve.S
@@ -31,13 +31,6 @@
.global _dl_linux_resolve
.type _dl_linux_resolve, @function
_dl_linux_resolve:
- /* Fix up the high 2 bits of the return address. */
- movi a13, 0f
- slli a12, a0, 2
-0: extui a13, a13, 30, 2
- ssai 2
- src a12, a13, a12
-
/* Call the fixup function. */
movi a8, _dl_linux_resolver
callx8 a8
diff --git a/libc/misc/dirent/opendir.c b/libc/misc/dirent/opendir.c
index 66a5cc9..8af00f8 100644
--- a/libc/misc/dirent/opendir.c
+++ b/libc/misc/dirent/opendir.c
@@ -110,7 +110,7 @@ DIR *opendir(const char *name)
if (!ptr) {
close_not_cancel_no_status(fd);
- __set_errno(ENOMEM);
+ /* __set_errno(ENOMEM); */
}
return ptr;
}
diff --git a/libc/stdlib/_atexit.c b/libc/stdlib/_atexit.c
index ef6772f..3faa9f0 100644
--- a/libc/stdlib/_atexit.c
+++ b/libc/stdlib/_atexit.c
@@ -257,7 +257,7 @@ struct exit_function attribute_hidden *__new_exitfn(void)
efp = realloc(__exit_function_table,
(__exit_slots+20)*sizeof(struct exit_function));
if (efp == NULL) {
- __set_errno(ENOMEM);
+ /* __set_errno(ENOMEM); */
goto DONE;
}
__exit_function_table = efp;
diff --git a/libc/stdlib/malloc-simple/alloc.c b/libc/stdlib/malloc-simple/alloc.c
index 14f3846..a3c068a 100644
--- a/libc/stdlib/malloc-simple/alloc.c
+++ b/libc/stdlib/malloc-simple/alloc.c
@@ -42,8 +42,10 @@ void *malloc(size_t size)
result = mmap((void *) 0, size + sizeof(size_t), PROT_READ | PROT_WRITE,
MMAP_FLAGS, 0, 0);
- if (result == MAP_FAILED)
+ if (result == MAP_FAILED) {
+ __set_errno(ENOMEM);
return 0;
+ }
* (size_t *) result = size;
return(result + sizeof(size_t));
}
diff --git a/libc/stdlib/malloc-standard/malloc.c b/libc/stdlib/malloc-standard/malloc.c
index 3253ebd..2abb5bb 100644
--- a/libc/stdlib/malloc-standard/malloc.c
+++ b/libc/stdlib/malloc-standard/malloc.c
@@ -744,7 +744,7 @@ static void* __malloc_alloc(size_t nb, mstate av)
}
/* catch all failure paths */
- errno = ENOMEM;
+ __set_errno(ENOMEM);
return 0;
}
diff --git a/libc/stdlib/malloc-standard/malloc.h b/libc/stdlib/malloc-standard/malloc.h
index d945627..1a4cc5a 100644
--- a/libc/stdlib/malloc-standard/malloc.h
+++ b/libc/stdlib/malloc-standard/malloc.h
@@ -512,7 +512,7 @@ nextchunk-> +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
#define checked_request2size(req, sz) \
if (REQUEST_OUT_OF_RANGE(req)) { \
- errno = ENOMEM; \
+ __set_errno(ENOMEM); \
return 0; \
} \
(sz) = request2size(req);
diff --git a/libc/stdlib/setenv.c b/libc/stdlib/setenv.c
index 00e3f3d..ecc3025 100644
--- a/libc/stdlib/setenv.c
+++ b/libc/stdlib/setenv.c
@@ -41,7 +41,7 @@ static char **last_environ;
to reuse values once generated for a `setenv' call since we can never
free the strings. [in uclibc, we do not] */
static int __add_to_environ(const char *name, const char *value,
- int replace)
+ int replace)
{
register char **ep;
register size_t size;
@@ -76,7 +76,7 @@ static int __add_to_environ(const char *name, const char *value,
/* We allocated this space; we can extend it. */
new_environ = realloc(last_environ, (size + 2) * sizeof(char *));
if (new_environ == NULL) {
- __set_errno(ENOMEM);
+ /* __set_errno(ENOMEM); */
goto DONE;
}
if (__environ != last_environ) {
@@ -97,7 +97,7 @@ static int __add_to_environ(const char *name, const char *value,
var_val = malloc(namelen + 1 + vallen);
if (var_val == NULL) {
- __set_errno(ENOMEM);
+ /* __set_errno(ENOMEM); */
goto DONE;
}
memcpy(var_val, name, namelen);
@@ -116,6 +116,11 @@ static int __add_to_environ(const char *name, const char *value,
int setenv(const char *name, const char *value, int replace)
{
+ if (name == NULL || *name == '\0' || strchr (name, '=') != NULL) {
+ __set_errno(EINVAL);
+ return -1;
+ }
+
/* NB: setenv("VAR", NULL, 1) inserts "VAR=" string */
return __add_to_environ(name, value ? value : "", replace);
}
diff --git a/libc/stdlib/unix_grantpt.c b/libc/stdlib/unix_grantpt.c
index 5dbb7f5..66c18c0 100644
--- a/libc/stdlib/unix_grantpt.c
+++ b/libc/stdlib/unix_grantpt.c
@@ -68,7 +68,7 @@ pts_name (int fd, char **pts, size_t buf_len)
if (! new_buf)
{
rv = -1;
- errno = ENOMEM;
+ /* __set_errno(ENOMEM); */
break;
}
buf = new_buf;
diff --git a/libc/string/_collate.c b/libc/string/_collate.c
index 2ebfb93..93501b8 100644
--- a/libc/string/_collate.c
+++ b/libc/string/_collate.c
@@ -367,7 +367,7 @@ static void next_weight(col_state_t *cs, int pass __LOCALE_PARAM )
if (cs->back_buf == cs->ibb) { /* was using internal buffer */
cs->bp = malloc(cs->bb_size + 128);
if (!cs->bp) {
- __set_errno(ENOMEM);
+ /* __set_errno(ENOMEM); */
#ifdef __UCLIBC_MJN3_ONLY__
#warning what to do here?
#endif
@@ -379,7 +379,7 @@ static void next_weight(col_state_t *cs, int pass __LOCALE_PARAM )
} else {
cs->bp = realloc(cs->back_buf, cs->bb_size + 128);
if (!cs->bp) {
- __set_errno(ENOMEM);
+ /* __set_errno(ENOMEM); */
#ifdef __UCLIBC_MJN3_ONLY__
#warning what to do here?
#endif
diff --git a/libc/sysdeps/linux/common/mknod.c b/libc/sysdeps/linux/common/mknod.c
index 416cab6..e0c54e6 100644
--- a/libc/sysdeps/linux/common/mknod.c
+++ b/libc/sysdeps/linux/common/mknod.c
@@ -24,6 +24,10 @@ int mknod(const char *path, mode_t mode, dev_t dev)
/* We must convert the value to dev_t type used by the kernel. */
k_dev = (dev) & ((1ULL << 32) - 1);
+ if (k_dev != dev) {
+ __set_errno(EINVAL);
+ return -1;
+ }
return INLINE_SYSCALL(mknod, 3, path, mode, (unsigned int)k_dev);
}
#endif
diff --git a/libc/sysdeps/linux/common/sync_file_range.c b/libc/sysdeps/linux/common/sync_file_range.c
index 8d4ed92..6cd7e94 100644
--- a/libc/sysdeps/linux/common/sync_file_range.c
+++ b/libc/sysdeps/linux/common/sync_file_range.c
@@ -23,10 +23,13 @@
static int __NC(sync_file_range)(int fd, off64_t offset, off64_t nbytes, unsigned int flags)
{
# if defined __powerpc__ && __WORDSIZE == 64
- return INLINE_SYSCALL(sync_file_range, 4, fd, offset, nbytes, flags);
+ return INLINE_SYSCALL(sync_file_range, 4, fd, flags, offset, nbytes);
# elif defined __mips__ && _MIPS_SIM == _ABIO32
return INLINE_SYSCALL(sync_file_range, 7, fd, 0,
OFF64_HI_LO(offset), OFF64_HI_LO(nbytes), flags);
+# elif defined __NR_sync_file_range2
+ return INLINE_SYSCALL(sync_file_range, 6, fd, flags,
+ OFF64_HI_LO(offset), OFF64_HI_LO(nbytes));
# else
return INLINE_SYSCALL(sync_file_range, 6, fd,
OFF64_HI_LO(offset), OFF64_HI_LO(nbytes), flags);
diff --git a/libcrypt/crypt.c b/libcrypt/crypt.c
index f79c9fe..10061a0 100644
--- a/libcrypt/crypt.c
+++ b/libcrypt/crypt.c
@@ -14,17 +14,21 @@ char *crypt(const char *key, const char *salt)
const unsigned char *ukey = (const unsigned char *)key;
const unsigned char *usalt = (const unsigned char *)salt;
- if (salt[0] == '$' && salt[2] == '$') {
- if (*++salt == '1')
- return __md5_crypt(ukey, usalt);
+ if (salt[0] == '$') {
+ if (salt[1] && salt[2] == '$') { /* no blowfish '2X' here ATM */
+ if (*++salt == '1')
+ return __md5_crypt(ukey, usalt);
#ifdef __UCLIBC_HAS_SHA256_CRYPT_IMPL__
- else if (*salt == '5')
- return __sha256_crypt(ukey, usalt);
+ else if (*salt == '5')
+ return __sha256_crypt(ukey, usalt);
#endif
#ifdef __UCLIBC_HAS_SHA512_CRYPT_IMPL__
- else if (*salt == '6')
- return __sha512_crypt(ukey, usalt);
+ else if (*salt == '6')
+ return __sha512_crypt(ukey, usalt);
#endif
+ }
+ /* __set_errno(EINVAL);*/ /* ENOSYS might be misleading */
+ return NULL;
}
return __des_crypt(ukey, usalt);
}
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/arm/Makefile.arch b/libpthread/nptl/sysdeps/unix/sysv/linux/arm/Makefile.arch
index 3a32598..0ea0b29 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/arm/Makefile.arch
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/arm/Makefile.arch
@@ -18,3 +18,6 @@ libc_linux_arch_SSRC-OMIT = waitpid.S
# This macro should be alternatively implemented in THUMB
# assembly.
ASFLAGS-pt-vfork.S = -marm
+CFLAGS-OMIT-pt-vfork.S = -mthumb
+ASFLAGS-vfork.S = -marm
+CFLAGS-OMIT-vfork.S = -mthumb
diff --git a/test/nptl/Makefile.in b/test/nptl/Makefile.in
index dd53f91..42a4654 100644
--- a/test/nptl/Makefile.in
+++ b/test/nptl/Makefile.in
@@ -207,7 +207,7 @@ tst-tls5: tst-tls5mod.so
tst-cleanupx4 : tst-cleanup4aux.o
tst-fini1: tst-fini1mod.so
-OPTS_tst-cancel7 = --command ./tst-cancel7
+OPTS_tst-cancel7 = -c ./tst-cancel7
OPTS_tst-mqueue7 = -- ./tst-mqueue7
OPTS_tst-exec4 = ./tst-exec4
diff --git a/test/nptl/tst-cancel7.c b/test/nptl/tst-cancel7.c
index fe543f7..bb9f739 100644
--- a/test/nptl/tst-cancel7.c
+++ b/test/nptl/tst-cancel7.c
@@ -32,7 +32,7 @@ char pidfilename[] = "/tmp/tst-cancel7-XXXXXX";
static void *
tf (void *arg)
{
- const char *args = " --direct --pidfile ";
+ const char *args = " -d -p ";
char *cmd = alloca (strlen (command) + strlen (args)
+ strlen (pidfilename) + 1);
diff --git a/test/nptl/tst-exec4.c b/test/nptl/tst-exec4.c
index b5d290f..1a4b88c 100644
--- a/test/nptl/tst-exec4.c
+++ b/test/nptl/tst-exec4.c
@@ -51,7 +51,7 @@ tf (void *arg)
char **argv = (char **) alloca ((n + 1) * sizeof (char *));
for (n = 0; oldargv[n + 1] != NULL; ++n)
argv[n] = oldargv[n + 1];
- argv[n++] = (char *) "--direct";
+ argv[n++] = (char *) "-d";
argv[n] = NULL;
execv (argv[0], argv);
diff --git a/test/nptl/tst-mqueue7.c b/test/nptl/tst-mqueue7.c
index 01d7cd7..12c6d9a 100644
--- a/test/nptl/tst-mqueue7.c
+++ b/test/nptl/tst-mqueue7.c
@@ -90,14 +90,14 @@ do_test (int argc, char **argv)
return 1;
}
- char after_exec_arg[sizeof "--after-exec=0x" + sizeof (long) * 3];
+ char after_exec_arg[sizeof "-a=0x" + sizeof (long) * 3];
snprintf (after_exec_arg, sizeof (after_exec_arg),
- "--after-exec=0x%lx", (long) q);
+ "-a=0x%lx", (long) q);
const char *newargv[argc + 2];
for (int i = 1; i < argc; ++i)
newargv[i - 1] = argv[i];
- newargv[argc - 1] = "--direct";
+ newargv[argc - 1] = "-d";
newargv[argc] = after_exec_arg;
newargv[argc + 1] = NULL;
hooks/post-receive
--
uClibc-ng - small C library for embedded systems
1
0

uClibc-ng - small C library for embedded systems branch master updated. 97dc8cb71d96a4bbfda0aa51740433d5da825b6a
by wbx@helium.waldemar-brodkorb.de 25 Jan '15
by wbx@helium.waldemar-brodkorb.de 25 Jan '15
25 Jan '15
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "uClibc-ng - small C library for embedded systems".
The branch, master has been updated
via 97dc8cb71d96a4bbfda0aa51740433d5da825b6a (commit)
from 9b723c4ea768f71fc0bc69ba467c6240d18adf35 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 97dc8cb71d96a4bbfda0aa51740433d5da825b6a
Author: Waldemar Brodkorb <wbx(a)openadk.org>
Date: Sun Jan 25 02:20:43 2015 -0600
add support for $ORIGIN
This is for example required, used and tested with OpenJDK 7.
No regressions found, while running the testsuite with embedded-test.
-----------------------------------------------------------------------
Summary of changes:
ldso/include/dl-syscall.h | 6 +---
ldso/ldso/dl-elf.c | 80 ++++++++++++++++++++++++---------------------
ldso/ldso/ldso.c | 18 ++++++++--
3 files changed, 59 insertions(+), 45 deletions(-)
diff --git a/ldso/include/dl-syscall.h b/ldso/include/dl-syscall.h
index 6a89dff..ac4c57e 100644
--- a/ldso/include/dl-syscall.h
+++ b/ldso/include/dl-syscall.h
@@ -134,14 +134,10 @@ static __always_inline _syscall0(gid_t, _dl_getegid)
#define __NR__dl_getpid __NR_getpid
static __always_inline _syscall0(gid_t, _dl_getpid)
-#if defined __NR_readlinkat && !defined __NR_readlink
+#if defined __NR_readlinkat
# define __NR__dl_readlink __NR_readlinkat
static __always_inline _syscall4(int, _dl_readlink, int, id, const char *, path,
char *, buf, size_t, bufsiz)
-#elif defined __NR_readlink
-# define __NR__dl_readlink __NR_readlink
-static __always_inline _syscall3(int, _dl_readlink, const char *, path, char *, buf,
- size_t, bufsiz)
#endif
#ifdef __NR_pread64
diff --git a/ldso/ldso/dl-elf.c b/ldso/ldso/dl-elf.c
index 54501d1..6fc95b3 100644
--- a/ldso/ldso/dl-elf.c
+++ b/ldso/ldso/dl-elf.c
@@ -133,56 +133,60 @@ _dl_protect_relro (struct elf_resolve *l)
* in uClibc/ldso/util/ldd.c */
static struct elf_resolve *
search_for_named_library(const char *name, unsigned rflags, const char *path_list,
- struct dyn_elf **rpnt)
+ struct dyn_elf **rpnt, const char* origin)
{
- char *path, *path_n, *mylibname;
+ char *mylibname;
struct elf_resolve *tpnt;
- int done;
+ const char *p, *pn;
+ int plen;
if (path_list==NULL)
return NULL;
- /* We need a writable copy of this string, but we don't
- * need this allocated permanently since we don't want
- * to leak memory, so use alloca to put path on the stack */
- done = _dl_strlen(path_list);
- path = alloca(done + 1);
-
/* another bit of local storage */
mylibname = alloca(2050);
- _dl_memcpy(path, path_list, done+1);
-
/* Unlike ldd.c, don't bother to eliminate double //s */
/* Replace colons with zeros in path_list */
/* : at the beginning or end of path maps to CWD */
/* :: anywhere maps CWD */
/* "" maps to CWD */
- done = 0;
- path_n = path;
- do {
- if (*path == 0) {
- *path = ':';
- done = 1;
+ for (p = path_list; p != NULL; p = pn) {
+ pn = _dl_strchr(p + 1, ':');
+ if (pn != NULL) {
+ plen = pn - p;
+ pn++;
+ } else
+ plen = _dl_strlen(p);
+
+ if (plen >= 7 && _dl_memcmp(p, "$ORIGIN", 7) == 0) {
+ int olen;
+ if (rflags && plen != 7)
+ continue;
+ if (origin == NULL)
+ continue;
+ for (olen = _dl_strlen(origin) - 1; olen >= 0 && origin[olen] != '/'; olen--)
+ ;
+ if (olen <= 0)
+ continue;
+ _dl_memcpy(&mylibname[0], origin, olen);
+ _dl_memcpy(&mylibname[olen], p + 7, plen - 7);
+ mylibname[olen + plen - 7] = 0;
+ } else if (plen != 0) {
+ _dl_memcpy(mylibname, p, plen);
+ mylibname[plen] = 0;
+ } else {
+ _dl_strcpy(mylibname, ".");
}
- if (*path == ':') {
- *path = 0;
- if (*path_n)
- _dl_strcpy(mylibname, path_n);
- else
- _dl_strcpy(mylibname, "."); /* Assume current dir if empty path */
- _dl_strcat(mylibname, "/");
- _dl_strcat(mylibname, name);
+ _dl_strcat(mylibname, "/");
+ _dl_strcat(mylibname, name);
#ifdef __LDSO_SAFE_RUNPATH__
- if (*mylibname == '/')
+ if (*mylibname == '/')
#endif
- if ((tpnt = _dl_load_elf_shared_library(rflags, rpnt, mylibname)) != NULL)
- return tpnt;
- path_n = path+1;
- }
- path++;
- } while (!done);
+ if ((tpnt = _dl_load_elf_shared_library(rflags, rpnt, mylibname)) != NULL)
+ return tpnt;
+ }
return NULL;
}
@@ -234,8 +238,10 @@ struct elf_resolve *_dl_load_shared_library(unsigned rflags, struct dyn_elf **rp
if (pnt) {
pnt += (unsigned long) tpnt->dynamic_info[DT_STRTAB];
_dl_if_debug_dprint("\tsearching RPATH='%s'\n", pnt);
- if ((tpnt1 = search_for_named_library(libname, rflags, pnt, rpnt)) != NULL)
+ if ((tpnt1 = search_for_named_library(libname, rflags, pnt, rpnt,
+ tpnt->libname)) != NULL)
return tpnt1;
+
}
#endif
@@ -243,7 +249,7 @@ struct elf_resolve *_dl_load_shared_library(unsigned rflags, struct dyn_elf **rp
/* Check in LD_{ELF_}LIBRARY_PATH, if specified and allowed */
if (_dl_library_path) {
_dl_if_debug_dprint("\tsearching LD_LIBRARY_PATH='%s'\n", _dl_library_path);
- if ((tpnt1 = search_for_named_library(libname, rflags, _dl_library_path, rpnt)) != NULL)
+ if ((tpnt1 = search_for_named_library(libname, rflags, _dl_library_path, rpnt, NULL)) != NULL)
{
return tpnt1;
}
@@ -257,7 +263,7 @@ struct elf_resolve *_dl_load_shared_library(unsigned rflags, struct dyn_elf **rp
if (pnt) {
pnt += (unsigned long) tpnt->dynamic_info[DT_STRTAB];
_dl_if_debug_dprint("\tsearching RUNPATH='%s'\n", pnt);
- if ((tpnt1 = search_for_named_library(libname, rflags, pnt, rpnt)) != NULL)
+ if ((tpnt1 = search_for_named_library(libname, rflags, pnt, rpnt, NULL)) != NULL)
return tpnt1;
}
#endif
@@ -291,7 +297,7 @@ struct elf_resolve *_dl_load_shared_library(unsigned rflags, struct dyn_elf **rp
/* Look for libraries wherever the shared library loader
* was installed */
_dl_if_debug_dprint("\tsearching ldso dir='%s'\n", _dl_ldsopath);
- tpnt1 = search_for_named_library(libname, rflags, _dl_ldsopath, rpnt);
+ tpnt1 = search_for_named_library(libname, rflags, _dl_ldsopath, rpnt, NULL);
if (tpnt1 != NULL)
return tpnt1;
#endif
@@ -304,7 +310,7 @@ struct elf_resolve *_dl_load_shared_library(unsigned rflags, struct dyn_elf **rp
#ifndef __LDSO_CACHE_SUPPORT__
":" UCLIBC_RUNTIME_PREFIX "usr/X11R6/lib"
#endif
- , rpnt);
+ , rpnt, NULL);
if (tpnt1 != NULL)
return tpnt1;
diff --git a/ldso/ldso/ldso.c b/ldso/ldso/ldso.c
index 5619629..7367f17 100644
--- a/ldso/ldso/ldso.c
+++ b/ldso/ldso/ldso.c
@@ -403,6 +403,20 @@ static ptrdiff_t _dl_build_local_scope (struct elf_resolve **list,
return p - list;
}
+static void _dl_setup_progname(const char *argv0)
+{
+ char image[PATH_MAX];
+ ssize_t s;
+
+ s = _dl_readlink(AT_FDCWD, "/proc/self/exe", image, sizeof(image));
+ if (s > 0 && image[0] == '/') {
+ image[s] = 0;
+ _dl_progname = _dl_strdup(image);
+ } else if (argv0) {
+ _dl_progname = argv0;
+ }
+}
+
void *_dl_get_ready_to_run(struct elf_resolve *tpnt, DL_LOADADDR_TYPE load_addr,
ElfW(auxv_t) auxvt[AT_EGID + 1], char **envp, char **argv
DL_GET_READY_TO_RUN_EXTRA_PARMS)
@@ -454,9 +468,7 @@ void *_dl_get_ready_to_run(struct elf_resolve *tpnt, DL_LOADADDR_TYPE load_addr,
* been fixed up by now. Still no function calls outside of this
* library, since the dynamic resolver is not yet ready.
*/
- if (argv[0]) {
- _dl_progname = argv[0];
- }
+ _dl_setup_progname(argv[0]);
#ifdef __DSBT__
_dl_ldso_dsbt = (void *)tpnt->dynamic_info[DT_DSBT_BASE_IDX];
hooks/post-receive
--
uClibc-ng - small C library for embedded systems
1
0

uClibc-ng - small C library for embedded systems branch master updated. 9b723c4ea768f71fc0bc69ba467c6240d18adf35
by wbx@helium.waldemar-brodkorb.de 13 Jan '15
by wbx@helium.waldemar-brodkorb.de 13 Jan '15
13 Jan '15
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "uClibc-ng - small C library for embedded systems".
The branch, master has been updated
via 9b723c4ea768f71fc0bc69ba467c6240d18adf35 (commit)
from 6252572a624c5bc65a6ed3a5778808e84510a8f7 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 9b723c4ea768f71fc0bc69ba467c6240d18adf35
Author: Waldemar Brodkorb <wbx(a)uclibc-ng.org>
Date: Tue Jan 13 22:50:58 2015 +0100
remove API dir. tests are disabled anyway.
-----------------------------------------------------------------------
Summary of changes:
test/API/Makefile | 8 --
test/API/Makefile.in | 26 ------
test/API/aio.SUSv4.syms | 8 --
test/API/arpa_inet.SUSv4.syms | 8 --
test/API/complex.SUSv4.syms | 66 -------------
test/API/ctype-CX.SUSv4.syms | 14 ---
test/API/ctype-OBXSI.SUSv4.syms | 2 -
test/API/ctype.SUSv4.syms | 14 ---
test/API/dirent-XSI.SUSv4.syms | 2 -
test/API/dirent.SUSv4.syms | 9 --
test/API/dlfcn.SUSv4.syms | 4 -
test/API/fcntl-ADV.SUSv4.syms | 2 -
test/API/fcntl.SUSv4.syms | 4 -
test/API/fenv.SUSv4.syms | 11 ---
test/API/ftw-OB.SUSv4.syms | 1 -
test/API/ftw.SUSv4.syms | 1 -
test/API/glob.SUSv4.syms | 2 -
test/API/grp-XSI.SUSv4.syms | 1 -
test/API/grp.SUSv4.syms | 6 --
test/API/html2input.sh | 119 -----------------------
test/API/iconv.SUSv4.syms | 3 -
test/API/inttypes.SUSv4.syms | 6 --
test/API/libgen.SUSv4.syms | 2 -
test/API/locale-CX.SUSv4.syms | 4 -
test/API/locale.SUSv4.syms | 2 -
test/API/math-XSI.SUSv4.syms | 6 --
test/API/math.SUSv4.syms | 171 ----------------------------------
test/API/monetary.SUSv4.syms | 2 -
test/API/mqueue.SUSv4.syms | 10 --
test/API/ndbm.SUSv4.syms | 9 --
test/API/net_if.SUSv4.syms | 4 -
test/API/netdb.SUSv4.syms | 22 -----
test/API/nl_types.SUSv4.syms | 3 -
test/API/pthread-MC1.SUSv4.syms | 2 -
test/API/pthread-OBXSI.SUSv4.syms | 2 -
test/API/pthread-RPP|TPP.SUSv4.syms | 4 -
test/API/pthread-TCT.SUSv4.syms | 1 -
test/API/pthread-TPS.SUSv4.syms | 9 --
test/API/pthread-TSATSS.SUSv4.syms | 2 -
test/API/pthread-TSH.SUSv4.syms | 8 --
test/API/pthread-TSS.SUSv4.syms | 2 -
test/API/pthread.SUSv4.syms | 70 --------------
test/API/pwd-XSI.SUSv4.syms | 3 -
test/API/pwd.SUSv4.syms | 4 -
test/API/regex.SUSv4.syms | 4 -
test/API/sched-PS.SUSv4.syms | 4 -
test/API/sched-PS|TPS.SUSv4.syms | 3 -
test/API/sched.SUSv4.syms | 1 -
test/API/search.SUSv4.syms | 11 ---
test/API/semaphore.SUSv4.syms | 10 --
test/API/separate.awk | 48 ----------
test/API/setjmp-CX.SUSv4.syms | 1 -
test/API/setjmp-OBXSI.SUSv4.syms | 1 -
test/API/setjmp.SUSv4.syms | 1 -
test/API/signal-CX.SUSv4.syms | 18 ----
test/API/signal-OBXSI.SUSv4.syms | 6 --
test/API/signal-XSI.SUSv4.syms | 2 -
test/API/signal.SUSv4.syms | 2 -
test/API/spawn-PS.SUSv4.syms | 4 -
test/API/spawn.SUSv4.syms | 17 ----
test/API/stdio-CX.SUSv4.syms | 20 ----
test/API/stdio-OB.SUSv4.syms | 2 -
test/API/stdio-OBXSI.SUSv4.syms | 1 -
test/API/stdio.SUSv4.syms | 44 ---------
test/API/stdlib-ADV.SUSv4.syms | 1 -
test/API/stdlib-CX.SUSv4.syms | 4 -
test/API/stdlib-OBCX.SUSv4.syms | 1 -
test/API/stdlib-XSI.SUSv4.syms | 22 -----
test/API/stdlib.SUSv4.syms | 37 --------
test/API/string-CX.SUSv4.syms | 11 ---
test/API/string-XSI.SUSv4.syms | 1 -
test/API/string.SUSv4.syms | 22 -----
test/API/strings-XSI.SUSv4.syms | 1 -
test/API/strings.SUSv4.syms | 4 -
test/API/stropts.SUSv4.syms | 8 --
test/API/sys_mman-ADV.SUSv4.syms | 1 -
test/API/sys_mman-ML.SUSv4.syms | 2 -
test/API/sys_mman-MLR.SUSv4.syms | 2 -
test/API/sys_mman-SHM.SUSv4.syms | 2 -
test/API/sys_mman-TYM.SUSv4.syms | 3 -
test/API/sys_mman-XSI|SIO.SUSv4.syms | 1 -
test/API/sys_mman.SUSv4.syms | 3 -
test/API/sys_msg.SUSv4.syms | 4 -
test/API/sys_resource.SUSv4.syms | 5 -
test/API/sys_select.SUSv4.syms | 6 --
test/API/sys_sem.SUSv4.syms | 3 -
test/API/sys_shm.SUSv4.syms | 4 -
test/API/sys_socket.SUSv4.syms | 18 ----
test/API/sys_stat-XSI.SUSv4.syms | 2 -
test/API/sys_stat.SUSv4.syms | 14 ---
test/API/sys_statvfs.SUSv4.syms | 2 -
test/API/sys_time-OB.SUSv4.syms | 3 -
test/API/sys_time.SUSv4.syms | 2 -
test/API/sys_uio.SUSv4.syms | 2 -
test/API/sys_wait.SUSv4.syms | 3 -
test/API/syslog.SUSv4.syms | 4 -
test/API/termios.SUSv4.syms | 11 ---
test/API/time-CPT.SUSv4.syms | 1 -
test/API/time-CX.SUSv4.syms | 15 ---
test/API/time-OB.SUSv4.syms | 2 -
test/API/time-OBCX.SUSv4.syms | 2 -
test/API/time-XSI.SUSv4.syms | 4 -
test/API/time.SUSv4.syms | 7 --
test/API/trace-TEF.SUSv4.syms | 8 --
test/API/trace-TRI.SUSv4.syms | 2 -
test/API/trace-TRL.SUSv4.syms | 9 --
test/API/trace.SUSv4.syms | 31 ------
test/API/tst-API.sh | 17 ----
test/API/unistd-CX.SUSv4.syms | 1 -
test/API/unistd-FSC.SUSv4.syms | 1 -
test/API/unistd-OBXSI.SUSv4.syms | 1 -
test/API/unistd-SIO.SUSv4.syms | 1 -
test/API/unistd-XSI.SUSv4.syms | 9 --
test/API/unistd.SUSv4.syms | 74 ---------------
test/API/utmpx.SUSv4.syms | 6 --
test/API/wchar-CX.SUSv4.syms | 13 ---
test/API/wchar-OBXSI.SUSv4.syms | 15 ---
test/API/wchar-XSI.SUSv4.syms | 2 -
test/API/wchar.SUSv4.syms | 59 ------------
test/API/wctype-CX.SUSv4.syms | 18 ----
test/API/wctype.SUSv4.syms | 18 ----
test/API/wordexp.SUSv4.syms | 2 -
122 files changed, 1386 deletions(-)
delete mode 100644 test/API/Makefile
delete mode 100644 test/API/Makefile.in
delete mode 100644 test/API/aio.SUSv4.syms
delete mode 100644 test/API/arpa_inet.SUSv4.syms
delete mode 100644 test/API/complex.SUSv4.syms
delete mode 100644 test/API/ctype-CX.SUSv4.syms
delete mode 100644 test/API/ctype-OBXSI.SUSv4.syms
delete mode 100644 test/API/ctype.SUSv4.syms
delete mode 100644 test/API/dirent-XSI.SUSv4.syms
delete mode 100644 test/API/dirent.SUSv4.syms
delete mode 100644 test/API/dlfcn.SUSv4.syms
delete mode 100644 test/API/fcntl-ADV.SUSv4.syms
delete mode 100644 test/API/fcntl.SUSv4.syms
delete mode 100644 test/API/fenv.SUSv4.syms
delete mode 100644 test/API/ftw-OB.SUSv4.syms
delete mode 100644 test/API/ftw.SUSv4.syms
delete mode 100644 test/API/glob.SUSv4.syms
delete mode 100644 test/API/grp-XSI.SUSv4.syms
delete mode 100644 test/API/grp.SUSv4.syms
delete mode 100755 test/API/html2input.sh
delete mode 100644 test/API/iconv.SUSv4.syms
delete mode 100644 test/API/inttypes.SUSv4.syms
delete mode 100644 test/API/libgen.SUSv4.syms
delete mode 100644 test/API/locale-CX.SUSv4.syms
delete mode 100644 test/API/locale.SUSv4.syms
delete mode 100644 test/API/math-XSI.SUSv4.syms
delete mode 100644 test/API/math.SUSv4.syms
delete mode 100644 test/API/monetary.SUSv4.syms
delete mode 100644 test/API/mqueue.SUSv4.syms
delete mode 100644 test/API/ndbm.SUSv4.syms
delete mode 100644 test/API/net_if.SUSv4.syms
delete mode 100644 test/API/netdb.SUSv4.syms
delete mode 100644 test/API/nl_types.SUSv4.syms
delete mode 100644 test/API/pthread-MC1.SUSv4.syms
delete mode 100644 test/API/pthread-OBXSI.SUSv4.syms
delete mode 100644 test/API/pthread-RPP|TPP.SUSv4.syms
delete mode 100644 test/API/pthread-TCT.SUSv4.syms
delete mode 100644 test/API/pthread-TPS.SUSv4.syms
delete mode 100644 test/API/pthread-TSATSS.SUSv4.syms
delete mode 100644 test/API/pthread-TSH.SUSv4.syms
delete mode 100644 test/API/pthread-TSS.SUSv4.syms
delete mode 100644 test/API/pthread.SUSv4.syms
delete mode 100644 test/API/pwd-XSI.SUSv4.syms
delete mode 100644 test/API/pwd.SUSv4.syms
delete mode 100644 test/API/regex.SUSv4.syms
delete mode 100644 test/API/sched-PS.SUSv4.syms
delete mode 100644 test/API/sched-PS|TPS.SUSv4.syms
delete mode 100644 test/API/sched.SUSv4.syms
delete mode 100644 test/API/search.SUSv4.syms
delete mode 100644 test/API/semaphore.SUSv4.syms
delete mode 100644 test/API/separate.awk
delete mode 100644 test/API/setjmp-CX.SUSv4.syms
delete mode 100644 test/API/setjmp-OBXSI.SUSv4.syms
delete mode 100644 test/API/setjmp.SUSv4.syms
delete mode 100644 test/API/signal-CX.SUSv4.syms
delete mode 100644 test/API/signal-OBXSI.SUSv4.syms
delete mode 100644 test/API/signal-XSI.SUSv4.syms
delete mode 100644 test/API/signal.SUSv4.syms
delete mode 100644 test/API/spawn-PS.SUSv4.syms
delete mode 100644 test/API/spawn.SUSv4.syms
delete mode 100644 test/API/stdio-CX.SUSv4.syms
delete mode 100644 test/API/stdio-OB.SUSv4.syms
delete mode 100644 test/API/stdio-OBXSI.SUSv4.syms
delete mode 100644 test/API/stdio.SUSv4.syms
delete mode 100644 test/API/stdlib-ADV.SUSv4.syms
delete mode 100644 test/API/stdlib-CX.SUSv4.syms
delete mode 100644 test/API/stdlib-OBCX.SUSv4.syms
delete mode 100644 test/API/stdlib-XSI.SUSv4.syms
delete mode 100644 test/API/stdlib.SUSv4.syms
delete mode 100644 test/API/string-CX.SUSv4.syms
delete mode 100644 test/API/string-XSI.SUSv4.syms
delete mode 100644 test/API/string.SUSv4.syms
delete mode 100644 test/API/strings-XSI.SUSv4.syms
delete mode 100644 test/API/strings.SUSv4.syms
delete mode 100644 test/API/stropts.SUSv4.syms
delete mode 100644 test/API/sys_mman-ADV.SUSv4.syms
delete mode 100644 test/API/sys_mman-ML.SUSv4.syms
delete mode 100644 test/API/sys_mman-MLR.SUSv4.syms
delete mode 100644 test/API/sys_mman-SHM.SUSv4.syms
delete mode 100644 test/API/sys_mman-TYM.SUSv4.syms
delete mode 100644 test/API/sys_mman-XSI|SIO.SUSv4.syms
delete mode 100644 test/API/sys_mman.SUSv4.syms
delete mode 100644 test/API/sys_msg.SUSv4.syms
delete mode 100644 test/API/sys_resource.SUSv4.syms
delete mode 100644 test/API/sys_select.SUSv4.syms
delete mode 100644 test/API/sys_sem.SUSv4.syms
delete mode 100644 test/API/sys_shm.SUSv4.syms
delete mode 100644 test/API/sys_socket.SUSv4.syms
delete mode 100644 test/API/sys_stat-XSI.SUSv4.syms
delete mode 100644 test/API/sys_stat.SUSv4.syms
delete mode 100644 test/API/sys_statvfs.SUSv4.syms
delete mode 100644 test/API/sys_time-OB.SUSv4.syms
delete mode 100644 test/API/sys_time.SUSv4.syms
delete mode 100644 test/API/sys_uio.SUSv4.syms
delete mode 100644 test/API/sys_wait.SUSv4.syms
delete mode 100644 test/API/syslog.SUSv4.syms
delete mode 100644 test/API/termios.SUSv4.syms
delete mode 100644 test/API/time-CPT.SUSv4.syms
delete mode 100644 test/API/time-CX.SUSv4.syms
delete mode 100644 test/API/time-OB.SUSv4.syms
delete mode 100644 test/API/time-OBCX.SUSv4.syms
delete mode 100644 test/API/time-XSI.SUSv4.syms
delete mode 100644 test/API/time.SUSv4.syms
delete mode 100644 test/API/trace-TEF.SUSv4.syms
delete mode 100644 test/API/trace-TRI.SUSv4.syms
delete mode 100644 test/API/trace-TRL.SUSv4.syms
delete mode 100644 test/API/trace.SUSv4.syms
delete mode 100755 test/API/tst-API.sh
delete mode 100644 test/API/unistd-CX.SUSv4.syms
delete mode 100644 test/API/unistd-FSC.SUSv4.syms
delete mode 100644 test/API/unistd-OBXSI.SUSv4.syms
delete mode 100644 test/API/unistd-SIO.SUSv4.syms
delete mode 100644 test/API/unistd-XSI.SUSv4.syms
delete mode 100644 test/API/unistd.SUSv4.syms
delete mode 100644 test/API/utmpx.SUSv4.syms
delete mode 100644 test/API/wchar-CX.SUSv4.syms
delete mode 100644 test/API/wchar-OBXSI.SUSv4.syms
delete mode 100644 test/API/wchar-XSI.SUSv4.syms
delete mode 100644 test/API/wchar.SUSv4.syms
delete mode 100644 test/API/wctype-CX.SUSv4.syms
delete mode 100644 test/API/wctype.SUSv4.syms
delete mode 100644 test/API/wordexp.SUSv4.syms
diff --git a/test/API/Makefile b/test/API/Makefile
deleted file mode 100644
index 2384e2a..0000000
--- a/test/API/Makefile
+++ /dev/null
@@ -1,8 +0,0 @@
-# uClibc API tests
-# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
-
-top_builddir=../../
-top_srcdir=../../
-include ../Rules.mak
--include Makefile.in
-include ../Test.mak
diff --git a/test/API/Makefile.in b/test/API/Makefile.in
deleted file mode 100644
index 9e7cfdf..0000000
--- a/test/API/Makefile.in
+++ /dev/null
@@ -1,26 +0,0 @@
-# uClibc API tests
-# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
-
-SHELL_TESTS := shell_tst-API
-run: $(SHELL_TESTS)
-
-define get_codes
- $(subst .,,$(sort $(suffix $(subst -,.,$(foreach x,$(1),$(if $(findstring -,$(x)),$(x),))))))
-endef
-sym_files = $(patsubst %.syms,%,$(wildcard *.syms))
-stds = $(patsubst .%,%,$(sort $(suffix $(sym_files))))
-tests=$(foreach s,$(stds),$(patsubst %.$(s),%,$(sym_files)))
-codes=$(call get_codes,$(tests))
-
-shell_tst-API: uclibc_out=$(patsubst shell_%,%,$(a)).out
-shell_tst-API: glibc_out=$(patsubst shell_%,%_glibc,$(a)).out
-shell_tst-API:
- @exec echo "DISABLED for now, needs improvement"
-shell_tst-API_DISABLED:
- $(showtest)
- $(Q)top_builddir=$(top_builddir) AWK=$(AWK) \
- uclibc_out=$(uclibc_out) glibc_out=$(glibc_out) \
- $(SHELL) \
- $(patsubst shell_%,%.sh,$@) $(stds) "$(tests)"
- $(do_showdiff) $(glibc_out) $(uclibc_out) ; \
- exec diff -u "$(glibc_out)" "$(uclibc_out)"
diff --git a/test/API/aio.SUSv4.syms b/test/API/aio.SUSv4.syms
deleted file mode 100644
index c7d13e0..0000000
--- a/test/API/aio.SUSv4.syms
+++ /dev/null
@@ -1,8 +0,0 @@
-aio_cancel
-aio_error
-aio_fsync
-aio_read
-aio_return
-aio_suspend
-aio_write
-lio_listio
diff --git a/test/API/arpa_inet.SUSv4.syms b/test/API/arpa_inet.SUSv4.syms
deleted file mode 100644
index e61cc9f..0000000
--- a/test/API/arpa_inet.SUSv4.syms
+++ /dev/null
@@ -1,8 +0,0 @@
-htonl
-htons
-ntohl
-ntohs
-inet_addr
-inet_ntoa
-inet_ntop
-inet_pton
diff --git a/test/API/complex.SUSv4.syms b/test/API/complex.SUSv4.syms
deleted file mode 100644
index ce7be69..0000000
--- a/test/API/complex.SUSv4.syms
+++ /dev/null
@@ -1,66 +0,0 @@
-cabs
-cabsf
-cabsl
-cacos
-cacosf
-cacosh
-cacoshf
-cacoshl
-cacosl
-carg
-cargf
-cargl
-casin
-casinf
-casinh
-casinhf
-casinhl
-casinl
-catan
-catanf
-catanh
-catanhf
-catanhl
-catanl
-ccos
-ccosf
-ccosh
-ccoshf
-ccoshl
-ccosl
-cexp
-cexpf
-cexpl
-cimag
-cimagf
-cimagl
-clog
-clogf
-clogl
-conj
-conjf
-conjl
-cpow
-cpowf
-cpowl
-cproj
-cprojf
-cprojl
-creal
-crealf
-creall
-csin
-csinf
-csinh
-csinhf
-csinhl
-csinl
-csqrt
-csqrtf
-csqrtl
-ctan
-ctanf
-ctanh
-ctanhf
-ctanhl
-ctanl
diff --git a/test/API/ctype-CX.SUSv4.syms b/test/API/ctype-CX.SUSv4.syms
deleted file mode 100644
index 3963c49..0000000
--- a/test/API/ctype-CX.SUSv4.syms
+++ /dev/null
@@ -1,14 +0,0 @@
-isalnum_l
-isalpha_l
-isblank_l
-iscntrl_l
-isdigit_l
-isgraph_l
-islower_l
-isprint_l
-ispunct_l
-isspace_l
-isupper_l
-isxdigit_l
-tolower_l
-toupper_l
diff --git a/test/API/ctype-OBXSI.SUSv4.syms b/test/API/ctype-OBXSI.SUSv4.syms
deleted file mode 100644
index 7a5ad9b..0000000
--- a/test/API/ctype-OBXSI.SUSv4.syms
+++ /dev/null
@@ -1,2 +0,0 @@
-isascii
-toascii
diff --git a/test/API/ctype.SUSv4.syms b/test/API/ctype.SUSv4.syms
deleted file mode 100644
index fac123f..0000000
--- a/test/API/ctype.SUSv4.syms
+++ /dev/null
@@ -1,14 +0,0 @@
-isalnum
-isalpha
-isblank
-iscntrl
-isdigit
-isgraph
-islower
-isprint
-ispunct
-isspace
-isupper
-isxdigit
-tolower
-toupper
diff --git a/test/API/dirent-XSI.SUSv4.syms b/test/API/dirent-XSI.SUSv4.syms
deleted file mode 100644
index 9791070..0000000
--- a/test/API/dirent-XSI.SUSv4.syms
+++ /dev/null
@@ -1,2 +0,0 @@
-seekdir
-telldir
diff --git a/test/API/dirent.SUSv4.syms b/test/API/dirent.SUSv4.syms
deleted file mode 100644
index e749efb..0000000
--- a/test/API/dirent.SUSv4.syms
+++ /dev/null
@@ -1,9 +0,0 @@
-alphasort
-closedir
-dirfd
-fdopendir
-opendir
-readdir
-readdir_r
-rewinddir
-scandir
diff --git a/test/API/dlfcn.SUSv4.syms b/test/API/dlfcn.SUSv4.syms
deleted file mode 100644
index 1e7500e..0000000
--- a/test/API/dlfcn.SUSv4.syms
+++ /dev/null
@@ -1,4 +0,0 @@
-dlclose
-dlerror
-dlopen
-dlsym
diff --git a/test/API/fcntl-ADV.SUSv4.syms b/test/API/fcntl-ADV.SUSv4.syms
deleted file mode 100644
index 899236e..0000000
--- a/test/API/fcntl-ADV.SUSv4.syms
+++ /dev/null
@@ -1,2 +0,0 @@
-posix_fadvise
-posix_fallocate
diff --git a/test/API/fcntl.SUSv4.syms b/test/API/fcntl.SUSv4.syms
deleted file mode 100644
index 588085b..0000000
--- a/test/API/fcntl.SUSv4.syms
+++ /dev/null
@@ -1,4 +0,0 @@
-creat
-fcntl
-open
-openat
diff --git a/test/API/fenv.SUSv4.syms b/test/API/fenv.SUSv4.syms
deleted file mode 100644
index a9aebcb..0000000
--- a/test/API/fenv.SUSv4.syms
+++ /dev/null
@@ -1,11 +0,0 @@
-feclearexcept
-fegetenv
-fegetexceptflag
-fegetround
-feholdexcept
-feraiseexcept
-fesetenv
-fesetexceptflag
-fesetround
-fetestexcept
-feupdateenv
diff --git a/test/API/ftw-OB.SUSv4.syms b/test/API/ftw-OB.SUSv4.syms
deleted file mode 100644
index 87a440f..0000000
--- a/test/API/ftw-OB.SUSv4.syms
+++ /dev/null
@@ -1 +0,0 @@
-ftw
diff --git a/test/API/ftw.SUSv4.syms b/test/API/ftw.SUSv4.syms
deleted file mode 100644
index 35000c9..0000000
--- a/test/API/ftw.SUSv4.syms
+++ /dev/null
@@ -1 +0,0 @@
-nftw
diff --git a/test/API/glob.SUSv4.syms b/test/API/glob.SUSv4.syms
deleted file mode 100644
index c2e4234..0000000
--- a/test/API/glob.SUSv4.syms
+++ /dev/null
@@ -1,2 +0,0 @@
-glob
-globfree
diff --git a/test/API/grp-XSI.SUSv4.syms b/test/API/grp-XSI.SUSv4.syms
deleted file mode 100644
index e2b1c1d..0000000
--- a/test/API/grp-XSI.SUSv4.syms
+++ /dev/null
@@ -1 +0,0 @@
-setgrent
diff --git a/test/API/grp.SUSv4.syms b/test/API/grp.SUSv4.syms
deleted file mode 100644
index 77a8c6e..0000000
--- a/test/API/grp.SUSv4.syms
+++ /dev/null
@@ -1,6 +0,0 @@
-endgrent
-getgrent
-getgrgid
-getgrgid_r
-getgrnam
-getgrnam_r
diff --git a/test/API/html2input.sh b/test/API/html2input.sh
deleted file mode 100755
index 9ea68fe..0000000
--- a/test/API/html2input.sh
+++ /dev/null
@@ -1,119 +0,0 @@
-#!/bin/sh
-# vi: ft=awk :
-#
-# Script to extract functions and external variables off SUS html docs
-#
-# Copyright (C) 2010 Bernhard Reutner-Fischer
-# Public Domain
-
-# Usage:
-# wget http://www.opengroup.org/onlinepubs/9699919799/download/susv4.tgz
-# tar xzf susv4.tgz
-# SUS=susv4 html2input.sh -vFULL_DECLARATIONS=1
-# or
-# SUS=susv4 html2input.sh -vFULL_DECLARATIONS=0 -vSTDNAME=SUSv4
-#
-# Bug in time.h.html of SUSv4:
-# It inconsistently reads "as variables" instead of "external variables" that
-# is used everywhere except in time.h.html
-
-test "x$SUS" = "x" && SUS="susv4"
-test "x$AWK" = "x" && AWK="AWK"
-test "x$GREP" = "x" && GREP="GREP"
-for h in \
- $($GREP -l "shall be declared as functions" $SUS/basedefs/*.h.html) \
- $($GREP -l "shall declare the following as variables" $SUS/basedefs/*.h.html) \
- $($GREP -l "shall declare the following external variables" $SUS/basedefs/*.h.html)
-do
-$AWK $* '
-function get_filename () {
- if (NR == 1) {
- x=FILENAME
- sub(".*/", "", x)
- split(x, f , ".")
- fname=f[1]
- if (STDNAME)
- fname=fname "." STDNAME
- fname=fname ".in"
- printf "" > fname
- }
-}
-function unhtml (l) {
- sub("<tt>", "", l)
- sub("</tt>", "", l)
- sub("<sup>", "", l)
- sub("</sup>", "", l)
- sub("<a [^>]*>", "", l)
- sub("</a>", "", l)
- if (l ~ /<img[^>]*Option[[:space:]][[:space:]]*Start[^>]*>/) {
- sub("<img[^>]*>", "[Option Start]", l)
- } else if (l ~ /<img[^>]*Option[[:space:]][[:space:]]*End[^>]*>/) {
- sub("<img[^>]*>", "[Option End]", l)
- }
- sub("<.*>", "", l)
- return l
-}
-function get_funcname (l) {
- if (FULL_DECLARATIONS)
- return l
- if (l !~ /;$/)
- return l
- cnt = split(l, foo, " ")
- if (cnt >= 2 && foo[2] ~ /^\(\*/) {
- cnt = split(l, foo, "(")
- # good enough for signal() and sigset()
- if (cnt >= 2)
- l=foo[2]
- } else {
- sub("\\(.*", "", l)
- }
- gsub("[[\\]\\*]", "", l)
- i = split(l, a, " ")
- if (i)
- l = a[i]
- return l
-}
-function get_varname (l) {
- if (FULL_DECLARATIONS)
- return l
- if (l !~ /;$/)
- return l
- gsub(",[[:space:]][[:space:]]*", ",", l)
- sub(";$", "", l)
- i = split(l, a, " ")
- if (i)
- l = a[i]
- gsub("[[\\]\\*]", "", l)
- gsub(",", "\n", l)
- return l
-}
-BEGIN{data=0;l=""}
-get_filename()
-/shall be declared as functions/{data=1;isvar=0;next;}
-/shall declare the following as variables/{data=1;isvar=1;next;}
-/shall declare the following external variables/{data=1;isvar=1;next;}
-/<pre>/{data++;next;}
-/<\/pre>/{data=0;next;}
-/.*/{
- if (data == 2 && fname) {
- tmp = $0
- sub("^[[:space:]][[:space:]]*", " ", tmp)
- l = l tmp
- tmp = unhtml(l)
- if (!tmp)
- next
- l = tmp
- if (tmp !~ /;$/ && tmp !~ />$/ &&
- tmp !~ /Option Start\]$/ && tmp !~ /Option End\]$/)
- next
- if (!isvar)
- l = get_funcname(l)
- else
- l = get_varname(l)
- if (l)
- print l >> fname
- l=""
- }
-}
-' $h
-done
diff --git a/test/API/iconv.SUSv4.syms b/test/API/iconv.SUSv4.syms
deleted file mode 100644
index 0599520..0000000
--- a/test/API/iconv.SUSv4.syms
+++ /dev/null
@@ -1,3 +0,0 @@
-iconv
-iconv_close
-iconv_open
diff --git a/test/API/inttypes.SUSv4.syms b/test/API/inttypes.SUSv4.syms
deleted file mode 100644
index 6cbc3a2..0000000
--- a/test/API/inttypes.SUSv4.syms
+++ /dev/null
@@ -1,6 +0,0 @@
-imaxabs
-imaxdiv
-strtoimax
-strtoumax
-wcstoimax
-wcstoumax
diff --git a/test/API/libgen.SUSv4.syms b/test/API/libgen.SUSv4.syms
deleted file mode 100644
index 3d4945a..0000000
--- a/test/API/libgen.SUSv4.syms
+++ /dev/null
@@ -1,2 +0,0 @@
-basename
-dirname
diff --git a/test/API/locale-CX.SUSv4.syms b/test/API/locale-CX.SUSv4.syms
deleted file mode 100644
index 22ffcfc..0000000
--- a/test/API/locale-CX.SUSv4.syms
+++ /dev/null
@@ -1,4 +0,0 @@
-duplocale
-freelocale
-newlocale
-uselocale
diff --git a/test/API/locale.SUSv4.syms b/test/API/locale.SUSv4.syms
deleted file mode 100644
index 33f8cad..0000000
--- a/test/API/locale.SUSv4.syms
+++ /dev/null
@@ -1,2 +0,0 @@
-localeconv
-setlocale
diff --git a/test/API/math-XSI.SUSv4.syms b/test/API/math-XSI.SUSv4.syms
deleted file mode 100644
index 4ce15d8..0000000
--- a/test/API/math-XSI.SUSv4.syms
+++ /dev/null
@@ -1,6 +0,0 @@
-j0
-j1
-jn
-y0
-y1
-yn
diff --git a/test/API/math.SUSv4.syms b/test/API/math.SUSv4.syms
deleted file mode 100644
index 5343ac0..0000000
--- a/test/API/math.SUSv4.syms
+++ /dev/null
@@ -1,171 +0,0 @@
-acos
-acosf
-acosh
-acoshf
-acoshl
-acosl
-asin
-asinf
-asinh
-asinhf
-asinhl
-asinl
-atan
-atan2
-atan2f
-atan2l
-atanf
-atanh
-atanhf
-atanhl
-atanl
-cbrt
-cbrtf
-cbrtl
-ceil
-ceilf
-ceill
-copysign
-copysignf
-copysignl
-cos
-cosf
-cosh
-coshf
-coshl
-cosl
-erf
-erfc
-erfcf
-erfcl
-erff
-erfl
-exp
-exp2
-exp2f
-exp2l
-expf
-expl
-expm1
-expm1f
-expm1l
-fabs
-fabsf
-fabsl
-fdim
-fdimf
-fdiml
-floor
-floorf
-floorl
-fma
-fmaf
-fmal
-fmax
-fmaxf
-fmaxl
-fmin
-fminf
-fminl
-fmod
-fmodf
-fmodl
-frexp
-frexpf
-frexpl
-hypot
-hypotf
-hypotl
-ilogb
-ilogbf
-ilogbl
-ldexp
-ldexpf
-ldexpl
-lgamma
-lgammaf
-lgammal
-llrint
-llrintf
-llrintl
-llround
-llroundf
-llroundl
-log
-log10
-log10f
-log10l
-log1p
-log1pf
-log1pl
-log2
-log2f
-log2l
-logb
-logbf
-logbl
-logf
-logl
-lrint
-lrintf
-lrintl
-lround
-lroundf
-lroundl
-modf
-modff
-modfl
-nan
-nanf
-nanl
-nearbyint
-nearbyintf
-nearbyintl
-nextafter
-nextafterf
-nextafterl
-nexttoward
-nexttowardf
-nexttowardl
-pow
-powf
-powl
-remainder
-remainderf
-remainderl
-remquo
-remquof
-remquol
-rint
-rintf
-rintl
-round
-roundf
-roundl
-scalbln
-scalblnf
-scalblnl
-scalbn
-scalbnf
-scalbnl
-sin
-sinf
-sinh
-sinhf
-sinhl
-sinl
-sqrt
-sqrtf
-sqrtl
-tan
-tanf
-tanh
-tanhf
-tanhl
-tanl
-tgamma
-tgammaf
-tgammal
-trunc
-truncf
-truncl
diff --git a/test/API/monetary.SUSv4.syms b/test/API/monetary.SUSv4.syms
deleted file mode 100644
index 256b53a..0000000
--- a/test/API/monetary.SUSv4.syms
+++ /dev/null
@@ -1,2 +0,0 @@
-strfmon
-strfmon_l
diff --git a/test/API/mqueue.SUSv4.syms b/test/API/mqueue.SUSv4.syms
deleted file mode 100644
index 54c80a0..0000000
--- a/test/API/mqueue.SUSv4.syms
+++ /dev/null
@@ -1,10 +0,0 @@
-mq_close
-mq_getattr
-mq_notify
-mq_open
-mq_receive
-mq_send
-mq_setattr
-mq_timedreceive
-mq_timedsend
-mq_unlink
diff --git a/test/API/ndbm.SUSv4.syms b/test/API/ndbm.SUSv4.syms
deleted file mode 100644
index 70116bf..0000000
--- a/test/API/ndbm.SUSv4.syms
+++ /dev/null
@@ -1,9 +0,0 @@
-dbm_clearerr
-dbm_close
-dbm_delete
-dbm_error
-dbm_fetch
-dbm_firstkey
-dbm_nextkey
-dbm_open
-dbm_store
diff --git a/test/API/net_if.SUSv4.syms b/test/API/net_if.SUSv4.syms
deleted file mode 100644
index 828a0cd..0000000
--- a/test/API/net_if.SUSv4.syms
+++ /dev/null
@@ -1,4 +0,0 @@
-if_freenameindex
-if_indextoname
-if_nameindex
-if_nametoindex
diff --git a/test/API/netdb.SUSv4.syms b/test/API/netdb.SUSv4.syms
deleted file mode 100644
index daf932b..0000000
--- a/test/API/netdb.SUSv4.syms
+++ /dev/null
@@ -1,22 +0,0 @@
-endhostent
-endnetent
-endprotoent
-endservent
-freeaddrinfo
-gai_strerror
-getaddrinfo
-gethostent
-getnameinfo
-getnetbyaddr
-getnetbyname
-getnetent
-getprotobyname
-getprotobynumber
-getprotoent
-getservbyname
-getservbyport
-getservent
-sethostent
-setnetent
-setprotoent
-setservent
diff --git a/test/API/nl_types.SUSv4.syms b/test/API/nl_types.SUSv4.syms
deleted file mode 100644
index ea00599..0000000
--- a/test/API/nl_types.SUSv4.syms
+++ /dev/null
@@ -1,3 +0,0 @@
-catclose
-catgets
-catopen
diff --git a/test/API/pthread-MC1.SUSv4.syms b/test/API/pthread-MC1.SUSv4.syms
deleted file mode 100644
index 8a47a39..0000000
--- a/test/API/pthread-MC1.SUSv4.syms
+++ /dev/null
@@ -1,2 +0,0 @@
-pthread_mutexattr_getprotocol
-pthread_mutexattr_setprotocol
diff --git a/test/API/pthread-OBXSI.SUSv4.syms b/test/API/pthread-OBXSI.SUSv4.syms
deleted file mode 100644
index 140b53d..0000000
--- a/test/API/pthread-OBXSI.SUSv4.syms
+++ /dev/null
@@ -1,2 +0,0 @@
-pthread_getconcurrency
-pthread_setconcurrency
diff --git a/test/API/pthread-RPP|TPP.SUSv4.syms b/test/API/pthread-RPP|TPP.SUSv4.syms
deleted file mode 100644
index b116695..0000000
--- a/test/API/pthread-RPP|TPP.SUSv4.syms
+++ /dev/null
@@ -1,4 +0,0 @@
-pthread_mutex_getprioceiling
-pthread_mutex_setprioceiling
-pthread_mutexattr_getprioceiling
-pthread_mutexattr_setprioceiling
diff --git a/test/API/pthread-TCT.SUSv4.syms b/test/API/pthread-TCT.SUSv4.syms
deleted file mode 100644
index 7153787..0000000
--- a/test/API/pthread-TCT.SUSv4.syms
+++ /dev/null
@@ -1 +0,0 @@
-pthread_getcpuclockid
diff --git a/test/API/pthread-TPS.SUSv4.syms b/test/API/pthread-TPS.SUSv4.syms
deleted file mode 100644
index 76fcd95..0000000
--- a/test/API/pthread-TPS.SUSv4.syms
+++ /dev/null
@@ -1,9 +0,0 @@
-pthread_attr_getinheritsched
-pthread_attr_getschedpolicy
-pthread_attr_getscope
-pthread_attr_setinheritsched
-pthread_attr_setschedpolicy
-pthread_attr_setscope
-pthread_getschedparam
-pthread_setschedparam
-pthread_setschedprio
diff --git a/test/API/pthread-TSATSS.SUSv4.syms b/test/API/pthread-TSATSS.SUSv4.syms
deleted file mode 100644
index 5e03091..0000000
--- a/test/API/pthread-TSATSS.SUSv4.syms
+++ /dev/null
@@ -1,2 +0,0 @@
-pthread_attr_getstack
-pthread_attr_setstack
diff --git a/test/API/pthread-TSH.SUSv4.syms b/test/API/pthread-TSH.SUSv4.syms
deleted file mode 100644
index 717b232..0000000
--- a/test/API/pthread-TSH.SUSv4.syms
+++ /dev/null
@@ -1,8 +0,0 @@
-pthread_barrierattr_getpshared
-pthread_barrierattr_setpshared
-pthread_condattr_getpshared
-pthread_condattr_setpshared
-pthread_mutexattr_getpshared
-pthread_mutexattr_setpshared
-pthread_rwlockattr_getpshared
-pthread_rwlockattr_setpshared
diff --git a/test/API/pthread-TSS.SUSv4.syms b/test/API/pthread-TSS.SUSv4.syms
deleted file mode 100644
index 1092f88..0000000
--- a/test/API/pthread-TSS.SUSv4.syms
+++ /dev/null
@@ -1,2 +0,0 @@
-pthread_attr_getstacksize
-pthread_attr_setstacksize
diff --git a/test/API/pthread.SUSv4.syms b/test/API/pthread.SUSv4.syms
deleted file mode 100644
index 524a6fe..0000000
--- a/test/API/pthread.SUSv4.syms
+++ /dev/null
@@ -1,70 +0,0 @@
-pthread_atfork
-pthread_attr_destroy
-pthread_attr_getdetachstate
-pthread_attr_getguardsize
-pthread_attr_getschedparam
-pthread_attr_init
-pthread_attr_setdetachstate
-pthread_attr_setguardsize
-pthread_attr_setschedparam
-pthread_barrier_destroy
-pthread_barrier_init
-pthread_barrier_wait
-pthread_barrierattr_destroy
-pthread_barrierattr_init
-pthread_cancel
-pthread_cleanup_pop
-pthread_cleanup_push
-pthread_cond_broadcast
-pthread_cond_destroy
-pthread_cond_init
-pthread_cond_signal
-pthread_cond_timedwait
-pthread_cond_wait
-pthread_condattr_destroy
-pthread_condattr_getclock
-pthread_condattr_init
-pthread_condattr_setclock
-pthread_create
-pthread_detach
-pthread_equal
-pthread_exit
-pthread_getspecific
-pthread_join
-pthread_key_create
-pthread_key_delete
-pthread_mutex_consistent
-pthread_mutex_destroy
-pthread_mutex_init
-pthread_mutex_lock
-pthread_mutex_timedlock
-pthread_mutex_trylock
-pthread_mutex_unlock
-pthread_mutexattr_destroy
-pthread_mutexattr_getrobust
-pthread_mutexattr_gettype
-pthread_mutexattr_init
-pthread_mutexattr_setrobust
-pthread_mutexattr_settype
-pthread_once
-pthread_rwlock_destroy
-pthread_rwlock_init
-pthread_rwlock_rdlock
-pthread_rwlock_timedrdlock
-pthread_rwlock_timedwrlock
-pthread_rwlock_tryrdlock
-pthread_rwlock_trywrlock
-pthread_rwlock_unlock
-pthread_rwlock_wrlock
-pthread_rwlockattr_destroy
-pthread_rwlockattr_init
-pthread_self
-pthread_setcancelstate
-pthread_setcanceltype
-pthread_setspecific
-pthread_spin_destroy
-pthread_spin_init
-pthread_spin_lock
-pthread_spin_trylock
-pthread_spin_unlock
-pthread_testcancel
diff --git a/test/API/pwd-XSI.SUSv4.syms b/test/API/pwd-XSI.SUSv4.syms
deleted file mode 100644
index 8b0350a..0000000
--- a/test/API/pwd-XSI.SUSv4.syms
+++ /dev/null
@@ -1,3 +0,0 @@
-endpwent
-getpwent
-setpwent
diff --git a/test/API/pwd.SUSv4.syms b/test/API/pwd.SUSv4.syms
deleted file mode 100644
index 45328f6..0000000
--- a/test/API/pwd.SUSv4.syms
+++ /dev/null
@@ -1,4 +0,0 @@
-getpwnam
-getpwnam_r
-getpwuid
-getpwuid_r
diff --git a/test/API/regex.SUSv4.syms b/test/API/regex.SUSv4.syms
deleted file mode 100644
index 94bf9fa..0000000
--- a/test/API/regex.SUSv4.syms
+++ /dev/null
@@ -1,4 +0,0 @@
-regcomp
-regerror
-regexec
-regfree
diff --git a/test/API/sched-PS.SUSv4.syms b/test/API/sched-PS.SUSv4.syms
deleted file mode 100644
index 51ce62a..0000000
--- a/test/API/sched-PS.SUSv4.syms
+++ /dev/null
@@ -1,4 +0,0 @@
-sched_getparam
-sched_getscheduler
-sched_setparam
-sched_setscheduler
diff --git a/test/API/sched-PS|TPS.SUSv4.syms b/test/API/sched-PS|TPS.SUSv4.syms
deleted file mode 100644
index 67fdb60..0000000
--- a/test/API/sched-PS|TPS.SUSv4.syms
+++ /dev/null
@@ -1,3 +0,0 @@
-sched_get_priority_max
-sched_get_priority_min
-sched_rr_get_interval
diff --git a/test/API/sched.SUSv4.syms b/test/API/sched.SUSv4.syms
deleted file mode 100644
index 0b6b81d..0000000
--- a/test/API/sched.SUSv4.syms
+++ /dev/null
@@ -1 +0,0 @@
-sched_yield
diff --git a/test/API/search.SUSv4.syms b/test/API/search.SUSv4.syms
deleted file mode 100644
index 5bbf845..0000000
--- a/test/API/search.SUSv4.syms
+++ /dev/null
@@ -1,11 +0,0 @@
-hcreate
-hdestroy
-hsearch
-insque
-lfind
-lsearch
-remque
-tdelete
-tfind
-tsearch
-twalk
diff --git a/test/API/semaphore.SUSv4.syms b/test/API/semaphore.SUSv4.syms
deleted file mode 100644
index 1f291c5..0000000
--- a/test/API/semaphore.SUSv4.syms
+++ /dev/null
@@ -1,10 +0,0 @@
-sem_close
-sem_destroy
-sem_getvalue
-sem_init
-sem_open
-sem_post
-sem_timedwait
-sem_trywait
-sem_unlink
-sem_wait
diff --git a/test/API/separate.awk b/test/API/separate.awk
deleted file mode 100644
index f7850c4..0000000
--- a/test/API/separate.awk
+++ /dev/null
@@ -1,48 +0,0 @@
-#!/usr/bin/awk -f
-#
-# Usage: awk -f separate.awk foo.SUSv4.in
-# Input: http://www.opengroup.org/onlinepubs/9699919799/basedefs/unistd.h.html#tag_1…
-# Output: foo-$CODE.SUSv4.syms, foo.SUSv4.syms
-#
-# Copyright (C) 2010 Bernhard Reutner-Fischer
-# Public domain
-
-function get_code(line)
-{
- sub("\\]\\[.*", "", line)
- sub("\\[", "", line)
- sub(" ", "", line)
- return line
-}
-BEGIN{
- code="";# feature set; XSI, OB XSI, CX, etc
-
-}
-/\[Option Start\]/{
- code = get_code($0)
- next
-}
-/\[Option End\]/{ code = ""; next; }
-/.*/ {
- if (!hdrname) {
- split(FILENAME, fparts, ".")
- hdrname = fparts[1]
- stdname = fparts[2]
- if (fparts[3] != "in") {
- print "inputfilename may not be ok, exiting."
- exit(1)
- }
- }
- if (code) {
- fname = hdrname "-" code "." stdname ".syms"
- } else {
- fname = hdrname "." stdname ".syms"
- }
- sub("^*", "", $0)
- if (file[code]) {
- print $0 >> fname
- } else {
- print $0 > fname
- file[code] = 1
- }
-}
diff --git a/test/API/setjmp-CX.SUSv4.syms b/test/API/setjmp-CX.SUSv4.syms
deleted file mode 100644
index fb0fbbe..0000000
--- a/test/API/setjmp-CX.SUSv4.syms
+++ /dev/null
@@ -1 +0,0 @@
-siglongjmp
diff --git a/test/API/setjmp-OBXSI.SUSv4.syms b/test/API/setjmp-OBXSI.SUSv4.syms
deleted file mode 100644
index 8f2d5b1..0000000
--- a/test/API/setjmp-OBXSI.SUSv4.syms
+++ /dev/null
@@ -1 +0,0 @@
-_longjmp
diff --git a/test/API/setjmp.SUSv4.syms b/test/API/setjmp.SUSv4.syms
deleted file mode 100644
index a51df77..0000000
--- a/test/API/setjmp.SUSv4.syms
+++ /dev/null
@@ -1 +0,0 @@
-longjmp
diff --git a/test/API/signal-CX.SUSv4.syms b/test/API/signal-CX.SUSv4.syms
deleted file mode 100644
index 3d77c5a..0000000
--- a/test/API/signal-CX.SUSv4.syms
+++ /dev/null
@@ -1,18 +0,0 @@
-kill
-psiginfo
-psignal
-pthread_kill
-pthread_sigmask
-sigaction
-sigaddset
-sigdelset
-sigemptyset
-sigfillset
-sigismember
-sigpending
-sigprocmask
-sigqueue
-sigsuspend
-sigtimedwait
-sigwait
-sigwaitinfo
diff --git a/test/API/signal-OBXSI.SUSv4.syms b/test/API/signal-OBXSI.SUSv4.syms
deleted file mode 100644
index 2a6341d..0000000
--- a/test/API/signal-OBXSI.SUSv4.syms
+++ /dev/null
@@ -1,6 +0,0 @@
-sighold
-sigignore
-siginterrupt
-sigpause
-sigrelse
-void
diff --git a/test/API/signal-XSI.SUSv4.syms b/test/API/signal-XSI.SUSv4.syms
deleted file mode 100644
index f3df0c1..0000000
--- a/test/API/signal-XSI.SUSv4.syms
+++ /dev/null
@@ -1,2 +0,0 @@
-killpg
-sigaltstack
diff --git a/test/API/signal.SUSv4.syms b/test/API/signal.SUSv4.syms
deleted file mode 100644
index 2119c27..0000000
--- a/test/API/signal.SUSv4.syms
+++ /dev/null
@@ -1,2 +0,0 @@
-raise
-void
diff --git a/test/API/spawn-PS.SUSv4.syms b/test/API/spawn-PS.SUSv4.syms
deleted file mode 100644
index f92ebbb..0000000
--- a/test/API/spawn-PS.SUSv4.syms
+++ /dev/null
@@ -1,4 +0,0 @@
-posix_spawnattr_getschedparam
-posix_spawnattr_getschedpolicy
-posix_spawnattr_setschedparam
-posix_spawnattr_setschedpolicy
diff --git a/test/API/spawn.SUSv4.syms b/test/API/spawn.SUSv4.syms
deleted file mode 100644
index 7481640..0000000
--- a/test/API/spawn.SUSv4.syms
+++ /dev/null
@@ -1,17 +0,0 @@
-posix_spawn
-posix_spawn_file_actions_addclose
-posix_spawn_file_actions_adddup2
-posix_spawn_file_actions_addopen
-posix_spawn_file_actions_destroy
-posix_spawn_file_actions_init
-posix_spawnattr_destroy
-posix_spawnattr_getflags
-posix_spawnattr_getpgroup
-posix_spawnattr_getsigdefault
-posix_spawnattr_getsigmask
-posix_spawnattr_init
-posix_spawnattr_setflags
-posix_spawnattr_setpgroup
-posix_spawnattr_setsigdefault
-posix_spawnattr_setsigmask
-posix_spawnp
diff --git a/test/API/stdio-CX.SUSv4.syms b/test/API/stdio-CX.SUSv4.syms
deleted file mode 100644
index 98742c3..0000000
--- a/test/API/stdio-CX.SUSv4.syms
+++ /dev/null
@@ -1,20 +0,0 @@
-ctermid
-fdopen
-fileno
-flockfile
-fmemopen
-fseeko
-ftello
-ftrylockfile
-funlockfile
-getc_unlocked
-getchar_unlocked
-getdelim
-getline
-open_memstream
-pclose
-popen
-putc_unlocked
-putchar_unlocked
-renameat
-vdprintf
diff --git a/test/API/stdio-OB.SUSv4.syms b/test/API/stdio-OB.SUSv4.syms
deleted file mode 100644
index f874a6c..0000000
--- a/test/API/stdio-OB.SUSv4.syms
+++ /dev/null
@@ -1,2 +0,0 @@
-gets
-tmpnam
diff --git a/test/API/stdio-OBXSI.SUSv4.syms b/test/API/stdio-OBXSI.SUSv4.syms
deleted file mode 100644
index 644049e..0000000
--- a/test/API/stdio-OBXSI.SUSv4.syms
+++ /dev/null
@@ -1 +0,0 @@
-tempnam
diff --git a/test/API/stdio.SUSv4.syms b/test/API/stdio.SUSv4.syms
deleted file mode 100644
index 0840443..0000000
--- a/test/API/stdio.SUSv4.syms
+++ /dev/null
@@ -1,44 +0,0 @@
-clearerr
-fclose
-feof
-ferror
-fflush
-fgetc
-fgetpos
-fgets
-fopen
-fprintf
-fputc
-fputs
-fread
-freopen
-fscanf
-fseek
-fsetpos
-ftell
-fwrite
-getc
-getchar
-perror
-printf
-putc
-putchar
-puts
-remove
-rename
-rewind
-scanf
-setbuf
-setvbuf
-snprintf
-sprintf
-sscanf
-tmpfile
-ungetc
-vfprintf
-vfscanf
-vprintf
-vscanf
-vsnprintf
-vsprintf
-vsscanf
diff --git a/test/API/stdlib-ADV.SUSv4.syms b/test/API/stdlib-ADV.SUSv4.syms
deleted file mode 100644
index bfb6685..0000000
--- a/test/API/stdlib-ADV.SUSv4.syms
+++ /dev/null
@@ -1 +0,0 @@
-posix_memalign
diff --git a/test/API/stdlib-CX.SUSv4.syms b/test/API/stdlib-CX.SUSv4.syms
deleted file mode 100644
index 10a7b1f..0000000
--- a/test/API/stdlib-CX.SUSv4.syms
+++ /dev/null
@@ -1,4 +0,0 @@
-mkdtemp
-mkstemp
-setenv
-unsetenv
diff --git a/test/API/stdlib-OBCX.SUSv4.syms b/test/API/stdlib-OBCX.SUSv4.syms
deleted file mode 100644
index 1947cc7..0000000
--- a/test/API/stdlib-OBCX.SUSv4.syms
+++ /dev/null
@@ -1 +0,0 @@
-rand_r
diff --git a/test/API/stdlib-XSI.SUSv4.syms b/test/API/stdlib-XSI.SUSv4.syms
deleted file mode 100644
index 6cb0f1b..0000000
--- a/test/API/stdlib-XSI.SUSv4.syms
+++ /dev/null
@@ -1,22 +0,0 @@
-a64l
-drand48
-erand48
-grantpt
-initstate
-jrand48
-l64a
-lcong48
-lrand48
-mrand48
-nrand48
-posix_openpt
-ptsname
-putenv
-random
-realpath
-seed48
-setkey
-setstate
-srand48
-srandom
-unlockpt
diff --git a/test/API/stdlib.SUSv4.syms b/test/API/stdlib.SUSv4.syms
deleted file mode 100644
index aefd969..0000000
--- a/test/API/stdlib.SUSv4.syms
+++ /dev/null
@@ -1,37 +0,0 @@
-_Exit
-abort
-abs
-atexit
-atof
-atoi
-atol
-atoll
-bsearch
-calloc
-div
-exit
-free
-getenv
-getsubopt
-labs
-ldiv
-llabs
-lldiv
-malloc
-mblen
-mbstowcs
-mbtowc
-qsort
-rand
-realloc
-srand
-strtod
-strtof
-strtol
-strtold
-strtoll
-strtoul
-strtoull
-system
-wcstombs
-wctomb
diff --git a/test/API/string-CX.SUSv4.syms b/test/API/string-CX.SUSv4.syms
deleted file mode 100644
index 4f493d4..0000000
--- a/test/API/string-CX.SUSv4.syms
+++ /dev/null
@@ -1,11 +0,0 @@
-stpcpy
-stpncpy
-strcoll_l
-strdup
-strerror_l
-strerror_r
-strndup
-strnlen
-strsignal
-strtok_r
-strxfrm_l
diff --git a/test/API/string-XSI.SUSv4.syms b/test/API/string-XSI.SUSv4.syms
deleted file mode 100644
index e0ee4e3..0000000
--- a/test/API/string-XSI.SUSv4.syms
+++ /dev/null
@@ -1 +0,0 @@
-memccpy
diff --git a/test/API/string.SUSv4.syms b/test/API/string.SUSv4.syms
deleted file mode 100644
index 3c5e2b8..0000000
--- a/test/API/string.SUSv4.syms
+++ /dev/null
@@ -1,22 +0,0 @@
-memchr
-memcmp
-memcpy
-memmove
-memset
-strcat
-strchr
-strcmp
-strcoll
-strcpy
-strcspn
-strerror
-strlen
-strncat
-strncmp
-strncpy
-strpbrk
-strrchr
-strspn
-strstr
-strtok
-strxfrm
diff --git a/test/API/strings-XSI.SUSv4.syms b/test/API/strings-XSI.SUSv4.syms
deleted file mode 100644
index c1173c1..0000000
--- a/test/API/strings-XSI.SUSv4.syms
+++ /dev/null
@@ -1 +0,0 @@
-ffs
diff --git a/test/API/strings.SUSv4.syms b/test/API/strings.SUSv4.syms
deleted file mode 100644
index b4bc233..0000000
--- a/test/API/strings.SUSv4.syms
+++ /dev/null
@@ -1,4 +0,0 @@
-strcasecmp
-strcasecmp_l
-strncasecmp
-strncasecmp_l
diff --git a/test/API/stropts.SUSv4.syms b/test/API/stropts.SUSv4.syms
deleted file mode 100644
index 796d388..0000000
--- a/test/API/stropts.SUSv4.syms
+++ /dev/null
@@ -1,8 +0,0 @@
-fattach
-fdetach
-getmsg
-getpmsg
-ioctl
-isastream
-putmsg
-putpmsg
diff --git a/test/API/sys_mman-ADV.SUSv4.syms b/test/API/sys_mman-ADV.SUSv4.syms
deleted file mode 100644
index 4598c3b..0000000
--- a/test/API/sys_mman-ADV.SUSv4.syms
+++ /dev/null
@@ -1 +0,0 @@
-posix_madvise
diff --git a/test/API/sys_mman-ML.SUSv4.syms b/test/API/sys_mman-ML.SUSv4.syms
deleted file mode 100644
index de0f37d..0000000
--- a/test/API/sys_mman-ML.SUSv4.syms
+++ /dev/null
@@ -1,2 +0,0 @@
-mlockall
-munlockall
diff --git a/test/API/sys_mman-MLR.SUSv4.syms b/test/API/sys_mman-MLR.SUSv4.syms
deleted file mode 100644
index aa8ea9c..0000000
--- a/test/API/sys_mman-MLR.SUSv4.syms
+++ /dev/null
@@ -1,2 +0,0 @@
-mlock
-munlock
diff --git a/test/API/sys_mman-SHM.SUSv4.syms b/test/API/sys_mman-SHM.SUSv4.syms
deleted file mode 100644
index 885119a..0000000
--- a/test/API/sys_mman-SHM.SUSv4.syms
+++ /dev/null
@@ -1,2 +0,0 @@
-shm_open
-shm_unlink
diff --git a/test/API/sys_mman-TYM.SUSv4.syms b/test/API/sys_mman-TYM.SUSv4.syms
deleted file mode 100644
index 68bc50e..0000000
--- a/test/API/sys_mman-TYM.SUSv4.syms
+++ /dev/null
@@ -1,3 +0,0 @@
-posix_mem_offset
-posix_typed_mem_get_info
-posix_typed_mem_open
diff --git a/test/API/sys_mman-XSI|SIO.SUSv4.syms b/test/API/sys_mman-XSI|SIO.SUSv4.syms
deleted file mode 100644
index 3a2f8c3..0000000
--- a/test/API/sys_mman-XSI|SIO.SUSv4.syms
+++ /dev/null
@@ -1 +0,0 @@
-msync
diff --git a/test/API/sys_mman.SUSv4.syms b/test/API/sys_mman.SUSv4.syms
deleted file mode 100644
index 46a46e7..0000000
--- a/test/API/sys_mman.SUSv4.syms
+++ /dev/null
@@ -1,3 +0,0 @@
-mmap
-mprotect
-munmap
diff --git a/test/API/sys_msg.SUSv4.syms b/test/API/sys_msg.SUSv4.syms
deleted file mode 100644
index 95c2ec1..0000000
--- a/test/API/sys_msg.SUSv4.syms
+++ /dev/null
@@ -1,4 +0,0 @@
-msgctl
-msgget
-msgrcv
-msgsnd
diff --git a/test/API/sys_resource.SUSv4.syms b/test/API/sys_resource.SUSv4.syms
deleted file mode 100644
index 72d3e1e..0000000
--- a/test/API/sys_resource.SUSv4.syms
+++ /dev/null
@@ -1,5 +0,0 @@
-getpriority
-getrlimit
-getrusage
-setpriority
-setrlimit
diff --git a/test/API/sys_select.SUSv4.syms b/test/API/sys_select.SUSv4.syms
deleted file mode 100644
index 40cf6d8..0000000
--- a/test/API/sys_select.SUSv4.syms
+++ /dev/null
@@ -1,6 +0,0 @@
-FD_CLR
-FD_ISSET
-FD_SET
-FD_ZERO
-pselect
-select
diff --git a/test/API/sys_sem.SUSv4.syms b/test/API/sys_sem.SUSv4.syms
deleted file mode 100644
index 173f1d9..0000000
--- a/test/API/sys_sem.SUSv4.syms
+++ /dev/null
@@ -1,3 +0,0 @@
-semctl
-semget
-semop
diff --git a/test/API/sys_shm.SUSv4.syms b/test/API/sys_shm.SUSv4.syms
deleted file mode 100644
index f284402..0000000
--- a/test/API/sys_shm.SUSv4.syms
+++ /dev/null
@@ -1,4 +0,0 @@
-shmat
-shmctl
-shmdt
-shmget
diff --git a/test/API/sys_socket.SUSv4.syms b/test/API/sys_socket.SUSv4.syms
deleted file mode 100644
index cc51c9e..0000000
--- a/test/API/sys_socket.SUSv4.syms
+++ /dev/null
@@ -1,18 +0,0 @@
-accept
-bind
-connect
-getpeername
-getsockname
-getsockopt
-listen
-recv
-recvfrom
-recvmsg
-send
-sendmsg
-sendto
-setsockopt
-shutdown
-sockatmark
-socket
-socketpair
diff --git a/test/API/sys_stat-XSI.SUSv4.syms b/test/API/sys_stat-XSI.SUSv4.syms
deleted file mode 100644
index 4800d00..0000000
--- a/test/API/sys_stat-XSI.SUSv4.syms
+++ /dev/null
@@ -1,2 +0,0 @@
-mknod
-mknodat
diff --git a/test/API/sys_stat.SUSv4.syms b/test/API/sys_stat.SUSv4.syms
deleted file mode 100644
index 3fe729f..0000000
--- a/test/API/sys_stat.SUSv4.syms
+++ /dev/null
@@ -1,14 +0,0 @@
-chmod
-fchmod
-fchmodat
-fstat
-fstatat
-futimens
-lstat
-mkdir
-mkdirat
-mkfifo
-mkfifoat
-stat
-umask
-utimensat
diff --git a/test/API/sys_statvfs.SUSv4.syms b/test/API/sys_statvfs.SUSv4.syms
deleted file mode 100644
index c3fd5f4..0000000
--- a/test/API/sys_statvfs.SUSv4.syms
+++ /dev/null
@@ -1,2 +0,0 @@
-fstatvfs
-statvfs
diff --git a/test/API/sys_time-OB.SUSv4.syms b/test/API/sys_time-OB.SUSv4.syms
deleted file mode 100644
index caf1f3f..0000000
--- a/test/API/sys_time-OB.SUSv4.syms
+++ /dev/null
@@ -1,3 +0,0 @@
-getitimer
-gettimeofday
-setitimer
diff --git a/test/API/sys_time.SUSv4.syms b/test/API/sys_time.SUSv4.syms
deleted file mode 100644
index 526a404..0000000
--- a/test/API/sys_time.SUSv4.syms
+++ /dev/null
@@ -1,2 +0,0 @@
-select
-utimes
diff --git a/test/API/sys_uio.SUSv4.syms b/test/API/sys_uio.SUSv4.syms
deleted file mode 100644
index 31caee5..0000000
--- a/test/API/sys_uio.SUSv4.syms
+++ /dev/null
@@ -1,2 +0,0 @@
-readv
-writev
diff --git a/test/API/sys_wait.SUSv4.syms b/test/API/sys_wait.SUSv4.syms
deleted file mode 100644
index 753c380..0000000
--- a/test/API/sys_wait.SUSv4.syms
+++ /dev/null
@@ -1,3 +0,0 @@
-wait
-waitid
-waitpid
diff --git a/test/API/syslog.SUSv4.syms b/test/API/syslog.SUSv4.syms
deleted file mode 100644
index a44f514..0000000
--- a/test/API/syslog.SUSv4.syms
+++ /dev/null
@@ -1,4 +0,0 @@
-closelog
-openlog
-setlogmask
-syslog
diff --git a/test/API/termios.SUSv4.syms b/test/API/termios.SUSv4.syms
deleted file mode 100644
index 43ac836..0000000
--- a/test/API/termios.SUSv4.syms
+++ /dev/null
@@ -1,11 +0,0 @@
-cfgetispeed
-cfgetospeed
-cfsetispeed
-cfsetospeed
-tcdrain
-tcflow
-tcflush
-tcgetattr
-tcgetsid
-tcsendbreak
-tcsetattr
diff --git a/test/API/time-CPT.SUSv4.syms b/test/API/time-CPT.SUSv4.syms
deleted file mode 100644
index 278952e..0000000
--- a/test/API/time-CPT.SUSv4.syms
+++ /dev/null
@@ -1 +0,0 @@
-clock_getcpuclockid
diff --git a/test/API/time-CX.SUSv4.syms b/test/API/time-CX.SUSv4.syms
deleted file mode 100644
index d2cbb77..0000000
--- a/test/API/time-CX.SUSv4.syms
+++ /dev/null
@@ -1,15 +0,0 @@
-clock_getres
-clock_gettime
-clock_nanosleep
-clock_settime
-gmtime_r
-localtime_r
-nanosleep
-strftime_l
-timer_create
-timer_delete
-timer_getoverrun
-timer_gettime
-timer_settime
-tzset
-tzname
diff --git a/test/API/time-OB.SUSv4.syms b/test/API/time-OB.SUSv4.syms
deleted file mode 100644
index ce1dad0..0000000
--- a/test/API/time-OB.SUSv4.syms
+++ /dev/null
@@ -1,2 +0,0 @@
-asctime
-ctime
diff --git a/test/API/time-OBCX.SUSv4.syms b/test/API/time-OBCX.SUSv4.syms
deleted file mode 100644
index b46018c..0000000
--- a/test/API/time-OBCX.SUSv4.syms
+++ /dev/null
@@ -1,2 +0,0 @@
-asctime_r
-ctime_r
diff --git a/test/API/time-XSI.SUSv4.syms b/test/API/time-XSI.SUSv4.syms
deleted file mode 100644
index 9bf1f62..0000000
--- a/test/API/time-XSI.SUSv4.syms
+++ /dev/null
@@ -1,4 +0,0 @@
-getdate
-strptime
-daylight
-timezone
diff --git a/test/API/time.SUSv4.syms b/test/API/time.SUSv4.syms
deleted file mode 100644
index 788e19e..0000000
--- a/test/API/time.SUSv4.syms
+++ /dev/null
@@ -1,7 +0,0 @@
-clock
-difftime
-gmtime
-localtime
-mktime
-strftime
-time
diff --git a/test/API/trace-TEF.SUSv4.syms b/test/API/trace-TEF.SUSv4.syms
deleted file mode 100644
index bc9f47b..0000000
--- a/test/API/trace-TEF.SUSv4.syms
+++ /dev/null
@@ -1,8 +0,0 @@
-posix_trace_eventset_add
-posix_trace_eventset_del
-posix_trace_eventset_empty
-posix_trace_eventset_fill
-posix_trace_eventset_ismember
-posix_trace_get_filter
-posix_trace_set_filter
-posix_trace_trid_eventid_open
diff --git a/test/API/trace-TRI.SUSv4.syms b/test/API/trace-TRI.SUSv4.syms
deleted file mode 100644
index ea5723d..0000000
--- a/test/API/trace-TRI.SUSv4.syms
+++ /dev/null
@@ -1,2 +0,0 @@
-posix_trace_attr_getinherited
-posix_trace_attr_setinherited
diff --git a/test/API/trace-TRL.SUSv4.syms b/test/API/trace-TRL.SUSv4.syms
deleted file mode 100644
index 763c7f4..0000000
--- a/test/API/trace-TRL.SUSv4.syms
+++ /dev/null
@@ -1,9 +0,0 @@
-posix_trace_attr_getlogfullpolicy
-posix_trace_attr_getlogsize
-posix_trace_attr_setlogfullpolicy
-posix_trace_attr_setlogsize
-posix_trace_close
-posix_trace_create_withlog
-posix_trace_flush
-posix_trace_open
-posix_trace_rewind
diff --git a/test/API/trace.SUSv4.syms b/test/API/trace.SUSv4.syms
deleted file mode 100644
index c12b882..0000000
--- a/test/API/trace.SUSv4.syms
+++ /dev/null
@@ -1,31 +0,0 @@
-posix_trace_attr_destroy
-posix_trace_attr_getclockres
-posix_trace_attr_getcreatetime
-posix_trace_attr_getgenversion
-posix_trace_attr_getmaxdatasize
-posix_trace_attr_getmaxsystemeventsize
-posix_trace_attr_getmaxusereventsize
-posix_trace_attr_getname
-posix_trace_attr_getstreamfullpolicy
-posix_trace_attr_getstreamsize
-posix_trace_attr_init
-posix_trace_attr_setmaxdatasize
-posix_trace_attr_setname
-posix_trace_attr_setstreamfullpolicy
-posix_trace_attr_setstreamsize
-posix_trace_clear
-posix_trace_create
-posix_trace_event
-posix_trace_eventid_equal
-posix_trace_eventid_get_name
-posix_trace_eventid_open
-posix_trace_eventtypelist_getnext_id
-posix_trace_eventtypelist_rewind
-posix_trace_get_attr
-posix_trace_get_status
-posix_trace_getnext_event
-posix_trace_shutdown
-posix_trace_start
-posix_trace_stop
-posix_trace_timedgetnext_event
-posix_trace_trygetnext_event
diff --git a/test/API/tst-API.sh b/test/API/tst-API.sh
deleted file mode 100755
index 3d0302c..0000000
--- a/test/API/tst-API.sh
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/bin/sh
-
-std="$1"
-shift
-cod="$*"
-
-result=0
-
-for l in $top_builddir/lib/lib*-*.so; do \
- readelf -D -W -s $l | \
- $AWK '
-/^[[:space:]]*[[:digit:]]/ { if ($8 != "UND") print $NF; }
-'; \
- done | sort | uniq > $uclibc_out
-for code in $cod; do cat $code.$std.syms; done | sort | uniq > $glibc_out
-result=0
-exit $result
diff --git a/test/API/unistd-CX.SUSv4.syms b/test/API/unistd-CX.SUSv4.syms
deleted file mode 100644
index 4e183e4..0000000
--- a/test/API/unistd-CX.SUSv4.syms
+++ /dev/null
@@ -1 +0,0 @@
-ctermid
diff --git a/test/API/unistd-FSC.SUSv4.syms b/test/API/unistd-FSC.SUSv4.syms
deleted file mode 100644
index e5c2ab2..0000000
--- a/test/API/unistd-FSC.SUSv4.syms
+++ /dev/null
@@ -1 +0,0 @@
-fsync
diff --git a/test/API/unistd-OBXSI.SUSv4.syms b/test/API/unistd-OBXSI.SUSv4.syms
deleted file mode 100644
index 4e6787f..0000000
--- a/test/API/unistd-OBXSI.SUSv4.syms
+++ /dev/null
@@ -1 +0,0 @@
-setpgrp
diff --git a/test/API/unistd-SIO.SUSv4.syms b/test/API/unistd-SIO.SUSv4.syms
deleted file mode 100644
index 2ed33b3..0000000
--- a/test/API/unistd-SIO.SUSv4.syms
+++ /dev/null
@@ -1 +0,0 @@
-fdatasync
diff --git a/test/API/unistd-XSI.SUSv4.syms b/test/API/unistd-XSI.SUSv4.syms
deleted file mode 100644
index db54176..0000000
--- a/test/API/unistd-XSI.SUSv4.syms
+++ /dev/null
@@ -1,9 +0,0 @@
-crypt
-encrypt
-gethostid
-lockf
-nice
-setregid
-setreuid
-swab
-sync
diff --git a/test/API/unistd.SUSv4.syms b/test/API/unistd.SUSv4.syms
deleted file mode 100644
index fec630d..0000000
--- a/test/API/unistd.SUSv4.syms
+++ /dev/null
@@ -1,74 +0,0 @@
-access
-alarm
-chdir
-chown
-close
-confstr
-dup
-dup2
-_exit
-execl
-execle
-execlp
-execv
-execve
-execvp
-faccessat
-fchdir
-fchown
-fchownat
-fexecve
-fork
-fpathconf
-ftruncate
-getcwd
-getegid
-geteuid
-getgid
-getgroups
-gethostname
-getlogin
-getlogin_r
-getopt
-getpgid
-getpgrp
-getpid
-getppid
-getsid
-getuid
-isatty
-lchown
-link
-linkat
-lseek
-pathconf
-pause
-pipe
-pread
-pwrite
-read
-readlink
-readlinkat
-rmdir
-setegid
-seteuid
-setgid
-setpgid
-setsid
-setuid
-sleep
-symlink
-symlinkat
-sysconf
-tcgetpgrp
-tcsetpgrp
-truncate
-ttyname
-ttyname_r
-unlink
-unlinkat
-write
-optarg
-opterr
-optind
-optopt
diff --git a/test/API/utmpx.SUSv4.syms b/test/API/utmpx.SUSv4.syms
deleted file mode 100644
index 1fd294a..0000000
--- a/test/API/utmpx.SUSv4.syms
+++ /dev/null
@@ -1,6 +0,0 @@
-endutxent
-getutxent
-getutxid
-getutxline
-pututxline
-setutxent
diff --git a/test/API/wchar-CX.SUSv4.syms b/test/API/wchar-CX.SUSv4.syms
deleted file mode 100644
index 0804938..0000000
--- a/test/API/wchar-CX.SUSv4.syms
+++ /dev/null
@@ -1,13 +0,0 @@
-mbsnrtowcs
-open_wmemstream
-wcpcpy
-wcpncpy
-wcscasecmp
-wcscasecmp_l
-wcscoll_l
-wcsdup
-wcsncasecmp
-wcsncasecmp_l
-wcsnlen
-wcsnrtombs
-wcsxfrm_l
diff --git a/test/API/wchar-OBXSI.SUSv4.syms b/test/API/wchar-OBXSI.SUSv4.syms
deleted file mode 100644
index bc76ee6..0000000
--- a/test/API/wchar-OBXSI.SUSv4.syms
+++ /dev/null
@@ -1,15 +0,0 @@
-iswalnum
-iswalpha
-iswcntrl
-iswctype
-iswdigit
-iswgraph
-iswlower
-iswprint
-iswpunct
-iswspace
-iswupper
-iswxdigit
-towlower
-towupper
-wctype
diff --git a/test/API/wchar-XSI.SUSv4.syms b/test/API/wchar-XSI.SUSv4.syms
deleted file mode 100644
index 834731c..0000000
--- a/test/API/wchar-XSI.SUSv4.syms
+++ /dev/null
@@ -1,2 +0,0 @@
-wcswidth
-wcwidth
diff --git a/test/API/wchar.SUSv4.syms b/test/API/wchar.SUSv4.syms
deleted file mode 100644
index d58f600..0000000
--- a/test/API/wchar.SUSv4.syms
+++ /dev/null
@@ -1,59 +0,0 @@
-btowc
-fgetwc
-fgetws
-fputwc
-fputws
-fwide
-fwprintf
-fwscanf
-getwc
-getwchar
-mbrlen
-mbrtowc
-mbsinit
-mbsrtowcs
-putwc
-putwchar
-swprintf
-swscanf
-ungetwc
-vfwprintf
-vfwscanf
-vswprintf
-vswscanf
-vwprintf
-vwscanf
-wcrtomb
-wcscat
-wcschr
-wcscmp
-wcscoll
-wcscpy
-wcscspn
-wcsftime
-wcslen
-wcsncat
-wcsncmp
-wcsncpy
-wcspbrk
-wcsrchr
-wcsrtombs
-wcsspn
-wcsstr
-wcstod
-wcstof
-wcstok
-wcstol
-wcstold
-wcstoll
-wcstoul
-wcstoull
-wcsxfrm
-wctob
-wmemchr
-wmemcmp
-wmemcpy
-wmemmove
-wmemset
-wprintf
-wscanf
diff --git a/test/API/wctype-CX.SUSv4.syms b/test/API/wctype-CX.SUSv4.syms
deleted file mode 100644
index 81c0331..0000000
--- a/test/API/wctype-CX.SUSv4.syms
+++ /dev/null
@@ -1,18 +0,0 @@
-iswalnum_l
-iswalpha_l
-iswblank_l
-iswcntrl_l
-iswctype_l
-iswdigit_l
-iswgraph_l
-iswlower_l
-iswprint_l
-iswpunct_l
-iswspace_l
-iswupper_l
-iswxdigit_l
-towctrans_l
-towlower_l
-towupper_l
-wctrans_l
-wctype_l
diff --git a/test/API/wctype.SUSv4.syms b/test/API/wctype.SUSv4.syms
deleted file mode 100644
index fddc395..0000000
--- a/test/API/wctype.SUSv4.syms
+++ /dev/null
@@ -1,18 +0,0 @@
-iswalnum
-iswalpha
-iswblank
-iswcntrl
-iswctype
-iswdigit
-iswgraph
-iswlower
-iswprint
-iswpunct
-iswspace
-iswupper
-iswxdigit
-towctrans
-towlower
-towupper
-wctrans
-wctype
diff --git a/test/API/wordexp.SUSv4.syms b/test/API/wordexp.SUSv4.syms
deleted file mode 100644
index 3681b3c..0000000
--- a/test/API/wordexp.SUSv4.syms
+++ /dev/null
@@ -1,2 +0,0 @@
-wordexp
-wordfree
hooks/post-receive
--
uClibc-ng - small C library for embedded systems
1
0

uClibc-ng - small C library for embedded systems branch master updated. 6252572a624c5bc65a6ed3a5778808e84510a8f7
by wbx@helium.waldemar-brodkorb.de 10 Jan '15
by wbx@helium.waldemar-brodkorb.de 10 Jan '15
10 Jan '15
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "uClibc-ng - small C library for embedded systems".
The branch, master has been updated
via 6252572a624c5bc65a6ed3a5778808e84510a8f7 (commit)
from 687042ce085bb2b769288fe478981144aca5e93e (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 6252572a624c5bc65a6ed3a5778808e84510a8f7
Author: Waldemar Brodkorb <wbx(a)openadk.org>
Date: Fri Jan 9 20:51:17 2015 -0600
enable microblaze. at least toolchain creation is working without NPTL
-----------------------------------------------------------------------
Summary of changes:
extra/Configs/Config.in | 4 ++--
libc/sysdeps/linux/microblaze/bits/uClibc_page.h | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/extra/Configs/Config.in b/extra/Configs/Config.in
index 2a8c006..cec06e4 100644
--- a/extra/Configs/Config.in
+++ b/extra/Configs/Config.in
@@ -95,8 +95,8 @@ config TARGET_m68k
#config TARGET_metag
# bool "metag"
-#config TARGET_microblaze
-# bool "microblaze"
+config TARGET_microblaze
+ bool "microblaze"
config TARGET_mips
bool "mips"
diff --git a/libc/sysdeps/linux/microblaze/bits/uClibc_page.h b/libc/sysdeps/linux/microblaze/bits/uClibc_page.h
index 8069e6a..9335d8e 100644
--- a/libc/sysdeps/linux/microblaze/bits/uClibc_page.h
+++ b/libc/sysdeps/linux/microblaze/bits/uClibc_page.h
@@ -20,7 +20,7 @@
#ifndef _UCLIBC_PAGE_H
#define _UCLIBC_PAGE_H
-#include <linux/autoconf.h>
+#include <generated/autoconf.h>
#if defined(CONFIG_MICROBLAZE_32K_PAGES)
#define PAGE_SHIFT 15
hooks/post-receive
--
uClibc-ng - small C library for embedded systems
1
0

uClibc-ng - small C library for embedded systems branch master updated. 687042ce085bb2b769288fe478981144aca5e93e
by wbx@helium.waldemar-brodkorb.de 04 Jan '15
by wbx@helium.waldemar-brodkorb.de 04 Jan '15
04 Jan '15
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "uClibc-ng - small C library for embedded systems".
The branch, master has been updated
via 687042ce085bb2b769288fe478981144aca5e93e (commit)
from db36600c2956f7b7ea6905f09fc581108c2e3eac (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 687042ce085bb2b769288fe478981144aca5e93e
Author: Waldemar Brodkorb <wbx(a)openadk.org>
Date: Sun Jan 4 09:05:12 2015 -0600
add -fPIC to some tests.
This is required to avoid a assertion error in binutils 2.24
for m68k.
-----------------------------------------------------------------------
Summary of changes:
test/assert/Makefile.in | 1 +
test/ctype/Makefile.in | 1 +
test/inet/Makefile.in | 3 +++
test/locale-mbwc/Makefile.in | 2 +-
test/malloc/Makefile.in | 2 ++
test/misc/Makefile.in | 5 +++++
.../linux/i386/pthread_spin_init.c => test/regex/Makefile.in | 2 +-
test/setjmp/Makefile.in | 1 +
test/signal/Makefile.in | 4 ++++
test/stdlib/Makefile.in | 4 ++++
test/time/Makefile.in | 4 ++++
test/unistd/Makefile.in | 9 +++++++--
12 files changed, 34 insertions(+), 4 deletions(-)
copy libpthread/nptl/sysdeps/unix/sysv/linux/i386/pthread_spin_init.c => test/regex/Makefile.in (59%)
create mode 100644 test/setjmp/Makefile.in
diff --git a/test/assert/Makefile.in b/test/assert/Makefile.in
index 8e3514f..3f4fb4d 100644
--- a/test/assert/Makefile.in
+++ b/test/assert/Makefile.in
@@ -3,3 +3,4 @@
RET_assert := 134
WRAPPER_assert := trap ":" ABRT ;
+CFLAGS_assert := -fPIC
diff --git a/test/ctype/Makefile.in b/test/ctype/Makefile.in
index ee10d59..041e851 100644
--- a/test/ctype/Makefile.in
+++ b/test/ctype/Makefile.in
@@ -2,3 +2,4 @@
# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
TESTS := ctype
+CFLAGS_ctype = -fPIC
diff --git a/test/inet/Makefile.in b/test/inet/Makefile.in
index 2c84729..38aec61 100644
--- a/test/inet/Makefile.in
+++ b/test/inet/Makefile.in
@@ -15,3 +15,6 @@ TESTS_DISABLED += tst-res
else
LDFLAGS_tst-res_glibc := -lresolv # assume it's glibc or somebody with that lib
endif
+
+CFLAGS_bug-if1 = -fPIC
+CFLAGS_tst-sock-nonblock = -fPIC
diff --git a/test/locale-mbwc/Makefile.in b/test/locale-mbwc/Makefile.in
index 7c0e9d5..e70a613 100644
--- a/test/locale-mbwc/Makefile.in
+++ b/test/locale-mbwc/Makefile.in
@@ -23,5 +23,5 @@ TESTS_DISABLED := tst_strfmon
DODIFF_rint := 1
-EXTRA_CFLAGS := -D__USE_GNU -fno-builtin
+EXTRA_CFLAGS := -D__USE_GNU -fno-builtin -fPIC
diff --git a/test/malloc/Makefile.in b/test/malloc/Makefile.in
index 669ef6a..f1726dd 100644
--- a/test/malloc/Makefile.in
+++ b/test/malloc/Makefile.in
@@ -10,3 +10,5 @@ endif
ifneq ($(UCLIBC_HAS_OBSTACK),y)
TESTS_DISABLED += tst-obstack
endif
+
+CFLAGS_tst-mallocfork = -fPIC
diff --git a/test/misc/Makefile.in b/test/misc/Makefile.in
index 04b677f..345889e 100644
--- a/test/misc/Makefile.in
+++ b/test/misc/Makefile.in
@@ -32,3 +32,8 @@ OPTS_tst-fnmatch := < tst-fnmatch.input
MNTENTS = $(shell mount | while read dev on mp rest; do echo $$mp; done)
OPTS_tst-statfs := $(MNTENTS)
OPTS_tst-statvfs := $(MNTENTS)
+
+CFLAGS_bug-glob2 = -fPIC
+CFLAGS_opendir-tst1 = -fPIC
+CFLAGS_tst-inotify = -fPIC
+CFLAGS_tst-utmp = -fPIC
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/i386/pthread_spin_init.c b/test/regex/Makefile.in
similarity index 59%
copy from libpthread/nptl/sysdeps/unix/sysv/linux/i386/pthread_spin_init.c
copy to test/regex/Makefile.in
index d36e537..1573840 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/i386/pthread_spin_init.c
+++ b/test/regex/Makefile.in
@@ -1 +1 @@
-#include <sysdeps/i386/pthread_spin_init.c>
+CFLAGS_tst-regex2 = -fPIC
diff --git a/test/setjmp/Makefile.in b/test/setjmp/Makefile.in
new file mode 100644
index 0000000..a5b7b59
--- /dev/null
+++ b/test/setjmp/Makefile.in
@@ -0,0 +1 @@
+CFLAGS_bug269-setjmp = -fPIC
diff --git a/test/signal/Makefile.in b/test/signal/Makefile.in
index c8e2545..27791a9 100644
--- a/test/signal/Makefile.in
+++ b/test/signal/Makefile.in
@@ -4,3 +4,7 @@
ifeq ($(UCLIBC_HAS_OBSOLETE_BSD_SIGNAL),)
TESTS_DISABLED := tst-sigsimple
endif
+
+CFLAGS_tst-signalfd = -fPIC
+CFLAGS_tst-sigset = -fPIC
+CFLAGS_tst-sigsimple = -fPIC
diff --git a/test/stdlib/Makefile.in b/test/stdlib/Makefile.in
index 135db6b..38c3e19 100644
--- a/test/stdlib/Makefile.in
+++ b/test/stdlib/Makefile.in
@@ -10,3 +10,7 @@ TESTS_DISABLED :=
ifeq ($(UCLIBC_HAS_PTY),)
TESTS_DISABLED += ptytest
endif
+
+CFLAGS_test-canon = -fPIC
+CFLAGS_test-canon2 = -fPIC
+CFLAGS_testatexit = -fPIC
diff --git a/test/time/Makefile.in b/test/time/Makefile.in
index 83bc07d..8afc013 100644
--- a/test/time/Makefile.in
+++ b/test/time/Makefile.in
@@ -17,5 +17,9 @@ TESTS_DISABLED += tst_wcsftime
endif
CFLAGS_tst-strptime2 := -std=c99
+CFLAGS_tst-ctime = -fPIC
+CFLAGS_tst-futimens1 = -fPIC
+CFLAGS_tst-timerfd = -fPIC
+
DODIFF_futimens1 := 1
DODIFF_tst_wcsftime := 1
diff --git a/test/unistd/Makefile.in b/test/unistd/Makefile.in
index 6f8a274..da59a36 100644
--- a/test/unistd/Makefile.in
+++ b/test/unistd/Makefile.in
@@ -4,7 +4,7 @@
TESTS_DISABLED :=
# If LFS is not set, get rid of all *64 tests up front
ifeq ($(UCLIBC_HAS_LFS),)
-TESTS_DISABLED += tst-preadwrite64 tst-fallocate64
+TESTS_DISABLED += tst-preadwrite64
endif
# If we don't have LINUX_SPECIFIC, then get rid of tst-fallocate
@@ -32,7 +32,12 @@ OPTS_tstgetopt := -a -b -cfoobar --required foobar --optional=bazbug --none --
endif
# for embedded systems 4 GB disk space is not available
-TESTS_DISABLED += tst-posix_fallocate64
+TESTS_DISABLED += tst-posix_fallocate64 tst-fallocate64
+
+CFLAGS_tst-fallocate = -fPIC
+CFLAGS_tst-posix_fallocate = -fPIC
+CFLAGS_tst-preadwrite = -fPIC
+CFLAGS_tst-preadwrite64 = -fPIC
# getconf.c lives in utils/
# Testsuite cannot currently be built with O= anyway, so hardcode path here
hooks/post-receive
--
uClibc-ng - small C library for embedded systems
1
0

uClibc-ng - small C library for embedded systems branch master updated. db36600c2956f7b7ea6905f09fc581108c2e3eac
by wbx@helium.waldemar-brodkorb.de 02 Jan '15
by wbx@helium.waldemar-brodkorb.de 02 Jan '15
02 Jan '15
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "uClibc-ng - small C library for embedded systems".
The branch, master has been updated
via db36600c2956f7b7ea6905f09fc581108c2e3eac (commit)
via 0839d5e8bf55b21518f96772b89201da96ebef8c (commit)
via 9d429ee21c755316bf01e589c1106cc64bb0f3b4 (commit)
via 96d2cac46e30a2c05e863f569f7710baed66b703 (commit)
via fb1752b60469d959e1a469ba1ca85b754514d6e2 (commit)
via a016a554e2bd5fe7ef71da2dc8c5d6698e0c49c6 (commit)
via 1103aefd8fb3c61df870a6970e74ff5020e85562 (commit)
via 2e2954c602c7ca97c73131b918c1383fc4923413 (commit)
via d5eaaa724eabb4af4563cb9d77da711626d438ad (commit)
via 01881503631a691c0701434cfe6d70fd8e258534 (commit)
from 4131f1dae51993d4f3dbde91305cddc898094519 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit db36600c2956f7b7ea6905f09fc581108c2e3eac
Author: Thorsten Glaser <tg(a)mirbsd.org>
Date: Thu Jan 1 20:47:28 2015 +0000
maybe fix an "noreturn function does return" warning
Signed-off-by: Thorsten Glaser <tg(a)mirbsd.org>
commit 0839d5e8bf55b21518f96772b89201da96ebef8c
Author: Thorsten Glaser <tg(a)mirbsd.org>
Date: Thu Jan 1 20:43:00 2015 +0000
shut up GCC, part 2
Signed-off-by: Thorsten Glaser <tg(a)mirbsd.org>
commit 9d429ee21c755316bf01e589c1106cc64bb0f3b4
Author: Thorsten Glaser <tg(a)mirbsd.org>
Date: Thu Jan 1 19:44:26 2015 +0000
fix cast warning
Signed-off-by: Thorsten Glaser <tg(a)mirbsd.org>
commit 96d2cac46e30a2c05e863f569f7710baed66b703
Author: Thorsten Glaser <tg(a)mirbsd.org>
Date: Thu Jan 1 19:35:06 2015 +0000
shut up GCC
Signed-off-by: Thorsten Glaser <tg(a)mirbsd.org>
commit fb1752b60469d959e1a469ba1ca85b754514d6e2
Author: Thorsten Glaser <tg(a)mirbsd.org>
Date: Thu Jan 1 19:34:08 2015 +0000
I think this is what you mean
Signed-off-by: Thorsten Glaser <tg(a)mirbsd.org>
commit a016a554e2bd5fe7ef71da2dc8c5d6698e0c49c6
Author: Thorsten Glaser <tg(a)mirbsd.org>
Date: Thu Jan 1 19:25:16 2015 +0000
silence GCC
Signed-off-by: Thorsten Glaser <tg(a)mirbsd.org>
commit 1103aefd8fb3c61df870a6970e74ff5020e85562
Author: Thorsten Glaser <tg(a)mirbsd.org>
Date: Thu Jan 1 19:13:18 2015 +0000
remove apparently unused code, this time for real
Signed-off-by: Thorsten Glaser <tg(a)mirbsd.org>
commit 2e2954c602c7ca97c73131b918c1383fc4923413
Author: Thorsten Glaser <tg(a)mirbsd.org>
Date: Thu Jan 1 19:09:51 2015 +0000
explicitly cast (even though this casting is not very nice)
Signed-off-by: Thorsten Glaser <tg(a)mirbsd.org>
commit d5eaaa724eabb4af4563cb9d77da711626d438ad
Author: Thorsten Glaser <tg(a)mirbsd.org>
Date: Thu Jan 1 19:08:07 2015 +0000
make __dl_start, whose address is taken, into a real object type
Signed-off-by: Thorsten Glaser <tg(a)mirbsd.org>
commit 01881503631a691c0701434cfe6d70fd8e258534
Author: Waldemar Brodkorb <wbx(a)openadk.org>
Date: Thu Jan 1 13:34:18 2015 -0600
remove unused Linux 2.0 compat code, otherwise c6x without NPTL is broken
-----------------------------------------------------------------------
Summary of changes:
ldso/ldso/arm/dl-sysdep.h | 2 +-
ldso/ldso/arm/elfinterp.c | 4 ++--
ldso/ldso/avr32/dl-sysdep.h | 3 ++-
libc/inet/ntop.c | 2 +-
libc/misc/regex/regex_internal.c | 7 -------
libc/stdio/_scanf.c | 7 +++----
libc/stdlib/system.c | 4 ----
libpthread/nptl/allocatestack.c | 2 +-
libpthread/nptl/forward.c | 1 +
9 files changed, 11 insertions(+), 21 deletions(-)
diff --git a/ldso/ldso/arm/dl-sysdep.h b/ldso/ldso/arm/dl-sysdep.h
index 94dc1d7..dc89710 100644
--- a/ldso/ldso/arm/dl-sysdep.h
+++ b/ldso/ldso/arm/dl-sysdep.h
@@ -105,7 +105,7 @@ elf_machine_dynamic (void)
return dynamic;
}
-extern void __dl_start __asm__ ("_dl_start");
+extern char __dl_start[] __asm__("_dl_start");
/* Return the run-time load address of the shared object. */
static __always_inline Elf32_Addr __attribute__ ((unused))
diff --git a/ldso/ldso/arm/elfinterp.c b/ldso/ldso/arm/elfinterp.c
index c2f52b8..2043263 100644
--- a/ldso/ldso/arm/elfinterp.c
+++ b/ldso/ldso/arm/elfinterp.c
@@ -69,7 +69,7 @@ unsigned long _dl_linux_resolver(struct elf_resolve *tpnt, int reloc_entry)
got_addr = (char **) instr_addr;
/* Get the address of the GOT entry */
- new_addr = _dl_find_hash(symname, &_dl_loaded_modules->symbol_scope,
+ new_addr = (unsigned long)_dl_find_hash(symname, &_dl_loaded_modules->symbol_scope,
tpnt, ELF_RTYPE_CLASS_PLT, NULL);
if (unlikely(!new_addr)) {
_dl_dprintf(2, "%s: can't resolve symbol '%s'\n",
@@ -203,7 +203,7 @@ _dl_do_reloc (struct elf_resolve *tpnt,struct r_scope_elem *scope,
symname = strtab + symtab[symtab_index].st_name;
if (symtab_index) {
- symbol_addr = _dl_find_hash(symname, scope, tpnt,
+ symbol_addr = (unsigned long)_dl_find_hash(symname, scope, tpnt,
elf_machine_type_class(reloc_type), &sym_ref);
/*
diff --git a/ldso/ldso/avr32/dl-sysdep.h b/ldso/ldso/avr32/dl-sysdep.h
index 515d829..a422127 100644
--- a/ldso/ldso/avr32/dl-sysdep.h
+++ b/ldso/ldso/avr32/dl-sysdep.h
@@ -63,11 +63,12 @@ elf_machine_dynamic (void)
return *got;
}
+extern char __dl_start[] __asm__("_dl_start");
+
/* Return the run-time load address of the shared object. */
static __always_inline Elf32_Addr
elf_machine_load_address (void)
{
- extern void __dl_start __asm__("_dl_start");
Elf32_Addr got_addr = (Elf32_Addr) &__dl_start;
Elf32_Addr pcrel_addr;
diff --git a/libc/inet/ntop.c b/libc/inet/ntop.c
index 0181a41..30dde6f 100644
--- a/libc/inet/ntop.c
+++ b/libc/inet/ntop.c
@@ -105,7 +105,7 @@ inet_ntop6(const u_char *src, char *dst, size_t size)
* to use pointer overlays. All the world's not a VAX.
*/
char tmp[sizeof ("ffff:ffff:ffff:ffff:ffff:ffff:255.255.255.255")], *tp;
- struct { int base, len; } best, cur;
+ struct { int base, len; } best = { 0, 0 }, cur = { 0, 0 };
u_int words[8];
int i;
diff --git a/libc/misc/regex/regex_internal.c b/libc/misc/regex/regex_internal.c
index f9412d6..c74c6a0 100644
--- a/libc/misc/regex/regex_internal.c
+++ b/libc/misc/regex/regex_internal.c
@@ -650,15 +650,8 @@ re_string_reconstruct (re_string_t *pstr, int idx, int eflags)
mbstate_t cur_state;
wchar_t wc2;
int mlen = raw + pstr->len - p;
- unsigned char buf[6];
size_t mbclen;
- if (BE (pstr->trans != NULL, 0))
- {
- int i = mlen < 6 ? mlen : 6;
- while (--i >= 0)
- buf[i] = pstr->trans[p[i]];
- }
/* XXX Don't use mbrtowc, we know which conversion
to use (UTF-8 -> UCS4). */
memset (&cur_state, 0, sizeof (cur_state));
diff --git a/libc/stdio/_scanf.c b/libc/stdio/_scanf.c
index 6ecb3cb..d48fd12 100644
--- a/libc/stdio/_scanf.c
+++ b/libc/stdio/_scanf.c
@@ -553,9 +553,8 @@ enum {
/**********************************************************************/
#ifdef L_vfwscanf
-/* FIXME: "warning: the right operand of ">" changes sign when promoted" */
-#if WINT_MIN > EOF
-#error Unfortunately, we currently need wint_t to be able to store EOF. Sorry.
+#if WINT_MIN > WEOF
+#error Unfortunately, we currently need wint_t to be able to store WEOF. Sorry.
#endif
#define W_EOF WEOF
#define Wint wint_t
@@ -1144,7 +1143,7 @@ int VFSCANF (FILE *__restrict fp, const Wchar *__restrict format, va_list arg)
unsigned char buf[MAX_DIGITS+2];
#ifdef L_vfscanf
unsigned char scanset[UCHAR_MAX + 1];
- unsigned char invert; /* Careful! Meaning changes. */
+ unsigned char invert = 0; /* Careful! Meaning changes. */
#endif /* L_vfscanf */
unsigned char fail;
unsigned char zero_conversions = 1;
diff --git a/libc/stdlib/system.c b/libc/stdlib/system.c
index 7f81f94..8a6734d 100644
--- a/libc/stdlib/system.c
+++ b/libc/stdlib/system.c
@@ -20,11 +20,7 @@
extern __typeof(system) __libc_system;
#if !defined __UCLIBC_HAS_THREADS_NATIVE__
-/* uClinux-2.0 has vfork, but Linux 2.0 doesn't */
#include <sys/syscall.h>
-#ifndef __NR_vfork
-# define vfork fork
-#endif
int __libc_system(const char *command)
{
diff --git a/libpthread/nptl/allocatestack.c b/libpthread/nptl/allocatestack.c
index 3f0586d..118820a 100644
--- a/libpthread/nptl/allocatestack.c
+++ b/libpthread/nptl/allocatestack.c
@@ -786,7 +786,7 @@ __reclaim_stacks (void)
if (in_flight_stack != 0)
{
bool add_p = in_flight_stack & 1;
- list_t *elem = (list_t *) (in_flight_stack & ~UINTMAX_C (1));
+ list_t *elem = (list_t *)(uintptr_t)(in_flight_stack & ~UINTMAX_C (1));
if (add_p)
{
diff --git a/libpthread/nptl/forward.c b/libpthread/nptl/forward.c
index 8129080..a5c97ba 100644
--- a/libpthread/nptl/forward.c
+++ b/libpthread/nptl/forward.c
@@ -160,5 +160,6 @@ FORWARD2(__pthread_unwind,
/* We cannot call abort() here. */
INTERNAL_SYSCALL_DECL (err);
INTERNAL_SYSCALL (kill, err, 1, SIGKILL);
+ __builtin_unreachable();
})
#undef return
hooks/post-receive
--
uClibc-ng - small C library for embedded systems
1
0