summaryrefslogtreecommitdiff
path: root/src/host
diff options
context:
space:
mode:
authorMike Pall <mike>2013-06-03 17:30:35 +0200
committerMike Pall <mike>2013-06-03 17:30:35 +0200
commit338e9863c220462201fde0e725aba4002310c849 (patch)
tree44541896aeb35881e66d3a913fda2b0fe4fca922 /src/host
parent3eeb7d3aa02259e93db6e4816909e80acb57f8f8 (diff)
downloadluajit-338e9863c220462201fde0e725aba4002310c849.tar.gz
luajit-338e9863c220462201fde0e725aba4002310c849.tar.bz2
luajit-338e9863c220462201fde0e725aba4002310c849.zip
PPC: Add plt suffix for external calls from assembler code.
Diffstat (limited to 'src/host')
-rw-r--r--src/host/buildvm.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/host/buildvm.c b/src/host/buildvm.c
index ba8fbcba..2ce3b638 100644
--- a/src/host/buildvm.c
+++ b/src/host/buildvm.c
@@ -108,10 +108,16 @@ static const char *sym_decorate(BuildCtx *ctx,
108 sprintf(name, "%s%s%s", symprefix, prefix, suffix); 108 sprintf(name, "%s%s%s", symprefix, prefix, suffix);
109 p = strchr(name, '@'); 109 p = strchr(name, '@');
110 if (p) { 110 if (p) {
111#if LJ_TARGET_X86ORX64
111 if (!LJ_64 && (ctx->mode == BUILD_coffasm || ctx->mode == BUILD_peobj)) 112 if (!LJ_64 && (ctx->mode == BUILD_coffasm || ctx->mode == BUILD_peobj))
112 name[0] = '@'; 113 name[0] = '@';
113 else 114 else
114 *p = '\0'; 115 *p = '\0';
116#elif (LJ_TARGET_PPC || LJ_TARGET_PPCSPE) && !LJ_TARGET_CONSOLE
117 /* Keep @plt. */
118#else
119 *p = '\0';
120#endif
115 } 121 }
116 p = (char *)malloc(strlen(name)+1); /* MSVC doesn't like strdup. */ 122 p = (char *)malloc(strlen(name)+1); /* MSVC doesn't like strdup. */
117 strcpy(p, name); 123 strcpy(p, name);