916050
driver: support -export-dynamic (currently as a no-op).
@@ -67,6 +67,7 @@ extern "C" {
|
|
67
67
|
|
68
68
|
|
69
69
|
|
70
|
+
|
70
71
|
|
71
72
|
/* error flags */
|
72
73
|
|
@@ -323,6 +323,9 @@ static int slbt_split_argv(
|
|
323
323
|
*targv++ = argv[i++];
|
324
324
|
*targv++ = argv[i];
|
325
325
|
|
326
|
+
} else if (!(strcmp("export-dynamic",&argv[i][1]))) {
|
327
|
+
*targv++ = argv[i];
|
328
|
+
|
326
329
|
} else if (!(strcmp("export-symbols",&argv[i][1]))) {
|
327
330
|
*targv++ = argv[i++];
|
328
331
|
*targv++ = argv[i];
|
@@ -1075,6 +1078,10 @@ int slbt_get_driver_ctx(
|
|
1075
1078
|
case TAG_DLOPEN:
|
1076
1079
|
break;
|
1077
1080
|
|
1081
|
+
case TAG_EXPORT_DYNAMIC:
|
1082
|
+
cctx.drvflags |= SLBT_DRIVER_EXPORT_DYNAMIC;
|
1083
|
+
break;
|
1084
|
+
|
1078
1085
|
case TAG_EXPSYM_FILE:
|
1079
1086
|
cctx.symfile = entry->arg;
|
1080
1087
|
break;
|
@@ -45,6 +45,7 @@ enum app_tags {
|
|
45
45
|
TAG_RELEASE,
|
46
46
|
TAG_DLOPEN,
|
47
47
|
TAG_DLPREOPEN,
|
48
|
+
TAG_EXPORT_DYNAMIC,
|
48
49
|
TAG_EXPSYM_FILE,
|
49
50
|
TAG_EXPSYM_REGEX,
|
50
51
|
TAG_VERSION_INFO,
|
@@ -161,6 +161,11 @@ const struct argv_option slbt_default_options[] = {
|
|
161
161
|
"Link the specified %s into the generated library "
|
162
162
|
"or executable"},
|
163
163
|
|
164
|
+
{"export-dynamic", 0,TAG_EXPORT_DYNAMIC,ARGV_OPTARG_NONE,
|
165
|
+
ARGV_OPTION_HYBRID_ONLY,0,0,
|
166
|
+
"allow symbols in the output file to be resolved via dlsym() "
|
167
|
+
"[currently a no-op]"},
|
168
|
+
|
164
169
|
{"export-symbols", 0,TAG_EXPSYM_FILE,ARGV_OPTARG_REQUIRED,
|
165
170
|
ARGV_OPTION_HYBRID_ONLY|ARGV_OPTION_HYBRID_SPACE,
|
166
171
|
0,"<symfile>",
|