diff --git a/include/elf/ChangeLog b/include/elf/ChangeLog index ee88a5c10..8fd7c5ec2 100644 --- a/include/elf/ChangeLog +++ b/include/elf/ChangeLog @@ -1,3 +1,9 @@ +2011-03-14 Richard Sandiford + + * internal.h (elf_internal_sym): Add st_target_internal. + * arm.h (arm_st_branch_type): New enum. + (ARM_SYM_BRANCH_TYPE): New macro. + 2011-03-10 Nick Clifton * common.h (EM_V850): V850s now supplied by Renesas. diff --git a/include/elf/arm.h b/include/elf/arm.h index 18aa5592e..e3df27f96 100644 --- a/include/elf/arm.h +++ b/include/elf/arm.h @@ -323,4 +323,13 @@ enum #define ELF_STRING_ARM_unwind_once ".gnu.linkonce.armexidx." #define ELF_STRING_ARM_unwind_info_once ".gnu.linkonce.armextab." +enum arm_st_branch_type { + ST_BRANCH_TO_ARM, + ST_BRANCH_TO_THUMB, + ST_BRANCH_LONG +}; + +#define ARM_SYM_BRANCH_TYPE(SYM) \ + ((enum arm_st_branch_type) (SYM)->st_target_internal) + #endif /* _ELF_ARM_H */ diff --git a/include/elf/internal.h b/include/elf/internal.h index c6e57218e..461503783 100644 --- a/include/elf/internal.h +++ b/include/elf/internal.h @@ -124,6 +124,7 @@ struct elf_internal_sym { unsigned long st_name; /* Symbol name, index in string tbl */ unsigned char st_info; /* Type and binding attributes */ unsigned char st_other; /* Visibilty, and target specific */ + unsigned char st_target_internal; /* Internal-only information */ unsigned int st_shndx; /* Associated section index */ };