Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 15 Jan 2016 16:01:11 -0800
From:      Mark Millard <markmi@dsl-only.net>
To:        Roman Divacky <rdivacky@vlakno.cz>
Cc:        FreeBSD PowerPC ML <freebsd-ppc@freebsd.org>, FreeBSD Toolchain <freebsd-toolchain@freebsd.org>
Subject:   Re: clang 3.8.0 amd64 targeting powerpc64 accepts -mlong-calls (instead of -mlongcall)
Message-ID:  <DE860E58-D401-4E03-8F97-876784649431@dsl-only.net>
In-Reply-To: <2B8C0A2B-5979-449A-A09A-A078FF466BE2@dsl-only.net>
References:  <D19442CE-F5D4-4C3A-922B-82611A448624@dsl-only.net> <20160115170831.GA34394@vlakno.cz> <2B8C0A2B-5979-449A-A09A-A078FF466BE2@dsl-only.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On 2016-Jan-15, at 10:11 AM, Mark Millard <markmi at dsl-only.net> =
wrote:

> On 2016-Jan-15, at 9:08 AM, Roman Divacky <rdivacky at vlakno.cz> =
wrote:
>>=20
>> On Thu, Jan 14, 2016 at 01:54:06AM -0800, Mark Millard wrote:
>>> Context: projects/clang380-import based amd64 FreeBSD used to try =
building for powerpc64
>>>=20
>>> In csu/powerpc64/Makefile I replaced:
>>>=20
>>>> CFLAGS+=3D        -I${.CURDIR}/../common \
>>>>               -I${.CURDIR}/../../libc/include \
>>>>               -mlongcall
>>> . . .
>>>> CC:=3D            gcc
>>>> COMPILER_TYPE:=3D gcc
>>>=20
>>> with
>>>=20
>>>> CFLAGS+=3D        -I${.CURDIR}/../common \
>>>>               -I${.CURDIR}/../../libc/include \
>>>>               -mlong-calls
>>> . . .
>>>> #CC:=3D            gcc
>>>> #COMPILER_TYPE:=3D gcc
>>>=20
>>> and clang 3.8.0 targeting powerpc64 sailed through and past it =
without the slightest complaint about it. (It later reported that 'soft =
float is not supported for ppc64' from the -msoft-float that is always =
used for libstand.)
>>=20
>> That option only affects ARM. It doesn't have any effect on PPC64.
>>=20
>> Roman
>=20
> Are you sure? My preliminary evidence:
>=20
> Clang 3.8.0 (and 3.7.1) commonly reports on unused arguments:
>=20
>> # clang -mlong-calls main.c
>> clang: warning: argument unused during compilation: '-mlong-calls'
>=20
> but no such message mentioning long-calls is in the script file =
recorded during the activity. The recorded command lines for the =
relevant crt* files have the -mlong-calls in them.
>=20
> Other messages about unused -isystem and -L arguments were recorded in =
the overall activity.

While taking a break I looked at the llvm/clang source some and what I =
saw for as far as I got suggests that you are/were correct about those =
*crt* file compiles: arm only for -mlong-calls --despite the lack of a =
message about -mlong-calls being unused.

=3D=3D=3D
Mark Millard
markmi at dsl-only.net




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?DE860E58-D401-4E03-8F97-876784649431>