Commit 3c809e0d authored by Michael Lippautz's avatar Michael Lippautz Committed by Commit Bot

cppgc: Add .type directive to inline asm

.type directive is required on arm to enable ARM/Thumb interworking.

Bug: chromium:1071168
Change-Id: I2ff5046719b9c8f611e81970bfa61c68ed850362
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2153207Reviewed-by: 's avatarAnton Bikineev <bikineev@chromium.org>
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67188}
parent afc72ec4
...@@ -18,6 +18,7 @@ ...@@ -18,6 +18,7 @@
// https://en.wikipedia.org/wiki/Calling_convention#ARM_(A32) // https://en.wikipedia.org/wiki/Calling_convention#ARM_(A32)
// http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.faqs/ka4127.html // http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.faqs/ka4127.html
asm(".globl PushAllRegistersAndIterateStack \n" asm(".globl PushAllRegistersAndIterateStack \n"
".type PushAllRegistersAndIterateStack, %function \n"
".hidden PushAllRegistersAndIterateStack \n" ".hidden PushAllRegistersAndIterateStack \n"
"PushAllRegistersAndIterateStack: \n" "PushAllRegistersAndIterateStack: \n"
// Push all callee-saved registers and save return address. // Push all callee-saved registers and save return address.
......
...@@ -16,9 +16,9 @@ ...@@ -16,9 +16,9 @@
// Calling convention source: // Calling convention source:
// https://en.wikipedia.org/wiki/Calling_convention#ARM_(A64) // https://en.wikipedia.org/wiki/Calling_convention#ARM_(A64)
asm( asm(".globl PushAllRegistersAndIterateStack \n"
".globl PushAllRegistersAndIterateStack \n"
#ifndef _WIN64 #ifndef _WIN64
".type PushAllRegistersAndIterateStack, %function \n"
".hidden PushAllRegistersAndIterateStack \n" ".hidden PushAllRegistersAndIterateStack \n"
#endif #endif
"PushAllRegistersAndIterateStack: \n" "PushAllRegistersAndIterateStack: \n"
......
...@@ -23,6 +23,7 @@ asm( ...@@ -23,6 +23,7 @@ asm(
"_PushAllRegistersAndIterateStack: \n" "_PushAllRegistersAndIterateStack: \n"
#else // !_WIN32 #else // !_WIN32
".globl PushAllRegistersAndIterateStack \n" ".globl PushAllRegistersAndIterateStack \n"
".type PushAllRegistersAndIterateStack, %function \n"
".hidden PushAllRegistersAndIterateStack \n" ".hidden PushAllRegistersAndIterateStack \n"
"PushAllRegistersAndIterateStack: \n" "PushAllRegistersAndIterateStack: \n"
#endif // !_WIN32 #endif // !_WIN32
......
...@@ -12,6 +12,7 @@ ...@@ -12,6 +12,7 @@
// GN toolchain (e.g. ChromeOS) and not provide them. // GN toolchain (e.g. ChromeOS) and not provide them.
asm(".set noreorder \n" asm(".set noreorder \n"
".global PushAllRegistersAndIterateStack \n" ".global PushAllRegistersAndIterateStack \n"
".type PushAllRegistersAndIterateStack, %function \n"
".hidden PushAllRegistersAndIterateStack \n" ".hidden PushAllRegistersAndIterateStack \n"
"PushAllRegistersAndIterateStack: \n" "PushAllRegistersAndIterateStack: \n"
// Push all callee-saved registers and save return address. // Push all callee-saved registers and save return address.
......
...@@ -12,6 +12,7 @@ ...@@ -12,6 +12,7 @@
// GN toolchain (e.g. ChromeOS) and not provide them. // GN toolchain (e.g. ChromeOS) and not provide them.
asm(".set noreorder \n" asm(".set noreorder \n"
".global PushAllRegistersAndIterateStack \n" ".global PushAllRegistersAndIterateStack \n"
".type PushAllRegistersAndIterateStack, %function \n"
".hidden PushAllRegistersAndIterateStack \n" ".hidden PushAllRegistersAndIterateStack \n"
"PushAllRegistersAndIterateStack: \n" "PushAllRegistersAndIterateStack: \n"
// Push all callee-saved registers and save return address. // Push all callee-saved registers and save return address.
......
...@@ -22,6 +22,7 @@ asm( ...@@ -22,6 +22,7 @@ asm(
".PushAllRegistersAndIterateStack: \n" ".PushAllRegistersAndIterateStack: \n"
#else #else
".globl PushAllRegistersAndIterateStack \n" ".globl PushAllRegistersAndIterateStack \n"
".type PushAllRegistersAndIterateStack, %function \n"
".hidden PushAllRegistersAndIterateStack \n" ".hidden PushAllRegistersAndIterateStack \n"
"PushAllRegistersAndIterateStack: \n" "PushAllRegistersAndIterateStack: \n"
#endif #endif
......
...@@ -14,6 +14,7 @@ ...@@ -14,6 +14,7 @@
// S390 ABI source: // S390 ABI source:
// http://refspecs.linuxbase.org/ELF/zSeries/lzsabi0_zSeries.html // http://refspecs.linuxbase.org/ELF/zSeries/lzsabi0_zSeries.html
asm(".globl PushAllRegistersAndIterateStack \n" asm(".globl PushAllRegistersAndIterateStack \n"
".type PushAllRegistersAndIterateStack, %function \n"
".hidden PushAllRegistersAndIterateStack \n" ".hidden PushAllRegistersAndIterateStack \n"
"PushAllRegistersAndIterateStack: \n" "PushAllRegistersAndIterateStack: \n"
// Push all callee-saved registers. // Push all callee-saved registers.
......
...@@ -63,6 +63,7 @@ asm( ...@@ -63,6 +63,7 @@ asm(
"_PushAllRegistersAndIterateStack: \n" "_PushAllRegistersAndIterateStack: \n"
#else // !__APPLE__ #else // !__APPLE__
".globl PushAllRegistersAndIterateStack \n" ".globl PushAllRegistersAndIterateStack \n"
".type PushAllRegistersAndIterateStack, %function \n"
".hidden PushAllRegistersAndIterateStack \n" ".hidden PushAllRegistersAndIterateStack \n"
"PushAllRegistersAndIterateStack: \n" "PushAllRegistersAndIterateStack: \n"
#endif // !__APPLE__ #endif // !__APPLE__
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment