summaryrefslogtreecommitdiffhomepage
path: root/src/logic/mdso_create_implib_sources.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/logic/mdso_create_implib_sources.c')
-rw-r--r--src/logic/mdso_create_implib_sources.c85
1 files changed, 0 insertions, 85 deletions
diff --git a/src/logic/mdso_create_implib_sources.c b/src/logic/mdso_create_implib_sources.c
deleted file mode 100644
index 1031920..0000000
--- a/src/logic/mdso_create_implib_sources.c
+++ /dev/null
@@ -1,85 +0,0 @@
-/****************************************************************/
-/* mdso: midipix dso scavenger */
-/* Copyright (C) 2015--2017 Z. Gilboa */
-/* Released under GPLv2 and GPLv3; see COPYING.MDSO. */
-/****************************************************************/
-
-#include <stdint.h>
-#include <stdio.h>
-#include <string.h>
-
-#include <mdso/mdso.h>
-#include "mdso_errinfo_impl.h"
-
-static void mdso_init_asmname(char * buf, const char * fmt, const char * str)
-{
- char hexstr[24];
- long long unsigned int crc64;
-
- if (strlen(str) + strlen(fmt) > (PATH_MAX - 1)) {
- crc64 = mdso_crc64_mbstr((const unsigned char *)str,0);
- sprintf(hexstr,"%llx",crc64);
- sprintf(buf,fmt,hexstr);
- } else
- sprintf(buf,fmt,str);
-}
-
-mdso_api int mdso_create_implib_sources(const struct mdso_driver_ctx * dctx)
-{
- struct mdso_unit_ctx * uctx;
- const char ** unit;
- FILE * fout;
- char asmname[PATH_MAX];
- const char * const * sym;
- int ret;
-
- mdso_init_asmname(asmname,".dsometa_%s.s",dctx->cctx->libname);
-
- if (!(fout = mdso_create_asm_source(dctx,asmname)))
- return MDSO_NESTED_ERROR(dctx);
-
- ret = mdso_asmgen_dsometa(dctx,fout);
-
- if (fout != stdout)
- fclose(fout);
-
- if (ret < 0)
- return MDSO_NESTED_ERROR(dctx);
-
- for (unit=dctx->units; *unit; unit++) {
- if (mdso_get_unit_ctx(dctx,*unit,&uctx))
- return MDSO_NESTED_ERROR(dctx);
-
- for (sym=uctx->syms; *sym; sym++) {
- mdso_init_asmname(asmname,".%s_symentry.s",*sym);
-
- if (!(fout = mdso_create_asm_source(dctx,asmname)))
- return MDSO_NESTED_ERROR(dctx);
-
- ret = mdso_asmgen_symentry(dctx,*sym,fout);
-
- if (fout != stdout)
- fclose(fout);
-
- if (ret < 0)
- return MDSO_NESTED_ERROR(dctx);
-
- mdso_init_asmname(asmname,".%s_symfn.s",*sym);
-
- if (!(fout = mdso_create_asm_source(dctx,asmname)))
- return MDSO_NESTED_ERROR(dctx);
-
- ret = mdso_asmgen_symfn(dctx,*sym,fout);
-
- if (fout != stdout)
- fclose(fout);
-
- if (ret < 0)
- return MDSO_NESTED_ERROR(dctx);
- }
-
- mdso_free_unit_ctx(uctx);
- }
-
- return 0;
-}