WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
[patch]
Patch
bug-236506-20220211172747.patch (text/plain), 4.61 KB, created by
Adrian Perez
on 2022-02-11 07:27:49 PST
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Adrian Perez
Created:
2022-02-11 07:27:49 PST
Size:
4.61 KB
patch
obsolete
>Subversion Revision: 289615 >diff --git a/Source/JavaScriptCore/ChangeLog b/Source/JavaScriptCore/ChangeLog >index c5958cd81ada3dde830e6e3f93a0c129d74abcab..0f029940dc5e286705f5558a00b36e80a046ab82 100644 >--- a/Source/JavaScriptCore/ChangeLog >+++ b/Source/JavaScriptCore/ChangeLog >@@ -1,3 +1,14 @@ >+2022-02-11 Adrian Perez de Castro <aperez@igalia.com> >+ >+ [CMake] REGRESSION(r289611): Debug builds fail linking binaries with ld.lld >+ https://bugs.webkit.org/show_bug.cgi?id=236506 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ * jit/ThunkGenerators.cpp: Use .pushsection and .popsection in inline assembler for thunks >+ in order to ensure that mixed emission of assembler code and variable definitions correctly >+ puts each of them in their rightful sections in the output object code. >+ > 2022-02-10 Keith Miller <keith_miller@apple.com> > > tryReserveUncommittedAligned should explicitly take the alignment requested >diff --git a/Source/JavaScriptCore/jit/ThunkGenerators.cpp b/Source/JavaScriptCore/jit/ThunkGenerators.cpp >index f3b225d001b389e3e4020f169b7d87d807c8f982..4367affc5887c31fc379f8aa40b323dfbff1db0f 100644 >--- a/Source/JavaScriptCore/jit/ThunkGenerators.cpp >+++ b/Source/JavaScriptCore/jit/ThunkGenerators.cpp >@@ -894,7 +894,7 @@ typedef MathThunkCallingConvention(*MathThunk)(MathThunkCallingConvention); > > #define defineUnaryDoubleOpWrapper(function) \ > asm( \ >- ".text\n" \ >+ ".pushsection .text\n" \ > ".globl " SYMBOL_STRING(function##Thunk) "\n" \ > HIDE_SYMBOL(function##Thunk) "\n" \ > SYMBOL_STRING(function##Thunk) ":" "\n" \ >@@ -902,6 +902,7 @@ typedef MathThunkCallingConvention(*MathThunk)(MathThunkCallingConvention); > "call " GLOBAL_REFERENCE(function) "\n" \ > "popq %rcx\n" \ > "ret\n" \ >+ ".popsection\n" \ > );\ > extern "C" { \ > MathThunkCallingConvention function##Thunk(MathThunkCallingConvention); \ >@@ -912,7 +913,7 @@ typedef MathThunkCallingConvention(*MathThunk)(MathThunkCallingConvention); > #elif CPU(X86) && COMPILER(GCC_COMPATIBLE) && OS(LINUX) && defined(__PIC__) > #define defineUnaryDoubleOpWrapper(function) \ > asm( \ >- ".text\n" \ >+ ".pushsection .text\n" \ > ".globl " SYMBOL_STRING(function##Thunk) "\n" \ > HIDE_SYMBOL(function##Thunk) "\n" \ > SYMBOL_STRING(function##Thunk) ":" "\n" \ >@@ -927,6 +928,7 @@ typedef MathThunkCallingConvention(*MathThunk)(MathThunkCallingConvention); > "addl $20, %esp\n" \ > "popl %ebx\n" \ > "ret\n" \ >+ ".popsection\n" \ > );\ > extern "C" { \ > MathThunkCallingConvention function##Thunk(MathThunkCallingConvention); \ >@@ -937,7 +939,7 @@ typedef MathThunkCallingConvention(*MathThunk)(MathThunkCallingConvention); > #elif CPU(X86) && COMPILER(GCC_COMPATIBLE) && (OS(DARWIN) || OS(LINUX)) > #define defineUnaryDoubleOpWrapper(function) \ > asm( \ >- ".text\n" \ >+ ".pushsection .text\n" \ > ".globl " SYMBOL_STRING(function##Thunk) "\n" \ > HIDE_SYMBOL(function##Thunk) "\n" \ > SYMBOL_STRING(function##Thunk) ":" "\n" \ >@@ -948,6 +950,7 @@ typedef MathThunkCallingConvention(*MathThunk)(MathThunkCallingConvention); > "movsd (%esp), %xmm0 \n" \ > "addl $20, %esp\n" \ > "ret\n" \ >+ ".popsection\n" \ > );\ > extern "C" { \ > MathThunkCallingConvention function##Thunk(MathThunkCallingConvention); \ >@@ -959,7 +962,7 @@ typedef MathThunkCallingConvention(*MathThunk)(MathThunkCallingConvention); > > #define defineUnaryDoubleOpWrapper(function) \ > asm( \ >- ".text\n" \ >+ ".pushsection .text\n" \ > ".align 2\n" \ > ".globl " SYMBOL_STRING(function##Thunk) "\n" \ > HIDE_SYMBOL(function##Thunk) "\n" \ >@@ -972,6 +975,7 @@ typedef MathThunkCallingConvention(*MathThunk)(MathThunkCallingConvention); > "vmov d0, r0, r1\n" \ > "pop {lr}\n" \ > "bx lr\n" \ >+ ".popsection\n" \ > ); \ > extern "C" { \ > MathThunkCallingConvention function##Thunk(MathThunkCallingConvention); \ >@@ -983,13 +987,13 @@ typedef MathThunkCallingConvention(*MathThunk)(MathThunkCallingConvention); > > #define defineUnaryDoubleOpWrapper(function) \ > asm( \ >- ".text\n" \ >+ ".pushsection .text\n" \ > ".align 2\n" \ > ".globl " SYMBOL_STRING(function##Thunk) "\n" \ > HIDE_SYMBOL(function##Thunk) "\n" \ > SYMBOL_STRING(function##Thunk) ":" "\n" \ > "b " GLOBAL_REFERENCE(function) "\n" \ >- ".previous" \ >+ ".popsection\n" \ > ); \ > extern "C" { \ > MathThunkCallingConvention function##Thunk(MathThunkCallingConvention); \
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Flags:
ews-feeder
:
commit-queue-
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 236506
:
451691
|
451693
|
451697