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: