Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 618396

Summary: sys-devel/clang-3.9.1-r10: -flto is broken on macOS Prefix
Product: Gentoo/Alt Reporter: Yana Luna-Terra <yana>
Component: Prefix SupportAssignee: Gentoo Prefix <prefix>
Status: RESOLVED NEEDINFO    
Severity: normal    
Priority: Normal    
Version: unspecified   
Hardware: AMD64   
OS: OS X   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 618550    

Description Yana Luna-Terra 2017-05-13 23:39:02 UTC
$ 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
Comment 1 Fabian Groffen gentoo-dev 2017-06-21 07:06:40 UTC
just to be sure, you do have USE=lto for binutils-apple enabled, don't you?
Comment 2 Fabian Groffen gentoo-dev 2018-01-03 20:28:01 UTC
clang-5.0.1 should work in this regard when lto is properly enabled on binutils-apple-8.2.1.
Comment 3 Larry the Git Cow gentoo-dev 2018-01-04 09:46:27 UTC
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(-)}