summaryrefslogtreecommitdiff
path: root/elf
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2000-06-08 04:48:56 +0000
committerUlrich Drepper <drepper@redhat.com>2000-06-08 04:48:56 +0000
commitb0982c4ad36a973322650068ba29fa30c104975d (patch)
tree6fbdca1abe84157e86ff4693e38bdc4117d125c5 /elf
parentd4f170a9800ea45c8519859d9d5abe8ae80f036b (diff)
downloadglibc-b0982c4ad36a973322650068ba29fa30c104975d.tar.gz
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.c4
-rw-r--r--elf/dl-lookup.c2
-rw-r--r--elf/dl-runtime.c2
-rw-r--r--elf/dl-version.c2
-rw-r--r--elf/do-rel.h2
-rw-r--r--elf/dynamic-link.h6
-rw-r--r--elf/link.h11
-rw-r--r--elf/rtld.c4
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