From owner-freebsd-toolchain@freebsd.org Wed Dec 16 21:21:44 2015 Return-Path: Delivered-To: freebsd-toolchain@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D433EA4ABBD; Wed, 16 Dec 2015 21:21:44 +0000 (UTC) (envelope-from andreast-list@fgznet.ch) Received: from smtp.fgznet.ch (unknown [IPv6:2001:4060:1:1001::14:53]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 9B0531382; Wed, 16 Dec 2015 21:21:44 +0000 (UTC) (envelope-from andreast-list@fgznet.ch) Received: from [192.168.225.14] (dhclient-91-190-14-19.flashcable.ch [91.190.14.19]) (using TLSv1 with cipher ECDHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by fgznet.ch (Postfix) with ESMTPS id 0AE14E6068; Wed, 16 Dec 2015 22:21:33 +0100 (CET) Subject: Re: powerpc64 11.0-CURRENT's clang binds -m32 -mcpu=powerpc a.out to /libexec/ld-elf.so.1 To: Konstantin Belousov , Mark Millard References: <894D2513-6DE7-4E31-87A5-0529ECDF336C@dsl-only.net> <20151215123640.GG3625@kib.kiev.ua> Cc: FreeBSD Toolchain , FreeBSD PowerPC ML From: Andreas Tobler Message-ID: <5671D5DD.9090808@fgznet.ch> Date: Wed, 16 Dec 2015 22:21:33 +0100 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:38.0) Gecko/20100101 Thunderbird/38.4.0 MIME-Version: 1.0 In-Reply-To: <20151215123640.GG3625@kib.kiev.ua> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Scanned-By: MIMEDefang 2.73 on 127.0.1.1 X-BeenThere: freebsd-toolchain@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: Maintenance of FreeBSD's integrated toolchain List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 16 Dec 2015 21:21:44 -0000 On 15.12.15 13:36, Konstantin Belousov wrote: > On Mon, Dec 14, 2015 at 11:06:51PM -0800, Mark Millard wrote: >> # more main.c int main() { return 0; } >> >> >> >> # ls -l `which cc` -r-xr-xr-x 7 root wheel 54137976 Dec 14 00:06 >> /usr/bin/cc >> >> # cc --version FreeBSD clang version 3.7.0 (tags/RELEASE_370/final >> 246257) 20150906 Target: powerpc64-unknown-freebsd11.0 Thread >> model: posix >> >> # cc -m32 -mcpu=powerpc main.c # file a.out a.out: ELF 32-bit MSB >> executable, PowerPC or cisco 4500, version 1 (FreeBSD), dynamically >> linked, interpreter /libexec/ld-elf.so.1, FreeBSD-style, for >> FreeBSD 11.0 (1100091), not stripped >> >> >> >> By contrast powerpc64-gcc binds the a.out produced to >> /libexec/ld-elf32.so.1 instead: >> >> # ls -l `which gcc` lrwxr-xr-x 1 root wheel 48 Dec 5 05:38 >> /usr/bin/gcc -> /usr/local/bin/powerpc64-portbld-freebsd11.0-gcc >> >> # gcc --version gcc (FreeBSD Ports Collection for powerpc64) 5.2.0 >> Copyright (C) 2015 Free Software Foundation, Inc. This is free >> software; see the source for copying conditions. There is NO >> warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR >> PURPOSE. >> >> # gcc -m32 -mcpu=powerpc main.c # file a.out a.out: ELF 32-bit MSB >> executable, PowerPC or cisco 4500, version 1 (FreeBSD), dynamically >> linked, interpreter /libexec/ld-elf32.so.1, FreeBSD-style, for >> FreeBSD 11.0 (1100091), not stripped >> > This is a bug in gcc, most likely in the spec file. All FreeBSD ABIs > use either /libexec/ld-elf.so.1 or (for older versions) > /usr/libexec/ld-elf.so.1. This is mine. Taken. Andreas