This commit enables getpt() support in ARC defconfigs as some packages
need it. E.g. we need this to be able to build xterm package as it uses
getpt().
As an example I can refer to buildroot autobuilds where xterm build is
failing when using prebuilt ARC toolchain (which in its turn uses uClibc
without getpt() support):
http://autobuild.buildroot.net/results/28a/28a92049a6ceef005787c5779f77ecf3…
Signed-off-by: Vlad Zakharov <vzakhar(a)synopsys.com>
---
extra/Configs/defconfigs/arc/arcv2_defconfig | 1 +
extra/Configs/defconfigs/arc/defconfig | 1 +
2 files changed, 2 insertions(+)
diff --git a/extra/Configs/defconfigs/arc/arcv2_defconfig b/extra/Configs/defconfigs/arc/arcv2_defconfig
index 383861f..a9d9891 100644
--- a/extra/Configs/defconfigs/arc/arcv2_defconfig
+++ b/extra/Configs/defconfigs/arc/arcv2_defconfig
@@ -16,6 +16,7 @@ UCLIBC_SUSV2_LEGACY=y
UCLIBC_SUSV3_LEGACY=y
UCLIBC_SUSV4_LEGACY=y
UCLIBC_HAS_PROGRAM_INVOCATION_NAME=y
+UCLIBC_HAS_GETPT=y
UCLIBC_HAS_LIBUTIL=y
UCLIBC_HAS_OBSOLETE_BSD_SIGNAL=y
UCLIBC_SV4_DEPRECATED=y
diff --git a/extra/Configs/defconfigs/arc/defconfig b/extra/Configs/defconfigs/arc/defconfig
index d3773aa..9a76e7d 100644
--- a/extra/Configs/defconfigs/arc/defconfig
+++ b/extra/Configs/defconfigs/arc/defconfig
@@ -15,6 +15,7 @@ UCLIBC_SUSV2_LEGACY=y
UCLIBC_SUSV3_LEGACY=y
UCLIBC_SUSV4_LEGACY=y
UCLIBC_HAS_PROGRAM_INVOCATION_NAME=y
+UCLIBC_HAS_GETPT=y
UCLIBC_HAS_LIBUTIL=y
UCLIBC_HAS_OBSOLETE_BSD_SIGNAL=y
UCLIBC_SV4_DEPRECATED=y
--
2.7.4
This commit enables XSI math extensions to the ISO C standard (bessel).
We need this to be able to build mpv package as it uses functions from
this extensions.
As an example I can refer to buildroot autobuilds where mpv build is
failing when using prebuilt ARC toolchain (which in its turn uses uClibc
without XSI math extensions):
http://autobuild.buildroot.net/results/fb6/fb677a917545adee321bdcd2c2519c81…
Signed-off-by: Vlad Zakharov <vzakhar(a)synopsys.com>
---
extra/Configs/defconfigs/arc/arcv2_defconfig | 1 +
extra/Configs/defconfigs/arc/defconfig | 1 +
2 files changed, 2 insertions(+)
diff --git a/extra/Configs/defconfigs/arc/arcv2_defconfig b/extra/Configs/defconfigs/arc/arcv2_defconfig
index 2d12358..383861f 100644
--- a/extra/Configs/defconfigs/arc/arcv2_defconfig
+++ b/extra/Configs/defconfigs/arc/arcv2_defconfig
@@ -2,6 +2,7 @@ CONFIG_ARC_CPU_HS=y
ARCH_WANTS_LITTLE_ENDIAN=y
# UCLIBC_HAS_FPU is not set
DO_C99_MATH=y
+DO_XSI_MATH=y
KERNEL_HEADERS="%KERNEL_HEADERS%"
# DOPIC is not set
# LDSO_CACHE_SUPPORT is not set
diff --git a/extra/Configs/defconfigs/arc/defconfig b/extra/Configs/defconfigs/arc/defconfig
index f582eb5..d3773aa 100644
--- a/extra/Configs/defconfigs/arc/defconfig
+++ b/extra/Configs/defconfigs/arc/defconfig
@@ -1,6 +1,7 @@
ARCH_WANTS_LITTLE_ENDIAN=y
# UCLIBC_HAS_FPU is not set
DO_C99_MATH=y
+DO_XSI_MATH=y
KERNEL_HEADERS="%KERNEL_HEADERS%"
# DOPIC is not set
# LDSO_CACHE_SUPPORT is not set
--
2.7.4
Hi all:
uclibc seem will set argument *memptr to NULL when posix_memalign[1]
fail, I know it's not specify in most document[1-3],
but other libc (newlib, glibc, musl) implementations are not set it to
NULL if fail and gcc testsuite have 1 test case for that[7], so how
about make uclib consistent to other libc?
the patch attached.
newlib[4]:
int
__posix_memalign (void **memptr, size_t alignment, size_t size)
{
void *mem;
/* Test whether the ALIGNMENT argument is valid. It must be a power
of two multiple of sizeof (void *). */
if (alignment % sizeof (void *) != 0 || (alignment & (alignment - 1)) != 0)
return EINVAL;
mem = __libc_memalign (alignment, size);
if (mem != NULL) // only set when success
{
*memptr = mem;
return 0;
}
return ENOMEM;
}
glibc [5]:
int
__posix_memalign (void **memptr, size_t alignment, size_t size)
{
void *mem;
/* Test whether the SIZE argument is valid. It must be a power of
two multiple of sizeof (void *). */
if (alignment % sizeof (void *) != 0
|| !powerof2 (alignment / sizeof (void *)) != 0
|| alignment == 0)
return EINVAL;
/* Call the hook here, so that caller is posix_memalign's caller
and not posix_memalign itself. */
void *(*hook) (size_t, size_t, const void *) =
force_reg (__memalign_hook);
if (__builtin_expect (hook != NULL, 0))
mem = (*hook)(alignment, size, RETURN_ADDRESS (0));
else
mem = __libc_memalign (alignment, size);
if (mem != NULL) { // only set when success
*memptr = mem;
return 0;
}
return ENOMEM;
}
musl [6]:
int posix_memalign(void **res, size_t align, size_t len)
{
if (align < sizeof(void *)) return EINVAL;
void *mem = __memalign(align, len);
if (!mem) return errno;
*res = mem; // only set when success
return 0;
}
[1] http://man7.org/linux/man-pages/man3/posix_memalign.3.html
[2] http://pubs.opengroup.org/onlinepubs/009695399/functions/posix_memalign.html
[3] https://linux.die.net/man/3/posix_memalign
[4] https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;a=blob;f=newlib/l…
[5] https://sourceware.org/git/?p=glibc.git;a=blob;f=malloc/malloc.c;h=48857939…
[6] http://git.musl-libc.org/cgit/musl/tree/src/malloc/posix_memalign.c
[7] https://github.com/gcc-mirror/gcc/blob/master/gcc/testsuite/gcc.dg/torture/…
I'm experiencing an issue where compiling uclibc-ng-1.0.22 (+latest
patches) for mipsel with kernel 2.6.22.19 gives the following error below.
I've tried with newer kernel (4.9 using buildroot-2017.02-rc2) which
does compile without issue.
I also compile armel with kernel 2.6.36.4. Slightly newer kernel, but
this configuration is compiling fine too.
This issue arises somewhere between 1.0.21 and current HEAD.
thanks,
Lance
CC libc/sysdeps/linux/common/pwritev.os
In file included from ./include/sys/syscall.h:33:0,
from libc/sysdeps/linux/common/pwritev.c:19:
libc/sysdeps/linux/common/pwritev.c: In function 'pwritev':
./include/bits/syscalls-common.h:15:33: error: '__NR_pwritev' undeclared
(first use in this function )
# define SYS_ify(syscall_name) (__NR_##syscall_name)
^
./include/bits/syscalls.h:157:4: note: in definition of macro
'internal_syscall4'
: input, "r" (__a0), "r" (__a1), "r" (__a2) \
^~~~~
./include/bits/syscalls.h:40:15: note: in expansion of macro 'SYS_ify'
"i" (SYS_ify (name)), err, args)
^~~~~~~
./include/bits/syscalls.h:24:24: note: in expansion of macro
'INTERNAL_SYSCALL'
long result_var = INTERNAL_SYSCALL(name, err, nr, args); \
^~~~~~~~~~~~~~~~
libc/sysdeps/linux/common/pwritev.c:25:10: note: in expansion of macro
'INLINE_SYSCALL'
return INLINE_SYSCALL (pwritev, 4, fd, vector, count, offset);
^~~~~~~~~~~~~~
./include/bits/syscalls-common.h:15:33: note: each undeclared identifier
is reported only once for e ach function it appears in
# define SYS_ify(syscall_name) (__NR_##syscall_name)
^
./include/bits/syscalls.h:157:4: note: in definition of macro
'internal_syscall4'
: input, "r" (__a0), "r" (__a1), "r" (__a2) \
^~~~~
./include/bits/syscalls.h:40:15: note: in expansion of macro 'SYS_ify'
"i" (SYS_ify (name)), err, args)
^~~~~~~
./include/bits/syscalls.h:24:24: note: in expansion of macro
'INTERNAL_SYSCALL'
long result_var = INTERNAL_SYSCALL(name, err, nr, args); \
^~~~~~~~~~~~~~~~
libc/sysdeps/linux/common/pwritev.c:25:10: note: in expansion of macro
'INLINE_SYSCALL'
return INLINE_SYSCALL (pwritev, 4, fd, vector, count, offset);
^~~~~~~~~~~~~~
Makerules:369: recipe for target 'libc/sysdeps/linux/common/pwritev.os'
failed
make[1]: *** [libc/sysdeps/linux/common/pwritev.os] Error 1
Hi,
I updated the websites for my embedded linux projects today.
If you have any issues to access anything, please sent me an email.
I got bored by Trac and now static websites generated with hugo,
and gogs for wiki/issue/git is in use. The cgit interface and
mailman are still the same.
I switched to the faster git http backend for cloning via
http/https.
I moved on to new certbot and all websites are forced to https.
Some minor content (C library matric/ Debugging hints will be
added soon).
Thanks to Simone for my new black labrador logo abstracted from
a real photo of my dog.
best regards
Waldemar
Hi,
Buildroot checks for UCLIBC_HAS_LFS feature macro, which was removed in
1.0.20 (making uClibc-ng always support large files).
Patch restores this symbol as "always-enabled".
Regards,
Alexey.
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 71127e5cc937878883e6021da3da337a7aa9c099 (commit)
from 3b09bf921e994efd50c3c285f7388fbdbce374d1 (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 71127e5cc937878883e6021da3da337a7aa9c099
Author: Waldemar Brodkorb <wbx(a)openadk.org>
Date: Fri Feb 3 06:04:16 2017 +0100
fstat: make new code aarch64 specific
The new code get's used by MIPS64 N64 and fails.
Make the new code aarch64 specific.
-----------------------------------------------------------------------
Summary of changes:
libc/sysdeps/linux/common/fstat.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libc/sysdeps/linux/common/fstat.c b/libc/sysdeps/linux/common/fstat.c
index ac77eb2..c27f926 100644
--- a/libc/sysdeps/linux/common/fstat.c
+++ b/libc/sysdeps/linux/common/fstat.c
@@ -21,7 +21,7 @@ int fstat(int fd, struct stat *buf)
}
libc_hidden_def(fstat)
-#elif __WORDSIZE == 64 && defined __NR_newfstatat
+#elif __WORDSIZE == 64 && defined __NR_newfstatat && __aarch64__
#include <fcntl.h>
int fstat(int fd, struct stat *buf)
hooks/post-receive
--
uClibc-ng - small C library for embedded systems
Hi,
I cut a new release today to get wider testing of the new stuff.
Most important stuff:
- support for mips{32,64}r6 fixed
- nds32 architecture port supports NPTL/TLS now
- broken x86 syscall6 bug finally fixed
- experimental support for aarch64 added
- PID caching support removed, synced with GNU C library
- some more bugfixes/features to support systemd
Have fun,
Waldemar
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 annotated tag, v1.0.22 has been created
at 9e02c35f7e768c5a05f1588c786eba042b07004e (tag)
tagging 3b09bf921e994efd50c3c285f7388fbdbce374d1 (commit)
replaces v1.0.21
tagged by Waldemar Brodkorb
on Wed Feb 1 21:38:03 2017 +0100
- Log -----------------------------------------------------------------
release 1.0.22 - Brugse Zot
-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - http://gpgtools.org
iQIcBAABCAAGBQJYkkcsAAoJEMEz+QKmmH5iL9gP/RK7cmFrwaZwoCP9HbMZ4n8l
nKffOpgsZbT2QCmQ40xc1Ifqx7iV00qSuXzoq1bQDrSSBZaPDmOb82KgqtxssWwP
Gekkri0FfmEzzZ7I/1fFDqMjFJD8QU4YCStDgsYDYh7XWydr2ejXMMyD4ea1itZr
3FSY/mGhhAk0TaZ8q47L7ufx5c7xx4L3jRacPpnV4m5sC7R/NTQNkG/sGErOSPSQ
qOCdaPd7sm6D2l1jGNcmC9OhFHYjc382dFUQVvyPF/U/e20gSQMysopPON6LvO/f
kYDHZN7VrTzA0AvrRju+Kaj3Pd2XKSBjS9tVeIUcI3I7Ta1ZnP0ezwNi+LqcALNT
WndfZCU1VEDSQTNrKAeMIiFLSiTbIXehEIcu715Toet5CSk0mcyQBF/ldtyVPTSD
Xv1DnI2R+P3iirCZK4Nq8Tzpj2KKzO9E23F/PbEfIKWdxzNo6hG8j0aEmdJcZYkC
8xXG2AAP963GinV/2ABXTk1AMYqkxVzCswU0f7p/In6dBytjf7EPZUjc+7+G98qE
ZYIlHzvtWx30l2bLe1Qhkmbgzo5Gm9W4mc8n1a/TJ667kwbnKzibDXRM2ybdxZxN
Z4aVxWRsyBaMPy1O0t9dJzXcZ5ixENX3vQyelShHGvATqgDcU4x/QBjLo+qYI2bB
6acVs9V1leOusVgQtCa/
=EN6h
-----END PGP SIGNATURE-----
Alexey Neyman (1):
Restore UCLIBC_HAS_LFS as "always enabled"
Bernd Kuhls (2):
package/uclibc: Fix removal of libintl.h
Makefile.in: Fix removal of libintl.h
Sergey Organov (1):
Fix make rule for generation of "ucontext_i.h" when building in separate directory (with O=)
Vincent Ren-Wei Chen (1):
nds32: add NPTL/TLS, *context function, libm changes and code cleanup
Vineet Gupta (2):
ARC: ldso: don't use _DYNAMIC@gotpc construct #1
ARC: ldso: don't use _DYNAMIC@gotpc construct #2
Waldemar Brodkorb (29):
add init_module/delete_module syscall wrappers
do not remove iconv.h when UCLIBC_HAS_LOCALE is not set
locale: needs libiconv
remove inline changelog, we have git
inet: fix getnameinfo problem found by new test cases
argp/iconv needs wchar enabled
ld.so: fix mips{32,64}r6 support
mips: sync with GNU libc, fix mips64r6 n32 compilation
MAINTAINERS: add Matthew Fortune for MIPS
remove unused strip script
use multiline comment for better copyright parsing
reformat README and update architecture/processor list
add secure_getenv() function
add uchar.h minimal from GNU libc
add wrappers for preadv/pwritev
ldso: do not resolve relocations for debug, dig them up when debugging
fnmatch: fix gcc compiler warnings
fts: fix gcc compiler warning
nptl: remove pthread_attr_init/pthread_create weak aliases
nptl_db: fix gcc compiler warnings
fix gcc compiler warning
Revert "package/uclibc: Fix removal of libintl.h"
ppc: fix mq_send
mips: PROF is never defined, kill dead code
remove PID caching
remove dead code
add experimental aarch64 support
aarch64: fix syscall_error_handler, fixes tst-mqueue errors
bump for release
mirabilos (3):
extract six-argument syscalls from the rest
use safe, even if possibly a few cycles slower, six-argument syscall implementation
g/c __libc_errno
-----------------------------------------------------------------------
hooks/post-receive
--
uClibc-ng - small C library for embedded systems
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 3b09bf921e994efd50c3c285f7388fbdbce374d1 (commit)
from c0a09054b238982e7d40d7dd6fe571bbd9664fe3 (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 3b09bf921e994efd50c3c285f7388fbdbce374d1
Author: Waldemar Brodkorb <wbx(a)openadk.org>
Date: Wed Feb 1 21:26:59 2017 +0100
bump for release
-----------------------------------------------------------------------
Summary of changes:
Rules.mak | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Rules.mak b/Rules.mak
index f53c581..ae78f44 100644
--- a/Rules.mak
+++ b/Rules.mak
@@ -127,7 +127,7 @@ export RUNTIME_PREFIX DEVEL_PREFIX KERNEL_HEADERS MULTILIB_DIR
# Now config hard core
MAJOR_VERSION := 1
MINOR_VERSION := 0
-SUBLEVEL := 21
+SUBLEVEL := 22
EXTRAVERSION :=
VERSION := $(MAJOR_VERSION).$(MINOR_VERSION).$(SUBLEVEL)
ABI_VERSION := $(MAJOR_VERSION)
hooks/post-receive
--
uClibc-ng - small C library for embedded systems