clang 3.8.0 amd64 targeting powerpc64 accepts -mlong-calls (instead of -mlongcall)

Mark Millard markmi at dsl-only.net
Sat Jan 16 00:01:15 UTC 2016


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:
>> 
>> 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
>>> 
>>> In csu/powerpc64/Makefile I replaced:
>>> 
>>>> CFLAGS+=        -I${.CURDIR}/../common \
>>>>               -I${.CURDIR}/../../libc/include \
>>>>               -mlongcall
>>> . . .
>>>> CC:=            gcc
>>>> COMPILER_TYPE:= gcc
>>> 
>>> with
>>> 
>>>> CFLAGS+=        -I${.CURDIR}/../common \
>>>>               -I${.CURDIR}/../../libc/include \
>>>>               -mlong-calls
>>> . . .
>>>> #CC:=            gcc
>>>> #COMPILER_TYPE:= gcc
>>> 
>>> 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.)
>> 
>> That option only affects ARM. It doesn't have any effect on PPC64.
>> 
>> Roman
> 
> Are you sure? My preliminary evidence:
> 
> Clang 3.8.0 (and 3.7.1) commonly reports on unused arguments:
> 
>> # clang -mlong-calls main.c
>> clang: warning: argument unused during compilation: '-mlong-calls'
> 
> 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.
> 
> 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.

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



More information about the freebsd-toolchain mailing list