orbea / cross / slibtool

Forked from cross/slibtool 4 years ago
Clone

916050 driver: support -export-dynamic (currently as a no-op).

Authored and Committed by midipix 7 years ago
    driver: support -export-dynamic (currently as a no-op).
    
        
file modified
+1 -0
include/slibtool/slibtool.h CHANGED
@@ -67,6 +67,7 @@ extern "C" {
67
67
68
68
#define SLBT_DRIVER_IMPLIB_IDATA SLBT_DRIVER_XFLAG(0x0001)
69
69
#define SLBT_DRIVER_IMPLIB_DSOMETA SLBT_DRIVER_XFLAG(0x0002)
70
+ #define SLBT_DRIVER_EXPORT_DYNAMIC SLBT_DRIVER_XFLAG(0x0010)
70
71
71
72
/* error flags */
72
73
#define SLBT_ERROR_TOP_LEVEL 0x0001
file modified
+7 -0
src/driver/slbt_driver_ctx.c CHANGED
@@ -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;
src/internal/slibtool_driver_impl.h CHANGED
@@ -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,
file modified
+5 -0
src/skin/slbt_skin_default.c CHANGED
@@ -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>",