VirtualBox

Changeset 86258 in vbox


Ignore:
Timestamp:
Sep 24, 2020 10:06:36 AM (4 years ago)
Author:
vboxsync
Message:

xpcom/xptcall: Implemented XPTC_InvokeByIndex in assembly (YASM) as the original mozilla code is making too many assumptions about how the compiler will compile the code. This already broke with gcc 8.2 and asan (bugref:8019) and now Clang breaks it (bugref:9790) when stack is needed for passing parameters. Code has received minimal testing, the floating point stuff isn't tested as we don't use that (I hope). [file header] bugref:9790

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/libs/xpcom18a4/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_amd64_vbox.asm

    r86257 r86258  
     1; $Id$
     2;; @file
     3; XPCOM - Implementation XPTC_InvokeByIndex in assembly.
     4;
     5; This solves the problem of Clang and gcc (sometimes) not playing along with
     6; the alloca() based trick to pass stack parameters.  We first had trouble
     7; when enabling asan with gcc 8.2, then Clang 11 on mac had similar issues
     8; (at least for profile builds).
     9;
     10
     11;
     12; Copyright (C) 2020 Oracle Corporation
     13;
     14; This file is part of VirtualBox Open Source Edition (OSE), as
     15; available from http://www.virtualbox.org. This file is free software;
     16; you can redistribute it and/or modify it under the terms of the GNU
     17; General Public License (GPL) as published by the Free Software
     18; Foundation, in version 2 as it comes in the "COPYING" file of the
     19; VirtualBox OSE distribution. VirtualBox OSE is distributed in the
     20; hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
     21;
    122
    223
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette