[Bug bootstrap/54209] [4.8 Regression] Failed to build gcc for Android/x86
chaoyingfu at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Aug 9 17:24:00 GMT 2012
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54209
--- Comment #2 from chaoyingfu at gcc dot gnu.org <chaoyingfu at gcc dot gnu.org> 2012-08-09 17:23:40 UTC ---
MIPS provides a version of link.h in Android NDK as follows:
Ex:
>From android-ndk-r8b/platforms/android-9/arch-mips/usr/include# cat link.h
/*
For building unwind-dw2-fde-glibc.c for MIPS frame unwinding,
we need to have <link.h> that defines struct dl_phdr_info,
ELFW(type), and dl_iterate_phdr().
*/
#include <sys/types.h>
#include <elf.h>
struct dl_phdr_info
{
Elf32_Addr dlpi_addr;
const char *dlpi_name;
const Elf32_Phdr *dlpi_phdr;
Elf32_Half dlpi_phnum;
};
#if _MIPS_SZPTR == 32
#define ElfW(type) Elf32_##type
#elif _MIPS_SZPTR == 64
#define ElfW(type) Elf64_##type
#endif
int
dl_iterate_phdr(int (*cb)(struct dl_phdr_info *info, size_t size, void *data),
void *data);
For x86, you can create link.h as well. Or we can guard this define with
MIPS targets.
Ex:
#if !defined(inhibit_libc) && defined(HAVE_LD_EH_FRAME_HDR) \
&& defined(__BIONIC__) && defined(__mips__)
# define USE_PT_GNU_EH_FRAME
#endif
Thanks!
More information about the Gcc-bugs
mailing list