Details can be found at the Postfix mailing list where the discussion was started: http://archives.neohapsis.com/archives/postfix/2004-12/2262.html Reproducible: Always Steps to Reproduce: Actual Results: Local mail is not delivered, "possible alias database loop" message in the mail logs. Expected Results: Deliver mail to local user.
What postfix version exactly are we talking about?
I'm using postfix-2.1.5-r1. FWIW here is the output from emerge info which I forgot when submitting the bug: Portage 2.0.51-r8 (default-linux/x86/2004.3, gcc-3.4.3, glibc-2.3.4.20041102-r0, 2.6.9-gentoo-r1 i686) ================================================================= System uname: 2.6.9-gentoo-r1 i686 Intel(R) Pentium(R) 4 CPU 2.53GHz Gentoo Base System version 1.6.8 Python: dev-lang/python-2.3.4 [2.3.4 (#1, Dec 11 2004, 17:26:55)] dev-lang/python: 2.3.4 sys-devel/autoconf: 2.59-r6, 2.13 sys-devel/automake: 1.8.5-r2, 1.5, 1.4_p6, 1.6.3, 1.7.9, 1.9.3 sys-devel/binutils: 2.15.92.0.2-r2 sys-devel/libtool: 1.5.10-r2 virtual/os-headers: 2.4.22 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-march=pentium4 -pipe -O2 -mcpu=i686 -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=pentium4 -pipe -O2 -mcpu=i686 -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig ccache distlocks sandbox sfperms" GENTOO_MIRRORS="http://ftp.easynet.nl/mirror/gentoo/ http://gentoo.mirror.sdv.fr http://gentoo.tiscali.nl/gentoo/ ftp://ftp.solnet.ch/mirror/Gentoo" LDFLAGS="" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 acl apache2 apm bash-completion berkdb bitmap-fonts crypt cups encode foomaticdb fortran gdbm gif gpm hardened ipv6 jpeg libwww mad mikmod motif mpeg ncurses nls oggvorbis opengl oss pam pdflib perl png python readline sdl slang spell ssl svga tcpd truetype unicode xml2 xmms xv zlib"
I think this is a gcc bug. * short story : -mtune=pentium4 makes bogus postfix while -march=pentium4 is OK * long story : My system was an up-to-date ~x86 and postfix was generating "mail forwarding loop" messages for every account with an alias or with a .forward file. I downgraded my system to a x86 by recompiling everything except glibc and gcc. The bug was always here... Before recompiling gcc and glibc to downgrade them, and remove at the same time the +hardened flag, I remembered that there was a 3.3.4 gcc installed on the system too, so I choosed it with gcc-config and rebuild postfix : postfix was then working great without generating bogus messages for accounts with alias ou .forward file. Because I wanted to know more about this bug, I tried to recompile postfix with gcc 3.4.3, with both 3.4.3-vanilla and 3.4.3, but then postfix was always working... In fact before the "downgrade", I changed -mtune=pentium4 to -march=pentium4 in my CFLAGS. By changing CFLAGS back to -mtune=pentium4, gcc 3.4.3 make postfix to regenerate bogus errors again. /proc/cpuinfo says my system is a pentium4. Have phun,
I can confirm that this is a gcc with hardened profile issue. Adding hardened to CC list for their advise.
steps to reproduce: # gcc-config -l [1] i686-pc-linux-gnu-3.4.3 [2] i686-pc-linux-gnu-3.4.3-hardenednopie [3] i686-pc-linux-gnu-3.4.3-hardenednossp [4] i686-pc-linux-gnu-3.4.3-vanilla * # grep ^postmaster /etc/mail/aliases postmaster: langthang<at>gentoo.org # newaliases # postfix reload $ mail postmaster Cc: Subject: test test . # tail /var/log/messages Jan 9 22:04:14 localhost postfix/master[27284]: reload configuration Jan 9 22:07:58 localhost postfix/pickup[996]: 4441DC09E5: uid=1000 from=<langthang> Jan 9 22:07:58 localhost postfix/cleanup[1045]: 4441DC09E5: message-id=<20050110060758.4441DC09E5<at>example.com> Jan 9 22:07:58 localhost postfix/qmgr[997]: 4441DC09E5: from=<langthang<at>example.com>, size=360, nrcpt=1 (queue active) Jan 9 22:07:58 localhost postfix/cleanup[1048]: 89593C105F: message-id=<20050110060758.4441DC09E5<at>example.com> Jan 9 22:07:58 localhost postfix/qmgr[997]: 89593C105F: from=<langthang<at>example.com>, size=509, nrcpt=1 (queue active) Jan 9 22:07:58 localhost postfix/local[1047]: 4441DC09E5: to=<postmaster<at>example.com>, relay=local, delay=0, status=sent (forwarded as 89593C105F) Jan 9 22:07:58 localhost postfix/qmgr[997]: 4441DC09E5: removed Jan 9 22:07:59 localhost postfix/smtp[1049]: 89593C105F: to=<langthang<at>gentoo.org>, orig_to=<postmaster<at>example.com>, relay=mail.gentoo.org[156.56.111.197], delay=1, status=sent (250 OK id=1CoQmS-0008Mb-F2) Jan 9 22:07:59 localhost postfix/qmgr[997]: 89593C105F: removed # gcc-config 1 * Switching to i686-pc-linux-gnu-3.4.3 compiler ... [ ok ] * If you intend to use the gcc from the new profile in an already * running shell, please remember to do: * # source /etc/profile # source /etc/profile # emerge postfix # /etc/init.d/postfix restart * Stopping postfix ... [ ok ] * Starting postfix ... [ ok ] $ mail postmaster Cc: Subject: test test . # tail /var/log/messages -n 20 Jan 9 22:18:52 localhost postfix/master[27284]: terminating on signal 15 Jan 9 22:18:56 localhost postfix/postfix-script: starting the Postfix mail system Jan 9 22:18:56 localhost postfix/master[7382]: daemon started -- version 2.2-20041230+TLS, configuration /etc/postfix Jan 9 22:19:11 localhost postfix/pickup[7387]: 4F8F3C09E5: uid=1000 from=<langthang> Jan 9 22:19:11 localhost postfix/cleanup[7392]: 4F8F3C09E5: message-id=<20050110061911.4F8F3C09E5<at>example.com> Jan 9 22:19:11 localhost postfix/qmgr[7388]: 4F8F3C09E5: from=<langthang<at>example.com>, size=360, nrcpt=1 (queue active) Jan 9 22:19:11 localhost postfix/cleanup[7392]: 8AE7E67721: message-id=<20050110061911.4F8F3C09E5<at>example.com> Jan 9 22:19:11 localhost postfix/qmgr[7388]: 8AE7E67721: from=<langthang<at>example.com>, size=509, nrcpt=1 (queue active) Jan 9 22:19:11 localhost postfix/local[7394]: 4F8F3C09E5: to=<postmaster<at>example.com>, relay=local, delay=0, status=sent (forwarded as 8AE7E67721) Jan 9 22:19:11 localhost postfix/qmgr[7388]: 4F8F3C09E5: removed Jan 9 22:19:11 localhost postfix/local[7394]: 8AE7E67721: to=<postmaster<at>example.com>, relay=local, delay=0, status=bounced (mail forwarding loop for postmaster<at>example.com) Jan 9 22:19:11 localhost postfix/cleanup[7392]: BFC25C09BA: message-id=<20050110061911.BFC25C09BA<at>example.com> Jan 9 22:19:11 localhost postfix/qmgr[7388]: BFC25C09BA: from=<>, size=2315, nrcpt=1 (queue active) Jan 9 22:19:11 localhost postfix/cleanup[7392]: CD03BC09E5: message-id=<20050110061911.BFC25C09BA<at>example.com> Jan 9 22:19:11 localhost postfix/qmgr[7388]: CD03BC09E5: from=<>, size=2458, nrcpt=1 (queue active) Jan 9 22:19:11 localhost postfix/local[7395]: BFC25C09BA: to=<langthang<at>example.com>, relay=local, delay=0, status=sent (forwarded as CD03BC09E5) Jan 9 22:19:11 localhost postfix/qmgr[7388]: BFC25C09BA: removed Jan 9 22:19:11 localhost postfix/qmgr[7388]: 8AE7E67721: removed Jan 9 22:19:11 localhost postfix/local[7394]: CD03BC09E5: to=<langthang<at>example.com>, relay=local, delay=0, status=bounced (mail forwarding loop for langthang<at>example.com) Jan 9 22:19:11 localhost postfix/qmgr[7388]: CD03BC09E5: removed # emerge info Portage 2.0.51-r8 (hardened/x86/2.6, gcc-3.4.3, glibc-2.3.4.20041102-r0, 2.6.10-gentoo-r4 i686) ================================================================= System uname: 2.6.10-gentoo-r4 i686 Intel(R) Pentium(R) 4 CPU 2.40GHz Gentoo Base System version 1.6.8 Python: dev-lang/python-2.3.4 [2.3.4 (#1, Jan 7 2005, 23:49:01)] dev-lang/python: 2.3.4 sys-devel/autoconf: 2.59-r6, 2.13 sys-devel/automake: 1.8.5-r2, 1.5, 1.4_p6, 1.6.3, 1.7.9, 1.9.3 sys-devel/binutils: 2.15.92.0.2-r2 sys-devel/libtool: 1.5.10-r2 virtual/os-headers: 2.6.8.1-r2 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-O2 -march=pentium4 -fomit-frame-pointer -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O2 -march=pentium4 -fomit-frame-pointer -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig ccache distlocks sandbox userpriv usersandbox" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/Linux/distributions/gentoo" LDFLAGS="" MAKEOPTS="-j2" PKGDIR="/usr/portage//packages/x86/" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage/" PORTDIR_OVERLAY="/usr/portage/overlay" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="acl crypt dlloader guile hardened mysql ncurses nls pam pic pie readline ssl tcpd unicode x86 zlib"
same problem overhere - can we fit this plz? <snip> porkoo ~ # emerge info Portage 2.0.51-r13 (default-linux/x86/2004.3, gcc-3.4.3, glibc-2.3.4.20041102-r0, 2.6.10-cko2 i686) ================================================================= System uname: 2.6.10-cko2 i686 Intel(R) Pentium(R) 4 CPU 1.60GHz Gentoo Base System version 1.6.8 Python: dev-lang/python-2.3.4 [2.3.4 (#1, Jan 5 2005, 14:39:26)] distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] ccache version 2.3 [enabled] dev-lang/python: 2.3.4 sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.5, 1.4_p6, 1.8.5-r2, 1.7.9, 1.6.3, 1.9.4 sys-devel/binutils: 2.15.92.0.2-r2 sys-devel/libtool: 1.5.10-r2 virtual/os-headers: 2.6.8.1-r4 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-march=pentium4 -O2 -pipe -fomit-frame-pointer -fforce-mem -fforce-addr -falign-functions=4 -fprefetch-loop-arrays" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/mail/dspam /etc/terminfo /etc/env.d" CXXFLAGS="-march=pentium4 -O2 -pipe -fomit-frame-pointer -fforce-mem -fforce-addr -falign-functions=4 -fprefetch-loop-arrays -fvisibility-inlines-hidden" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig candy ccache distlocks loadpolicy sandbox sfperms userpriv usersandbox" GENTOO_MIRRORS="ftp://cs.ubishops.ca/pub/gentoo/ http://gentoo.tiscali.nl/gentoo/ http://sunsite.cnlab-switch.ch/ftp/mirror/gentoo/" LDFLAGS="-Wl,-O1 -Wl,--enable-new-dtags -Wl,--sort-common -s" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.samerica.gentoo.org/gentoo-portage" USE="GAPING_SECURITY_HOLE X X509 Xaw3d a52 aac aalib accounting acl adns aim aliaschain alsa amd apache2 apm arts artswrappersuid async audiofile avi bash-completion bcmath berkdb bidi bitmap-fonts bmp bonobo bzip2 bzlib c++ calendar cddb cdparanoia cdr cdrom chroot clamav clanJavaScript clanVoice client cnamefix codecs cpdflib crypt css ctype cups curl curlwrappers dba dedicated devmap dillo dio disablekernelsupport distcache distribution divx4linux dnd dts dv dvd dvdr dvdread edl encode erandom escreen esd estraier ethereal etwin evms2 exif f77 faac faad fam fbcon ffmpeg flac flash flatfile flood fmod font-server foomaticdb fpx freetype fs ftp ftruncate fusion fwdzone gb gd gdbm geoip ggi gif gimp gkrellm glut gmail gmp gphoto2 gpm gps graphviz gs gtk gtk2 gtkhtml hal hardenedphp hbci howl hub iconv icq ieee1394 imagemagick imap imlib imlib2 immqt-bc inifile innodb intl ipv6 ipv6arpa ithreads jabber java javascript jbig jce jikes jp2 jpeg jpeg2k junit jython kadu-modules kadu-voice lcd lcms ldap libcaca libclamav libg++ libsamplerate libwww live lm_sensors ltsp lua lufsusermount lzo lzw lzw-tiff mad maildir maildrop mailwrapper matroska mbox mcal md5sum memlimit mhash mikmod mime ming mixer mmx mmx2 mng motif moznocompose moznoirc moznomail mozp3p mozsvg mozxmlterm mp3 mpeg mpeg4 mplayer msn multipleip mysql nas ncurses net network neural nis nls nntp nowin nptl nptlonly ntlm nvidia nviz oav offensive ofx oggvorbis openal opengl oscar oss pam passfile pcap pcre pdflib perl php physfs pic pie png postgres prelude procmail python qt quicktime quotas quotes radius readline real rplay rrdtool rtc samba sasl sdl semanticfix server session sftplogging silc silverxp skey slang slp smartcard smime sndfile snmp soap sockets socks5 softmmu speex spell sse sse2 ssl stats streamzap stroke subject-rewrite svg svga szip tcltk tcpd tga theora threads thumbnail tidy tiff timidity tokenizer transcode transparent-proxy truetype truetype-fonts type1-fonts uml underscores unicode uptimed usb userlocales uudeview v4l v4l2 vda vhosts vim-with-x virus-scan winbind wmf wsconvert x86 xanim xchatdccserver xchattext xface xfs xgetdefault xine xinerama xml xml2 xmlrpc xmms xosd xpm xrandr xsl xv xvid xvmc yahoo yv12 zlib linguas_en linguas_de linguas_es" mail-mta/postfix Latest version installed: 2.1.5-r1 </snip>
More information is needed before a *FIX* can happen. If it mishehaves when compiled with hardening features then use another set of specs and recompile till the root of the problem is discovered.
Solar, I recompile postfix with "i686-pc-linux-gnu-3.4.3-hardenednossp" profile and it works. If you need more info, please tell.
WORKSFORME
Update. I reemerge postfix with i686-pc-linux-gnu-3.3.5 and postfix work again. It's not postfix problem. reassign to toolchain.
Ok so far we have established that ssp seems to play a part, if it works as per noted in comment #8 Comment #10 (I'm not sure if this was a hardened version or not.. was it? ) Is postfix use compiled using g++? Does this only happen when using any one of the following C{XX,}FLAGS -march=pentium4 -O2 ? How about the gcc-3.4.3 version? Can any of these values be shifted around/removed/etc to yeild better results?
langthang was very nice todo some testing.. And we pinpointed it down to optimization flags under the following conditions. Only when using 3.4.3 and optimization flags higher than -Os and when sp is enabled. So something like this should work around this problem for hardened-toolchain users. [ "$(gcc-version)" == "3.4.3" ] && use hardened && replace-flags -O? -Os
Update. after talking to Solar on IRC, I was be able to get postfix works by replace -O? to -Os in CFLAGS. Nes Yarug, Daniel Webert please confirm so I can adjust postfix ebuild for now.
<snip> CFLAGS="-march=pentium4 -Os -pipe -fomit-frame-pointer -fforce-mem -fforce-addr -falign-functions=4 -fprefetch-loop-arrays" CXXFLAGS="${CFLAGS} -fvisibility-inlines-hidden" </snip> works-for-me
Changing from -O2 to -Os works for me too. Thanks.
Solar, I just look at Daniel's emerge info, he doesn't have "hardened" but have "pic pie". so [ "$(gcc-version)" == "3.4.3" ] && use hardened && replace-flags -O? -Os would not work for him? Should I just cover all of them (hardened, pic, pie) to be safe?
pic && pie should not matter. Those are object creation flags for position independence. IE it should have nothing to directly todo with -fstack-protector My guess is for him would be that he had the env variable GCC_SPECS= set from a recent gcc-config bug where a few users ended up with hardened specs. Nes Yarug the reporter of this bug has confirmed the suggested fix.
is there any update on this? My ebuild with -O3 -march=pentium2 -fstack-protector doesnt also work as expected. is this a bug with hardened gcc or binutils ?
sorry I have forgot to mention that building postfix with only -O3 replaced with -Os made it compile and work like a charm.
same prob here, suggested solution ( hardened && -Os ) worked for me
Using GCC 3.4.3 hardened and the follwoing CFLAGS (-march=athlon-tbird -Os -pipe -mmmx -m3dnow -fforce-addr -fomit-frame-pointer -funroll-loops -falign-functions=4 -maccumulate-outgoing-args) renders Postfix absolutly unstable. First I had trouble with VDA and after a suggestion from the Postfix list, I emerged 2.2.1 and this even made things more worse. The USE flag hardened was active (I anyway use -Os), but this did not at all helped me to solve the problem. Going back to 3.3.5 hardened, does fix the problem for me. I have the following USE flags active (I only list the one used by the Postfix ebuild): hardened ldap mbox mysql pam sasl ssl vda Because I had errors in relation to VDA I bumped the 2.2.1-r1 ebuild to 2.2.1-r2 and included the VDA 2.2.1 patch and recompiled Postfix with GCC 3.3.5 hardened. If I would have more time, then I would try again with 3.4.3 hardened, but right now I don't have the time and the nerves to go this path again. This was the output of the error I got (Postfix 2.1.5-r2 and GCC 3.4.3 hardened): Apr 3 23:52:19 mail postfix/virtual[962]: panic: mystrdup: null pointer argument Apr 3 23:52:20 mail postfix/qmgr[906]: warning: premature end-of-input on private/virtual socket while reading input attribute name Apr 3 23:52:20 mail postfix/qmgr[906]: warning: private/virtual socket: malformed response Apr 3 23:52:20 mail postfix/qmgr[906]: warning: transport virtual failure -- see a previous warning/fatal/panic logfile record for the problem description Apr 3 23:52:20 mail postfix/master[900]: warning: process /usr/lib/postfix/virtual pid 962 killed by signal 6 Apr 3 23:52:20 mail postfix/master[900]: warning: /usr/lib/postfix/virtual: bad command startup -- throttling After emerging Postfix 2.2.1-r1 with GCC 3.4.3 hardened I got again errors. As advised by the Postfix list, I enabled verbose output. This is the result: Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const mail Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const ipv4 Apr 4 00:13:27 mail postfix/virtual[19461]: name_mask: ipv4 Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: expand mail.$mydomain -> mail.xxxxxxxx.net Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const xxxxxxxx.net Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const Postfix Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const postfix Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const postfix Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const postdrop Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: expand $myhostname, localhost.$mydomain $mydomain -> mail.xxxxxxxx.net, localhost.xxxxxxxx.net xxxxxxxx.net Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: expand $myhostname -> mail.xxxxxxxx.net Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const /usr/lib/postfix Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const /usr/sbin Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const /var/spool/postfix Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const pid Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const all Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const double-bounce Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const nobody Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const hash:/usr/local/mailman/data/aliases?hash:/etc/mail/aliases Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const 20050315 Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const 2.2.1 Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const hash Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const deferred, defer Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const + Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const mysql:/etc/postfix/mailman_domains.mysql?mysql:/etc/postfix/relay_domains_maps.mysql Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: expand $relay_domains -> mysql:/etc/postfix/mailman_domains.mysql?mysql:/etc/postfix/relay_domains_maps.mysql Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const TZ MAIL_CONFIG Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const MAIL_CONFIG MAIL_DEBUG MAIL_LOGTAG TZ XAUTHORITY DISPLAY Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const class Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const += Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const -=+ Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const debug_peer_list,fast_flush_domains,mynetworks,permit_mx_backup_networks,qmqpd_authorized_clients,relay_domains,smtpd_access_maps Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const bounce Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const cleanup Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const defer Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const pickup Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const qmgr Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const rewrite Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const showq Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const error Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const flush Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const verify Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const trace Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: expand ${config_directory}/prng_exch -> /etc/postfix/prng_exch Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const /etc/postfix/newcert.pem Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const /etc/postfix/newreq.pem Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: expand $smtpd_tls_dcert_file -> Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const /etc/postfix/cacert.pem Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: expand $smtp_tls_cert_file -> Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: expand $smtp_tls_dcert_file -> Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const 10 Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const 52428800 Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const 2 Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const 1 Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const no Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const 100s Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const 100s Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const 100s Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const 100s Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const 3600s Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const 3600s Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const 100s Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const 100s Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const 1000s Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const 1000s Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const 10s Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const 10s Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const 1s Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const 1s Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const 1s Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const 1s Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const 500s Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const 500s Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const 3600s Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const 3600s Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const 3600s Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const 3600s Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const 3600s Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const 18000s Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const 18000s Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const 1s Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const 1s Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const xxx.xxx.xxx.xxx/29, 192.168.0.0/24, 127.0.0.0/8 Apr 4 00:13:27 mail postfix/virtual[19461]: inet_addr_local: configured 3 IPv4 addresses Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const 1000 Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const 107374182400 Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const /var/mail Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const mysql:/etc/postfix/virtual_mailbox_maps.mysql Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const static:1003 Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const static:1003 Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const /home/vmail Apr 4 00:13:27 mail postfix/virtual[19461]: dict_eval: const fcntl Apr 4 00:13:27 mail postfix/virtual[19461]: process generation: 23 (23) Apr 4 00:13:27 mail postfix/virtual[19461]: match_string: fast_flush_domains ~? debug_peer_list Apr 4 00:13:27 mail postfix/virtual[19461]: match_string: fast_flush_domains ~? fast_flush_domains Apr 4 00:13:27 mail postfix/virtual[19461]: cfg_get_str: /etc/postfix/mailman_domains.mysql: user = xxxxxxxxxx Apr 4 00:13:27 mail postfix/virtual[19461]: cfg_get_str: /etc/postfix/mailman_domains.mysql: password = xxxxxxxxxx Apr 4 00:13:27 mail postfix/virtual[19461]: cfg_get_str: /etc/postfix/mailman_domains.mysql: dbname = postfix Apr 4 00:13:27 mail postfix/virtual[19461]: cfg_get_str: /etc/postfix/mailman_domains.mysql: result_format = %s Apr 4 00:13:27 mail postfix/virtual[19461]: cfg_get_int: /etc/postfix/mailman_domains.mysql: expansion_limit = 0 Apr 4 00:13:27 mail postfix/virtual[19461]: cfg_get_str: /etc/postfix/mailman_domains.mysql: query = <NULL> Apr 4 00:13:27 mail postfix/virtual[19461]: cfg_get_str: /etc/postfix/mailman_domains.mysql: table = domain Apr 4 00:13:27 mail postfix/virtual[19461]: cfg_get_str: /etc/postfix/mailman_domains.mysql: select_field = domain Apr 4 00:13:27 mail postfix/virtual[19461]: cfg_get_str: /etc/postfix/mailman_domains.mysql: where_field = domain Apr 4 00:13:27 mail postfix/virtual[19461]: cfg_get_str: /etc/postfix/mailman_domains.mysql: additional_conditions = AND backupmx='0' AND active='1' AND (transport='mailman:' OR transport='mailman') Apr 4 00:13:27 mail postfix/virtual[19461]: cfg_get_str: /etc/postfix/mailman_domains.mysql: domain = Apr 4 00:13:27 mail postfix/virtual[19461]: cfg_get_str: /etc/postfix/mailman_domains.mysql: hosts = unix:/var/run/mysqld/mysqld.sock Apr 4 00:13:27 mail postfix/virtual[19461]: dict_open: mysql:/etc/postfix/mailman_domains.mysql Apr 4 00:13:27 mail postfix/virtual[19461]: cfg_get_str: /etc/postfix/relay_domains_maps.mysql: user = xxxxxxxxxx Apr 4 00:13:27 mail postfix/virtual[19461]: cfg_get_str: /etc/postfix/relay_domains_maps.mysql: password = xxxxxxxxxx Apr 4 00:13:27 mail postfix/virtual[19461]: cfg_get_str: /etc/postfix/relay_domains_maps.mysql: dbname = postfix Apr 4 00:13:27 mail postfix/virtual[19461]: cfg_get_str: /etc/postfix/relay_domains_maps.mysql: result_format = %s Apr 4 00:13:27 mail postfix/virtual[19461]: cfg_get_int: /etc/postfix/relay_domains_maps.mysql: expansion_limit = 0 Apr 4 00:13:27 mail postfix/virtual[19461]: cfg_get_str: /etc/postfix/relay_domains_maps.mysql: query = <NULL> Apr 4 00:13:27 mail postfix/virtual[19461]: cfg_get_str: /etc/postfix/relay_domains_maps.mysql: table = domain Apr 4 00:13:27 mail postfix/virtual[19461]: cfg_get_str: /etc/postfix/relay_domains_maps.mysql: select_field = domain Apr 4 00:13:27 mail postfix/virtual[19461]: cfg_get_str: /etc/postfix/relay_domains_maps.mysql: where_field = domain Apr 4 00:13:27 mail postfix/virtual[19461]: cfg_get_str: /etc/postfix/relay_domains_maps.mysql: additional_conditions = AND (backupmx='1' OR LEFT(transport,5)='smtp:') AND active='1' Apr 4 00:13:27 mail postfix/virtual[19461]: cfg_get_str: /etc/postfix/relay_domains_maps.mysql: domain = Apr 4 00:13:27 mail postfix/virtual[19461]: cfg_get_str: /etc/postfix/relay_domains_maps.mysql: hosts = unix:/var/run/mysqld/mysqld.sock Apr 4 00:13:27 mail postfix/virtual[19461]: dict_open: mysql:/etc/postfix/relay_domains_maps.mysql Apr 4 00:13:27 mail postfix/virtual[19461]: set_eugid: euid 207 egid 207 Apr 4 00:13:27 mail postfix/virtual[19461]: cfg_get_str: /etc/postfix/virtual_mailbox_maps.mysql: user = xxxxxxxxxx Apr 4 00:13:27 mail postfix/virtual[19461]: cfg_get_str: /etc/postfix/virtual_mailbox_maps.mysql: password = xxxxxxxxxx Apr 4 00:13:27 mail postfix/virtual[19461]: cfg_get_str: /etc/postfix/virtual_mailbox_maps.mysql: dbname = postfix Apr 4 00:13:27 mail postfix/virtual[19461]: cfg_get_str: /etc/postfix/virtual_mailbox_maps.mysql: result_format = %s Apr 4 00:13:27 mail postfix/virtual[19461]: cfg_get_int: /etc/postfix/virtual_mailbox_maps.mysql: expansion_limit = 0 Apr 4 00:13:27 mail postfix/virtual[19461]: cfg_get_str: /etc/postfix/virtual_mailbox_maps.mysql: query = <NULL> Apr 4 00:13:27 mail postfix/virtual[19461]: cfg_get_str: /etc/postfix/virtual_mailbox_maps.mysql: table = mailbox Apr 4 00:13:27 mail postfix/virtual[19461]: cfg_get_str: /etc/postfix/virtual_mailbox_maps.mysql: select_field = maildir Apr 4 00:13:27 mail postfix/virtual[19461]: cfg_get_str: /etc/postfix/virtual_mailbox_maps.mysql: where_field = username Apr 4 00:13:27 mail postfix/virtual[19461]: cfg_get_str: /etc/postfix/virtual_mailbox_maps.mysql: additional_conditions = AND active='1' Apr 4 00:13:27 mail postfix/virtual[19461]: cfg_get_str: /etc/postfix/virtual_mailbox_maps.mysql: domain = Apr 4 00:13:27 mail postfix/virtual[19461]: cfg_get_str: /etc/postfix/virtual_mailbox_maps.mysql: hosts = unix:/var/run/mysqld/mysqld.sock Apr 4 00:13:27 mail postfix/virtual[19461]: dict_open: mysql:/etc/postfix/virtual_mailbox_maps.mysql Apr 4 00:13:27 mail postfix/virtual[19461]: dict_open: static:1003 Apr 4 00:13:27 mail postfix/virtual[19461]: name_mask: fcntl Apr 4 00:13:27 mail postfix/virtual[19461]: connection established Apr 4 00:13:27 mail postfix/virtual[19461]: master_notify: status 0 Apr 4 00:13:27 mail postfix/virtual[19461]: deliver_request_initial: send initial status Apr 4 00:13:27 mail postfix/virtual[19461]: send attr status = 0 Apr 4 00:13:27 mail postfix/virtual[19461]: virtual socket: wanted attribute: flags Apr 4 00:13:27 mail postfix/virtual[19461]: input attribute name: flags Apr 4 00:13:27 mail postfix/virtual[19461]: input attribute value: 3 Apr 4 00:13:27 mail postfix/virtual[19461]: virtual socket: wanted attribute: queue_name Apr 4 00:13:27 mail postfix/virtual[19461]: input attribute name: queue_name Apr 4 00:13:27 mail postfix/virtual[19461]: input attribute value: active Apr 4 00:13:27 mail postfix/virtual[19461]: virtual socket: wanted attribute: queue_id Apr 4 00:13:27 mail postfix/virtual[19461]: input attribute name: queue_id Apr 4 00:13:27 mail postfix/virtual[19461]: input attribute value: E2E9515B7D4E Apr 4 00:13:27 mail postfix/virtual[19461]: virtual socket: wanted attribute: offset Apr 4 00:13:27 mail postfix/virtual[19461]: input attribute name: offset Apr 4 00:13:27 mail postfix/virtual[19461]: input attribute value: 314 Apr 4 00:13:27 mail postfix/virtual[19461]: virtual socket: wanted attribute: size Apr 4 00:13:27 mail postfix/virtual[19461]: input attribute name: size Apr 4 00:13:27 mail postfix/virtual[19461]: input attribute value: 4021 Apr 4 00:13:27 mail postfix/virtual[19461]: virtual socket: wanted attribute: nexthop Apr 4 00:13:27 mail postfix/virtual[19461]: input attribute name: nexthop Apr 4 00:13:27 mail postfix/virtual[19461]: input attribute value: xxxxx.ch Apr 4 00:13:27 mail postfix/virtual[19461]: virtual socket: wanted attribute: encoding Apr 4 00:13:27 mail postfix/virtual[19461]: input attribute name: encoding Apr 4 00:13:27 mail postfix/virtual[19461]: input attribute value: (end) Apr 4 00:13:27 mail postfix/virtual[19461]: virtual socket: wanted attribute: sender Apr 4 00:13:27 mail postfix/virtual[19461]: input attribute name: sender Apr 4 00:13:27 mail postfix/virtual[19461]: input attribute value: zzzzzzz@gmail.com Apr 4 00:13:27 mail postfix/virtual[19461]: virtual socket: wanted attribute: errors-to Apr 4 00:13:27 mail postfix/virtual[19461]: input attribute name: errors-to Apr 4 00:13:27 mail postfix/virtual[19461]: input attribute value: zzzzzzz@gmail.com Apr 4 00:13:27 mail postfix/virtual[19461]: virtual socket: wanted attribute: return-receipt Apr 4 00:13:27 mail postfix/virtual[19461]: input attribute name: return-receipt Apr 4 00:13:27 mail postfix/virtual[19461]: input attribute value: (end) Apr 4 00:13:27 mail postfix/virtual[19461]: virtual socket: wanted attribute: time Apr 4 00:13:27 mail postfix/virtual[19461]: input attribute name: time Apr 4 00:13:27 mail postfix/virtual[19461]: input attribute value: 1112566864 Apr 4 00:13:27 mail postfix/virtual[19461]: virtual socket: wanted attribute: client_name Apr 4 00:13:27 mail postfix/virtual[19461]: input attribute name: client_name Apr 4 00:13:27 mail postfix/virtual[19461]: input attribute value: (end) Apr 4 00:13:27 mail postfix/virtual[19461]: virtual socket: wanted attribute: client_address Apr 4 00:13:27 mail postfix/virtual[19461]: input attribute name: client_address Apr 4 00:13:27 mail postfix/virtual[19461]: input attribute value: (end) Apr 4 00:13:27 mail postfix/virtual[19461]: virtual socket: wanted attribute: protocol_name Apr 4 00:13:27 mail postfix/virtual[19461]: input attribute name: protocol_name Apr 4 00:13:27 mail postfix/virtual[19461]: input attribute value: (end) Apr 4 00:13:27 mail postfix/virtual[19461]: virtual socket: wanted attribute: helo_name Apr 4 00:13:27 mail postfix/virtual[19461]: input attribute name: helo_name Apr 4 00:13:27 mail postfix/virtual[19461]: input attribute value: (end) Apr 4 00:13:27 mail postfix/virtual[19461]: virtual socket: wanted attribute: sasl_method Apr 4 00:13:27 mail postfix/virtual[19461]: input attribute name: sasl_method Apr 4 00:13:27 mail postfix/virtual[19461]: input attribute value: (end) Apr 4 00:13:27 mail postfix/virtual[19461]: virtual socket: wanted attribute: sasl_username Apr 4 00:13:27 mail postfix/virtual[19461]: input attribute name: sasl_username Apr 4 00:13:27 mail postfix/virtual[19461]: input attribute value: (end) Apr 4 00:13:27 mail postfix/virtual[19461]: virtual socket: wanted attribute: sasl_sender Apr 4 00:13:27 mail postfix/virtual[19461]: input attribute name: sasl_sender Apr 4 00:13:27 mail postfix/virtual[19461]: input attribute value: (end) Apr 4 00:13:27 mail postfix/virtual[19461]: virtual socket: wanted attribute: rewrite_context Apr 4 00:13:27 mail postfix/virtual[19461]: input attribute name: rewrite_context Apr 4 00:13:27 mail postfix/virtual[19461]: input attribute value: local Apr 4 00:13:27 mail postfix/virtual[19461]: virtual socket: wanted attribute: offset Apr 4 00:13:27 mail postfix/virtual[19461]: input attribute name: offset Apr 4 00:13:27 mail postfix/virtual[19461]: input attribute value: 295 Apr 4 00:13:27 mail postfix/virtual[19461]: virtual socket: wanted attribute: original_recipient Apr 4 00:13:27 mail postfix/virtual[19461]: input attribute name: original_recipient Apr 4 00:13:27 mail postfix/virtual[19461]: input attribute value: yyyyyy@xxxxx.ch Apr 4 00:13:27 mail postfix/virtual[19461]: virtual socket: wanted attribute: recipient Apr 4 00:13:27 mail postfix/virtual[19461]: input attribute name: recipient Apr 4 00:13:27 mail postfix/virtual[19461]: input attribute value: yyyyyy@xxxxx.ch Apr 4 00:13:27 mail postfix/virtual[19461]: virtual socket: wanted attribute: offset Apr 4 00:13:27 mail postfix/virtual[19461]: input attribute name: offset Apr 4 00:13:27 mail postfix/virtual[19461]: input attribute value: 0 Apr 4 00:13:27 mail postfix/virtual[19461]: deliver_request_get: file active/E2E9515B7D4E Apr 4 00:13:27 mail postfix/virtual[19461]: local_deliver: E2E9515B7D4E from zzzzzzz@gmail.com Apr 4 00:13:27 mail postfix/virtual[19461]: local_deliver[0]: reset user_attr Apr 4 00:13:27 mail postfix/virtual[19461]: deliver_recipient[1]: recip yyyyyy@xxxxx.ch deliver Apr 4 00:13:27 mail postfix/virtual[19461]: level: 0 Apr 4 00:13:27 mail postfix/virtual[19461]: path: active/E2E9515B7D4E Apr 4 00:13:27 mail postfix/virtual[19461]: fp: 0x80041f60 Apr 4 00:13:27 mail postfix/virtual[19461]: queue_name: active Apr 4 00:13:27 mail postfix/virtual[19461]: queue_id: E2E9515B7D4E Apr 4 00:13:27 mail postfix/virtual[19461]: offset: 314 Apr 4 00:13:27 mail postfix/virtual[19461]: sender: zzzzzzz@gmail.com Apr 4 00:13:27 mail postfix/virtual[19461]: recipient: yyyyyy@xxxxx.ch Apr 4 00:13:27 mail postfix/virtual[19461]: user: yyyyyy@xxxxx.ch Apr 4 00:13:27 mail postfix/virtual[19461]: delivered: yyyyyy@xxxxx.ch Apr 4 00:13:27 mail postfix/virtual[19461]: relay: virtual Apr 4 00:13:27 mail postfix/virtual[19461]: deliver_mailbox[1]: recip yyyyyy@xxxxx.ch deliver Apr 4 00:13:27 mail postfix/virtual[19461]: panic: mystrdup: null pointer argument Wietse replied: That is an "impossible" condition. Either Postfix is broken or it is linked with a broken third-party library that corrupts memory. It would be useful to have "virtual -v" logging (*), the operating system version, or, if you run Postfix on bare hardware, the make of that hardware, and the Postfix version. Wietse (*) http://www.postfix.org/DEBUG_README.html#verbose Recompiling 2.2.1 with GCC 3.3.5 hardened solved the problem for me. I will stay on this compilation, till the problem with GCC 3.4.3 hardened get's solved. From my viewpoint it is a GCC related problem, since both Postfix 2.1.5 and 2.2.1 have this problem when compiled with GCC 3.4.3 hardened, but have no problem when compiled with GCC 3.3.5 hardened. cheers SteveB
Does this problem still occur with 3.4.4?
Right now I am using Postfix mail-mta/postfix-2.2.1-r2 (my own ebuild using 2.2.1-vda patch instead of the 2.2.0-vda patch) and I have compiled it with sys-devel/gcc-3.4.4 and I don't see this error anymore. My gcc info: Reading specs from /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/specs Configured with: /var/tmp/portage/gcc-3.4.4/work/gcc-3.4.4/configure --enable-version-specific-runtime-libs --prefix=/usr --bindir=/usr/i686-pc-linux-gnu/gcc-bin/3.4.4 --includedir=/usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include --datadir=/usr/share/gcc-data/i686-pc-linux-gnu/3.4.4 --mandir=/usr/share/gcc-data/i686-pc-linux-gnu/3.4.4/man --infodir=/usr/share/gcc-data/i686-pc-linux-gnu/3.4.4/info --with-gxx-include-dir=/usr/lib/gcc/i686-pc-linux-gnu/3.4.4/include/g++-v3 --host=i686-pc-linux-gnu --disable-altivec --enable-nls --without-included-gettext --with-system-zlib --disable-checking --disable-werror --disable-libunwind-exceptions --disable-multilib --disable-libgcj --enable-languages=c,c++ --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu Thread model: posix gcc version 3.4.4 (Gentoo Hardened 3.4.4, ssp-3.4.4-1.0, pie-8.7.8)
Looks like gcc-3.4.4 fixes this issue.
Confirming that this is still required and reproducible with postfix-2.5.x and GCC-3.4.6 on hardened/x86. Did not test on hardened/amd64, don't know if it applies there (not mentioned in this bug) but if not the replace-flags can be further limited. Made a minor change to the ebuild a moment ago. Sync style with the rest of the ebuild and avoid gcc-version check on non-hardened.