summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/util/mdso_create_implib_sources.c18
1 files changed, 10 insertions, 8 deletions
diff --git a/src/util/mdso_create_implib_sources.c b/src/util/mdso_create_implib_sources.c
index d92e983..bd9b401 100644
--- a/src/util/mdso_create_implib_sources.c
+++ b/src/util/mdso_create_implib_sources.c
@@ -53,18 +53,20 @@ mdso_api int mdso_create_implib_sources(const struct mdso_driver_ctx * dctx)
if (ret < 0)
return MDSO_NESTED_ERROR(dctx);
- mdso_init_asmname(asmname,".%s_symfn.s",*sym);
+ if (uctx->stype[sym-uctx->syms] == MDSO_SYMBOL_TYPE_CODE) {
+ mdso_init_asmname(asmname,".%s_symfn.s",*sym);
- if (!(fout = mdso_create_asm_source(dctx,asmname)))
- return MDSO_NESTED_ERROR(dctx);
+ if (!(fout = mdso_create_asm_source(dctx,asmname)))
+ return MDSO_NESTED_ERROR(dctx);
- ret = mdso_asmgen_symfn(dctx,*sym,fout);
+ ret = mdso_asmgen_symfn(dctx,*sym,fout);
- if (fout != stdout)
- fclose(fout);
+ if (fout != stdout)
+ fclose(fout);
- if (ret < 0)
- return MDSO_NESTED_ERROR(dctx);
+ if (ret < 0)
+ return MDSO_NESTED_ERROR(dctx);
+ }
}
mdso_free_unit_ctx(uctx);