summaryrefslogtreecommitdiffhomepage
path: root/src/util/mdso_create_implib_archive.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/util/mdso_create_implib_archive.c')
-rw-r--r--src/util/mdso_create_implib_archive.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/util/mdso_create_implib_archive.c b/src/util/mdso_create_implib_archive.c
index 323b318..63bd9aa 100644
--- a/src/util/mdso_create_implib_archive.c
+++ b/src/util/mdso_create_implib_archive.c
@@ -22,6 +22,11 @@ static void mdso_free_uctx_vector(struct mdso_unit_ctx ** uctxv)
free(uctxv);
}
+static int mdso_symcmp(const void * src, const void * dst)
+{
+ return strcmp(*(const char **)src,*(const char **)dst);
+}
+
int mdso_create_implib_archive(const struct mdso_driver_ctx * dctx)
{
int ret;
@@ -71,6 +76,7 @@ int mdso_create_implib_archive(const struct mdso_driver_ctx * dctx)
for (dsym=puctx[0]->syms; *dsym; dsym++)
*psym++ = *dsym;
+ qsort(symv,nsym,sizeof(*symv),mdso_symcmp);
ret = mdso_argen_common(dctx,symv,fout,0);
fclose(fout);