This is the mail archive of the
mailing list for the GCC project.
Re: X18 on AArch64
- From: AndrÃ Hentschel <nerv at dawncrow dot de>
- To: pinskia at gmail dot com
- Cc: "gcc at gcc dot gnu dot org" <gcc at gcc dot gnu dot org>
- Date: Wed, 08 Jul 2015 20:39:04 +0200
- Subject: Re: X18 on AArch64
- Authentication-results: sourceware.org; auth=none
- References: <559C36CD dot 5060304 at dawncrow dot de> <9B26B3F4-D11B-41DE-809E-C19DA7A17090 at gmail dot com>
Am 07.07.2015 um 23:01 schrieb firstname.lastname@example.org:
> 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.
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.
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?)
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...
For the windows thing, good choices are not part of their development process ;)