$ cat /tmp/hi.c int main() { return 0; } $ clang -flto -v /tmp/hi.c clang version 3.9.1 (tags/RELEASE_391/final) Target: x86_64-apple-darwin16.5.0 Thread model: posix InstalledDir: /Users/yegortimoshenko/Documents/Gentoo/bin "/Users/yegortimoshenko/Documents/Gentoo/usr/bin/clang-3.9" -cc1 -triple x86_64-apple-macosx10.12.0 -Wdeprecated-objc-isa-usage -Werror=deprecated-objc-isa-usage -emit-llvm-bc -flto -disable-free -disable-llvm-verifier -discard-value-names -main-file-name hi.c -mrelocation-model pic -pic-level 2 -mthread-model posix -mdisable-fp-elim -masm-verbose -munwind-tables -target-cpu core2 -target-linker-version 274.2 -v -dwarf-column-info -debugger-tuning=lldb -resource-dir /Users/yegortimoshenko/Documents/Gentoo/usr/bin/../lib/clang/3.9.1 -fdebug-compilation-dir /tmp -ferror-limit 19 -fmessage-length 236 -stack-protector 1 -fblocks -fobjc-runtime=macosx-10.12.0 -fencode-extended-block-signature -fmax-type-align=16 -fdiagnostics-show-option -o /var/folders/h1/qp1r50v53lx5zblv2wvcxkxc0000gn/T/hi-cb2443.o -x c hi.c clang -cc1 version 3.9.1 based upon LLVM 3.9.1 default target x86_64-apple-darwin16.5.0 ignoring nonexistent directory "/usr/local/include" ignoring nonexistent directory "/Users/yegortimoshenko/Documents/Gentoo/Frameworks" #include "..." search starts here: #include <...> search starts here: /Users/yegortimoshenko/Documents/Gentoo/usr/include /Users/yegortimoshenko/Documents/Gentoo/usr/bin/../lib/clang/3.9.1/include /usr/include /System/Library/Frameworks (framework directory) /Library/Frameworks (framework directory) End of search list. "/Users/yegortimoshenko/Documents/Gentoo/bin/ld" -demangle -object_path_lto /var/folders/h1/qp1r50v53lx5zblv2wvcxkxc0000gn/T/cc-f56247.o -lto_library /Users/yegortimoshenko/Documents/Gentoo/usr/lib/libLTO.dylib -dynamic -arch x86_64 -macosx_version_min 10.12.0 -o a.out /var/folders/h1/qp1r50v53lx5zblv2wvcxkxc0000gn/T/hi-cb2443.o -lSystem /Users/yegortimoshenko/Documents/Gentoo/usr/bin/../lib/clang/3.9.1/lib/darwin/libclang_rt.osx.a ld: warning: ignoring file /var/folders/h1/qp1r50v53lx5zblv2wvcxkxc0000gn/T/hi-cb2443.o, file was built for unsupported file format ( 0xDE 0xC0 0x17 0x0B 0x00 0x00 0x00 0x00 0x14 0x00 0x00 0x00 0x08 0x06 0x00 0x00 ) which is not the architecture being linked (x86_64): /var/folders/h1/qp1r50v53lx5zblv2wvcxkxc0000gn/T/hi-cb2443.o Undefined symbols for architecture x86_64: "_main", referenced from: implicit entry/start for main executable ld: symbol(s) not found for architecture x86_64 clang-3.9: error: linker command failed with exit code 1 (use -v to see invocation) Reproducible: Always Portage 2.3.5-prefix (python 3.5.2-final-0, prefix/darwin/macos/10.12/x64, clang-3.9.1, unavailable, 16.5.0 x86_64) ================================================================= System uname: Darwin-16.5.0-x86_64-i386-64bit Timestamp of repository gentoo_prefix: Fri, 12 May 2017 17:26:51 +0000 sh bash 4.3_p48 app-shells/bash: 4.3_p48::gentoo_prefix dev-java/java-config: 2.2.0-r3::gentoo_prefix dev-lang/perl: 5.24.1-r1::gentoo_prefix dev-lang/python: 2.7.12::gentoo_prefix, 3.5.2::gentoo_prefix dev-util/cmake: 3.8.1::gentoo_prefix dev-util/pkgconfig: 0.29.1::gentoo_prefix sys-devel/autoconf: 2.69-r3::gentoo_prefix sys-devel/automake: 1.14.1-r1::gentoo_prefix, 1.15-r2::gentoo_prefix sys-devel/libtool: 2.4.6-r4::gentoo_prefix sys-devel/make: 4.2.1-r1::gentoo_prefix Repositories: gentoo_prefix location: /Users/yegortimoshenko/Documents/Gentoo/usr/portage sync-type: rsync sync-uri: rsync://rsync.prefix.bitzolder.nl/gentoo-portage-prefix priority: -1000 ACCEPT_KEYWORDS="~x64-macos" ACCEPT_LICENSE="* -@EULA" CBUILD="x86_64-apple-darwin16" CC="x86_64-apple-darwin16-clang" CFLAGS="-march=native -O2 -pipe" CHOST="x86_64-apple-darwin16" CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c" CXX="x86_64-apple-darwin16-clang++" CXXFLAGS="-march=native -O2 -pipe" DISTDIR="/Users/yegortimoshenko/Documents/Gentoo/usr/portage/distfiles" FCFLAGS="" FEATURES="assume-digests binpkg-logs case-insensitive-fs collision-protect config-protect-if-modified distlocks ebuild-locks fixlafiles force-prefix merge-sync news nostrip parallel-fetch preserve-libs protect-owned sfperms strict unknown-features-warn unmerge-logs unmerge-orphans unprivileged" FFLAGS="" GENTOO_MIRRORS="http://distfiles.gentoo.org" LANG="en_US.UTF-8" LDFLAGS="-Wl,-dead_strip_dylibs" MAKEOPTS="-j3" PKGDIR="/Users/yegortimoshenko/Documents/Gentoo/usr/portage/packages" PORTAGE_CONFIGROOT="/Users/yegortimoshenko/Documents/Gentoo/" 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 --exclude=/.git" PORTAGE_TMPDIR="/Users/yegortimoshenko/Documents/Gentoo/var/tmp" USE="aqua coreaudio cracklib cxx ipv6 modules ncurses objc objc++ prefix prefix-guest readline ssl unicode x64-macos zlib" ABI_X86="64" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon 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 deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="mmx mmxext sse sse2" ELIBC="Darwin" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="keyboard mouse" KERNEL="Darwin" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-6" PYTHON_SINGLE_TARGET="python3_4" PYTHON_TARGETS="python2_7 python3_5" RUBY_TARGETS="ruby21 ruby22" USERLAND="GNU" 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" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
just to be sure, you do have USE=lto for binutils-apple enabled, don't you?
clang-5.0.1 should work in this regard when lto is properly enabled on binutils-apple-8.2.1.
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=bd802a20f3c8d250fd85ed66272df93583edde2a commit bd802a20f3c8d250fd85ed66272df93583edde2a Author: Fabian Groffen <grobian@gentoo.org> AuthorDate: 2018-01-04 09:46:00 +0000 Commit: Fabian Groffen <grobian@gentoo.org> CommitDate: 2018-01-04 09:46:00 +0000 scripts/bootstrap-prefix: update snapshots Bug: https://bugs.gentoo.org/642656 Bug: https://bugs.gentoo.org/618396 Bug: https://bugs.gentoo.org/632500 Bug: https://bugs.gentoo.org/638816 scripts/bootstrap-prefix.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)}