diff options
author | Jason Eckhardt <jle@rice.edu> | 2000-09-03 01:39:08 +0000 |
---|---|---|
committer | Jason Eckhardt <jle@rice.edu> | 2000-09-03 01:39:08 +0000 |
commit | a1493da6139116fb8f2ba0cbecb1e6da2e2c545c (patch) | |
tree | c63c0429f410d5a7c2517d85046e4871b72b1168 /bfd | |
parent | 961cceb0477ad6114f435abcc174c6a5b3eca52a (diff) | |
download | binutils-redhat-a1493da6139116fb8f2ba0cbecb1e6da2e2c545c.tar.gz |
2000-09-02 Jason Eckhardt <jle@cygnus.com>
* elf32-i860.c (bfd_elf32_bfd_is_local_label_name): Define macro.
(elf32_i860_is_local_label_name): New function and prototype.
Diffstat (limited to 'bfd')
-rw-r--r-- | bfd/ChangeLog | 5 | ||||
-rw-r--r-- | bfd/elf32-i860.c | 21 |
2 files changed, 26 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 99c7a1875b..5bb60854b2 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2000-09-02 Jason Eckhardt <jle@cygnus.com> + + * elf32-i860.c (bfd_elf32_bfd_is_local_label_name): Define macro. + (elf32_i860_is_local_label_name): New function and prototype. + 2000-09-02 Nick Clifton <nickc@redhat.com> * configure.in: Increase version number to 2.10.91. diff --git a/bfd/elf32-i860.c b/bfd/elf32-i860.c index 08c2e16bd2..1acc4ddc8f 100644 --- a/bfd/elf32-i860.c +++ b/bfd/elf32-i860.c @@ -53,6 +53,9 @@ static bfd_reloc_status_type i860_final_link_relocate PARAMS ((reloc_howto_type *, bfd *, asection *, bfd_byte *, Elf_Internal_Rela *, bfd_vma)); +static boolean elf32_i860_is_local_label_name + PARAMS ((bfd *, const char *)); + /* This howto table is preliminary. */ @@ -1044,6 +1047,23 @@ elf32_i860_relocate_section (output_bfd, info, input_bfd, input_section, } +/* Return whether a symbol name implies a local label. SVR4/860 compilers + generate labels of the form ".ep.function_name" to denote the end of a + function prolog. These should be local. + ??? Do any other SVR4 compilers have this convention? If so, this should + be added to the generic routine. */ +static boolean +elf32_i860_is_local_label_name (abfd, name) + bfd *abfd; + const char *name; +{ + if (name[0] == '.' && name[1] == 'e' && name[2] == 'p' && name[3] == '.') + return true; + + return _bfd_elf_is_local_label_name (abfd, name); +} + + #define TARGET_BIG_SYM bfd_elf32_i860_vec #define TARGET_BIG_NAME "elf32-i860" @@ -1057,5 +1077,6 @@ elf32_i860_relocate_section (output_bfd, info, input_bfd, input_section, #define elf_info_to_howto elf32_i860_info_to_howto_rela #define elf_backend_relocate_section elf32_i860_relocate_section #define bfd_elf32_bfd_reloc_type_lookup elf32_i860_reloc_type_lookup +#define bfd_elf32_bfd_is_local_label_name elf32_i860_is_local_label_name #include "elf32-target.h" |