This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: X18 on AArch64

> On Jul 8, 2015, at 11:39 AM, Andrà Hentschel <> wrote:
>> Am 07.07.2015 um 23:01 schrieb
>> 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. 


> For the windows thing, good choices are not part of their development process ;)

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]