The compilation flags -finline-functions blocks compilation of procmail.
The complete output is:
morpheus root # emerge procmail
Calculating dependencies ...done!
>>> emerge (1 of 1) net-mail/procmail-3.22-r6 to /
>>> md5 src_uri ;-) procmail-3.22.tar.gz
>>> Unpacking source...
>>> Unpacking procmail-3.22.tar.gz to /var/tmp/portage/procmail-3.22-r6/work
>>> Source unpacked.
patching file src/authenticate.c
/bin/sh ./initmake /bin/sh "/bin/sh" "/bin/rm -f" "mv -f" "ln" \
"-lm -ldir -lx -lsocket -lnet -linet -lnsl_s -lnsl_i -lnsl -lsun -lgen -lsockdns -ldl" \
"/lib /usr/lib /usr/local/lib" \
/dev/null "make" o \
"gcc" "-march=athlon-xp -O2 -pipe -frename-registers -fomit-frame-pointer -finline-functions -O2 " "-s " "procmail lockfile formail mailstat" \
"procmail formail lockfile" \
"procmailrc procmailsc procmailex" "src man" \
"/usr/bin" \
"strip"
gcc seems to work fine, using that as the C-compiler
...scanning for 13 libraries...
...scanning for 12 libraries...
...scanning for 11 libraries...
...scanning for 10 libraries...
...scanning for 9 libraries...
...scanning for 8 libraries...
...scanning for 7 libraries...
...scanning for 6 libraries...
...scanning for 5 libraries...
...scanning for 4 libraries...
Added LDFLAGS= -lm -lnsl -ldl -lc
cd src; make ../autoconf.h
echo Housekeeping file >config.check
make[1]: Entering directory `/var/tmp/portage/procmail-3.22-r6/work/procmail-3.22/src'
/bin/sh ./autoconf /bin/sh "/bin/rm -f" "mv -f" /dev/null \
"grep -F" "make" o "/tmp . " \
"/usr/bin" ../autoconf.h
Using the following directories for the LOCKINGTESTs:
/tmp .
Initiating fcntl()/kernel-locking-support tests
Proceeding with kernel-locking-support tests in the background
Testing for const
Testing for volatile
Testing for prototypes
Testing for enum
Checking for POSIX and ANSI/ISO system include files
Checking for network/comsat/biff support
Testing for void*, size_t, off_t, pid_t, time_t, mode_t, uid_t & gid_t
Checking realloc implementation
Testing for WIFEXITED(), WIFSTOPPED(), WEXITSTATUS() & WSIGTERM()
Testing for various struct passwd members
Testing for memmove, strchr, strpbrk, strcspn, strtol, strstr,
rename, setrgid, setegid, pow, opendir, mkdir, waitpid, fsync,
ftruncate, strtod, strncasecmp, strerror, strlcat,
memset, bzero, and _exit
Determining the maximum number of 16 byte arguments execv() takes
Benchmarking your system's strstr() implementation
-----Note that the compilation blocks here.-----
-fomit-frame-pointer = implied by O1
-frename-registers = implied by O3
-finline-functions = implied by O3
fixed in CVS now. this was a case not caught by the fix in place before, so I updated the fix (see the comments in the ebuild for further details).