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!

Reply via email to