aboutsummaryrefslogtreecommitdiff
path: root/ld/emultempl
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2008-07-18 20:49:12 +0000
committerJoseph Myers <joseph@codesourcery.com>2008-07-18 20:49:12 +0000
commita9dc948127c2cb5127cec5ca87dbc19f17dd16cf (patch)
tree057949f1e00adf29c6a37fccd791d9baf662e2a8 /ld/emultempl
parent0f72fb1c9b6639ae27befa67438ae98f15793525 (diff)
downloadgdb-a9dc948127c2cb5127cec5ca87dbc19f17dd16cf.zip
gdb-a9dc948127c2cb5127cec5ca87dbc19f17dd16cf.tar.gz
gdb-a9dc948127c2cb5127cec5ca87dbc19f17dd16cf.tar.bz2
bfd:
* bfd-in.h (bfd_elf32_arm_set_target_relocs): Add new parameter. * bfd-in2.h: Regenerate. * elf32-arm.c (struct elf_arm_obj_tdata): Add field no_wchar_size_warning. (bfd_elf32_arm_set_target_relocs): Add new parameter no_wchar_warn. (elf32_arm_merge_eabi_attributes): Give a warning, not an error, for conflicting wchar_t attributes. Do not warn if --no-wchar-size-warning. Make diagnostic text more specific. ld: * ld.texinfo (--no-wchar-size-warning): Document new ARM option. * emultempl/armelf.em (no_wchar_size_warning): New. (arm_elf_create_output_section_statements): Pass no_wchar_size_warning to arm_elf_create_output_section_statements. (OPTION_NO_WCHAR_SIZE_WARNING): New. (PARSE_AND_LIST_LONGOPTS): Add no-wchar-size-warning. (PARSE_AND_LIST_OPTIONS): List --no-wchar-size-warning. (PARSE_AND_LIST_ARGS_CASES): Handle --no-wchar-size-warning. ld/testsuite: * ld-arm/attr-merge-wchar-0.s,ld-arm/attr-merge-wchar-2.s, ld-arm/attr-merge-wchar-4.s, ld-arm/attr-merge-wchar-00-nowarn.d, ld-arm/attr-merge-wchar-00.d, ld-arm/attr-merge-wchar-02-nowarn.d, ld-arm/attr-merge-wchar-02.d, ld-arm/attr-merge-wchar-04-nowarn.d, ld-arm/attr-merge-wchar-04.d, ld-arm/attr-merge-wchar-20-nowarn.d, ld-arm/attr-merge-wchar-20.d, ld-arm/attr-merge-wchar-22-nowarn.d, ld-arm/attr-merge-wchar-22.d, ld-arm/attr-merge-wchar-24-nowarn.d, ld-arm/attr-merge-wchar-24.d, ld-arm/attr-merge-wchar-40-nowarn.d, ld-arm/attr-merge-wchar-40.d, ld-arm/attr-merge-wchar-42-nowarn.d, ld-arm/attr-merge-wchar-42.d, ld-arm/attr-merge-wchar-44-nowarn.d, ld-arm/attr-merge-wchar-44.d: New. * ld-arm/arm-elf.exp: Run new tests.
Diffstat (limited to 'ld/emultempl')
-rw-r--r--ld/emultempl/armelf.em10
1 files changed, 10 insertions, 0 deletions
diff --git a/ld/emultempl/armelf.em b/ld/emultempl/armelf.em
index d142961..d1d68c0 100644
--- a/ld/emultempl/armelf.em
+++ b/ld/emultempl/armelf.em
@@ -39,6 +39,7 @@ static int fix_v4bx = 0;
static int use_blx = 0;
static bfd_arm_vfp11_fix vfp11_denorm_fix = BFD_ARM_VFP11_FIX_DEFAULT;
static int no_enum_size_warning = 0;
+static int no_wchar_size_warning = 0;
static int pic_veneer = 0;
static void
@@ -452,6 +453,7 @@ arm_elf_create_output_section_statements (void)
target1_is_rel,
target2_type, fix_v4bx, use_blx,
vfp11_denorm_fix, no_enum_size_warning,
+ no_wchar_size_warning,
pic_veneer);
stub_file = lang_add_input_file ("linker stubs",
@@ -509,6 +511,7 @@ PARSE_AND_LIST_PROLOGUE='
#define OPTION_PIC_VENEER 310
#define OPTION_FIX_V4BX_INTERWORKING 311
#define OPTION_STUBGROUP_SIZE 312
+#define OPTION_NO_WCHAR_SIZE_WARNING 313
'
PARSE_AND_LIST_SHORTOPTS=p
@@ -527,6 +530,7 @@ PARSE_AND_LIST_LONGOPTS='
{ "no-enum-size-warning", no_argument, NULL, OPTION_NO_ENUM_SIZE_WARNING},
{ "pic-veneer", no_argument, NULL, OPTION_PIC_VENEER},
{ "stub-group-size", required_argument, NULL, OPTION_STUBGROUP_SIZE },
+ { "no-wchar-size-warning", no_argument, NULL, OPTION_NO_WCHAR_SIZE_WARNING},
'
PARSE_AND_LIST_OPTIONS='
@@ -541,6 +545,8 @@ PARSE_AND_LIST_OPTIONS='
fprintf (file, _(" --vfp11-denorm-fix Specify how to fix VFP11 denorm erratum\n"));
fprintf (file, _(" --no-enum-size-warning Don'\''t warn about objects with incompatible"
" enum sizes\n"));
+ fprintf (file, _(" --no-wchar-size-warning Don'\''t warn about objects with incompatible"
+ " wchar_t sizes\n"));
fprintf (file, _(" --pic-veneer Always generate PIC interworking veneers\n"));
fprintf (file, _("\
--stub-group-size=N Maximum size of a group of input sections that can be\n\
@@ -605,6 +611,10 @@ PARSE_AND_LIST_ARGS_CASES='
no_enum_size_warning = 1;
break;
+ case OPTION_NO_WCHAR_SIZE_WARNING:
+ no_wchar_size_warning = 1;
+ break;
+
case OPTION_PIC_VENEER:
pic_veneer = 1;
break;