[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: cause for armel nss (i.e., firefox) build segfault



On Sun, May 06, 2007 at 03:40:02AM +0200, Lennert Buytenhek wrote:
> Looks sane?
> 
> It's of course a stupid idea to depend on a particular layout of the
> jmp_buf structure in application programs, but oh well.  People write
> ugly buggy code, film at 11.

The fpu part of the patch is apparently in mozilla bugzilla already:

https://bugzilla.mozilla.org/show_bug.cgi?query_format=specific&order=relevance+desc&bug_status=__open__&id=369722

> 
> cheers,
> Lennert
> 
> 
> --- nspr-4.6.6/mozilla/nsprpub/pr/src/misc/prdtoa.c.orig	2007-05-06 02:39:00.000000000 +0200
> +++ nspr-4.6.6/mozilla/nsprpub/pr/src/misc/prdtoa.c	2007-05-06 02:39:22.000000000 +0200
> @@ -59,8 +59,8 @@
>      /* FIXME: deal with freelist and p5s. */
>  }
>  
> -#if defined(__arm) || defined(__arm__) || defined(__arm26__) \
> -    || defined(__arm32__)
> +#if (defined(__arm) || defined(__arm__) || defined(__arm26__) \
> +    || defined(__arm32__)) && !defined(__ARM_EABI__) && !defined(__ARMEB__)
>  #define IEEE_ARM
>  #elif defined(IS_LITTLE_ENDIAN)
>  #define IEEE_8087
> --- nspr-4.6.6/mozilla/nsprpub/pr/include/md/_linux.h.orig	2007-05-06 02:39:45.000000000 +0200
> +++ nspr-4.6.6/mozilla/nsprpub/pr/include/md/_linux.h	2007-05-06 02:40:57.000000000 +0200
> @@ -346,7 +346,7 @@
>  #error "Linux/MIPS pre-glibc2 not supported yet"
>  #endif /* defined(__GLIBC__) && __GLIBC__ >= 2 */
>  
> -#elif defined(__arm__)
> +#elif defined(__arm__) && !defined(__ARM_EABI__)
>  /* ARM/Linux */
>  #if defined(__GLIBC__) && __GLIBC__ >= 2
>  #define _MD_GET_SP(_t) (_t)->md.context[0].__jmpbuf[20]
> @@ -358,6 +358,18 @@
>  #error "ARM/Linux pre-glibc2 not supported yet"
>  #endif /* defined(__GLIBC__) && __GLIBC__ >= 2 */
>  
> +#elif defined(__arm__) && defined(__ARM_EABI__)
> +/* ARM/Linux */
> +#if defined(__GLIBC__) && __GLIBC__ >= 2
> +#define _MD_GET_SP(_t) (_t)->md.context[0].__jmpbuf[8]
> +#define _MD_SET_FP(_t, val) ((_t)->md.context[0].__jmpbuf[7] = (val))
> +#define _MD_GET_SP_PTR(_t) &(_MD_GET_SP(_t))
> +#define _MD_GET_FP_PTR(_t) (&(_t)->md.context[0].__jmpbuf[7])
> +#define _MD_SP_TYPE __ptr_t
> +#else
> +#error "ARM/Linux pre-glibc2 not supported yet"
> +#endif /* defined(__GLIBC__) && __GLIBC__ >= 2 */
> +
>  #else
>  
>  #error "Unknown CPU architecture"
> 
> 
> -- 
> To UNSUBSCRIBE, email to debian-arm-REQUEST@lists.debian.org
> with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org

-- 
"rm -rf" only sounds scary if you don't have backups



Reply to: