diff options
| author | Ulrich Drepper <[email protected]> | 2009-06-13 15:55:42 -0700 |
|---|---|---|
| committer | Ulrich Drepper <[email protected]> | 2009-06-13 15:55:42 -0700 |
| commit | f189493154d0041deced00e6a99cc5426dc9d260 (patch) | |
| tree | 6c55e4b0b571c49d01e1b355e52f72b6d5c069eb /src/ldgeneric.c | |
| parent | b47d290a36509e26e145f6d3eb2e6590ec6c554d (diff) | |
Add aliases for elf_getshnum and elf_getshstrndx.
Sun in their implementation messed up the semantics of these functions.
To get back to source code compatibility they asked for a solution.
We simply add aliases for the two affected functions, named
elf_getshdrnum and elf_getshdrstrndx. The semantics remains the
same. Users of the old interfaces receive a warning for now. In
future we might make it impossible to link programs which request
the old interfaces (binary compatibility will of course be maintained).
Diffstat (limited to 'src/ldgeneric.c')
| -rw-r--r-- | src/ldgeneric.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/ldgeneric.c b/src/ldgeneric.c index 8df2a57e..b2ea2f90 100644 --- a/src/ldgeneric.c +++ b/src/ldgeneric.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2008 Red Hat, Inc. +/* Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2008, 2009 Red Hat, Inc. This file is part of Red Hat elfutils. Written by Ulrich Drepper <[email protected]>, 2001. @@ -656,7 +656,7 @@ check_definition (const XElf_Sym *sym, size_t shndx, size_t symidx, Elf32_Word xndx; size_t shnum; - if (elf_getshnum (fileinfo->elf, &shnum) < 0) + if (elf_getshdrnum (fileinfo->elf, &shnum) < 0) error (EXIT_FAILURE, 0, gettext ("cannot determine number of sections: %s"), elf_errmsg (-1)); @@ -1117,7 +1117,7 @@ add_relocatable_file (struct usedfiles *fileinfo, GElf_Word secttype) assert (fileinfo->elf != NULL); /* Allocate memory for the sections. */ - if (unlikely (elf_getshnum (fileinfo->elf, &scncnt) < 0)) + if (unlikely (elf_getshdrnum (fileinfo->elf, &scncnt) < 0)) error (EXIT_FAILURE, 0, gettext ("cannot determine number of sections: %s"), elf_errmsg (-1)); @@ -1619,7 +1619,7 @@ add_relocatable_file (struct usedfiles *fileinfo, GElf_Word secttype) #ifndef NDEBUG size_t shnum; - assert (elf_getshnum (fileinfo->elf, &shnum) == 0); + assert (elf_getshdrnum (fileinfo->elf, &shnum) == 0); assert (shndx < shnum); #endif @@ -2038,7 +2038,7 @@ file_process2 (struct usedfiles *fileinfo) } /* Determine the section header string table section index. */ - if (unlikely (elf_getshstrndx (fileinfo->elf, &fileinfo->shstrndx) + if (unlikely (elf_getshdrstrndx (fileinfo->elf, &fileinfo->shstrndx) < 0)) { fprintf (stderr, gettext ("\ @@ -4148,7 +4148,7 @@ compute_hash_sum (void (*hashfct) (const void *, size_t, void *), void *ctx) { /* The call cannot fail. */ size_t shstrndx; - (void) elf_getshstrndx (ld_state.outelf, &shstrndx); + (void) elf_getshdrstrndx (ld_state.outelf, &shstrndx); const char *ident = elf_getident (ld_state.outelf, NULL); bool same_byte_order = ((ident[EI_DATA] == ELFDATA2LSB |
