Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 148621 - sys-libs/uclibc++-0.2.1 fails to compile on embedded due to undefined reference to `___tls_get_addr'
Summary: sys-libs/uclibc++-0.2.1 fails to compile on embedded due to undefined referen...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Embedded Gentoo Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-09-22 02:05 UTC by Natanael Copa
Modified: 2007-10-01 15:51 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Fix sed error, dynamically disable unsupported features, fix __tls_get_address error (uclibc++-0.2.1.ebuild.diff,3.11 KB, patch)
2006-11-28 10:03 UTC, Stefan Knoblich
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Natanael Copa 2006-09-22 02:05:23 UTC
I use hardened uclibc (gcc-3.4.6)


i386-gentoo-linux-uclibc-ranlib libuClibc++.a
eh_globals.o: In function `__cxa_get_globals':
eh_globals.cpp:(.text+0x27): undefined reference to `___tls_get_addr'
collect2: ld returned 1 exit status
make[1]: *** [libuClibc++-0.2.1.so] Error 1
make[1]: Leaving directory `/var/tmp/portage/uclibc++-0.2.1/work/uClibc++-0.2.1/src'
make: *** [all] Error 2

emerge --info:
Portage 2.1.1 (uclibc/x86/hardened, gcc-3.4.6, uclibc-0.9.28-r0, 2.6.18-gentoo i686)
=================================================================
System uname: 2.6.18-gentoo i686 Intel(R) Pentium(R) D CPU 3.00GHz
Gentoo Base System version 1.12.5
Last Sync: Mon, 18 Sep 2006 01:53:01 +0000
distcc 2.18.3 i386-gentoo-linux-uclibc (protocols 1 and 2) (default port 3632) [disabled]
app-admin/eselect-compiler: [Not Present]
dev-java/java-config: [Not Present]
dev-lang/python:     2.4.3-r1
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     [Not Present]
dev-util/confcache:  [Not Present]
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.59-r7
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2
sys-devel/binutils:  2.16.1-r3
sys-devel/gcc-config: 1.3.13-r3
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.17-r1
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i386-gentoo-linux-uclibc"
CFLAGS="-march=i386 -Os -pipe -fomit-frame-pointer"
CHOST="i386-gentoo-linux-uclibc"
CONFIG_PROTECT="/etc /var/bind"
CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/revdep-rebuild /etc/terminfo"
CXXFLAGS="-Os -pipe"
DISTDIR="/var/cache/distfiles"
FEATURES="autoconfig buildpkg distlocks metadata-transfer nodoc noinfo noman sandbox sfperms strict"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
LINGUAS=""
MAKEOPTS="-j4"
PKGDIR="/var/cache/packages/default"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/alpine-portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="x86 X509 bitmap-fonts bri bzip2 cli cracklib dlloader dri elibc_uclibc encode expat extensions hardened input_devices_evdev input_devices_keyboard input_devices_mouse iproute2 ipv6 jpeg kernel_linux mad minimal ncurses netboot ogg oss pci pcmcia pic png pppd readline reflection rrdtool sensord session snmp speex spl ssl tdb truetype truetype-fonts type1-fonts uclibc uclibc++ udev usb userland_GNU userlocales video_cards_dummy video_cards_fbdev video_cards_v4l winbind wordexp xorg zlib"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Natanael Copa 2006-09-22 11:59:41 UTC
same thing happens in non hardened with gcc-4.1.

mm usr # emerge --info
Portage 2.1.1 (uclibc/x86/2005.1, gcc-4.1.1, uclibc-0.9.28-r0, 2.6.18-gentoo i686)
=================================================================
System uname: 2.6.18-gentoo i686 Intel(R) Pentium(R) D CPU 3.00GHz
Gentoo Base System version 1.12.5
Last Sync: Fri, 22 Sep 2006 17:30:07 +0000
app-admin/eselect-compiler: [Not Present]
dev-java/java-config: [Not Present]
dev-lang/python:     2.4.3-r1
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     [Not Present]
dev-util/confcache:  [Not Present]
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.59-r7
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2
sys-devel/binutils:  2.16.1-r3
sys-devel/gcc-config: 1.3.13-r3
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.17-r1
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i386-gentoo-linux-uclibc"
CFLAGS="-Os -pipe -Wstack-protector -Wformat=2"
CHOST="i386-gentoo-linux-uclibc"
CONFIG_PROTECT="/etc /usr/share/X11/xkb"
CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/terminfo"
CXXFLAGS="-Os -pipe"
DISTDIR="/var/cache/distfiles"
FEATURES="autoconfig buildpkg distclean distlocks genpkgindex metadata-transfer nodoc noinfo noman parallel-fetch sandbox sfperms strict"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
LINGUAS=""
MAKEOPTS="-j4"
PKGDIR="/var/cache/packages/i386-gentoo-linux-uclibc/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/alpine-portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="bindist bitmap-fonts cli dlloader dri elibc_uclibc input_devices_evdev input_devices_keyboard input_devices_mouse kernel_linux minimal ncurses pcre readline reflection session spl truetype-fonts type1-fonts uclibc userland_GNU video_cards_dummy video_cards_fbdev video_cards_v4l x86 xorg zlib"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, PORTAGE_RSYNC_EXTRA_OPTS

Comment 2 Stefan Knoblich 2006-11-28 10:03:05 UTC
Created attachment 102932 [details, diff]
Fix sed error, dynamically disable unsupported features, fix __tls_get_address error

Attached patch fixes the __tls_get_addr error message by
  - disabling TLS support on environments that don't support it (e.g. uclibc)
  - adding -dynamic-linker ... to link in the required tls function, which
    wasn't done because of -nostdlibs (need some feedback from the embedded@g.o
    people regarding the get_ldso_name function(s))

Fixes a sed error (the line setting UCLIBCXX_RUNTIME_PREFIX) and disables
long double support on uclibc systems (missing cosl etc. math functions)
Comment 3 Natanael Copa 2007-01-23 14:53:46 UTC
(In reply to comment #2)
> Created an attachment (id=102932) [edit]

The patch works for me. Thanks!

Comment 4 SpanKY gentoo-dev 2007-09-15 07:42:48 UTC
this will be fixed in next uclibc release
Comment 5 SpanKY gentoo-dev 2007-10-01 15:51:34 UTC
*** Bug 194387 has been marked as a duplicate of this bug. ***