Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 366817 - sys-devel/binutils-apple: Update to 4.1
Summary: sys-devel/binutils-apple: Update to 4.1
Alias: None
Product: Gentoo/Alt
Classification: Unclassified
Component: Prefix Support (show other bugs)
Hardware: All OS X
: Normal enhancement (vote)
Assignee: Gentoo Prefix
Depends on:
Reported: 2011-05-11 03:48 UTC by Charles Davis
Modified: 2011-09-04 07:45 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Note You need to log in before you can comment on or make changes to this bug.
Description Charles Davis 2011-05-11 03:48:26 UTC
The latest Apple GCC is producing code that Xcode Tools 3.2.3 just can't handle. Compiling =media-libs/gst-plugins-base-0.10.31, for example, produces this:

{standard input}:2044:non-relocatable subtraction expression, "LC2" minus "L00000000008$pb"
{standard input}:2044:symbol: "L00000000008$pb" can't be undefined in a subtraction expression
{standard input}:1976:non-relocatable subtraction expression, "LC2" minus "L00000000007$pb"
{standard input}:1976:symbol: "L00000000007$pb" can't be undefined in a subtraction expression
{standard input}:1905:non-relocatable subtraction expression, "LC0" minus "L00000000006$pb"
{standard input}:1905:symbol: "L00000000006$pb" can't be undefined in a subtraction expression
{standard input}:1854:non-relocatable subtraction expression, "LC0" minus "L00000000005$pb"
{standard input}:1854:symbol: "L00000000005$pb" can't be undefined in a subtraction expression
{standard input}:unknown:Undefined local symbol L00000000005$pb
{standard input}:unknown:Undefined local symbol L00000000006$pb
{standard input}:unknown:Undefined local symbol L00000000007$pb
{standard input}:unknown:Undefined local symbol L00000000008$pb
make[4]: *** [libgstaudioconvert_la-tmp-orc.lo] Error 1

The source for Xcode Tools 4.0 has been released. Heck, the source for 3.2.5 has been released. It's long past time to update.

Reproducible: Always

Steps to Reproduce:
None really, this is an update request.
Actual Results:  
sys-devel/binutils-apple should be the current version.

Expected Results:  
sys-devel/binutils-apple is outdated.

Portage (prefix/darwin/macos/10.6/x86, gcc-4.2.1, unavailable, 10.7.0 i386)
System uname: Darwin-10.7.0-i386-32bit
Timestamp of tree: Wed, 11 May 2011 01:39:21 +0000
distcc 3.1-toolwhip.1 i386-apple-darwin10.0 [disabled]
app-shells/bash:     4.2_p8
dev-lang/python:     2.7.1-r1
dev-util/cmake:      2.8.3-r1
sys-devel/autoconf:  2.68
sys-devel/automake:  1.11.1
sys-devel/gcc-config: 1.4.1-r00.2
sys-devel/libtool:   2.4-r1
sys-devel/make:      3.82
Repositories: gentoo_prefix
Installed sets: 
CFLAGS="-O2 -pipe -march=core2"
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/portage /etc/revdep-rebuild /etc/terminfo"
CXXFLAGS="-O2 -pipe -march=core2"
FEATURES="assume-digests binpkg-logs collision-protect distlocks fixlafiles fixpackages news nostrip parallel-fetch preserve-libs protect-owned sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
USE="aqua bash-completion berkdb bzip2 coreaudio cracklib crypt curl cxx dbus exceptions expat extensions gdbm gmp gnutls gpg gzip iconv icu ipv6 jbig jpeg libssh2 lzma lzo mmx mmxext mng modules mysql ncurses nls objc objc++ pch perl png prefix python qt3support readline ruby sasl sql sqlite3 sse sse2 ssl subversion tcl threads tiff tk truetype unicode vim-syntax x86-macos xml zlib" APACHE2_MODULES="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" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="Darwin" 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 ubx" INPUT_DEVICES="keyboard mouse" KERNEL="Darwin" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" PHP_TARGETS="php5-3" RUBY_TARGETS="ruby18" 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" 
Comment 1 Fabian Groffen gentoo-dev 2011-05-11 07:00:48 UTC
with the only problem that 4.0 is a total rewrite from scratch which needs 4 or 5 missing libraries to compile

If you're interested, I've got a skeleton/partly working ebuild here.
Comment 2 Fabian Groffen gentoo-dev 2011-05-11 20:08:14 UTC
3.2.6 is in the tree now, which is what was shipped when apple also released the latest compiler we have in the tree.  That should solve this bug.

I also added the 4.0 ebuild in case you want to play around to try and get it to build.
Comment 3 Charles Davis 2011-05-11 22:26:25 UTC
Thanks. Unfortunately, this doesn't solve the problem that prompted me to file this bug in the first place. I'll file a new bug for that issue.

And yes, I have been playing with the 4.0 ebuild.
Comment 4 dacook 2011-08-10 13:09:55 UTC
FWIW (I know this is closed), but I burned most of a day trying to get binutils-4.0 building.  Needs dyld-132.13 and libunwind-30 added to the list of needed libraries, but I finally just gave up when dyld-132.13 needed a nonexistent coreSymbolicationDyldSupport.hpp.  Couldn't find it anywhere - XCode 4.1 on 10.7, CHOST=x86_64-apple-darwin11.

Was really hoping for a linker that would understand AVX.  What are the chances of making a binutils-config profile that just uses the system's available tools?
Comment 5 Fabian Groffen gentoo-dev 2011-08-10 13:12:28 UTC
native-cctools is the thing you're looking for.

Would you mind sharing your work sofar?  You seem to have come a bit further than I did at the time.
Comment 6 Fabian Groffen gentoo-dev 2011-09-03 19:57:27 UTC
life's much nicer on a i7 (compared to a single G5/2GHz)

I've got 4.1 to compile here with some patience and lots of recompiles.
Comment 7 Fabian Groffen gentoo-dev 2011-09-03 20:28:08 UTC
Ok, I'll commit this binutils-apple, but no keywords yet, as I don't trust this thing to be able to do anything useful at the moment.  At least it seems to be able to successfully link and assemble the 3.2.6 version.  It's slotted with the 3.x series, so you can install it without necessarily nuking your system immediately.

% ld -v
@(#)PROGRAM:ld  PROJECT:ld64-123.2.1 (Gentoo binutils-apple-4.1)
Library search paths:
Framework search paths:
ld: warning: -arch not specified
ld: no object files specified for inferred architecture x86_64
Comment 8 Charles Davis 2011-09-04 02:26:46 UTC

The 4.1 tools seem to work just fine. I was able to build gcc-apple with them, as well as several other ebuilds.
Comment 9 Fabian Groffen gentoo-dev 2011-09-04 07:45:16 UTC
Thanks for the feedback.  It looks ok here too.