Am 07.07.2015 um 23:01 schrieb pins...@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. 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 ;)