aboutsummaryrefslogtreecommitdiff
path: root/sys/kern/link_elf_obj.c
diff options
context:
space:
mode:
authorJake Burkholder <jake@FreeBSD.org>2001-07-31 03:46:39 +0000
committerJake Burkholder <jake@FreeBSD.org>2001-07-31 03:46:39 +0000
commit7e5102989ed96d7cb3b11b8b7fb67ae4e813ed3c (patch)
treebb7222b6df769fb8c1baffd9425be229c7589573 /sys/kern/link_elf_obj.c
parentbaa444b77eda20bf4ceeb65a5107e037eb34c904 (diff)
downloadsrc-7e5102989ed96d7cb3b11b8b7fb67ae4e813ed3c.tar.gz
src-7e5102989ed96d7cb3b11b8b7fb67ae4e813ed3c.zip
Use a machine dependent type, Elf_Hashelt, for the elements of the elf
dynamic symbol table buckets and chains. The sparc64 toolchain uses 32 bit .hash entries, unlike other 64 bits architectures (alpha), which use 64 bit entries. Discussed with: dfr, jdp
Notes
Notes: svn path=/head/; revision=80700
Diffstat (limited to 'sys/kern/link_elf_obj.c')
-rw-r--r--sys/kern/link_elf_obj.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/sys/kern/link_elf_obj.c b/sys/kern/link_elf_obj.c
index 439b9deca9a7..faaf160ee77a 100644
--- a/sys/kern/link_elf_obj.c
+++ b/sys/kern/link_elf_obj.c
@@ -67,10 +67,10 @@ typedef struct elf_file {
vm_object_t object; /* VM object to hold file pages */
#endif
Elf_Dyn* dynamic; /* Symbol table etc. */
- Elf_Off nbuckets; /* DT_HASH info */
- Elf_Off nchains;
- const Elf_Off* buckets;
- const Elf_Off* chains;
+ Elf_Hashelt nbuckets; /* DT_HASH info */
+ Elf_Hashelt nchains;
+ const Elf_Hashelt* buckets;
+ const Elf_Hashelt* chains;
caddr_t hash;
caddr_t strtab; /* DT_STRTAB */
int strsz; /* DT_STRSZ */
@@ -299,7 +299,7 @@ parse_dynamic(elf_file_t ef)
case DT_HASH:
{
/* From src/libexec/rtld-elf/rtld.c */
- const Elf_Off *hashtab = (const Elf_Off *)
+ const Elf_Hashelt *hashtab = (const Elf_Hashelt *)
(ef->address + dp->d_un.d_ptr);
ef->nbuckets = hashtab[0];
ef->nchains = hashtab[1];