[Bug bootstrap/54209] [4.8 Regression] Failed to build gcc for Android/x86
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54209 H.J. Lu changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution||WORKSFORME --- Comment #6 from H.J. Lu 2012-08-20 14:02:52 UTC --- link.h has been added to AOSP.
[Bug bootstrap/54209] [4.8 Regression] Failed to build gcc for Android/x86
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54209 --- Comment #5 from H.J. Lu 2012-08-09 19:08:49 UTC --- (In reply to comment #4) > > > > Why isn't link.h in AOSP Bionic C library? > > ARM doesn't use eh_frame, so there is no need to create link.h at the > beginning for the Android project, I guess. For MIPS, we create our own > link.h > to work with eh_frame unwinding. Thanks! In that case, it should also be added to x86.
[Bug bootstrap/54209] [4.8 Regression] Failed to build gcc for Android/x86
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54209 --- Comment #4 from chaoyingfu at gcc dot gnu.org 2012-08-09 18:45:41 UTC --- (In reply to comment #3) > (In reply to comment #2) > > 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 that defines struct dl_phdr_info, > >ELFW(type), and dl_iterate_phdr(). > > */ > > > > #include > > #include > > > > 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. > > Why isn't link.h in AOSP Bionic C library? ARM doesn't use eh_frame, so there is no need to create link.h at the beginning for the Android project, I guess. For MIPS, we create our own link.h to work with eh_frame unwinding. Thanks!
[Bug bootstrap/54209] [4.8 Regression] Failed to build gcc for Android/x86
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54209 H.J. Lu changed: What|Removed |Added CC||pavel.v.chupin at gmail dot ||com --- Comment #3 from H.J. Lu 2012-08-09 18:40:54 UTC --- (In reply to comment #2) > 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 that defines struct dl_phdr_info, >ELFW(type), and dl_iterate_phdr(). > */ > > #include > #include > > 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. Why isn't link.h in AOSP Bionic C library?
[Bug bootstrap/54209] [4.8 Regression] Failed to build gcc for Android/x86
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54209 --- Comment #2 from 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 that defines struct dl_phdr_info, ELFW(type), and dl_iterate_phdr(). */ #include #include 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!
[Bug bootstrap/54209] [4.8 Regression] Failed to build gcc for Android/x86
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54209 H.J. Lu changed: What|Removed |Added URL||http://gcc.gnu.org/ml/gcc-p ||atches/2012-08/msg00548.htm ||l --- Comment #1 from H.J. Lu 2012-08-09 16:41:09 UTC --- A patch is posted at http://gcc.gnu.org/ml/gcc-patches/2012-08/msg00548.html
[Bug bootstrap/54209] [4.8 Regression] Failed to build gcc for Android/x86
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54209 H.J. Lu changed: What|Removed |Added Target Milestone|--- |4.8.0