[Bug bootstrap/54209] [4.8 Regression] Failed to build gcc for Android/x86

2012-08-20 Thread hjl.tools at gmail dot com
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

2012-08-09 Thread hjl.tools at gmail dot com
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

2012-08-09 Thread chaoyingfu at gcc dot gnu.org
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

2012-08-09 Thread hjl.tools at gmail dot com
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

2012-08-09 Thread chaoyingfu at gcc dot gnu.org
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

2012-08-09 Thread hjl.tools at gmail dot com
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

2012-08-09 Thread hjl.tools at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54209

H.J. Lu  changed:

   What|Removed |Added

   Target Milestone|--- |4.8.0