diff options
author | Ulrich Drepper <drepper@redhat.com> | 2000-06-08 04:48:56 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2000-06-08 04:48:56 +0000 |
commit | b0982c4ad36a973322650068ba29fa30c104975d (patch) | |
tree | 6fbdca1abe84157e86ff4693e38bdc4117d125c5 /elf | |
parent | d4f170a9800ea45c8519859d9d5abe8ae80f036b (diff) | |
download | glibc-b0982c4ad36a973322650068ba29fa30c104975d.tar.gz glibc-b0982c4ad36a973322650068ba29fa30c104975d.tar.xz glibc-b0982c4ad36a973322650068ba29fa30c104975d.zip |
Update.
* include/elf.h: Include also <dl-dtprocnum.h>. * elf/dl-deps.c: Likewise. * elf/dl-lookup.c: Likewise. * elf/dl-runtime.c: Likewise. * elf/dl-version.c: Likewise. * elf/do-rel.h: Likewise. * elf/dynamic-link.h: Likewise. * elf/link.h: Likewise. * elf/rtld.c: Likewise. * sysdeps/generic/dl-dtprocnum.h: New file. * sysdeps/ia64/dl-dtprocnum.h: New file. * sysdeps/mips/dl-dtprocnum.h: New file. * sysdeps/sparc/dl-dtprocnum.h: New file.
Diffstat (limited to 'elf')
-rw-r--r-- | elf/dl-deps.c | 4 | ||||
-rw-r--r-- | elf/dl-lookup.c | 2 | ||||
-rw-r--r-- | elf/dl-runtime.c | 2 | ||||
-rw-r--r-- | elf/dl-version.c | 2 | ||||
-rw-r--r-- | elf/do-rel.h | 2 | ||||
-rw-r--r-- | elf/dynamic-link.h | 6 | ||||
-rw-r--r-- | elf/link.h | 11 | ||||
-rw-r--r-- | elf/rtld.c | 4 |
8 files changed, 17 insertions, 16 deletions
diff --git a/elf/dl-deps.c b/elf/dl-deps.c index fca210f72a..670b9df8d4 100644 --- a/elf/dl-deps.c +++ b/elf/dl-deps.c @@ -30,11 +30,11 @@ /* Whether an shared object references one or more auxiliary objects is signaled by the AUXTAG entry in l_info. */ -#define AUXTAG (DT_NUM + DT_PROCNUM + DT_VERSIONTAGNUM \ +#define AUXTAG (DT_NUM + DT_THISPROCNUM + DT_VERSIONTAGNUM \ + DT_EXTRATAGIDX (DT_AUXILIARY)) /* Whether an shared object references one or more auxiliary objects is signaled by the AUXTAG entry in l_info. */ -#define FILTERTAG (DT_NUM + DT_PROCNUM + DT_VERSIONTAGNUM \ +#define FILTERTAG (DT_NUM + DT_THISPROCNUM + DT_VERSIONTAGNUM \ + DT_EXTRATAGIDX (DT_FILTER)) /* This is zero at program start to signal that the global scope map is diff --git a/elf/dl-lookup.c b/elf/dl-lookup.c index 09f34f9f4a..d01fdaa648 100644 --- a/elf/dl-lookup.c +++ b/elf/dl-lookup.c @@ -28,7 +28,7 @@ #include <assert.h> -#define VERSTAG(tag) (DT_NUM + DT_PROCNUM + DT_VERSIONTAGIDX (tag)) +#define VERSTAG(tag) (DT_NUM + DT_THISPROCNUM + DT_VERSIONTAGIDX (tag)) /* We need this string more than once. */ static const char undefined_msg[] = "undefined symbol: "; diff --git a/elf/dl-runtime.c b/elf/dl-runtime.c index f0635eae3a..cb38dfe9d0 100644 --- a/elf/dl-runtime.c +++ b/elf/dl-runtime.c @@ -30,7 +30,7 @@ #endif #ifndef VERSYMIDX -# define VERSYMIDX(sym) (DT_NUM + DT_PROCNUM + DT_VERSIONTAGIDX (sym)) +# define VERSYMIDX(sym) (DT_NUM + DT_THISPROCNUM + DT_VERSIONTAGIDX (sym)) #endif diff --git a/elf/dl-version.c b/elf/dl-version.c index 0718b8a5a8..67104916d6 100644 --- a/elf/dl-version.c +++ b/elf/dl-version.c @@ -29,7 +29,7 @@ #ifndef VERSYMIDX -# define VERSYMIDX(tag) (DT_NUM + DT_PROCNUM + DT_VERSIONTAGIDX (tag)) +# define VERSYMIDX(tag) (DT_NUM + DT_THISPROCNUM + DT_VERSIONTAGIDX (tag)) #endif diff --git a/elf/do-rel.h b/elf/do-rel.h index 721390d4e6..cf39d1df08 100644 --- a/elf/do-rel.h +++ b/elf/do-rel.h @@ -27,7 +27,7 @@ #endif #ifndef VERSYMIDX -# define VERSYMIDX(sym) (DT_NUM + DT_PROCNUM + DT_VERSIONTAGIDX (sym)) +# define VERSYMIDX(sym) (DT_NUM + DT_THISPROCNUM + DT_VERSIONTAGIDX (sym)) #endif /* Perform the relocations in MAP on the running program image as specified diff --git a/elf/dynamic-link.h b/elf/dynamic-link.h index 5987707e9c..79e17ed51c 100644 --- a/elf/dynamic-link.h +++ b/elf/dynamic-link.h @@ -22,7 +22,7 @@ #include <assert.h> #ifndef VERSYMIDX -# define VERSYMIDX(sym) (DT_NUM + DT_PROCNUM + DT_VERSIONTAGIDX (sym)) +# define VERSYMIDX(sym) (DT_NUM + DT_THISPROCNUM + DT_VERSIONTAGIDX (sym)) #endif @@ -51,12 +51,12 @@ elf_get_dynamic_info (struct link_map *l) if (dyn->d_tag < DT_NUM) info[dyn->d_tag] = dyn; else if (dyn->d_tag >= DT_LOPROC && - dyn->d_tag < DT_LOPROC + DT_PROCNUM) + dyn->d_tag < DT_LOPROC + DT_THISPROCNUM) info[dyn->d_tag - DT_LOPROC + DT_NUM] = dyn; else if ((Elf32_Word) DT_VERSIONTAGIDX (dyn->d_tag) < DT_VERSIONTAGNUM) info[VERSYMIDX (dyn->d_tag)] = dyn; else if ((Elf32_Word) DT_EXTRATAGIDX (dyn->d_tag) < DT_EXTRANUM) - info[DT_EXTRATAGIDX (dyn->d_tag) + DT_NUM + DT_PROCNUM + info[DT_EXTRATAGIDX (dyn->d_tag) + DT_NUM + DT_THISPROCNUM + DT_VERSIONTAGNUM] = dyn; else assert (! "bad dynamic tag"); diff --git a/elf/link.h b/elf/link.h index 0588b523e3..38652ca46a 100644 --- a/elf/link.h +++ b/elf/link.h @@ -126,14 +126,15 @@ struct link_map struct libname_list *l_libname; /* Indexed pointers to dynamic section. [0,DT_NUM) are indexed by the processor-independent tags. - [DT_NUM,DT_NUM+DT_PROCNUM) are indexed by the tag minus DT_LOPROC. - [DT_NUM+DT_PROCNUM,DT_NUM+DT_PROCNUM+DT_EXTRANUM) are indexed + [DT_NUM,DT_NUM+DT_THISPROCNUM) are indexed by the tag minus DT_LOPROC. + [DT_NUM+DT_THISPROCNUM,DT_NUM+DT_THISPROCNUM+DT_EXTRANUM) are indexed by DT_EXTRATAGIDX(tagvalue) and - [DT_NUM+DT_PROCNUM+DT_VERSIONTAGNUM, - DT_NUM+DT_PROCNUM+DT_VERSIONTAGNUM+DT_EXTRANUM) + [DT_NUM+DT_THISPROCNUM+DT_VERSIONTAGNUM, + DT_NUM+DT_THISPROCNUM+DT_VERSIONTAGNUM+DT_EXTRANUM) are indexed by DT_EXTRATAGIDX(tagvalue) (see <elf.h>). */ - ElfW(Dyn) *l_info[DT_NUM + DT_PROCNUM + DT_VERSIONTAGNUM + DT_EXTRANUM]; + ElfW(Dyn) *l_info[DT_NUM + DT_THISPROCNUM + DT_VERSIONTAGNUM + + DT_EXTRANUM]; const ElfW(Phdr) *l_phdr; /* Pointer to program header table in core. */ ElfW(Addr) l_entry; /* Entry point location. */ ElfW(Half) l_phnum; /* Number of program header entries. */ diff --git a/elf/rtld.c b/elf/rtld.c index 6bf1dba089..b83eaa61b1 100644 --- a/elf/rtld.c +++ b/elf/rtld.c @@ -348,7 +348,7 @@ match_version (const char *string, struct link_map *map) const char *strtab = (const void *) D_PTR (map, l_info[DT_STRTAB]); ElfW(Verdef) *def; -#define VERDEFTAG (DT_NUM + DT_PROCNUM + DT_VERSIONTAGIDX (DT_VERDEF)) +#define VERDEFTAG (DT_NUM + DT_THISPROCNUM + DT_VERSIONTAGIDX (DT_VERDEF)) if (map->l_info[VERDEFTAG] == NULL) /* The file has no symbol versioning. */ return 0; @@ -953,7 +953,7 @@ of this helper program; chances are you did not intend to run this program.\n\ } while (l); } -#define VERNEEDTAG (DT_NUM + DT_PROCNUM + DT_VERSIONTAGIDX (DT_VERNEED)) +#define VERNEEDTAG (DT_NUM + DT_THISPROCNUM + DT_VERSIONTAGIDX (DT_VERNEED)) if (version_info) { /* Print more information. This means here, print information |