On Sat, May 19, 2018 at 10:03:46PM +0100, Stuart Henderson wrote: > I'm looking at a report of certbot (python letsencrypt client) failing > here: https://github.com/certbot/certbot/issues/6019 > > The reporter is trying to use it on 6.3 sparc64 and running into this: > > python2.7:/usr/local/lib/python2.7/site-packages/cryptography/hazmat/bindings/_openssl.so: > undefined symbol '__builtin_unreachable' > > To trigger: > > # pkg_add py-cryptography > $ python2.7 -c 'from cryptography.hazmat.bindings._openssl import ffi, lib' > > Can people with various non-x86 arches try that and let me know which > work/fail please?
__builtin_unreachable() was added in gcc 4.5 so it will fail on all gcc archs with 4.2. https://gcc.gnu.org/gcc-4.5/changes.html > > Any ideas for a way to fix it? The code involved is for things > like below (some are more complex functions but all involved with > per-OS-selection for RNG), they look like they're probably all > patchable if needed, though that wouldn't be the cleanest workaround. > > static const char *osurandom_get_implementation(void) { > switch(getentropy_works) { > case CRYPTOGRAPHY_OSRANDOM_GETENTROPY_FALLBACK: > return "/dev/urandom"; > case CRYPTOGRAPHY_OSRANDOM_GETENTROPY_WORKS: > return "getentropy"; > } > __builtin_unreachable(); > } >
