summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormidipix <writeonce@midipix.org>2017-08-11 18:41:07 (GMT)
committermidipix <writeonce@midipix.org>2017-08-11 19:00:34 (GMT)
commitbb584347a621e4c57a204c872bc8ab138b5f1ea8 (patch)
tree85c3b4d2e596fec244e54edcf6c427f4fe7ed5f7
parent53b931989b7bb64957ff0440979ba40ca326c681 (diff)
downloadslibtool-bb584347a6.tar.bz2
slibtool-bb584347a6.tar.xz
driver: added initial -dlpreopen support.
-rw-r--r--src/driver/slbt_driver_ctx.c3
-rw-r--r--src/internal/slibtool_driver_impl.h1
-rw-r--r--src/skin/slbt_skin_default.c6
3 files changed, 10 insertions, 0 deletions
diff --git a/src/driver/slbt_driver_ctx.c b/src/driver/slbt_driver_ctx.c
index 9b984e0..8100e0a 100644
--- a/src/driver/slbt_driver_ctx.c
+++ b/src/driver/slbt_driver_ctx.c
@@ -339,6 +339,9 @@ static int slbt_split_argv(
*targv++ = argv[i++];
*targv++ = argv[i];
+ } else if (!(strcmp("dlpreopen",&argv[i][1]))) {
+ (void)0;
+
} else {
for (popt=optout; popt[0] && popt[0]->long_name; popt++)
if (!(strcmp(popt[0]->long_name,&argv[i][1])))
diff --git a/src/internal/slibtool_driver_impl.h b/src/internal/slibtool_driver_impl.h
index 14f981a..b630126 100644
--- a/src/internal/slibtool_driver_impl.h
+++ b/src/internal/slibtool_driver_impl.h
@@ -42,6 +42,7 @@ enum app_tags {
TAG_RPATH,
TAG_RELEASE,
TAG_DLOPEN,
+ TAG_DLPREOPEN,
TAG_EXPSYM_FILE,
TAG_EXPSYM_REGEX,
TAG_VERSION_INFO,
diff --git a/src/skin/slbt_skin_default.c b/src/skin/slbt_skin_default.c
index 0c5e312..40eb189 100644
--- a/src/skin/slbt_skin_default.c
+++ b/src/skin/slbt_skin_default.c
@@ -144,6 +144,12 @@ const struct argv_option slbt_default_options[] = {
"add the directory containing %s to the library path "
"[currently a no-op]"},
+ {"dlpreopen", 0,TAG_DLPREOPEN,ARGV_OPTARG_REQUIRED,
+ ARGV_OPTION_HYBRID_ONLY|ARGV_OPTION_HYBRID_SPACE,
+ 0,"<FILE>",
+ "Link the specified %s into the generated library "
+ "or executable"},
+
{"export-symbols", 0,TAG_EXPSYM_FILE,ARGV_OPTARG_REQUIRED,
ARGV_OPTION_HYBRID_ONLY|ARGV_OPTION_HYBRID_SPACE,
0,"<symfile>",