direct_syscall is ARM state assembler. If libhugetlbfs is compiled for
the Thumb state it does not currently change execution states when it
calls direct_syscall, leading to unpredictable behaviour.

This patch marks direct_syscall as a FUNC, which enables the ARM/Thumb
state interworking; resulting in a BLX to direct_syscall where
necessary.

Signed-off-by: Steve Capper <steve.cap...@linaro.org>
---
 sys-armelf_linux_eabi.S | 1 +
 1 file changed, 1 insertion(+)

diff --git a/sys-armelf_linux_eabi.S b/sys-armelf_linux_eabi.S
index 983d28b..dfa7407 100644
--- a/sys-armelf_linux_eabi.S
+++ b/sys-armelf_linux_eabi.S
@@ -19,6 +19,7 @@
         .text
 
         .globl  direct_syscall
+       .type   direct_syscall,%function
 direct_syscall:
        mov     ip, sp
        stmfd   sp!, {r4, r5, r6, r7}
-- 
1.8.3.2


------------------------------------------------------------------------------
Managing the Performance of Cloud-Based Applications
Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
Read the Whitepaper.
http://pubads.g.doubleclick.net/gampad/clk?id=121054471&iu=/4140/ostg.clktrk
_______________________________________________
Libhugetlbfs-devel mailing list
Libhugetlbfs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libhugetlbfs-devel

Reply via email to