Properly mark all internal function definitions.

Since we banned old style function definitions GCC is able to diagnose
function definitions that don't match the function declaration:

  elf32_getehdr.c:78: error: conflicting types for ‘__elf64_getehdr_wrlock’
  libelfP.h:498: note: previous declaration of ‘__elf64_getehdr_wrlock’

This happens on i386 because there internal functions are marked with:

  # define internal_function __attribute__ ((regparm (3), stdcall))

Make sure all internal function declarations and definitions are marked
with internal_function.

Signed-off-by: Mark Wielaard <mjw@redhat.com>
This commit is contained in:
Mark Wielaard
2015-09-23 20:44:06 +02:00
parent 1ccdfb683a
commit d8698e55cb
17 changed files with 44 additions and 0 deletions
+7
View File
@@ -1,3 +1,10 @@
2015-09-23 Mark Wielaard <mjw@redhat.com>
* asm_align.c (__libasm_ensure_section_space): Mark as
internal_function.
* asm_end.c (__libasm_finictx): Likewise.
* asm_error.c (__libasm_seterrno): Likewise.
2015-09-22 Mark Wielaard <mjw@redhat.com>
* asm_*.c: Remove old-style function definitions.
+1
View File
@@ -132,6 +132,7 @@ asm_align (AsmScn_t *asmscn, GElf_Word value)
/* Ensure there are at least LEN bytes available in the output buffer
for ASMSCN. */
int
internal_function
__libasm_ensure_section_space (AsmScn_t *asmscn, size_t len)
{
/* The blocks with the section content are kept in a circular
+1
View File
@@ -554,6 +554,7 @@ free_section (AsmScn_t *scnp)
void
internal_function
__libasm_finictx (AsmCtx_t *ctx)
{
/* Iterate through section table and free individual entries. */
+1
View File
@@ -52,6 +52,7 @@ asm_errno (void)
void
internal_function
__libasm_seterrno (int value)
{
global_error = value;
+7
View File
@@ -1,3 +1,10 @@
2015-09-23 Mark Wielaard <mjw@redhat.com>
* dwarf_error.c (__libdw_seterrno): Mark as internal_function.
* dwarf_formref.c (__libdw_formref): Likewise.
* libdw_findcu.c (__libdw_findcu): Likewise.
* libdw_visit_scopes.c (__libdw_visit_scopes): Likewise.
2015-09-22 Mark Wielaard <mjw@redhat.com>
* *.c: Remove old-style function definitions.
+1
View File
@@ -100,6 +100,7 @@ static const char *errmsgs[] =
void
internal_function
__libdw_seterrno (int value)
{
global_error = (value >= 0 && value < (int) nerrmsgs
+1
View File
@@ -35,6 +35,7 @@
#include "libdwP.h"
int
internal_function
__libdw_formref (Dwarf_Attribute *attr, Dwarf_Off *return_offset)
{
const unsigned char *datap = attr->valp;
+1
View File
@@ -133,6 +133,7 @@ __libdw_intern_next_unit (Dwarf *dbg, bool debug_types)
}
struct Dwarf_CU *
internal_function
__libdw_findcu (Dwarf *dbg, Dwarf_Off start, bool debug_types)
{
void **tree = debug_types ? &dbg->tu_tree : &dbg->cu_tree;
+1
View File
@@ -65,6 +65,7 @@ may_have_scopes (Dwarf_Die *die)
}
int
internal_function
__libdw_visit_scopes (unsigned int depth, struct Dwarf_Die_Chain *root,
struct Dwarf_Die_Chain *imports,
int (*previsit) (unsigned int,
+14
View File
@@ -1,3 +1,17 @@
2015-09-23 Mark Wielaard <mjw@redhat.com>
* elf32_getehdr.c (getehdr_wrlock): Mark as internal_function.
* elf32_getshdr.c (getshdr_rdlock): Likewise.
(getshdr_wrlock): Likewise.
* elf_error.c (__libelf_seterrno): Likewise.
* elf_getphdrnum.c (__elf_getphdrnum_rdlock): Likewise.
(__elf_getphdrnum_chk_rdlock): Likewise.
* elf_getshdrnum.c (__elf_getphdrnum_rdlock): Likewise.
(__elf_getphdrnum_chk_rdlock): Likewise.
* elf_getshdrnum.c (__elf_getshdrnum_rdlock): Likewise.
* elf_readall.c (__libelf_readall): Likewise.
* gelf_getehdr.c (__gelf_getehdr_rdlock): Likewise.
2015-09-22 Mark Wielaard <mjw@redhat.com>
* *.c: Remove old-style function definitions.
+1
View File
@@ -75,6 +75,7 @@ getehdr_impl (Elf *elf, int wrlock)
}
ElfW2(LIBELFBITS,Ehdr) *
internal_function
__elfw2(LIBELFBITS,getehdr_wrlock) (Elf *elf)
{
return getehdr_impl (elf, 1);
+2
View File
@@ -243,6 +243,7 @@ scn_valid (Elf_Scn *scn)
}
ElfW2(LIBELFBITS,Shdr) *
internal_function
__elfw2(LIBELFBITS,getshdr_rdlock) (Elf_Scn *scn)
{
ElfW2(LIBELFBITS,Shdr) *result;
@@ -264,6 +265,7 @@ __elfw2(LIBELFBITS,getshdr_rdlock) (Elf_Scn *scn)
}
ElfW2(LIBELFBITS,Shdr) *
internal_function
__elfw2(LIBELFBITS,getshdr_wrlock) (Elf_Scn *scn)
{
ElfW2(LIBELFBITS,Shdr) *result;
+1
View File
@@ -283,6 +283,7 @@ static const uint_fast16_t msgidx[ELF_E_NUM] =
void
internal_function
__libelf_seterrno (int value)
{
global_error = value >= 0 && value < nmsgidx ? value : ELF_E_UNKNOWN_ERROR;
+2
View File
@@ -38,6 +38,7 @@
int
internal_function
__elf_getphdrnum_rdlock (Elf *elf, size_t *dst)
{
if (unlikely (elf->state.elf64.ehdr == NULL))
@@ -78,6 +79,7 @@ __elf_getphdrnum_rdlock (Elf *elf, size_t *dst)
}
int
internal_function
__elf_getphdrnum_chk_rdlock (Elf *elf, size_t *dst)
{
int result = __elf_getphdrnum_rdlock (elf, dst);
+1
View File
@@ -39,6 +39,7 @@
int
internal_function
__elf_getshdrnum_rdlock (Elf *elf, size_t *dst)
{
int result = 0;
+1
View File
@@ -66,6 +66,7 @@ set_address (Elf *elf, size_t offset)
char *
internal_function
__libelf_readall (Elf *elf)
{
/* Get the file. */
+1
View File
@@ -40,6 +40,7 @@
GElf_Ehdr *
internal_function
__gelf_getehdr_rdlock (Elf *elf, GElf_Ehdr *dest)
{
GElf_Ehdr *result = NULL;