Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 280165 - sys-libs/glibc-2.10.1 (and early) cflag -ftracer may breaks build (+)
Summary: sys-libs/glibc-2.10.1 (and early) cflag -ftracer may breaks build (+)
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: x86 Linux
: High normal
Assignee: Gentoo Toolchain Maintainers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-08-03 11:57 UTC by Denis Kaganovich
Modified: 2009-08-15 17:38 UTC (History)
1 user (show)

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


Attachments
build.log (build.log.gz,195.03 KB, application/octet-stream)
2009-08-10 12:18 UTC, Denis Kaganovich
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Denis Kaganovich 2009-08-03 11:57:18 UTC
On x86[_32] -ftracer must be filtered from CFLAGS. Error produced (gcc 4.3.3):
[...]
../sysdeps/unix/sysv/linux/dl-execstack.c: Assembler messages:
../sysdeps/unix/sysv/linux/dl-execstack.c:163: Error: symbol `__i686.get_pc_thunk.cx' is already defined
[...]

--------------------------
PS Also glibc-2.10.1 have good configuration option "--enable-experimental-malloc", described in "NEWS", and good to be implemented in useflags (about "-O3" see inside malloc.c):
===
* The malloc implementation can be compiled to be less memory efficient
  but higher performing in multi-threaded programs.
  Implemented by Ulrich Drepper.
===
I use next patch to go around ebuild:
--- a/malloc/Makefile<----->2009-03-14 01:51:58.000000000 +0200
+++ b/malloc/Makefile<-->2009-08-03 13:57:01.000000000 +0300
@@ -126,5 +126,4 @@
 
-ifeq ($(experimental-malloc),yes)
 CPPFLAGS-malloc.c += -DPER_THREAD -DATOMIC_FASTBINS
-endif
+CPPFLAGS-malloc.c += -O3
 # Uncomment this for test releases.  For public releases it is too expensive.

Reproducible: Always
Comment 1 James Earl Spahlinger 2009-08-09 23:28:16 UTC
Please paste the output of 'emerge --info' into a bugzilla comment to assist the maintainers in resolving this issue

Also please *attach* the failed build log using the "create new attachment" link above the comment field.

Comment 2 Denis Kaganovich 2009-08-10 12:06:11 UTC
OK. But may be full logs is not needed. I found more precise place. There are CPPFLAGS only - I set in make.conf: CPPFLAGS="$CFLAGS". And if you will heavy filtering CPPFLAGS (exclude -ftracer) - there are bad idea. All other system-wide unstripped flags works fine. And "-ftracer" produces same ("is already defined") error in some other places. There are subject to upstream bug, I now trying to repeat this on linux kernel on x86_64 (only) to submit (may be).

emerge --info (this and log on stripped config):
=== emerge --info:
Portage 2.2_rc36 (default/linux/x86, gcc-4.3.3, glibc-2.10.1-r0, 2.6.31-rc3-git6 i686)
=================================================================
System uname: Linux-2.6.31-rc3-git6-i686-Intel-R-_Pentium-R-_4_CPU_2.40GHz-with-gentoo-2.0.1
Timestamp of tree: Fri, 07 Aug 2009 18:45:01 +0000
ccache version 2.4 [disabled]
app-shells/bash:     4.0_p28
dev-lang/python:     2.6.2-r1, 3.1
dev-python/pycrypto: 2.0.1-r8
dev-util/ccache:     2.4-r8
sys-apps/baselayout: 2.0.1
sys-apps/openrc:     0.4.3-r3
sys-apps/sandbox:    2.0
sys-devel/autoconf:  2.63-r1
sys-devel/automake:  1.9.6-r2, 1.10.2, 1.11
sys-devel/binutils:  2.19.1-r1
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6a
virtual/os-headers:  2.6.30-r1
ACCEPT_KEYWORDS="x86 ~x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -pipe -fomit-frame-pointer -ftracer"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php4/ext-active/ /etc/php/cgi-php4/ext-active/ /etc/php/cli-php4/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/udev/rules.d"
CPPFLAGS="-O2 -pipe -fomit-frame-pointer -ftracer"
CXXFLAGS="-O2 -pipe -fomit-frame-pointer -ftracer"
DISTDIR="/home/gentoo/distfiles"
FEATURES="assume-digests distlocks fixpackages parallel-fetch preserve-libs protect-owned sandbox sfperms strict unmerge-logs unmerge-orphans"
GENTOO_MIRRORS="http://10.200.200.204:8080/ http://ftp.byfly.by/pub/gentoo/ http://10.200.200.201:591/gentoo/ http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
LANG="en_US.UTF-8"
LDFLAGS="-Wl,-O1"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="-q --recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/metadata/cache --filter=H_**/files/digest-*"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage/layman/raw /usr/local/portage"
SYNC="rsync://rsync.pl.gentoo.org/gentoo-portage"
USE="7zip apache async berkdb build-kernel bzip2 cgi clamav cli cluster consolekit cracklib crypt custom-cflags dri fortran gdbm glibc-omitfp graphite hpn iconv innodb integrated isdnlog ithreads jpeg jpeg2k logrotate mmx mppe-mppc mudflap multislot multitarget ncurses nls nptl nptlonly openmp pam pcre perl perlsuid php png pnp pppd python raid readline reflection samba session sharedext slang sockets spell spl sse sse2 ssl szip tcpd threads tiff tokenizer truetype unicode vhosts x86 xml xorg xsl zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic auth_digest authn_anon authn_dbd authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so speling status unique_id userdir usertrack vhost_alias" APACHE2_MPMS="event" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="fbdev glint i810 intel mach64 mga neomagic nv r128 radeon savage sis tdfx trident vesa vga via vmware voodoo"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LC_ALL, LINGUAS, MAKEOPTS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

Comment 3 Denis Kaganovich 2009-08-10 12:18:50 UTC
Created attachment 200837 [details]
build.log

9.9M, too big to uncompressed attach.
Comment 4 Ryan Hill (RETIRED) gentoo-dev 2009-08-15 17:38:47 UTC
(In reply to comment #2)
> OK. But may be full logs is not needed. I found more precise place. There are
> CPPFLAGS only - I set in make.conf: CPPFLAGS="$CFLAGS".

Don't do that.  CPPFLAGS are for passing preprocessor options and normally shouldn't be set to anything.