This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: [PATCH] Fix IA-64 _Unwind_FindTableEntry (GCC 3.0.1 vs GLIBC 2.2.4 solution part)


On Thu, Jul 19, 2001 at 12:23:19PM +0100, Andrew Haley wrote:
> Jakub Jelinek writes:
>  > 
>  > This patch, which depends on
>  > http://sources.redhat.com/ml/libc-alpha/2001-07/msg00264.html
>  > being added to GLIBC, fixes _Unwind_FindTableEntry.
> 
> Does this break gcc on platforms with an earlier glibc?

This is an IA-64 only patch. It adds requirement that GCC 3.0.1 requirement
can be only compiled on IA-64 with GLIBC 2.2.4+, but not on other arches.
AFAIK Jes had nothing against having the GCC 3.0.1 dependancy on GLIBC
2.2.4. If that causes trouble to anyone, some configure check could be added
and a different (but broken) fde-glibc implementation could be used it GCC
was not built on GLIBC 2.2.4+. Something like:
weak_extern (_DYNAMIC);

...
if (&_DYNAMIC == NULL)
  {
    extern unsigned long ip_segrel;
    asm (".section .rodata; ip_segrel: data8 @segrel(ip#); .previous");
    asm ("ip: mov %0 = ip" : "=r" (ip));
    ehdr = (ElfW(Ehdr) *) (ip - ip_segrel);
  }
else
  {
    do the broken _dl_loaded walk;
  }

This would mean that libgcc.a resp libgcc_s.so build that way couldn't every
be used with any prelinked library though (prelinking for IA-64 scheduled to
be available soon).

	Jakub


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]