[Bug 38780] AArch64 platforms: register X18 must remain reserved for Wine to run 64-bit ARM Windows applications (Distro aarch64 toolchains need '-ffixed-x18' default, loader/libc/userland)
wine-bugs at winehq.org
wine-bugs at winehq.org
Wed Jul 1 18:17:35 CDT 2015
https://bugs.winehq.org/show_bug.cgi?id=38780
--- Comment #5 from Anastasius Focht <focht at gmx.net> ---
Hello André,
--- quote ---
It seems to me that the key is to configure gcc with:
--with-specs=%{!ffixed-x18:-ffixed-x18}
Can someone confirm? So that we can guide people how to do it...
--- quote ---
that would be one way.
Ultimately it's the distro gcc package maintainer to decide how to implement it
- not the end users.
For Fedora (the distro I use) the contact would be Jakub Jelinek
https://admin.fedoraproject.org/pkgdb/package/gcc/
Gcc package repository:
http://pkgs.fedoraproject.org/cgit/gcc.git/tree/
The .spec file to add the option for '%ifarch aarch64':
http://pkgs.fedoraproject.org/cgit/gcc.git/tree/gcc.spec
But ... I've had a look at the aarch64 config for gcc and noticed this:
https://github.com/gcc-mirror/gcc/blob/master/gcc/config/aarch64/aarch64.h#L359
--- snip ---
#define STATIC_CHAIN_REGNUM R18_REGNUM
--- snip ---
Whoops. To avoid multiple files changed/patched for this "feature" (gcc arch
config header and the .spec file which is distro/build system specific anyway)
one could put a small patch together which only affects one file:
gcc/config/aarch64/aarch64.h
'ffixed-x18' can also be realized by modifying FIXED_REGISTERS,
CALL_USED_REGISTERS register allocator bitmaps (1 = exclude from general use)
https://github.com/gcc-mirror/gcc/blob/master/gcc/config/aarch64/aarch64.h#L275
Regards
--
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.
More information about the wine-bugs
mailing list