Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 5 Mar 2017 20:26:49 -0800
From:      Mark Millard <markmi@dsl-only.net>
To:        Andrew Gierth <andrew@tao11.riddles.org.uk>, Warner Losh <imp@bsdimp.com>
Cc:        "freebsd-arm@freebsd.org" <freebsd-arm@freebsd.org>
Subject:   Re: Is CPUTYPE=cortex-A7 supposed to work?
Message-ID:  <3056BE0A-6441-4878-905D-741C61BDC47C@dsl-only.net>
In-Reply-To: <8760jnfvwp.fsf@news-spur.riddles.org.uk>
References:  <871suc3nv8.fsf@news-spur.riddles.org.uk> <CANCZdfq4EwH%2B_9FVNai8s6Y-gdTjHJ8dNkJwSrnF%2BSAkdwvYdg@mail.gmail.com> <87tw7820fc.fsf@news-spur.riddles.org.uk> <644D1F49-BF5D-409D-BFC4-4F7E6E73085B@dsl-only.net> <87lgsk1udz.fsf@news-spur.riddles.org.uk> <9677298B-5A5E-44BF-928E-28DDDADB310A@dsl-only.net> <87h93814rb.fsf@news-spur.riddles.org.uk> <70AE704A-C9FF-4742-88E9-147CD5B77BE8@dsl-only.net> <87tw77iwx6.fsf@news-spur.riddles.org.uk> <8760jnfvwp.fsf@news-spur.riddles.org.uk>

next in thread | previous in thread | raw e-mail | index | archive | help

On 2017-Mar-5, at 10:14 AM, Andrew Gierth <andrew@tao11.riddles.org.uk> =
wrote:

>>>>>> "Andrew" =3D=3D Andrew Gierth <andrew@tao11.riddles.org.uk> =
writes:
>=20
> Andrew> emacs-25.1,3 built with x11 support and running in graphical
> Andrew> mode is unstable; crashes randomly either with a mutex
> Andrew> assertion (enqueue_mutex complaining that the mutex is already
> Andrew> owned) or with SEGV. Running in text mode, it doesn't crash,
> Andrew> but hitting pagedown in some buffers (where there are many
> Andrew> similar lines) _reliably_ produces incorrect display output in
> Andrew> which some characters are displaced by 4:
>=20
> Extra bonus strangeness: recompiling just emacs without cortex-a7 does
> not fix either of these, so it's not an issue with miscompiling any of
> the emacs code. This is consistent with my experimentation with git.
>=20
> --=20
> Andrew.

I'm currently sticking with some known failures in the base system:
openssl speed failures. (A signal based program crash without X11
involved could be interesting.)

Disabling the use of NEON via a hack removes the "openssl speed"
problem. With:

/usr/src/crypto/openssl/crypto/armcap.c :

. . .
void OPENSSL_cpuid_setup(void)
{
. . .
    } else if (sigsetjmp(ill_jmp, 1) =3D=3D 0) {
        _armv7_neon_probe();
#ifndef DISABLE_HACK_THAT_AVOIDS_NEON
        OPENSSL_armcap_P |=3D ARMV7_NEON;
#endif
. . .

"openssl speed" completes normally.

This can also be done from gdb by setting OPENSSL_armcap_P
after the:

OPENSSL_armcap_P |=3D ARMV7_NEON;

executes in order to turn off the bit.


=3D=3D=3D
Mark Millard
markmi at dsl-only.net




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3056BE0A-6441-4878-905D-741C61BDC47C>