X18 on AArch64
pinskia@gmail.com
pinskia@gmail.com
Wed Jul 8 18:59:00 GMT 2015
> On Jul 8, 2015, at 11:39 AM, André Hentschel <nerv@dawncrow.de> wrote:
>
>> Am 07.07.2015 um 23:01 schrieb pinskia@gmail.com:
>> What does the elf abi say about x18, I thought it was just another temp. If the target does not use it as a platform reg. Note there are many assembly files which might use x18 also due to that.
>>
>> So this means you need wrapper functions when moving between the different abis. Nothing much can be done in gcc really. Please push this back to wine instead.
>>
>> Also I think windows had a bad choice of using x18 when there was a system register already for tls.
>>
>> Thanks,
>> Andrew
>
> Hi,
> I guess i haven't explained the problem too good.
> The problem already starts with Wines environment which includes things we can't do something about like the loader/dynamic linker...
> Using wrapper functions in Wine is not feasible, that'd be a massive infrastructure change to huge and old codebase, would need a lot of work
> and in the end won't get upstream.
So what. Changing gcc and distros for one specific thing would be a step backwards. Changing wine to better support huge differences in abi would be better.
> What's needed is, is that distributions don't use x18 by default, so we need a good patch for that, hence i ask for a usable chain register (X8-X15?)
I think this is a bad idea because it would mean old code will no longer work.
> Truly it would be better to upstream that to gcc, but I don't have much hope left.
> For the ELF ABI thing, i didn't found specific calling conventions or register usage description in it...
It is part of the aacps calling convention that arm provides.
Thanks,
Andrew
> For the windows thing, good choices are not part of their development process ;)
>
More information about the Gcc
mailing list