summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authormidipix <writeonce@midipix.org>2017-02-13 01:03:36 -0500
committermidipix <writeonce@midipix.org>2017-02-13 01:52:17 -0500
commit080fdc41e30e41e46897375f19572cfdff796153 (patch)
tree4e38307ca2caa3077ec955b0472f309f6871100d /src
parent63cd760776dd9cfc14525acfe7f1af02e9aa2fb8 (diff)
downloadmdso-080fdc41e30e41e46897375f19572cfdff796153.tar.bz2
mdso-080fdc41e30e41e46897375f19572cfdff796153.tar.xz
mdso_create_implib_sources(): do not generate foo_symfn.s for data symbols.
Diffstat (limited to 'src')
-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);