Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F149199643
D7637.1789658622.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
2 KB
Referenced Files
None
Subscribers
None
D7637.1789658622.diff
View Options
Index: contrib/elftoolchain/elfcopy/elfcopy.h
===================================================================
--- contrib/elftoolchain/elfcopy/elfcopy.h
+++ contrib/elftoolchain/elfcopy/elfcopy.h
@@ -47,6 +47,7 @@
#define SYMOP_KEEPG 0x0010U
#define SYMOP_WEAKEN 0x0020U
#define SYMOP_REDEF 0x0040U
+#define SYMOP_HIDE 0x0080U
unsigned int op;
Index: contrib/elftoolchain/elfcopy/main.c
===================================================================
--- contrib/elftoolchain/elfcopy/main.c
+++ contrib/elftoolchain/elfcopy/main.c
@@ -54,6 +54,8 @@
ECP_GAP_FILL,
ECP_GLOBALIZE_SYMBOL,
ECP_GLOBALIZE_SYMBOLS,
+ ECP_HIDE_SYMBOL,
+ ECP_HIDE_SYMBOLS,
ECP_KEEP_SYMBOLS,
ECP_KEEP_GLOBAL_SYMBOLS,
ECP_LOCALIZE_HIDDEN,
@@ -131,6 +133,8 @@
{"globalize-symbol", required_argument, NULL, ECP_GLOBALIZE_SYMBOL},
{"globalize-symbols", required_argument, NULL, ECP_GLOBALIZE_SYMBOLS},
{"help", no_argument, NULL, 'h'},
+ {"hide-symbol", required_argument, NULL, ECP_HIDE_SYMBOL},
+ {"hide-symbols", required_argument, NULL, ECP_HIDE_SYMBOLS},
{"input-target", required_argument, NULL, 'I'},
{"keep-symbol", required_argument, NULL, 'K'},
{"keep-symbols", required_argument, NULL, ECP_KEEP_SYMBOLS},
@@ -909,6 +913,12 @@
case ECP_GLOBALIZE_SYMBOLS:
parse_symlist_file(ecp, optarg, SYMOP_GLOBALIZE);
break;
+ case ECP_HIDE_SYMBOL:
+ add_to_symop_list(ecp, optarg, NULL, SYMOP_HIDE);
+ break;
+ case ECP_HIDE_SYMBOLS:
+ parse_symlist_file(ecp, optarg, SYMOP_HIDE);
+ break;
case ECP_KEEP_SYMBOLS:
parse_symlist_file(ecp, optarg, SYMOP_KEEP);
break;
Index: contrib/elftoolchain/elfcopy/symbols.c
===================================================================
--- contrib/elftoolchain/elfcopy/symbols.c
+++ contrib/elftoolchain/elfcopy/symbols.c
@@ -552,6 +552,9 @@
GELF_ST_TYPE(sym.st_info));
/* XXX We should globalize weak symbol? */
}
+ if (!is_hidden_symbol(sym.st_other) &&
+ lookup_symop_list(ecp, name, SYMOP_HIDE) != NULL)
+ sym.st_other = STV_HIDDEN;
/* Check if we need to rename this symbol. */
if ((sp = lookup_symop_list(ecp, name, SYMOP_REDEF)) != NULL)
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Thu, Sep 17, 3:23 PM (11 h, 57 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
29735122
Default Alt Text
D7637.1789658622.diff (2 KB)
Attached To
Mode
D7637: elfcopy: add symbol hiding support
Attached
Detach File
Event Timeline
Log In to Comment