Jordan Rupprecht via binutils
2018-10-09 21:16:16 UTC
For more context, see https://sourceware.org/ml/binutils/2018-09/msg00031.html
---
binutils/objcopy.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/binutils/objcopy.c b/binutils/objcopy.c
index 9af3c1eb1b..33ca452e8b 100644
--- a/binutils/objcopy.c
+++ b/binutils/objcopy.c
@@ -4753,6 +4753,8 @@ copy_main (int argc, char *argv[])
bfd_boolean show_version = FALSE;
bfd_boolean change_warn = TRUE;
bfd_boolean formats_info = FALSE;
+ bfd_boolean use_globalize = FALSE;
+ bfd_boolean use_keep_global = FALSE;
int c;
struct stat statbuf;
const bfd_arch_info_type *input_arch = NULL;
@@ -4871,10 +4873,12 @@ copy_main (int argc, char *argv[])
break;
case OPTION_GLOBALIZE_SYMBOL:
+ use_globalize = TRUE;
add_specific_symbol (optarg, globalize_specific_htab);
break;
case 'G':
+ use_keep_global = TRUE;
add_specific_symbol (optarg, keepglobal_specific_htab);
break;
@@ -5306,11 +5310,13 @@ copy_main (int argc, char *argv[])
break;
case OPTION_GLOBALIZE_SYMBOLS:
+ use_globalize = TRUE;
add_specific_symbols (optarg, globalize_specific_htab,
&globalize_specific_buffer);
break;
case OPTION_KEEPGLOBAL_SYMBOLS:
+ use_keep_global = TRUE;
add_specific_symbols (optarg, keepglobal_specific_htab,
&keepglobal_specific_buffer);
break;
@@ -5444,6 +5450,9 @@ copy_main (int argc, char *argv[])
default:
copy_usage (stderr, 1);
}
+ if (use_globalize && use_keep_global)
+ fatal(_("--globalize-symbol(s) may not be used with -G or "
+ "--keep-global-symbol(s)"));
}
if (formats_info)
---
binutils/objcopy.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/binutils/objcopy.c b/binutils/objcopy.c
index 9af3c1eb1b..33ca452e8b 100644
--- a/binutils/objcopy.c
+++ b/binutils/objcopy.c
@@ -4753,6 +4753,8 @@ copy_main (int argc, char *argv[])
bfd_boolean show_version = FALSE;
bfd_boolean change_warn = TRUE;
bfd_boolean formats_info = FALSE;
+ bfd_boolean use_globalize = FALSE;
+ bfd_boolean use_keep_global = FALSE;
int c;
struct stat statbuf;
const bfd_arch_info_type *input_arch = NULL;
@@ -4871,10 +4873,12 @@ copy_main (int argc, char *argv[])
break;
case OPTION_GLOBALIZE_SYMBOL:
+ use_globalize = TRUE;
add_specific_symbol (optarg, globalize_specific_htab);
break;
case 'G':
+ use_keep_global = TRUE;
add_specific_symbol (optarg, keepglobal_specific_htab);
break;
@@ -5306,11 +5310,13 @@ copy_main (int argc, char *argv[])
break;
case OPTION_GLOBALIZE_SYMBOLS:
+ use_globalize = TRUE;
add_specific_symbols (optarg, globalize_specific_htab,
&globalize_specific_buffer);
break;
case OPTION_KEEPGLOBAL_SYMBOLS:
+ use_keep_global = TRUE;
add_specific_symbols (optarg, keepglobal_specific_htab,
&keepglobal_specific_buffer);
break;
@@ -5444,6 +5450,9 @@ copy_main (int argc, char *argv[])
default:
copy_usage (stderr, 1);
}
+ if (use_globalize && use_keep_global)
+ fatal(_("--globalize-symbol(s) may not be used with -G or "
+ "--keep-global-symbol(s)"));
}
if (formats_info)
--
2.19.0.605.g01d371f741-goog
2.19.0.605.g01d371f741-goog