Add .refsym to msp430 backend
* config/tc-msp430.c (msp430_refsym): New: ".refsym <symbol>" * doc/c-msp430.texi (MSP430 Directives): Document it. The purpose of this patch is to provide a way for one object file to require the inclusion of another object, without having to allocate space for a .word address reference.
This commit is contained in:
parent
7c84a0ca90
commit
96b961024c
3 changed files with 24 additions and 0 deletions
|
@ -1,3 +1,8 @@
|
|||
2014-01-22 DJ Delorie <dj@redhat.com>
|
||||
|
||||
* config/tc-msp430.c (msp430_refsym): New: ".refsym <symbol>"
|
||||
* doc/c-msp430.texi (MSP430 Directives): Document it.
|
||||
|
||||
2014-01-22 Michael Zolotukhin <michael.v.zolotukhin@gmail.com>
|
||||
|
||||
* config/tc-i386.c (check_VecOperands): Remove regzmm from AVX2
|
||||
|
|
|
@ -1257,6 +1257,15 @@ msp430_section (int arg)
|
|||
obj_elf_section (arg);
|
||||
}
|
||||
|
||||
static void
|
||||
msp430_refsym (int arg ATTRIBUTE_UNUSED)
|
||||
{
|
||||
char sym_name[1024];
|
||||
input_line_pointer = extract_word (input_line_pointer, sym_name, 1024);
|
||||
|
||||
(void) symbol_find_or_make (sym_name);
|
||||
}
|
||||
|
||||
const pseudo_typeS md_pseudo_table[] =
|
||||
{
|
||||
{"arch", msp430_set_arch, OPTION_MMCU},
|
||||
|
@ -1267,6 +1276,7 @@ const pseudo_typeS md_pseudo_table[] =
|
|||
{"sect", msp430_section, 0},
|
||||
{"sect.s", msp430_section, 0},
|
||||
{"pushsection", msp430_section, 1},
|
||||
{"refsym", msp430_refsym, 0},
|
||||
{NULL, NULL, 0}
|
||||
};
|
||||
|
||||
|
|
|
@ -263,6 +263,15 @@ command line option.
|
|||
@item .profiler
|
||||
This directive instructs assembler to add new profile entry to the object file.
|
||||
|
||||
@cindex @code{refsym} directive, MSP 430
|
||||
@item .refsym
|
||||
This directive instructs assembler to add an undefined reference to
|
||||
the symbol following the directive. The maximum symbol name length is
|
||||
1023 characters. No relocation is created for this symbol; it will
|
||||
exist purely for pulling in object files from archives. Note that
|
||||
this reloc is not sufficient to prevent garbage collection; use a
|
||||
KEEP() directive in the linker file to preserve such objects.
|
||||
|
||||
@end table
|
||||
|
||||
@node MSP430 Opcodes
|
||||
|
|
Loading…
Reference in a new issue