* configure.ac: Check whether Elf32_auxv_t and Elf64_auxv_t

are available.
	* linux-low.c [HAVE_ELF32_AUXV_T] (Elf32_auxv_t): Add typedef.
	[HAVE_ELF64_AUXV_T] (Elf64_auxv_t): Likewise.
	* config.in: Regenerate.
	* configure: Likewise.
This commit is contained in:
Thiago Jung Bauermann
2012-03-30 20:23:16 +00:00
parent 9bc3523d11
commit 8365dcf5f8
5 changed files with 73 additions and 0 deletions

View File

@ -1,3 +1,12 @@
2012-03-30 Thiago Jung Bauermann <thiago.bauermann@linaro.org>
* configure.ac: Check whether Elf32_auxv_t and Elf64_auxv_t
are available.
* linux-low.c [HAVE_ELF32_AUXV_T] (Elf32_auxv_t): Add typedef.
[HAVE_ELF64_AUXV_T] (Elf64_auxv_t): Likewise.
* config.in: Regenerate.
* configure: Likewise.
2012-03-29 Pedro Alves <palves@redhat.com>
* linux-low.c (regsets_store_inferior_registers) [__sparc__]:

View File

@ -49,6 +49,12 @@
/* Define to 1 if you have the `dladdr' function. */
#undef HAVE_DLADDR
/* Define to 1 if the system has the type `Elf32_auxv_t'. */
#undef HAVE_ELF32_AUXV_T
/* Define to 1 if the system has the type `Elf64_auxv_t'. */
#undef HAVE_ELF64_AUXV_T
/* Define if <sys/procfs.h> has elf_fpregset_t. */
#undef HAVE_ELF_FPREGSET_T

View File

@ -4474,6 +4474,30 @@ _ACEOF
fi
ac_fn_c_check_type "$LINENO" "Elf32_auxv_t" "ac_cv_type_Elf32_auxv_t" "#include <elf.h>
"
if test "x$ac_cv_type_Elf32_auxv_t" = x""yes; then :
cat >>confdefs.h <<_ACEOF
#define HAVE_ELF32_AUXV_T 1
_ACEOF
fi
ac_fn_c_check_type "$LINENO" "Elf64_auxv_t" "ac_cv_type_Elf64_auxv_t" "#include <elf.h>
"
if test "x$ac_cv_type_Elf64_auxv_t" = x""yes; then :
cat >>confdefs.h <<_ACEOF
#define HAVE_ELF64_AUXV_T 1
_ACEOF
fi
# Check whether --with-pkgversion was given.

View File

@ -168,6 +168,10 @@ AC_CHECK_TYPES(socklen_t, [], [],
#include <sys/socket.h>
])
AC_CHECK_TYPES([Elf32_auxv_t, Elf64_auxv_t], [], [],
#include <elf.h>
)
ACX_PKGVERSION([GDB])
ACX_BUGURL([http://www.gnu.org/software/gdb/bugs/])
AC_DEFINE_UNQUOTED([PKGVERSION], ["$PKGVERSION"], [Additional package description])

View File

@ -82,6 +82,36 @@
#endif
#endif
#ifndef HAVE_ELF32_AUXV_T
/* Copied from glibc's elf.h. */
typedef struct
{
uint32_t a_type; /* Entry type */
union
{
uint32_t a_val; /* Integer value */
/* We use to have pointer elements added here. We cannot do that,
though, since it does not work when using 32-bit definitions
on 64-bit platforms and vice versa. */
} a_un;
} Elf32_auxv_t;
#endif
#ifndef HAVE_ELF64_AUXV_T
/* Copied from glibc's elf.h. */
typedef struct
{
uint64_t a_type; /* Entry type */
union
{
uint64_t a_val; /* Integer value */
/* We use to have pointer elements added here. We cannot do that,
though, since it does not work when using 32-bit definitions
on 64-bit platforms and vice versa. */
} a_un;
} Elf64_auxv_t;
#endif
/* ``all_threads'' is keyed by the LWP ID, which we use as the GDB protocol
representation of the thread ID.