diff options
author | Andreas Schwab <schwab@redhat.com> | 2010-04-16 12:49:09 +0200 |
---|---|---|
committer | Andreas Schwab <schwab@redhat.com> | 2010-04-16 12:49:09 +0200 |
commit | 54627f3c15f4a6e2ff02e60afacdb5f8008d399a (patch) | |
tree | ca0a25e66c8e6d48c7db07e6152a0549c27a1916 /elf | |
parent | 1ef17274decb5381a50a2146cb3444630f67b527 (diff) | |
parent | 1cdb2151fbad6bff650e85a0476972881bbc027b (diff) |
Merge remote branch 'origin/master' into fedora/master
Diffstat (limited to 'elf')
-rw-r--r-- | elf/dl-version.c | 12 | ||||
-rw-r--r-- | elf/elf.h | 24 |
2 files changed, 32 insertions, 4 deletions
diff --git a/elf/dl-version.c b/elf/dl-version.c index 9e881162a6..c59a6c3cd3 100644 --- a/elf/dl-version.c +++ b/elf/dl-version.c @@ -322,10 +322,14 @@ _dl_check_map_versions (struct link_map *map, int verbose, int trace_mode) while (1) { ElfW(Half) ndx = aux->vna_other & 0x7fff; - map->l_versions[ndx].hash = aux->vna_hash; - map->l_versions[ndx].hidden = aux->vna_other & 0x8000; - map->l_versions[ndx].name = &strtab[aux->vna_name]; - map->l_versions[ndx].filename = &strtab[ent->vn_file]; + /* In trace mode, dependencies may be missing. */ + if (__builtin_expect (ndx < map->l_nversions, 1)) + { + map->l_versions[ndx].hash = aux->vna_hash; + map->l_versions[ndx].hidden = aux->vna_other & 0x8000; + map->l_versions[ndx].name = &strtab[aux->vna_name]; + map->l_versions[ndx].filename = &strtab[ent->vn_file]; + } if (aux->vna_next == 0) /* No more symbols. */ @@ -2477,6 +2477,30 @@ typedef Elf32_Addr Elf32_Conflict; /* SH specific declarations */ +/* Processor specific flags for the ELF header e_flags field. */ +#define EF_SH_MACH_MASK 0x1f +#define EF_SH_UNKNOWN 0x0 +#define EF_SH1 0x1 +#define EF_SH2 0x2 +#define EF_SH3 0x3 +#define EF_SH_DSP 0x4 +#define EF_SH3_DSP 0x5 +#define EF_SH4AL_DSP 0x6 +#define EF_SH3E 0x8 +#define EF_SH4 0x9 +#define EF_SH2E 0xb +#define EF_SH4A 0xc +#define EF_SH2A 0xd +#define EF_SH4_NOFPU 0x10 +#define EF_SH4A_NOFPU 0x11 +#define EF_SH4_NOMMU_NOFPU 0x12 +#define EF_SH2A_NOFPU 0x13 +#define EF_SH3_NOMMU 0x14 +#define EF_SH2A_SH4_NOFPU 0x15 +#define EF_SH2A_SH3_NOFPU 0x16 +#define EF_SH2A_SH4 0x17 +#define EF_SH2A_SH3E 0x18 + /* SH relocs. */ #define R_SH_NONE 0 #define R_SH_DIR32 1 |