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