aboutsummaryrefslogtreecommitdiff
path: root/bfd
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2022-05-27 15:28:34 +0930
committerAlan Modra <amodra@gmail.com>2022-05-27 22:08:59 +0930
commit601598589589734c21bacfc00cd4aed4f3fd1a1f (patch)
tree0aa92f84b76198ccaa2ba47b2ad647b920639289 /bfd
parent65d13793d9ea142bc4383216e375b24cfa654751 (diff)
downloadgdb-601598589589734c21bacfc00cd4aed4f3fd1a1f.zip
gdb-601598589589734c21bacfc00cd4aed4f3fd1a1f.tar.gz
gdb-601598589589734c21bacfc00cd4aed4f3fd1a1f.tar.bz2
Replace bfd_hostptr_t with uintptr_t
bfd_hostptr_t is defined as a type large enough to hold either a long or a pointer. It mostly appears in the coff backend code in casts. include/coff/internal.h struct internal_syment and union internal_auxent have the only uses in data structures, where comparison with include/coff/external.h and other code reveals that the type only needs to be large enough for a 32-bit integer or a pointer. That should mean replacing with uintptr_t is OK.
Diffstat (limited to 'bfd')
-rw-r--r--bfd/Makefile.in1
-rw-r--r--bfd/bfd-in.h3
-rw-r--r--bfd/bfd-in2.h3
-rw-r--r--bfd/coff-bfd.c2
-rw-r--r--bfd/coffcode.h4
-rw-r--r--bfd/coffgen.c57
-rwxr-xr-xbfd/configure11
-rw-r--r--bfd/configure.ac6
-rw-r--r--bfd/configure.com6
-rw-r--r--bfd/elflink.c3
-rw-r--r--bfd/peicode.h2
11 files changed, 38 insertions, 60 deletions
diff --git a/bfd/Makefile.in b/bfd/Makefile.in
index 9999a07..741e08d 100644
--- a/bfd/Makefile.in
+++ b/bfd/Makefile.in
@@ -330,7 +330,6 @@ AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
-BFD_HOSTPTR_T = @BFD_HOSTPTR_T@
BFD_HOST_64BIT_LONG = @BFD_HOST_64BIT_LONG@
CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@
diff --git a/bfd/bfd-in.h b/bfd/bfd-in.h
index 8c4c838..dce682a 100644
--- a/bfd/bfd-in.h
+++ b/bfd/bfd-in.h
@@ -77,9 +77,6 @@ extern "C" {
#define BFD64
#endif
-/* Declaring a type wide enough to hold a host long and a host pointer. */
-typedef @BFD_HOSTPTR_T@ bfd_hostptr_t;
-
/* Forward declaration. */
typedef struct bfd bfd;
diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
index 8140b50..25061e1 100644
--- a/bfd/bfd-in2.h
+++ b/bfd/bfd-in2.h
@@ -84,9 +84,6 @@ extern "C" {
#define BFD64
#endif
-/* Declaring a type wide enough to hold a host long and a host pointer. */
-typedef @BFD_HOSTPTR_T@ bfd_hostptr_t;
-
/* Forward declaration. */
typedef struct bfd bfd;
diff --git a/bfd/coff-bfd.c b/bfd/coff-bfd.c
index 93ded37..2152bec 100644
--- a/bfd/coff-bfd.c
+++ b/bfd/coff-bfd.c
@@ -46,7 +46,7 @@ bfd_coff_get_syment (bfd *abfd,
if (csym->native->fix_value)
psyment->n_value =
- ((psyment->n_value - (bfd_hostptr_t) obj_raw_syments (abfd))
+ ((psyment->n_value - (uintptr_t) obj_raw_syments (abfd))
/ sizeof (combined_entry_type));
/* FIXME: We should handle fix_line here. */
diff --git a/bfd/coffcode.h b/bfd/coffcode.h
index 1ffb603..36e0702 100644
--- a/bfd/coffcode.h
+++ b/bfd/coffcode.h
@@ -4620,7 +4620,7 @@ coff_slurp_symbol_table (bfd * abfd)
BFD_ASSERT (src->is_sym);
dst->symbol.name = (char *) (src->u.syment._n._n_n._n_offset);
/* We use the native name field to point to the cached field. */
- src->u.syment._n._n_n._n_zeroes = (bfd_hostptr_t) dst;
+ src->u.syment._n._n_n._n_zeroes = (uintptr_t) dst;
dst->symbol.section = coff_section_from_bfd_index (abfd,
src->u.syment.n_scnum);
dst->symbol.flags = 0;
@@ -4829,7 +4829,7 @@ coff_slurp_symbol_table (bfd * abfd)
to the symbol instead of the index. FIXME: This
should use a union. */
src->u.syment.n_value
- = (bfd_hostptr_t) (native_symbols + src->u.syment.n_value);
+ = (uintptr_t) (native_symbols + src->u.syment.n_value);
dst->symbol.value = src->u.syment.n_value;
src->fix_value = 1;
break;
diff --git a/bfd/coffgen.c b/bfd/coffgen.c
index 0f0a785..c693cfc 100644
--- a/bfd/coffgen.c
+++ b/bfd/coffgen.c
@@ -803,8 +803,8 @@ coff_mangle_symbols (bfd *bfd_ptr)
{
/* FIXME: We should use a union here. */
s->u.syment.n_value =
- (bfd_hostptr_t) ((combined_entry_type *)
- ((bfd_hostptr_t) s->u.syment.n_value))->offset;
+ (uintptr_t) ((combined_entry_type *)
+ (uintptr_t) s->u.syment.n_value)->offset;
s->fix_value = 0;
}
if (s->fix_line)
@@ -1833,10 +1833,12 @@ coff_get_normalized_symtab (bfd *abfd)
if ((bfd_size_type)(aux->u.auxent.x_file.x_n.x_n.x_offset)
>= obj_coff_strings_len (abfd))
- internal_ptr->u.syment._n._n_n._n_offset = (bfd_hostptr_t) _("<corrupt>");
+ internal_ptr->u.syment._n._n_n._n_offset =
+ (uintptr_t) _("<corrupt>");
else
internal_ptr->u.syment._n._n_n._n_offset =
- (bfd_hostptr_t) (string_table + (aux->u.auxent.x_file.x_n.x_n.x_offset));
+ (uintptr_t) (string_table
+ + aux->u.auxent.x_file.x_n.x_n.x_offset);
}
else
{
@@ -1846,13 +1848,13 @@ coff_get_normalized_symtab (bfd *abfd)
if (internal_ptr->u.syment.n_numaux > 1
&& coff_data (abfd)->pe)
internal_ptr->u.syment._n._n_n._n_offset =
- (bfd_hostptr_t)
- copy_name (abfd,
- aux->u.auxent.x_file.x_n.x_fname,
- internal_ptr->u.syment.n_numaux * symesz);
+ ((uintptr_t)
+ copy_name (abfd,
+ aux->u.auxent.x_file.x_n.x_fname,
+ internal_ptr->u.syment.n_numaux * symesz));
else
internal_ptr->u.syment._n._n_n._n_offset =
- ((bfd_hostptr_t)
+ ((uintptr_t)
copy_name (abfd,
aux->u.auxent.x_file.x_n.x_fname,
(size_t) bfd_coff_filnmlen (abfd)));
@@ -1877,14 +1879,16 @@ coff_get_normalized_symtab (bfd *abfd)
if ((bfd_size_type)(aux->u.auxent.x_file.x_n.x_n.x_offset)
>= obj_coff_strings_len (abfd))
- aux->u.auxent.x_file.x_n.x_n.x_offset = (bfd_hostptr_t) _("<corrupt>");
+ aux->u.auxent.x_file.x_n.x_n.x_offset =
+ (uintptr_t) _("<corrupt>");
else
aux->u.auxent.x_file.x_n.x_n.x_offset =
- (bfd_hostptr_t) (string_table + (aux->u.auxent.x_file.x_n.x_n.x_offset));
+ (uintptr_t) (string_table
+ + (aux->u.auxent.x_file.x_n.x_n.x_offset));
}
else
aux->u.auxent.x_file.x_n.x_n.x_offset =
- ((bfd_hostptr_t)
+ ((uintptr_t)
copy_name (abfd,
aux->u.auxent.x_file.x_n.x_fname,
(size_t) bfd_coff_filnmlen (abfd)));
@@ -1909,11 +1913,11 @@ coff_get_normalized_symtab (bfd *abfd)
if (newstring == NULL)
return NULL;
strncpy (newstring, internal_ptr->u.syment._n._n_name, i);
- internal_ptr->u.syment._n._n_n._n_offset = (bfd_hostptr_t) newstring;
+ internal_ptr->u.syment._n._n_n._n_offset = (uintptr_t) newstring;
internal_ptr->u.syment._n._n_n._n_zeroes = 0;
}
else if (internal_ptr->u.syment._n._n_n._n_offset == 0)
- internal_ptr->u.syment._n._n_n._n_offset = (bfd_hostptr_t) "";
+ internal_ptr->u.syment._n._n_n._n_offset = (uintptr_t) "";
else if (!bfd_coff_symname_in_debug (abfd, &internal_ptr->u.syment))
{
/* Long name already. Point symbol at the string in the
@@ -1926,12 +1930,12 @@ coff_get_normalized_symtab (bfd *abfd)
}
if (internal_ptr->u.syment._n._n_n._n_offset >= obj_coff_strings_len (abfd)
|| string_table + internal_ptr->u.syment._n._n_n._n_offset < string_table)
- internal_ptr->u.syment._n._n_n._n_offset = (bfd_hostptr_t) _("<corrupt>");
+ internal_ptr->u.syment._n._n_n._n_offset =
+ (uintptr_t) _("<corrupt>");
else
internal_ptr->u.syment._n._n_n._n_offset =
- ((bfd_hostptr_t)
- (string_table
- + internal_ptr->u.syment._n._n_n._n_offset));
+ ((uintptr_t) (string_table
+ + internal_ptr->u.syment._n._n_n._n_offset));
}
else
{
@@ -1944,13 +1948,15 @@ coff_get_normalized_symtab (bfd *abfd)
/* PR binutils/17512: Catch out of range offsets into the debug data. */
if (internal_ptr->u.syment._n._n_n._n_offset > debug_sec->size
|| debug_sec_data + internal_ptr->u.syment._n._n_n._n_offset < debug_sec_data)
- internal_ptr->u.syment._n._n_n._n_offset = (bfd_hostptr_t) _("<corrupt>");
+ internal_ptr->u.syment._n._n_n._n_offset =
+ (uintptr_t) _("<corrupt>");
else
- internal_ptr->u.syment._n._n_n._n_offset = (bfd_hostptr_t)
- (debug_sec_data + internal_ptr->u.syment._n._n_n._n_offset);
+ internal_ptr->u.syment._n._n_n._n_offset =
+ (uintptr_t) (debug_sec_data
+ + internal_ptr->u.syment._n._n_n._n_offset);
}
else
- internal_ptr->u.syment._n._n_n._n_offset = (bfd_hostptr_t) "";
+ internal_ptr->u.syment._n._n_n._n_offset = (uintptr_t) "";
}
}
internal_ptr += internal_ptr->u.syment.n_numaux;
@@ -2035,8 +2041,8 @@ coff_get_symbol_info (bfd *abfd, asymbol *symbol, symbol_info *ret)
&& coffsymbol (symbol)->native->fix_value
&& coffsymbol (symbol)->native->is_sym)
ret->value
- = (((bfd_hostptr_t) coffsymbol (symbol)->native->u.syment.n_value
- - (bfd_hostptr_t) obj_raw_syments (abfd))
+ = (((uintptr_t) coffsymbol (symbol)->native->u.syment.n_value
+ - (uintptr_t) obj_raw_syments (abfd))
/ sizeof (combined_entry_type));
}
@@ -2085,8 +2091,7 @@ coff_print_symbol (bfd *abfd,
if (! combined->fix_value)
val = (bfd_vma) combined->u.syment.n_value;
else
- val = (((bfd_hostptr_t) combined->u.syment.n_value
- - (bfd_hostptr_t) root)
+ val = (((uintptr_t) combined->u.syment.n_value - (uintptr_t) root)
/ sizeof (combined_entry_type));
fprintf (file, "(sec %2d)(fl 0x%02x)(ty %4x)(scl %3d) (nx %d) 0x",
diff --git a/bfd/configure b/bfd/configure
index a0071d9..3d26562 100755
--- a/bfd/configure
+++ b/bfd/configure
@@ -656,7 +656,6 @@ zlibinc
zlibdir
EXEEXT_FOR_BUILD
CC_FOR_BUILD
-BFD_HOSTPTR_T
BFD_HOST_64BIT_LONG
HDEFINES
MSGMERGE
@@ -11088,7 +11087,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 11091 "configure"
+#line 11090 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -11194,7 +11193,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 11197 "configure"
+#line 11196 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -12843,18 +12842,12 @@ if test "x${ac_cv_sizeof_void_p}" = "x8"; then
fi
BFD_HOST_64BIT_LONG=0
-BFD_HOSTPTR_T="unsigned long"
if test "x${ac_cv_sizeof_long}" = "x8"; then
BFD_HOST_64BIT_LONG=1
-elif test "x${ac_cv_sizeof_long_long}" = "x8"; then
- if test "x${ac_cv_sizeof_void_p}" = "x8"; then
- BFD_HOSTPTR_T="unsigned long long"
- fi
fi
-
# Put a plausible default for CC_FOR_BUILD in Makefile.
if test -z "$CC_FOR_BUILD"; then
if test "x$cross_compiling" = "xno"; then
diff --git a/bfd/configure.ac b/bfd/configure.ac
index 52e9f8f..8ad0e05 100644
--- a/bfd/configure.ac
+++ b/bfd/configure.ac
@@ -219,17 +219,11 @@ if test "x${ac_cv_sizeof_void_p}" = "x8"; then
fi
BFD_HOST_64BIT_LONG=0
-BFD_HOSTPTR_T="unsigned long"
if test "x${ac_cv_sizeof_long}" = "x8"; then
BFD_HOST_64BIT_LONG=1
-elif test "x${ac_cv_sizeof_long_long}" = "x8"; then
- if test "x${ac_cv_sizeof_void_p}" = "x8"; then
- BFD_HOSTPTR_T="unsigned long long"
- fi
fi
AC_SUBST(BFD_HOST_64BIT_LONG)
-AC_SUBST(BFD_HOSTPTR_T)
BFD_CC_FOR_BUILD
diff --git a/bfd/configure.com b/bfd/configure.com
index 2418bdd..cc8499a 100644
--- a/bfd/configure.com
+++ b/bfd/configure.com
@@ -66,12 +66,6 @@ $DECK
ERASE(match_pos);
COPY_TEXT('0');
ENDIF;
- match_pos := SEARCH_QUIETLY('@BFD_HOSTPTR_T@', FORWARD, EXACT, rang);
- IF match_pos <> 0 THEN;
- POSITION(BEGINNING_OF(match_pos));
- ERASE(match_pos);
- COPY_TEXT('unsigned __int64');
- ENDIF;
match_pos := SEARCH_QUIETLY('@bfd_file_ptr@', FORWARD, EXACT, rang);
IF match_pos <> 0 THEN;
POSITION(BEGINNING_OF(match_pos));
diff --git a/bfd/elflink.c b/bfd/elflink.c
index fc3a335..e4f6df4 100644
--- a/bfd/elflink.c
+++ b/bfd/elflink.c
@@ -8372,8 +8372,7 @@ elf_create_symbuf (size_t symcount, Elf_Internal_Sym *isymbuf)
ssymhead->count++;
}
BFD_ASSERT ((size_t) (ssymhead - ssymbuf) == shndx_count
- && (((bfd_hostptr_t) ssym - (bfd_hostptr_t) ssymbuf)
- == total_size));
+ && (uintptr_t) ssym - (uintptr_t) ssymbuf == total_size);
free (indbuf);
return ssymbuf;
diff --git a/bfd/peicode.h b/bfd/peicode.h
index 0346bc2..02573c8 100644
--- a/bfd/peicode.h
+++ b/bfd/peicode.h
@@ -588,7 +588,7 @@ pe_ILF_make_a_symbol (pe_ILF_vars * vars,
/* Initialise the internal symbol structure. */
ent->u.syment.n_sclass = sclass;
ent->u.syment.n_scnum = section->target_index;
- ent->u.syment._n._n_n._n_offset = (bfd_hostptr_t) sym;
+ ent->u.syment._n._n_n._n_offset = (uintptr_t) sym;
ent->is_sym = true;
sym->symbol.the_bfd = vars->abfd;