Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Update.
1999-07-25  Jakub Jelinek  <jj@ultra.linux.cz>

	* elf/link.h (struct link_map): Use Elf_Symndx instead of ElfXX_Symndx.
	* elf/dl-lookup.c (_dl_setup_hash): Likewise.
	* elf/dl-load.c (_dl_map_object): Likewise.
	* elf/do-lookup.h (do_lookup*): Likewise.
	* sysdeps/generic/bits/elfclass.h: Define Elf_Symndx as uint32_t.
	* sysdeps/unix/sysv/linux/alpha/bits/elfclass.h: Define Elf_symndx
	as uint64_t.
	* elf/elf.h: Remove Elf32_Symndx and Elf64_Symndx.
  • Loading branch information
Ulrich Drepper committed Jul 27, 1999
1 parent 650364f commit a1eca9f
Show file tree
Hide file tree
Showing 9 changed files with 37 additions and 10 deletions.
11 changes: 11 additions & 0 deletions ChangeLog
@@ -1,3 +1,14 @@
1999-07-25 Jakub Jelinek <jj@ultra.linux.cz>

* elf/link.h (struct link_map): Use Elf_Symndx instead of ElfXX_Symndx.
* elf/dl-lookup.c (_dl_setup_hash): Likewise.
* elf/dl-load.c (_dl_map_object): Likewise.
* elf/do-lookup.h (do_lookup*): Likewise.
* sysdeps/generic/bits/elfclass.h: Define Elf_Symndx as uint32_t.
* sysdeps/unix/sysv/linux/alpha/bits/elfclass.h: Define Elf_symndx
as uint64_t.
* elf/elf.h: Remove Elf32_Symndx and Elf64_Symndx.

1999-07-26 Ulrich Drepper <drepper@cygnus.com>

* sysdeps/unix/sysv/sysv4/setsid.c: Correct types.
Expand Down
3 changes: 3 additions & 0 deletions bits/elfclass.h
Expand Up @@ -9,3 +9,6 @@
#include <bits/wordsize.h>

#define __ELF_NATIVE_CLASS __WORDSIZE

/* The entries in the .hash table always have a size of 32 bits. */
typedef uint32_t Elf_Symndx;
2 changes: 1 addition & 1 deletion elf/dl-load.c
Expand Up @@ -1416,7 +1416,7 @@ _dl_map_object (struct link_map *loader, const char *name, int preloaded,
are only interested in the list of libraries this isn't
so severe. Fake an entry with all the information we
have. */
static const ElfW(Symndx) dummy_bucket = STN_UNDEF;
static const Elf_Symndx dummy_bucket = STN_UNDEF;

/* Enter the new object in the list of loaded objects. */
if ((name_copy = local_strdup (name)) == NULL
Expand Down
4 changes: 2 additions & 2 deletions elf/dl-lookup.c
Expand Up @@ -320,8 +320,8 @@ void
internal_function
_dl_setup_hash (struct link_map *map)
{
ElfW(Symndx) *hash;
ElfW(Symndx) nchain;
Elf_Symndx *hash;
Elf_Symndx nchain;

if (!map->l_info[DT_HASH])
return;
Expand Down
2 changes: 1 addition & 1 deletion elf/do-lookup.h
Expand Up @@ -43,7 +43,7 @@ FCT (const char *undef_name, struct link_map *undef_map,
const ElfW(Sym) *symtab;
const char *strtab;
const ElfW(Half) *verstab;
ElfW(Symndx) symidx;
Elf_Symndx symidx;
const ElfW(Sym) *sym;
#if ! VERSIONED
int num_versions = 0;
Expand Down
4 changes: 0 additions & 4 deletions elf/elf.h
Expand Up @@ -56,10 +56,6 @@ typedef uint64_t Elf64_Off;
typedef uint16_t Elf32_Section;
typedef uint16_t Elf64_Section;

/* Type of symbol indices. */
typedef uint32_t Elf32_Symndx;
typedef uint64_t Elf64_Symndx;


/* The ELF file header. This appears at the start of every ELF file. */

Expand Down
4 changes: 2 additions & 2 deletions elf/link.h
Expand Up @@ -151,8 +151,8 @@ struct link_map
struct link_map *l_loader;

/* Symbol hash table. */
ElfW(Symndx) l_nbuckets;
const ElfW(Symndx) *l_buckets, *l_chain;
Elf_Symndx l_nbuckets;
const Elf_Symndx *l_buckets, *l_chain;

unsigned int l_opencount; /* Reference count for dlopen/dlclose. */
enum /* Where this object came from. */
Expand Down
3 changes: 3 additions & 0 deletions sysdeps/generic/bits/elfclass.h
Expand Up @@ -9,3 +9,6 @@
#include <bits/wordsize.h>

#define __ELF_NATIVE_CLASS __WORDSIZE

/* The entries in the .hash table always have a size of 32 bits. */
typedef uint32_t Elf_Symndx;
14 changes: 14 additions & 0 deletions sysdeps/unix/sysv/linux/alpha/bits/elfclass.h
@@ -0,0 +1,14 @@
/* This file specifies the native word size of the machine, which indicates
the ELF file class used for executables and shared objects on this
machine. */

#ifndef _LINK_H
# error "Never use <bits/elfclass.h> directly; include <link.h> instead."
#endif

#include <bits/wordsize.h>

#define __ELF_NATIVE_CLASS __WORDSIZE

/* Linux/Alpha is exceptional as it has .hash section with 64 bit entries. */
typedef uint64_t Elf_Symndx;

0 comments on commit a1eca9f

Please sign in to comment.