[gas]
2004-04-01 Asgari Jinia <asgarij@kpitcummins.com> Dhananjay Deshpande <dhananjayd@kpitcummins.com> * config/tc-sh.c (dont_adjust_reloc_32): New variable. (sh_fix_adjustable): Avoid adjusting BFD_RELOC_32 when dont_adjust_reloc_32 is set. (md_longopts): Add option -renesas. (md_parse_option, md_show_usage): Likewise. * doc/c-sh.texi: Likewise. [gas/testsuite] 2004-04-01 Asgari Jinia <asgarij@kpitcummins.com> * gas/sh/renesas-1.s, gas/sh/renesas-1.d: New test for -renesas option. * gas/sh/basic.exp: Run the new test.
This commit is contained in:
parent
afb7d967cb
commit
f55629b89c
@ -1,3 +1,13 @@
|
||||
2004-04-01 Asgari Jinia <asgarij@kpitcummins.com>
|
||||
Dhananjay Deshpande <dhananjayd@kpitcummins.com>
|
||||
|
||||
* config/tc-sh.c (dont_adjust_reloc_32): New variable.
|
||||
(sh_fix_adjustable): Avoid adjusting BFD_RELOC_32 when
|
||||
dont_adjust_reloc_32 is set.
|
||||
(md_longopts): Add option -renesas.
|
||||
(md_parse_option, md_show_usage): Likewise.
|
||||
* doc/c-sh.texi: Likewise.
|
||||
|
||||
2004-04-01 Dave Korn <dk@artimi.com>
|
||||
|
||||
* config/tc-dlx.c (md_assemble): set fx_no_overflow flag for
|
||||
|
@ -132,6 +132,10 @@ int sh_relax; /* set if -relax seen */
|
||||
|
||||
int sh_small;
|
||||
|
||||
/* Flag to generate relocations against symbol values for local symbols. */
|
||||
|
||||
static int dont_adjust_reloc_32;
|
||||
|
||||
/* preset architecture set, if given; zero otherwise. */
|
||||
|
||||
static int preset_target_arch;
|
||||
@ -2883,6 +2887,7 @@ struct option md_longopts[] =
|
||||
#define OPTION_SMALL (OPTION_LITTLE + 1)
|
||||
#define OPTION_DSP (OPTION_SMALL + 1)
|
||||
#define OPTION_ISA (OPTION_DSP + 1)
|
||||
#define OPTION_RENESAS (OPTION_ISA + 1)
|
||||
|
||||
{"relax", no_argument, NULL, OPTION_RELAX},
|
||||
{"big", no_argument, NULL, OPTION_BIG},
|
||||
@ -2890,8 +2895,10 @@ struct option md_longopts[] =
|
||||
{"small", no_argument, NULL, OPTION_SMALL},
|
||||
{"dsp", no_argument, NULL, OPTION_DSP},
|
||||
{"isa", required_argument, NULL, OPTION_ISA},
|
||||
{"renesas", no_argument, NULL, OPTION_RENESAS},
|
||||
|
||||
#ifdef HAVE_SH64
|
||||
#define OPTION_ABI (OPTION_ISA + 1)
|
||||
#define OPTION_ABI (OPTION_RENESAS + 1)
|
||||
#define OPTION_NO_MIX (OPTION_ABI + 1)
|
||||
#define OPTION_SHCOMPACT_CONST_CRANGE (OPTION_NO_MIX + 1)
|
||||
#define OPTION_NO_EXPAND (OPTION_SHCOMPACT_CONST_CRANGE + 1)
|
||||
@ -2932,6 +2939,10 @@ md_parse_option (int c, char *arg ATTRIBUTE_UNUSED)
|
||||
preset_target_arch = arch_sh1_up & ~arch_sh2e_up;
|
||||
break;
|
||||
|
||||
case OPTION_RENESAS:
|
||||
dont_adjust_reloc_32 = 1;
|
||||
break;
|
||||
|
||||
case OPTION_ISA:
|
||||
if (strcasecmp (arg, "sh4") == 0)
|
||||
preset_target_arch = arch_sh4;
|
||||
@ -3019,6 +3030,8 @@ SH options:\n\
|
||||
-little generate little endian code\n\
|
||||
-big generate big endian code\n\
|
||||
-relax alter jump instructions for long displacements\n\
|
||||
-renesas disable optimization with section symbol for\n\
|
||||
compatibility with Renesas assembler.\n\
|
||||
-small align sections to 4 byte boundaries, not 16\n\
|
||||
-dsp enable sh-dsp insns, and disable floating-point ISAs.\n\
|
||||
-isa=[sh4\n\
|
||||
@ -3564,6 +3577,7 @@ sh_fix_adjustable (fixS *fixP)
|
||||
if (fixP->fx_r_type == BFD_RELOC_32_PLT_PCREL
|
||||
|| fixP->fx_r_type == BFD_RELOC_32_GOT_PCREL
|
||||
|| fixP->fx_r_type == BFD_RELOC_SH_GOTPC
|
||||
|| ((fixP->fx_r_type == BFD_RELOC_32) && dont_adjust_reloc_32)
|
||||
|| fixP->fx_r_type == BFD_RELOC_RVA)
|
||||
return 0;
|
||||
|
||||
|
@ -29,6 +29,7 @@
|
||||
@kindex -relax
|
||||
@kindex -small
|
||||
@kindex -dsp
|
||||
@kindex -renesas
|
||||
|
||||
@item -little
|
||||
Generate little endian code.
|
||||
@ -45,6 +46,10 @@ Align sections to 4 byte boundaries, not 16.
|
||||
@item -dsp
|
||||
Enable sh-dsp insns, and disable sh3e / sh4 insns.
|
||||
|
||||
@item -renesas
|
||||
Disable optimization with section symbol for compatibility with
|
||||
Renesas assembler.
|
||||
|
||||
@item -isa=sh4 | sh4a
|
||||
Specify the sh4 or sh4a instruction set.
|
||||
@item -isa=dsp
|
||||
|
@ -1,3 +1,9 @@
|
||||
2004-04-01 Asgari Jinia <asgarij@kpitcummins.com>
|
||||
|
||||
* gas/sh/renesas-1.s, gas/sh/renesas-1.d: New test for -renesas
|
||||
option.
|
||||
* gas/sh/basic.exp: Run the new test.
|
||||
|
||||
2004-04-01 Dave Korn <dk@artimi.com>
|
||||
|
||||
* gas/dlx/alltests.exp: Execute new lohi test.
|
||||
|
@ -157,6 +157,9 @@ if [istarget sh*-*-*] then {
|
||||
run_dump_test "tlspic"
|
||||
|
||||
run_dump_test "tlsnopic"
|
||||
|
||||
# Test -renesas.
|
||||
run_dump_test "renesas-1"
|
||||
}
|
||||
}
|
||||
|
||||
|
11
gas/testsuite/gas/sh/renesas-1.d
Normal file
11
gas/testsuite/gas/sh/renesas-1.d
Normal file
@ -0,0 +1,11 @@
|
||||
#objdump: -dr
|
||||
#as: -renesas
|
||||
|
||||
.*: +file format .*
|
||||
|
||||
Disassembly of section .text:
|
||||
|
||||
00000000 <foo-0x4>:
|
||||
0: 00 00 [ ]*\.word 0x0000
|
||||
[ ]+0: R_SH_DIR32 foo
|
||||
\.\.\.
|
3
gas/testsuite/gas/sh/renesas-1.s
Normal file
3
gas/testsuite/gas/sh/renesas-1.s
Normal file
@ -0,0 +1,3 @@
|
||||
.text
|
||||
.long foo
|
||||
foo:
|
Loading…
x
Reference in New Issue
Block a user