Hi,
I'm in the process of building a mipsel feed for Optware-ng using uClibc-ng
1.0.6 and gcc-4.9.3 toolchain built using Buildroot. The first issue I
stumbled upon was when I tried to build gettext 0.9.14:
libtool: link:
/home/alex/optware/buildroot-mipsel-ng/toolchain/buildroot-mipsel-linux-2.6.36-uclibc-ng-4.9.3/bin/mipsel-buildroot-linux-uclibc-gcc
-std=gnu99 -g -O2 -Wl,--dynamic-linker=/opt/lib/ld-uClibc.so.0 -Wl,-rpath
-Wl,/opt/lib -Wl,-rpath-link
-Wl,/home/alex/optware/buildroot-mipsel-ng/staging/opt/lib -o .libs/msgcmp
msgcmp-msgcmp.o msgcmp-msgl-fsearch.o
-L/home/alex/optware/buildroot-mipsel-ng/staging/opt/lib
./.libs/libgettextsrc.so
/home/alex/optware/buildroot-mipsel-ng/builds/gettext/gettext-tools/gnulib-lib/.libs/libgettextlib.so
-lncurses
/home/alex/optware/buildroot-mipsel-ng/builds/gettext/gettext-tools/intl/.libs/libintl.so
-lc -liconv -lm -Wl,-rpath -Wl,/opt/lib
/home/alex/optware/buildroot-mipsel-ng/builds/gettext/gettext-tools/gnulib-lib/.libs/libgettextlib.so:
undefined reference to `posix_spawn_file_actions_addclose'
/home/alex/optware/buildroot-mipsel-ng/builds/gettext/gettext-tools/gnulib-lib/.libs/libgettextlib.so:
undefined reference to `posix_spawnp'
/home/alex/optware/buildroot-mipsel-ng/builds/gettext/gettext-tools/gnulib-lib/.libs/libgettextlib.so:
undefined reference to `posix_spawn_file_actions_adddup2'
/home/alex/optware/buildroot-mipsel-ng/builds/gettext/gettext-tools/gnulib-lib/.libs/libgettextlib.so:
undefined reference to `posix_spawn_file_actions_addopen'
collect2: error: ld returned 1 exit status
The same gettext version builds fine against uclibc-0.9.33.2 with this
patch:
https://github.com/alllexx88/Optware-ng/blob/master/sources/gettext/uClibc-…
I take it, those symbols are there in the headers, but not yet implemented
un uclibc-ng. I can't see from the first glance any configure switch to
disable the use of those symbols, will look further into the sourcecode a
bit later, maybe there's a simple workaround to not use them.
--
Best regards,
Alex Potapenko
Dear all,
I'm developer of Optware-ng <https://github.com/alllexx88/Optware-ng>, an
attempt to "revive" the obsolete Optware. All three feeds currently use
Buildroot 2015-02 toolchains, two of them (arm and mipsel) use uClibc
0.9.33.2 as the libc. These uClibc targets (especially mipsel) have some
hard-to-debug issues that are quite possible due to uClibc-0.9.33.2 bugs
(glibc target has no such problems), so I'm thinking to switch to uClibc-ng
using the latest Buildroot. The question is whether Buildroot-2015-02's
uClibc 0.9.33.2 and uClibc-ng 1.0.6 are compatible? Can I simply compile
new toolchain and re-package the libc, or do I need to recompile the entire
repos from scratch?
--
Best regards,
Alex Potapenko
Waldemar,
On Mon, Jul 20, 2015 at 4:33 PM, Junling Zheng <zhengjunling(a)huawei.com> wrote:
> When debugging a program on ARMv7 with thread-local storage declared using
> "__thread", attempting to print a thread-local variable will result in the
> following message:
>
> Cannot find thread-local storage for Thread <snip> (LWP <snip>), executable
> file /tmp/tls: capability not available
>
> This can be traced back to uclibc libpthread/nptl_db/td_thr_tls_get_addr.c
> which gdb uses to look up the address of the TLS. The function returns
> TD_NOCAPAB due to a mismatch in size between the DTV pointer and the size
> recorded in the db description. The problem lies in libpthread/nptl_db/db_info.c
> which initializes the db with the sizeof the union dtv. Instead it should
> be the sizeof a pointer to union dtv.
>
> Fixed the initial size for dtvp to sizeof a pointer, instead of sizeof
> the union.
>
> Refer to:
> http://sourceware.org/ml/libc-alpha/2006-10/msg00088.html
> https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=416b630981788c1f08e7…
>
> Signed-off-by: Junling Zheng <zhengjunling(a)huawei.com>
> ---
> libpthread/nptl_db/db_info.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/libpthread/nptl_db/db_info.c b/libpthread/nptl_db/db_info.c
> index a57a053..159a027 100644
> --- a/libpthread/nptl_db/db_info.c
> +++ b/libpthread/nptl_db/db_info.c
> @@ -60,7 +60,7 @@ extern bool __nptl_initial_report_events;
> i.e. at the very end of the area covered by TLS_PRE_TCB_SIZE. */
> DESC (_thread_db_pthread_dtvp,
> TLS_PRE_TCB_SIZE + offsetof (tcbhead_t, dtv)
> - - (TLS_TCB_SIZE == 0 ? sizeof (tcbhead_t) : 0), union dtv)
> + - (TLS_TCB_SIZE == 0 ? sizeof (tcbhead_t) : 0), union dtv *)
> #endif
>
Please apply this patch to the uClibc-ng as well, it fixes inspection of
TLS variables in gdb for many architectures.
--
Thanks.
-- Max
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, 1.0 has been updated
via d63ef2748f18c0f20ea866cb197fa3068f180ec7 (commit)
from bb1be3426bfe3f98e00ba5d172bd779df084845e (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 d63ef2748f18c0f20ea866cb197fa3068f180ec7
Author: Junling Zheng <zhengjunling(a)huawei.com>
Date: Mon Jul 20 13:33:57 2015 +0000
nptl_db/db_info: fix the incorrect initial size for dtvp
When debugging a program on ARMv7 with thread-local storage declared using
"__thread", attempting to print a thread-local variable will result in the
following message:
Cannot find thread-local storage for Thread <snip> (LWP <snip>), executable
file /tmp/tls: capability not available
This can be traced back to uclibc libpthread/nptl_db/td_thr_tls_get_addr.c
which gdb uses to look up the address of the TLS. The function returns
TD_NOCAPAB due to a mismatch in size between the DTV pointer and the size
recorded in the db description. The problem lies in libpthread/nptl_db/db_info.c
which initializes the db with the sizeof the union dtv. Instead it should
be the sizeof a pointer to union dtv.
Fixed the initial size for dtvp to sizeof a pointer, instead of sizeof
the union.
Refer to:
http://sourceware.org/ml/libc-alpha/2006-10/msg00088.htmlhttps://sourceware.org/git/?p=glibc.git;a=commitdiff;h=416b630981788c1f08e7…
Signed-off-by: Junling Zheng <zhengjunling(a)huawei.com>
-----------------------------------------------------------------------
Summary of changes:
libpthread/nptl_db/db_info.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libpthread/nptl_db/db_info.c b/libpthread/nptl_db/db_info.c
index a57a053..159a027 100644
--- a/libpthread/nptl_db/db_info.c
+++ b/libpthread/nptl_db/db_info.c
@@ -60,7 +60,7 @@ extern bool __nptl_initial_report_events;
i.e. at the very end of the area covered by TLS_PRE_TCB_SIZE. */
DESC (_thread_db_pthread_dtvp,
TLS_PRE_TCB_SIZE + offsetof (tcbhead_t, dtv)
- - (TLS_TCB_SIZE == 0 ? sizeof (tcbhead_t) : 0), union dtv)
+ - (TLS_TCB_SIZE == 0 ? sizeof (tcbhead_t) : 0), union dtv *)
#endif
hooks/post-receive
--
uClibc-ng - small C library for embedded systems
Hi,
freely after the motto "release early, release often" I decided to
make a release today.
We now have support for mkstemps, mkstemps64 and mkostemps,
mkostemps64 functions, which is required for enlightment software
(efl). Furthermore the backward symlinks for gcc to find ld.so
are now installed automatically. And as usual bugfixes, mainly
found by autobuilders of buildroot project.
best regards
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.6 has been created
at 51dbd5d98f634251cbe6552bfdfdfe4c2fb6bb4e (tag)
tagging bb1be3426bfe3f98e00ba5d172bd779df084845e (commit)
replaces v1.0.5
tagged by Waldemar Brodkorb
on Sat Aug 22 21:46:46 2015 +0200
- Log -----------------------------------------------------------------
release 1.0.6 - Grimbergen Double
Romain Naour (2):
add mkstemps, mkstemps64 and mkostemps, mkostemps64 functions
add tests for mkostemps()
Waldemar Brodkorb (9):
locales: add patch from OpenWrt
getenv: allow overwriting of function
glibc compat: bump glibc minor version
fix some type differences to linux-next for h8/300
ldso: install backward compatibility symlink by default
Revert "ldso: install backward compatibility symlink by default"
ldso: install backward compatibility symlink by default
quieten compile warnings
bump version
-----------------------------------------------------------------------
hooks/post-receive
--
uClibc-ng - small C library for embedded systems