Summary: | www-client/seamonkey-2.33.1: to respect CXXFLAGS you must also drop default '-g -O2 -fno-omit-frame-pointer' | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Martin Mokrejš <mmokrejs> |
Component: | Current packages | Assignee: | Lars Wendler (Polynomial-C) (RETIRED) <polynomial-c> |
Status: | RESOLVED OBSOLETE | ||
Severity: | normal | CC: | mozilla |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
URL: | https://bugzilla.mozilla.org/show_bug.cgi?id=268292 | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: | seamonkey-OPTIMIZE-FLAGS.txt |
Description
Martin Mokrejš
2015-04-25 15:57:54 UTC
Created attachment 402012 [details]
seamonkey-OPTIMIZE-FLAGS.txt
/var/tmp/portage/www-client/seamonkey-2.33.1/work/comm-release/.mozconfig:ac_add_options --enable-optimize=-O2 # Gentoo's default optimization
Aha, I think I need --disable-optimize to be use whe USE=debug . So maybe no sed(1) hackery needed.
Comment on attachment 402012 [details]
seamonkey-OPTIMIZE-FLAGS.txt
Was generated by:
find /var/tmp/portage/www-client/seamonkey-2.33.1/work | xargs grep -H "\-O2" 2>/dev/null | grep -v '^Binary file' > /tmp/seamonkey-OPTIMIZE-FLAGS.txt
Hi Lars, I think the fix would be to drop from mozcoreconf-2.eclass one line: elif use custom-optimization || [[ ${ARCH} =~ (alpha|ia64) ]]; then # Set optimization level based on CFLAGS if is-flag -O0; then mozconfig_annotate "from CFLAGS" --enable-optimize=-O0 elif [[ ${ARCH} == ppc ]] && has_version '>=sys-libs/glibc-2.8'; then mozconfig_annotate "more than -O1 segfaults on ppc with glibc-2.8" --enable-optimize=-O1 elif is-flag -O3; then mozconfig_annotate "from CFLAGS" --enable-optimize=-O3 elif is-flag -O1; then mozconfig_annotate "from CFLAGS" --enable-optimize=-O1 elif is-flag -Os; then mozconfig_annotate "from CFLAGS" --enable-optimize=-Os else - mozconfig_annotate "Gentoo's default optimization" --enable-optimize=-O2 fi # emerge --info Portage 2.2.26 (python 2.7.11-final-0, default/linux/amd64/13.0, gcc-5.3.0, glibc-2.21-r1, 4.4.1-default-pciehp x86_64) ================================================================= System uname: Linux-4.4.1-default-pciehp-x86_64-Intel-R-_Core-TM-_i7-2640M_CPU_@_2.80GHz-with-gentoo-2.2 KiB Mem: 16294636 total, 13262688 free KiB Swap: 16776188 total, 16776188 free Timestamp of repository gentoo: Sat, 06 Feb 2016 16:30:01 +0000 sh bash 4.3_p42-r2 ld GNU ld (Gentoo 2.25.1 p1.1) 2.25.1 app-shells/bash: 4.3_p42-r2::gentoo dev-java/java-config: 2.2.0::gentoo dev-lang/perl: 5.20.2-r1::gentoo dev-lang/python: 2.7.11-r1::gentoo, 3.4.3-r7::gentoo, 3.5.1-r2::gentoo dev-util/cmake: 3.3.2-r1::gentoo dev-util/pkgconfig: 0.28-r2::gentoo sys-apps/baselayout: 2.2::gentoo sys-apps/openrc: 0.20.4::gentoo sys-apps/sandbox: 2.6-r1::gentoo sys-devel/autoconf: 2.13::gentoo, 2.69-r1::gentoo sys-devel/automake: 1.11.6-r1::gentoo, 1.12.6::gentoo, 1.13.4::gentoo, 1.14::gentoo, 1.15::gentoo sys-devel/binutils: 2.25.1-r1::gentoo sys-devel/gcc: 4.3.6-r1::gentoo, 4.4.7::gentoo, 4.6.4::gentoo, 4.7.4::gentoo, 4.8.5::gentoo, 4.9.3::gentoo, 5.3.0::gentoo sys-devel/gcc-config: 1.8::gentoo sys-devel/libtool: 2.4.6-r1::gentoo sys-devel/make: 4.1-r1::gentoo sys-kernel/linux-headers: 4.0::gentoo (virtual/os-headers) sys-libs/glibc: 2.21-r1::gentoo Repositories: gentoo location: /usr/portage sync-type: rsync sync-uri: rsync://rsync.gentoo.org/gentoo-portage priority: -1000 science location: /home/mmokrejs/proj/sci masters: gentoo priority: 0 x-portage location: /usr/local/portage masters: gentoo priority: 1 layman location: /var/lib/layman masters: gentoo priority: 2 haskell location: /var/lib/layman/haskell masters: gentoo priority: 50 ACCEPT_KEYWORDS="amd64 ~amd64" ACCEPT_LICENSE="* -@EULA dlj-1.1 sun-bcla-java-vm Oracle-BCLA-JavaSE IBM-J1.6 skype-eula Nero-EULA-US AdobeFlash-10.3 skype-4.0.0.7-copyright AdobeFlash-11.x" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-O2 -pipe -maes -mpclmul -mpopcnt -mavx -march=native" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /etc/stunnel/stunnel.conf /usr/lib64/libreoffice/program/sofficerc /usr/share/easy-rsa /usr/share/gnupg/qualified.txt /usr/share/maven-bin-3.2/conf /var/bind /var/lib/hsqldb /var/spool/torque" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.4/ext-active/ /etc/php/apache2-php5.5/ext-active/ /etc/php/apache2-php5.6/ext-active/ /etc/php/cgi-php5.4/ext-active/ /etc/php/cgi-php5.5/ext-active/ /etc/php/cgi-php5.6/ext-active/ /etc/php/cli-php5.4/ext-active/ /etc/php/cli-php5.5/ext-active/ /etc/php/cli-php5.6/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo" CXXFLAGS="-O2 -pipe -maes -mpclmul -mpopcnt -mavx -march=native" DISTDIR="/usr/portage/distfiles" FCFLAGS="-O2 -pipe" FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news noclean nostrip parallel-fetch preserve-libs protect-owned sandbox sfperms splitdebug strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr" FFLAGS="-O2 -pipe" GENTOO_MIRRORS="rsync://ftp.fi.muni.cz/pub/linux/gentoo/ rsync://gentoo.mirror.dkm.cz/gentoo/ ftp://gentoo.mirror.web4u.cz/" LDFLAGS="-Wl,-O1 -Wl,--as-needed" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" USE="X acpi alsa amd64 amr apache apache2 apulse avx berkdb bindist bluetooth boost bzip2 cairo cgi cli coin consolekit cracklib crypt cryptlib cups cxx dbus device-mapper dhcp directfb dri drm dvd emboss encode fax fbcon ffmpeg flac fontconfig fortran gbm gd gdbm geoip gimp glpk gnutls gpm gtk hal hpijs hwdb iconv id3tag imaging innodb java javascript jce jpeg jpg js jscript keymap ladspa lapack laptop lcms libnotify lm_sensors mad matroska mmx mmxext modules mpi mpich2 multilib mysql ncurses nfs nls nptl nptlonly nscd nsplugin ntfsprogs ocr ogg opengl openmp pam parport pcre pdf perl php png policykit polkit ppds pppd python qt3support readline rendering resolvconf scanner seccomp server session slideshow sndfile sqlite sse sse2 sse3 sse4_1 sse4_2 ssl ssse3 suexec svg syslog tcl tcpd threads tiff tk truetype udev unicode usb v4l v4l2 vim-syntax vnc wavpack wifi x11 xattr xcb xml xorg xrandr xv xvid xvmc zlib" ABI_X86="64 32" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="alias authz_host auth_basic auth_digest cgi cgid deflate dir env filter include info mem_cache mime mime_magic negotiation remoteip setenvif status userdir vhost_alias rewrite usertrack cache file_cache disk_cache charset_lite log_config log_forensic" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="en en_US en_GB cs cz" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_4 python3_5" RUBY_TARGETS="ruby20 ruby21" USERLAND="GNU" VIDEO_CARDS="vesa vmware fbdev intel i915 i965" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" USE_PYTHON="2.7" Unset: CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS Sorry, dropping *two lines" of course. ;-) elif use custom-optimization || [[ ${ARCH} =~ (alpha|ia64) ]]; then # Set optimization level based on CFLAGS if is-flag -O0; then mozconfig_annotate "from CFLAGS" --enable-optimize=-O0 elif [[ ${ARCH} == ppc ]] && has_version '>=sys-libs/glibc-2.8'; then mozconfig_annotate "more than -O1 segfaults on ppc with glibc-2.8" --enable-optimize=-O1 elif is-flag -O3; then mozconfig_annotate "from CFLAGS" --enable-optimize=-O3 elif is-flag -O1; then mozconfig_annotate "from CFLAGS" --enable-optimize=-O1 elif is-flag -Os; then mozconfig_annotate "from CFLAGS" --enable-optimize=-Os - else - mozconfig_annotate "Gentoo's default optimization" --enable-optimize=-O2 fi (In reply to Martin Mokrejš from comment #3) > Hi Lars, > I think the fix would be to drop from mozcoreconf-2.eclass one line: Aha, mozcoreconf-v3.eclass should get the change as well. (In reply to Martin Mokrejš from comment #5) > (In reply to Martin Mokrejš from comment #3) > > Hi Lars, > > I think the fix would be to drop from mozcoreconf-2.eclass one line: > > Aha, mozcoreconf-v3.eclass should get the change as well. Your approach is completely wrong and would break to many systems. If you want to use your cflags enable custom-cflags custom-optimization, this code will NOT be drop'd or altered as this is known to break. (In reply to Jory A. Pratt from comment #6) > (In reply to Martin Mokrejš from comment #5) > > (In reply to Martin Mokrejš from comment #3) > > > Hi Lars, > > > I think the fix would be to drop from mozcoreconf-2.eclass one line: > > > > Aha, mozcoreconf-v3.eclass should get the change as well. > > Your approach is completely wrong and would break to many systems. If you > want to use your cflags enable custom-cflags custom-optimization, this code > will NOT be drop'd or altered as this is known to break. I do have USE=custom-cflags CFLAGS="-ggdb" CXXFLAGS="-ggdb" but still the ebuild forces -O2 or -O3 into: HOST_OPTIMIZE_FLAGS MOZ_PGO_OPTIMIZE_FLAGS MODULE_OPTIMIZE_FLAGS OPTIMIZER See these files: /usr/portage/eclass/mozcoreconf-2.eclass /usr/portage/eclass/mozcoreconf-v3.eclass /var/tmp/portage/www-client/seamonkey-2.39/work/seamonkey-2.39/.mozconfig /var/tmp/portage/www-client/seamonkey-2.39/work/seamonkey-2.39/seamonk/Makefile /var/tmp/portage/www-client/seamonkey-2.39/work/seamonkey-2.39/seamonk/config.status /var/tmp/portage/www-client/seamonkey-2.39/work/seamonkey-2.39/config/config.mk /var/tmp/portage/www-client/seamonkey-2.39/work/seamonkey-2.39/seamonk/config/Makefile /var/tmp/portage/www-client/seamonkey-2.39/work/seamonkey-2.39/seamonk/toolkit/library/Makefile /var/tmp/portage/www-client/seamonkey-2.39/work/seamonkey-2.39/seamonk/toolkit/Makefile /var/tmp/portage/www-client/seamonkey-2.39/work/seamonkey-2.39/seamonk/Makefile /var/tmp/portage/www-client/seamonkey-2.39/work/seamonkey-2.39/config/config.mk /var/tmp/portage/www-client/seamonkey-2.39/work/seamonkey-2.39/mozilla/config/config.mk /var/tmp/portage/www-client/seamonkey-2.39/work/seamonkey-2.39/mozilla/config/recurse.mk /var/tmp/portage/www-client/seamonkey-2.39/work/seamonkey-2.39/mozilla/config/baseconfig.mk /var/tmp/portage/www-client/seamonkey-2.39/work/seamonkey-2.39/client.mk /var/tmp/portage/www-client/seamonkey-2.39/work/seamonkey-2.39/seamonk/config/autoconf.mk (In reply to Martin Mokrejš from comment #7) > (In reply to Jory A. Pratt from comment #6) > > Your approach is completely wrong and would break to many systems. If you > > want to use your cflags enable custom-cflags custom-optimization, this code > > will NOT be drop'd or altered as this is known to break. > > I do have USE=custom-cflags CFLAGS="-ggdb" CXXFLAGS="-ggdb" but still the > ebuild forces -O2 or -O3 into: > > HOST_OPTIMIZE_FLAGS > MOZ_PGO_OPTIMIZE_FLAGS > MODULE_OPTIMIZE_FLAGS > OPTIMIZER > You need USE=custom-optimization enabled if you want to override this, in addition to USE=custom-cflags Sorry, I forgot to mention it as well. This is what I already have ... but it is not enough: [ebuild R ] www-client/seamonkey-2.39::gentoo USE="chatzilla crypt custom-cflags custom-optimization debug gmp-autoupdate gstreamer-0 ipc jemalloc3 jit roaming startup-notification system-icu system-jpeg system-libvpx system-sqlite wifi -dbus* -gstreamer -minimal (-neon) -pulseaudio (-selinux) -system-cairo {-test}" LINGUAS="cs en_GB -be -ca -de -es_AR -es_ES -fi -fr -gl -hu -it -ja -lt -nb_NO -nl -pl -pt_PT -ru -sk -sv_SE -tr -uk -zh_CN -zh_TW" 0 KiB My "-ggdb" gets replaced into -O2" or sometimes "-O3" or "-Os". Seems leaving "-O" out of my flags results in "-Os" being kicked in (that is in mozilla sources). Still "-ggdb -O0" does not help. See the rejected patch in https://bugzilla.mozilla.org/show_bug.cgi?id=268292 for an idea what is probably still causing the issues. If you feel I have closed your bug and it is still a current issue, please reopen and update it completely. We will not work bugs that have no ebuild in tree any longer or can not be reproduced with a current system. Thank You for your support and understanding The Mozilla Team |