Thank you Patricia.

Yes knowing some x86_64 assembly would help, but don't go too far, it's
only about 2000 lines of code on other platforms. I don't know much of it
myself yet; just that the 32 bit registers grow to 64 bits and have an
additional name starting with "R" for the 64 bit version (eg. the 32 bit
EAX has a corresponding 64 bit RAX, EIP and RIP, etc.).

The Win64 ABI has similarities to the *nix ABI (
https://en.wikipedia.org/wiki/X86_calling_conventions#x86-64_calling_conventions)
and we already have the *nix ABI implemented, so we might be able to reuse
some of it. We can certainly copy its x86_64 assembly as needed ;).

The code is all in main/bridges. I want to port that module to gbuild
first, so I have a good understanding of its general structure.

A LibreOffice developer blogged about his porting experience at
http://tml-blog.blogspot.com/2011/03/
Apparently exception handling was the hardest part.




On Sun, Dec 2, 2018 at 10:39 PM Patricia Shanahan <p...@acm.org> wrote:

> I have many years of professional assembly language programming
> experience. I have learned several assembly languages, but not one for
> Win64. I also have a good general understanding of stack management and
> call/return from compiler and operating system work.
>
> Would it be useful for me to start learning the appropriate assembly
> language and stack management? If so, I would like pointers to the
> assembler and ABI etc. conventions.
>
> On 12/1/2018 12:22 AM, Damjan Jovanovic wrote:
> > Hi
> >
> > At least 81 modules (44.26%) successfully build on Win64 now, up from 67
> > (36.61%) before.
> >
> > At present the build breaks in main/bridges, which I can hack past, but
> > then modules like cli_ure and i18npool break, probably because they need
> > the missing Win64 UNO bridge.
> >
> > This Win64 <-> UNO bridge has to call arbitrary methods, translate
> > arbitrary exceptions, etc. between UNO and C++. It has to be written
> > predominantly in assembly language, and needs to implement the platform's
> > calling convention, deal with its ABI, RTTI, etc. - quite a challenge.
> >
> > Wish me luck, or join and help?
> >
> > Damjan
> >
>
> ---
> This email has been checked for viruses by AVG.
> https://www.avg.com
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@openoffice.apache.org
> For additional commands, e-mail: dev-h...@openoffice.apache.org
>
>

Reply via email to