diff options
author | midipix <writeonce@midipix.org> | 2017-02-13 01:07:57 -0500 |
---|---|---|
committer | midipix <writeonce@midipix.org> | 2017-02-13 01:52:22 -0500 |
commit | 02e881466ff1700d4abf6d5a42b2f29e981c4be9 (patch) | |
tree | 10738600ce12c5830f0713121e088472172c64e9 /src/util | |
parent | 080fdc41e30e41e46897375f19572cfdff796153 (diff) | |
download | mdso-02e881466ff1700d4abf6d5a42b2f29e981c4be9.tar.bz2 mdso-02e881466ff1700d4abf6d5a42b2f29e981c4be9.tar.xz |
mdso_create_implib_objects(): do not generate foo_symfn.o for data symbols.
Diffstat (limited to 'src/util')
-rw-r--r-- | src/util/mdso_create_implib_objects.c | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/src/util/mdso_create_implib_objects.c b/src/util/mdso_create_implib_objects.c index fb7cfea..5740109 100644 --- a/src/util/mdso_create_implib_objects.c +++ b/src/util/mdso_create_implib_objects.c @@ -50,16 +50,18 @@ mdso_api int mdso_create_implib_objects(const struct mdso_driver_ctx * dctx) if (ret < 0) return MDSO_NESTED_ERROR(dctx); - mdso_init_objname(objname,".%s_symfn.o",*sym); + if (uctx->stype[sym-uctx->syms] == MDSO_SYMBOL_TYPE_CODE) { + mdso_init_objname(objname,".%s_symfn.o",*sym); - if (!(fout = mdso_create_object(dctx,objname))) - return MDSO_NESTED_ERROR(dctx); + if (!(fout = mdso_create_object(dctx,objname))) + return MDSO_NESTED_ERROR(dctx); - ret = mdso_objgen_symfn(dctx,*sym,fout,0); - fclose(fout); + ret = mdso_objgen_symfn(dctx,*sym,fout,0); + fclose(fout); - if (ret < 0) - return MDSO_NESTED_ERROR(dctx); + if (ret < 0) + return MDSO_NESTED_ERROR(dctx); + } } mdso_free_unit_ctx(uctx); |