FYI, this implies the ulong-accessed bitstring change is ABI-breaking for ARM userspace and maybe shouldn't go to stable/10. Best, Conrad On Mon, Jun 13, 2016 at 11:04 AM, Conrad Meyer <cem_at_freebsd.org> wrote: > I expect it's because: > > 1. bitstr_size() is just bytes (doesn't round up to sizeof(bitstr_t == > unsigned long)) > 2. The userspace version of bit_alloc() uses calloc(bitstr_size(), 1) > (an array of nmemb=bitstr_size() size=bytes, doesn't have to be > 'unsigned long' sized or aligned). > 3. Various bit_* functions access the result as if it's an array of > 'unsigned long', when it was allocated as a single-byte array (no > ulong alignment or size). > 4. ARM isn't as happy about unaligned accesses as x86. > > I'd make the following change (needs sys/param.h, not compile tested) > and see if it fixes it: > > --- sys/bitstring.h (revision 301805) > +++ sys/bitstring.h (working copy) > _at__at_ -119,7 +119,8 _at__at_ > static inline bitstr_t * > bit_alloc(int _nbits) > { > - return ((bitstr_t *)calloc(bitstr_size(_nbits), 1)); > + return (calloc(howmany(bitstr_size(_nbits), sizeof(bitstr_t)), > + sizeof(bitstr_t))); > } > #endif > > > > > > > On Mon, Jun 13, 2016 at 10:49 AM, Alan Somers <asomers_at_freebsd.org> wrote: >> Please open a bug for the bitstring test failures and assign it to me. >> Also, since I don't have any arm hardware, please provide instructions >> on how to run this code in a VM, or where I can get access to the >> hardware. >> >> -Alan >> >> On Mon, Jun 13, 2016 at 11:29 AM, Mark Millard <markmi_at_dsl-only.net> wrote: >>> With the newly less strict alignment requirements "kyua test -k /usr/tests/Kyuafile" runs to completion, unlike before. >>> >>>> ===> Summary >>>> Results read from /root/.kyua/store/results.usr_tests.20160613-080302-120731.db >>>> Test cases: 5694 total, 54 skipped, 21 expected failures, 24 broken, 59 failed >>>> Total time: 8723.243s >>> >>> >>> I only list the one line summaries below. Then I list various context details. >>> >>>> ===> Broken tests >>>> lib/msun/cexp_test:main -> broken: Received signal 6 [1.054s] >>>> lib/msun/ctrig_test:main -> broken: Received signal 6 [1.074s] >>>> lib/msun/exponential_test:main -> broken: Received signal 6 [1.045s] >>>> lib/msun/fenv_test:main -> broken: Received signal 6 [1.048s] >>>> lib/msun/fma_test:main -> broken: Received signal 6 [1.080s] >>>> lib/msun/invctrig_test:main -> broken: Received signal 6 [1.091s] >>>> lib/msun/invtrig_test:main -> broken: Received signal 6 [1.086s] >>>> lib/msun/logarithm_test:main -> broken: Received signal 6 [1.054s] >>>> lib/msun/lrint_test:main -> broken: Received signal 6 [1.069s] >>>> lib/msun/nearbyint_test:main -> broken: Received signal 6 [1.066s] >>>> lib/msun/rem_test:main -> broken: Received signal 6 [1.069s] >>>> lib/msun/trig_test:main -> broken: Received signal 6 [1.070s] >>>> sbin/growfs/legacy_test:main -> broken: Reported plan differs from actual executed tests [0.459s] >>>> sys/geom/class/eli/integrity_copy_test:main -> broken: Test case timed out [1200.082s] >>>> sys/geom/class/eli/integrity_hmac_test:main -> broken: Test case timed out [600.138s] >>>> sys/geom/class/eli/onetime_a_test:main -> broken: Test case timed out [600.044s] >>>> sys/sys/bitstring_test:bit_clear -> broken: Test case body timed out [300.032s] >>>> sys/sys/bitstring_test:bit_count -> broken: Premature exit; test case received signal 11 (core dumped) [1.080s] >>>> sys/sys/bitstring_test:bit_ffc -> broken: Premature exit; test case received signal 11 (core dumped) [1.077s] >>>> sys/sys/bitstring_test:bit_ffc_at -> broken: Premature exit; test case received signal 11 (core dumped) [1.081s] >>>> sys/sys/bitstring_test:bit_ffs -> broken: Premature exit; test case received signal 11 (core dumped) [1.082s] >>>> sys/sys/bitstring_test:bit_ffs_at -> broken: Premature exit; test case received signal 11 (core dumped) [1.077s] >>>> sys/sys/bitstring_test:bit_nclear -> broken: Premature exit; test case received signal 11 (core dumped) [1.083s] >>>> sys/sys/bitstring_test:bit_nset -> broken: Premature exit; test case received signal 11 (core dumped) [1.079s] >>> >>> >>>> ===> Failed tests >>>> lib/libc/c063/fstatat_test:fstatat_fd -> failed: /usr/src/contrib/netbsd-tests/lib/libc/c063/t_fstatat.c:74: memcmp(&st1, &st2, sizeof(st1)) == 0 not met [0. >>>> 027s] >>>> lib/libc/nss/gethostby_test:getipnodebyname_getaddrinfo_ipv4 -> failed: /usr/src/lib/libc/tests/nss/gethostby_test.c:1335: run_tests(_hostlist_file, _snapshot >>>> _file, 2, TEST_GETHOSTBYNAME2_GETADDRINFO, 0) == 0 not met [15.315s] >>>> lib/libc/ssp/ssp_test:fgets -> failed: Test case body returned a non-ok exit code, but this is not allowed [0.153s] >>>> lib/libc/ssp/ssp_test:gets -> failed: Test case body returned a non-ok exit code, but this is not allowed [0.158s] >>>> lib/libc/ssp/ssp_test:memcpy -> failed: atf-check failed; see the output of the test for details [0.148s] >>>> lib/libc/ssp/ssp_test:memmove -> failed: atf-check failed; see the output of the test for details [0.147s] >>>> lib/libc/ssp/ssp_test:memset -> failed: atf-check failed; see the output of the test for details [0.147s] >>>> lib/libc/ssp/ssp_test:read -> failed: Test case body returned a non-ok exit code, but this is not allowed [0.154s] >>>> lib/libc/ssp/ssp_test:readlink -> failed: atf-check failed; see the output of the test for details [0.155s] >>>> lib/libc/ssp/ssp_test:snprintf -> failed: atf-check failed; see the output of the test for details [0.149s] >>>> lib/libc/ssp/ssp_test:sprintf -> failed: atf-check failed; see the output of the test for details [0.149s] >>>> lib/libc/ssp/ssp_test:stpcpy -> failed: atf-check failed; see the output of the test for details [0.149s] >>>> lib/libc/ssp/ssp_test:stpncpy -> failed: atf-check failed; see the output of the test for details [0.147s] >>>> lib/libc/ssp/ssp_test:strcat -> failed: atf-check failed; see the output of the test for details [0.147s] >>>> lib/libc/ssp/ssp_test:strcpy -> failed: atf-check failed; see the output of the test for details [0.147s] >>>> lib/libc/ssp/ssp_test:strncat -> failed: atf-check failed; see the output of the test for details [0.147s] >>>> lib/libc/ssp/ssp_test:strncpy -> failed: atf-check failed; see the output of the test for details [0.146s] >>>> lib/libc/ssp/ssp_test:vsnprintf -> failed: atf-check failed; see the output of the test for details [0.150s] >>>> lib/libc/ssp/ssp_test:vsprintf -> failed: atf-check failed; see the output of the test for details [0.148s] >>>> lib/libc/stdio/printbasic_test:int_within_limits -> failed: printf("%tu", (size_t)-1) ==> [18446744073709551615], expected [4294967295]<<NEWLINE>> [0.030s] >>>> lib/libc/stdio/scanfloat_test:infinities_and_nans -> failed: /usr/src/lib/libc/tests/stdio/scanfloat_test.c:191: fetestexcept(FE_INVALID) == 0 not met [0.031 >>>> s] >>>> lib/libc/sys/mincore_test:mincore_resid -> failed: /usr/src/contrib/netbsd-tests/lib/libc/sys/t_mincore.c:225: check_residency(addr, npgs) == 0 not met [0.04 >>>> 0s] >>>> lib/libc/sys/mincore_test:mincore_shmseg -> failed: /usr/src/contrib/netbsd-tests/lib/libc/sys/t_mincore.c:298: check_residency(addr, npgs) == 0 not met [0.0 >>>> 29s] >>>> lib/libc/tls/tls_dynamic_test:t_tls_dynamic -> failed: 15 checks failed; see output for more details [0.035s] >>>> lib/libproc/proc_test:symbol_lookup -> failed: /usr/src/lib/libproc/tests/proc_test.c:116: state != PS_STOP: process has state 4 [0.177s] >>>> lib/libxo/functional_test:test_02__E -> failed: atf-check failed; see the output of the test for details [0.166s] >>>> lib/libxo/functional_test:test_02__H -> failed: atf-check failed; see the output of the test for details [0.168s] >>>> lib/libxo/functional_test:test_02__HIPx -> failed: atf-check failed; see the output of the test for details [0.170s] >>>> lib/libxo/functional_test:test_02__HP -> failed: atf-check failed; see the output of the test for details [0.164s] >>>> lib/libxo/functional_test:test_02__J -> failed: atf-check failed; see the output of the test for details [0.169s] >>>> lib/libxo/functional_test:test_02__JP -> failed: atf-check failed; see the output of the test for details [0.166s] >>>> lib/libxo/functional_test:test_02__T -> failed: atf-check failed; see the output of the test for details [0.168s] >>>> lib/libxo/functional_test:test_02__X -> failed: atf-check failed; see the output of the test for details [0.169s] >>>> lib/libxo/functional_test:test_02__XP -> failed: atf-check failed; see the output of the test for details [0.168s] >>>> lib/msun/conj_test:main -> failed: 9 tests of 42 failed [0.034s] >>>> lib/msun/ldexp_test:ldexp_denormal -> failed: 4 checks failed; see output for more details [0.034s] >>>> local/kyua/model/metadata_test:override_all_with_set_string -> failed: Line 253: disk_space != md.required_disk_space() (16777216.00T != 2.00G) [0.047s] >>>> local/kyua/testers/stacktrace_test:dump__cannot_find_gdb -> failed: testers/stacktrace_test.c:281: atf_utils_grep_file("execvp failed", "stacktrace") not met >>>> [0.611s] >>>> local/kyua/testers/stacktrace_test:dump__gdb_fail -> failed: testers/stacktrace_test.c:294: atf_utils_grep_file("foo", "stacktrace") not met [0.610s] >>>> local/kyua/testers/stacktrace_test:dump__gdb_times_out -> failed: testers/stacktrace_test.c:311: atf_utils_grep_file("foo", "stacktrace") not met [0.614s] >>>> local/kyua/testers/stacktrace_test:dump__integration -> failed: testers/stacktrace_test.c:233: atf_utils_grep_file("#0", "stacktrace") not met [0.613s] >>>> local/kyua/testers/stacktrace_test:dump__ok -> failed: testers/stacktrace_test.c:249: atf_utils_grep_file("frame 1", "stacktrace") not met [0.614s] >>>> local/kyua/testers/stacktrace_test:find_core__found__long -> failed: Core dumped, but no candidates found [0.606s] >>>> local/kyua/testers/stacktrace_test:find_core__found__short -> failed: Core dumped, but no candidates found [0.603s] >>>> local/kyua/testers/tap_parser_test:try_parse_plan__insane -> failed: testers/tap_parser_test.c:135: 'too long' not matched in 'Plan line includes out of range >>>> numbers' [0.032s] >>>> sys/geom/class/eli/resize_test:main -> failed: 15 tests of 27 failed [1.292s] >>>> sys/kern/pipe/pipe_fstat_bug_test:main -> failed: Returned non-success exit status 1 [0.044s] >>>> usr.bin/lastcomm/legacy_test:main -> failed: 4 tests of 6 failed [0.151s] >>>> usr.sbin/rpcbind/addrmerge_test:addrmerge_bindip -> failed: 1 checks failed; see output for more details [0.035s] >>>> usr.sbin/rpcbind/addrmerge_test:addrmerge_bindip_rev -> failed: 1 checks failed; see output for more details [0.035s] >>>> usr.sbin/rpcbind/addrmerge_test:addrmerge_localhost_only -> failed: 1 checks failed; see output for more details [0.034s] >>>> usr.sbin/rpcbind/addrmerge_test:addrmerge_one_addr_on_each_subnet -> failed: 1 checks failed; see output for more details [0.035s] >>>> usr.sbin/rpcbind/addrmerge_test:addrmerge_one_addr_on_each_subnet_rev -> failed: 1 checks failed; see output for more details [0.035s] >>>> usr.sbin/rpcbind/addrmerge_test:addrmerge_point2point -> failed: 1 checks failed; see output for more details [0.035s] >>>> usr.sbin/rpcbind/addrmerge_test:addrmerge_point2point_rev -> failed: 1 checks failed; see output for more details [0.033s] >>>> usr.sbin/rpcbind/addrmerge_test:addrmerge_recvdstaddr -> failed: 1 checks failed; see output for more details [0.035s] >>>> usr.sbin/rpcbind/addrmerge_test:addrmerge_recvdstaddr_rev -> failed: 1 checks failed; see output for more details [0.035s] >>>> usr.sbin/rpcbind/addrmerge_test:addrmerge_singlehomed -> failed: 1 checks failed; see output for more details [0.032s] >>>> usr.sbin/sa/legacy_test:main -> failed: 12 tests of 13 failed [0.340s] >>> >>> >>> >>> Context details: >>> >>>> # uname -apKU >>>> FreeBSD rpi2 11.0-ALPHA3 FreeBSD 11.0-ALPHA3 #0 r301815M: Sat Jun 11 23:43:48 PDT 2016 markmi_at_FreeBSDx64:/usr/obj/clang/arm.armv6/usr/src/sys/RPI2-NODBG ar >>>> m armv6 1100116 1100116 >>> >>> In use for the system build was: >>> >>>> XCFLAGS+= -march=armv7-a -mcpu=cortex-a7 >>>> XCXXFLAGS+= -march=armv7-a -mcpu=cortex-a7 >>> >>> I do have a few local /usr/src changes/additions, but nearly all are only for powerpc and/or powerpc64 contexts: >>> >>>> # svnlite status /usr/src/ >>>> M /usr/src/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp >>>> M /usr/src/lib/csu/powerpc64/Makefile >>>> ? /usr/src/sys/amd64/include/include >>>> ? /usr/src/sys/arm/conf/RPI2-NODBG >>>> ? /usr/src/sys/arm/include/include >>>> M /usr/src/sys/boot/ofw/Makefile.inc >>>> M /usr/src/sys/boot/powerpc/Makefile >>>> M /usr/src/sys/boot/powerpc/Makefile.inc >>>> M /usr/src/sys/boot/uboot/Makefile.inc >>>> M /usr/src/sys/conf/Makefile.powerpc >>>> M /usr/src/sys/conf/kern.mk >>>> M /usr/src/sys/conf/kmod.mk >>>> M /usr/src/sys/dev/cxgb/ulp/tom/cxgb_listen.c >>>> M /usr/src/sys/dev/cxgbe/tom/t4_listen.c >>>> ? /usr/src/sys/powerpc/conf/GENERIC64-NODBG >>>> ? /usr/src/sys/powerpc/conf/GENERIC64vtsc >>>> ? /usr/src/sys/powerpc/conf/GENERIC64vtsc-NODEBUG >>>> ? /usr/src/sys/powerpc/conf/GENERICvtsc >>>> ? /usr/src/sys/powerpc/conf/GENERICvtsc-NODEBUG >>>> ? /usr/src/sys/powerpc/include/include >>>> M /usr/src/sys/powerpc/ofw/ofw_machdep.c >>>> M /usr/src/sys/powerpc/powerpc/exec_machdep.c >>>> ? /usr/src/sys/x86/include/include >>> >>> [The cxbg and cxbge changes just remove redundant declarations that stopped a amd64-gcc based build. But other areas have such issues and I quit trying eliminating such blocks to that tool chain. The include/include's are from something making symbolic links back to the parent include.] >>> >>> The kernel configuration was via: >>> >>>> # more /usr/src/sys/arm/conf/RPI2-NODBG >>>> # >>>> # RPI2 -- Custom configuration for the Raspberry Pi 2 >>>> # >>>> # For more information on this file, please read the config(5) manual page, >>>> # and/or the handbook section on Kernel Configuration Files: >>>> # >>>> # http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html >>>> # >>>> # The handbook is also available locally in /usr/share/doc/handbook >>>> # if you've installed the doc distribution, otherwise always see the >>>> # FreeBSD World Wide Web server (http://www.FreeBSD.org/) for the >>>> # latest information. >>>> # >>>> # An exhaustive list of options and more detailed explanations of the >>>> # device lines is also present in the ../../conf/NOTES and NOTES files. >>>> # If you are in doubt as to the purpose or necessity of a line, check first >>>> # in NOTES. >>>> # >>>> >>>> ident RPI2-NODBG >>>> >>>> include "RPI2" >>>> >>>> makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols >>>> options ALT_BREAK_TO_DEBUGGER >>>> #options VERBOSE_SYSINIT # Enable verbose sysinit messages >>>> >>>> options KDB # Enable kernel debugger support >>>> >>>> # For minimum debugger support (stable branch) use: >>>> #options KDB_TRACE # Print a stack trace for a panic >>>> options DDB # Enable the kernel debugger >>>> >>>> nooptions INVARIANTS # Enable calls of extra sanity checking >>>> nooptions INVARIANT_SUPPORT # Extra sanity checks of internal structures, required by INVARIANTS >>>> nooptions WITNESS # Enable checks to detect deadlocks and cycles >>>> nooptions WITNESS_SKIPSPIN # Don't run witness on spinlocks for speed >>>> nooptions DIAGNOSTIC >>> >>> >>> The armv6 11.0 -r301815 system was cross built from amd64, built using src.conf: >>> >>>> # more ~/src.configs/src.conf.rpi2-clang-bootstrap.amd64-host >>>> TO_TYPE=armv6 >>>> # >>>> KERNCONF=RPI2-NODBG >>>> TARGET=arm >>>> .if ${.MAKE.LEVEL} == 0 >>>> TARGET_ARCH=${TO_TYPE} >>>> .export TARGET_ARCH >>>> .endif >>>> # >>>> WITH_CROSS_COMPILER= >>>> WITHOUT_SYSTEM_COMPILER= >>>> # >>>> #CPUTYPE=soft >>>> WITH_LIBSOFT= >>>> WITH_LIBCPLUSPLUS= >>>> WITH_BINUTILS_BOOTSTRAP= >>>> WITH_CLANG_BOOTSTRAP= >>>> WITH_CLANG= >>>> WITH_CLANG_IS_CC= >>>> WITH_CLANG_FULL= >>>> WITH_CLANG_EXTRAS= >>>> WITH_LLDB= >>>> # >>>> WITH_BOOT= >>>> WITHOUT_LIB32= >>>> # >>>> WITHOUT_ELFTOOLCHAIN_BOOTSTRAP= >>>> WITHOUT_GCC_BOOTSTRAP= >>>> WITHOUT_GCC= >>>> WITHOUT_GCC_IS_CC= >>>> WITHOUT_GNUCXX= >>>> # >>>> NO_WERROR= >>>> #WERROR= >>>> MALLOC_PRODUCTION= >>>> # >>>> WITH_DEBUG_FILES= >>>> # >>>> XCFLAGS+= -march=armv7-a -mcpu=cortex-a7 >>>> XCXXFLAGS+= -march=armv7-a -mcpu=cortex-a7 >>>> # There is no XCPPFLAGS but XCPP ets XCFLAGS content. >>> >>> and with the make.conf for the system build being empty: >>> >>>> # more ~/src.configs/make.conf >>>> # >>> >>> === >>> Mark Millard >>> markmi at dsl-only.net >>> >>> _______________________________________________ >>> freebsd-current_at_freebsd.org mailing list >>> https://lists.freebsd.org/mailman/listinfo/freebsd-current >>> To unsubscribe, send any mail to "freebsd-current-unsubscribe_at_freebsd.org" >> _______________________________________________ >> freebsd-current_at_freebsd.org mailing list >> https://lists.freebsd.org/mailman/listinfo/freebsd-current >> To unsubscribe, send any mail to "freebsd-current-unsubscribe_at_freebsd.org"Received on Mon Jun 13 2016 - 16:06:06 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:05 UTC