diff options
author | Joseph Myers <joseph@codesourcery.com> | 2008-07-18 20:49:12 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2008-07-18 20:49:12 +0000 |
commit | a9dc948127c2cb5127cec5ca87dbc19f17dd16cf (patch) | |
tree | 057949f1e00adf29c6a37fccd791d9baf662e2a8 /ld/emultempl | |
parent | 0f72fb1c9b6639ae27befa67438ae98f15793525 (diff) | |
download | gdb-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.em | 10 |
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; |