aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tests/tcctest.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/tests/tcctest.c b/tests/tcctest.c
index d6fb7e2..000523e 100644
--- a/tests/tcctest.c
+++ b/tests/tcctest.c
@@ -3358,7 +3358,13 @@ void test_asm_call(void)
would have a global symbol entry, not triggering the bug which is
tested here). */
/* two pushes so stack remains aligned */
- asm volatile ("push %%rdi; push %%rdi; mov %0, %%rdi; call getenv; pop %%rdi; pop %%rdi"
+ asm volatile ("push %%rdi; push %%rdi; mov %0, %%rdi;"
+#if 1 && !defined(__TINYC__) && (defined(__PIC__) || defined(__PIE__))
+ "call getenv@plt;"
+#else
+ "call getenv;"
+#endif
+ "pop %%rdi; pop %%rdi"
: "=a" (s) : "r" (str));
printf("asmd: %s\n", s);
#endif