Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
gcc generating invalid instructions
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Gentoo on ARM
View previous topic :: View next topic  
Author Message
fr3aker
n00b
n00b


Joined: 07 Nov 2008
Posts: 14

PostPosted: Sun Dec 10, 2017 8:08 pm    Post subject: gcc generating invalid instructions Reply with quote

Apparently GCC is generating instructions that are not supported by my CPU (LeMaker Banana Pro with a Cortex-A7) and subsequently cause segmentation faults. This is very annoying because the issue mostly affects long-running emerges which sometimes fail due to the crash (or, even worse, complete despite the crash).

programs that are definitely affected are bash and make. I've debugged a crash in bash:

kernel log
Code:
kernel: Alignment trap: not handling instruction e3a0ca02


coredumpctl info
Code:
PID: 18945 (prepstrip)
UID: 0 (root)
GID: 0 (root)
Signal: 11 (SEGV)
Timestamp: Sun 2017-12-10 19:28:14 CET (44min ago)
Command Line: /bin/bash /usr/lib/portage/python3.5/ebuild-helpers/prepstrip /var/tmp/portage/sys-apps/coreutils-8.28/image/
Executable: /bin/bash
Storage: /var/lib/systemd/coredump/core.prepstrip.0.08aa81d8aa01483eb061503e9bd6148e.18945.1512930494000000.lz4
Message: Process 18945 (prepstrip) of user 0 dumped core.


gdb backtrace
Code:
GNU gdb (Gentoo 8.0.1 vanilla) 8.0.1
Copyright (C) 2017 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "armv7a-hardfloat-linux-gnueabi".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://bugs.gentoo.org/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /bin/bash...Reading symbols from /usr/lib/debug//bin/bash.debug...done.
done.

warning: core file may not match specified executable file.
[New LWP 18945]
Core was generated by `/bin/bash /usr/lib/portage/python3.5/ebuild-helpers/prepstrip /var/tmp/portage/'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  sigchld_handler (sig=17) at jobs.c:3418
3418    jobs.c: No such file or directory.
(gdb) bt
#0  sigchld_handler (sig=17) at jobs.c:3418
#1  <signal handler called>
#2  0xb6e4c63a in strcmp () from /lib/libc.so.6
#3  0x7f69b870 in hash_search (string=string@entry=0x7f6f0264 "PIPESTATUS", table=table@entry=0x8012aac0, flags=flags@entry=0) at hashlib.c:183
#4  0x7f672348 in hash_lookup (hashed_vars=0x8012aac0, name=0x7f6f0264 "PIPESTATUS") at variables.c:1821
#5  var_lookup (name=name@entry=0x7f6f0264 "PIPESTATUS", vcontext=<optimized out>) at variables.c:1839
#6  0x7f6724f8 in find_variable_internal (name=0x7f6f0264 "PIPESTATUS", flags=1) at variables.c:1878
#7  0x7f672be8 in find_variable_for_assignment (name=<optimized out>) at variables.c:2255
#8  0x7f67a434 in set_pipestatus_array (ps=0x7f715230 <v>, nproc=nproc@entry=1) at variables.c:5493
#9  0x7f67a7e4 in set_pipestatus_from_exit (s=s@entry=0) at variables.c:5589
#10 0x7f66a3a4 in execute_simple_command (simple_command=<optimized out>, pipe_in=<optimized out>, pipe_in@entry=-1, pipe_out=<optimized out>, pipe_out@entry=-1, async=async@entry=0, fds_to_close=<optimized out>, fds_to_close@entry=0x801858d8) at execute_cmd.c:4361
#11 0x7f66bbf4 in execute_command_internal (command=command@entry=0x80179698, asynchronous=asynchronous@entry=0, pipe_in=pipe_in@entry=-1, pipe_out=pipe_out@entry=-1, fds_to_close=<optimized out>, fds_to_close@entry=0x801858d8) at execute_cmd.c:802
#12 0x7f66d670 in execute_command (command=0x80179698) at execute_cmd.c:405
#13 0x7f66d828 in execute_while_or_until (while_command=0x801851e0, type=type@entry=0) at execute_cmd.c:3482
#14 0x7f66be34 in execute_while_command (while_command=<optimized out>) at execute_cmd.c:3450
#15 execute_command_internal (command=command@entry=0x80185288, asynchronous=asynchronous@entry=0, pipe_in=pipe_in@entry=-1, pipe_out=pipe_out@entry=-1, fds_to_close=<optimized out>, fds_to_close@entry=0x80187088) at execute_cmd.c:911
#16 0x7f66d670 in execute_command (command=0x80185288) at execute_cmd.c:405
#17 0x7f66c754 in execute_for_command (for_command=0x801852d8) at execute_cmd.c:2802
#18 execute_command_internal (command=0x7f719898 <continuing>, command@entry=0x801852f0, asynchronous=asynchronous@entry=0, pipe_in=pipe_in@entry=-1, pipe_out=pipe_out@entry=-1, fds_to_close=<optimized out>, fds_to_close@entry=0x80185278) at execute_cmd.c:883
#19 0x7f66d670 in execute_command (command=0x801852f0) at execute_cmd.c:405
#20 0x7f64faa0 in reader_loop () at eval.c:180
#21 0x7f64d75c in main (argc=0, argv=0x0, env=<optimized out>) at shell.c:792


gdb disassembly
Code:
(gdb) info line jobs.c:3418
Line 3418 of "jobs.c" starts at address 0x7f6844e4 <sigchld_handler> and ends at 0x7f6844fc <sigchld_handler+24>.
(gdb) disas /sr 0x7f6844e4
Dump of assembler code for function sigchld_handler:
jobs.c:
3418    in jobs.c
=> 0x7f6844e4 <+0>:     02 ca a0 e3     mov     r12, #8192      ; 0x2000
   0x7f6844e8 <+4>:     70 40 2d e9     push    {r4, r5, r6, lr}
   0x7f6844ec <+8>:     0c c0 4d e0     sub     r12, sp, r12
   0x7f6844f0 <+12>:    e8 0f 8c e5     str     r0, [r12, #4072]        ; 0xfe8
   0x7f6844f4 <+16>:    64 30 9f e5     ldr     r3, [pc, #100]  ; 0x7f684560 <sigchld_handler+124>
   0x7f6844f8 <+20>:    08 d0 4d e2     sub     sp, sp, #8
   0x7f6844fc <+24>:    60 20 9f e5     ldr     r2, [pc, #96]   ; 0x7f684564 <sigchld_handler+128>
   0x7f684500 <+28>:    03 30 8f e0     add     r3, pc, r3
   0x7f684504 <+32>:    02 50 93 e7     ldr     r5, [r3, r2]
   0x7f684508 <+36>:    00 30 95 e5     ldr     r3, [r5]
   0x7f68450c <+40>:    04 30 8d e5     str     r3, [sp, #4]


emerge --info
Code:
Portage 2.3.17 (python 3.5.4-final-0, hardened/linux/arm/armv7a, gcc-6.4.0, glibc-2.25-r9, 4.7.10-hardened-r2 armv7l)
=================================================================
System uname: Linux-4.7.10-hardened-r2-armv7l-ARMv7_Processor_rev_4_-v7l-with-gentoo-2.4.1
KiB Mem:     1026924 total,     93272 free
KiB Swap:          0 total,         0 free
Timestamp of repository gentoo: Sat, 09 Dec 2017 22:15:01 +0000
Head commit of repository gentoo: c3534718213f602cfb3088d3ba1269ea36d4535a
sh dash 0.5.9.1-r3
ld GNU ld (Gentoo 2.29.1 p3) 2.29.1
distcc 3.2rc1 armv7a-hardfloat-linux-gnueabi [disabled]
app-shells/bash:          4.4_p12::gentoo
dev-lang/perl:            5.26.1-r1::gentoo
dev-lang/python:          2.7.14-r1::gentoo, 3.4.6::gentoo, 3.5.4-r1::gentoo
dev-util/cmake:           3.10.0::gentoo
dev-util/pkgconfig:       0.29.2::gentoo
sys-apps/baselayout:      2.4.1-r2::gentoo
sys-apps/sandbox:         2.12::gentoo
sys-devel/autoconf:       2.69-r4::gentoo
sys-devel/automake:       1.13.4-r1::gentoo, 1.15.1-r1::gentoo
sys-devel/binutils:       2.29.1-r1::gentoo
sys-devel/gcc:            6.4.0::gentoo
sys-devel/gcc-config:     1.9.0-r1::gentoo
sys-devel/libtool:        2.4.6-r4::gentoo
sys-devel/make:           4.2.1-r1::gentoo
sys-kernel/linux-headers: 4.13::gentoo (virtual/os-headers)
sys-libs/glibc:           2.25-r9::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: rsync
    sync-uri: rsync://rsync10.de.gentoo.org/gentoo-portage
    priority: -1000
    sync-rsync-extra-opts:

leio
    location: /var/lib/layman/leio
    masters: gentoo
    priority: 50

ACCEPT_KEYWORDS="arm ~arm"
ACCEPT_LICENSE="* -@EULA"
CBUILD="armv7a-hardfloat-linux-gnueabi"
CFLAGS="-O2 -pipe -fstack-protector-all -fno-strict-overflow -mfloat-abi=hard -mcpu=cortex-a7 -mtune=cortex-a7 -mfpu=neon-vfpv4"
CHOST="armv7a-hardfloat-linux-gnueabi"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -pipe -fstack-protector-all -fno-strict-overflow -mfloat-abi=hard -mcpu=cortex-a7 -mtune=cortex-a7 -mfpu=neon-vfpv4"
DISTDIR="/usr/portage/distfiles"
FCFLAGS="-O2 -pipe -march=armv7-a"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync multilib-strict news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe -march=armv7-a"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="en_US.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS=""
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
USE="acl arm armv5te armv6 armv6t2 berkdb bzip2 caps cli cracklib crypt cxx dri gdbm gles2 hardened iconv ipv6 modules ncurses nls nptl openmp pam pcre pic pie readline seccomp session ssl ssp systemd tcpd unicode urandom xattr xtpax zlib" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_ARM="edsp neon vfp vfpv3 vfpv4 vfp-d32 v4 v5 v6 v7 thumb2 thumb" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="libinput keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-6 php7-0" POSTGRES_TARGETS="postgres9_5" PYTHON_SINGLE_TARGET="python3_5" PYTHON_TARGETS="python2_7 python3_5" RUBY_TARGETS="ruby22" USERLAND="GNU" VIDEO_CARDS="fbturbo" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS


Does anyone have an idea what exactly is causing those problems and how to fix it or further instructions to pin down the problem? I had similar problems (or the same) with older GCC versions (5.4.0, not sure if this device was running 4.9.3 at some point) and various versions of bash and make.
Back to top
View user's profile Send private message
erm67
Apprentice
Apprentice


Joined: 01 Nov 2005
Posts: 204
Location: somewhere in Renziland.

PostPosted: Sun Dec 10, 2017 8:44 pm    Post subject: Reply with quote

cat /proc/cpuinfo ?

also since you are using gcc 6 try this:

put this in test.c
Code:
main()
{double a=1;}

and try
gcc -march=native -Q -v test.c


to see what options gcc would use for your cpu.
_________________
True ignorance is not the absence of knowledge, but the refusal to acquire it.
A posse ad esse non valet consequentia
Πάντα ῥεῖ
Back to top
View user's profile Send private message
fr3aker
n00b
n00b


Joined: 07 Nov 2008
Posts: 14

PostPosted: Sun Dec 10, 2017 9:21 pm    Post subject: Reply with quote

Thanks for your reply!

/proc/cpuinfo
Code:
processor       : 0
model name      : ARMv7 Processor rev 4 (v7l)
BogoMIPS        : 7.57
Features        : half fastmult vfp edsp neon vfpv3 tls vfpv4 idiva vfpd32 lpae evtstrm
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x0
CPU part        : 0xc07
CPU revision    : 4

processor       : 1
model name      : ARMv7 Processor rev 4 (v7l)
BogoMIPS        : 7.57
Features        : half fastmult vfp edsp neon vfpv3 tls vfpv4 idiva vfpd32 lpae evtstrm
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x0
CPU part        : 0xc07
CPU revision    : 4

Hardware        : Allwinner sun7i (A20) Family
Revision        : 0000
Serial          : 165166d709c24353


gcc -march=native -Q -v test.c
Code:
Using built-in specs.
COLLECT_GCC=/usr/armv7a-hardfloat-linux-gnueabi/gcc-bin/6.4.0/gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/armv7a-hardfloat-linux-gnueabi/6.4.0/lto-wrapper
Target: armv7a-hardfloat-linux-gnueabi
Configured with: /var/tmp/portage/sys-devel/gcc-6.4.0/work/gcc-6.4.0/configure --host=armv7a-hardfloat-linux-gnueabi --build=armv7a-hardfloat-linux-gnueabi --prefix=/usr --bindir=/usr/armv7a-hardfloat-linux-gnueabi/gcc-bin/6.4.0 --includedir=/usr/lib/gcc/armv7a-hardfloat
-linux-gnueabi/6.4.0/include --datadir=/usr/share/gcc-data/armv7a-hardfloat-linux-gnueabi/6.4.0 --mandir=/usr/share/gcc-data/armv7a-hardfloat-linux-gnueabi/6.4.0/man --infodir=/usr/share/gcc-data/armv7a-hardfloat-linux-gnueabi/6.4.0/info --with-gxx-include-dir=/usr/lib/g
cc/armv7a-hardfloat-linux-gnueabi/6.4.0/include/g++-v6 --with-python-dir=/share/gcc-data/armv7a-hardfloat-linux-gnueabi/6.4.0/python --enable-languages=c,c++ --enable-obsolete --enable-secureplt --disable-werror --with-system-zlib --enable-nls --without-included-gettext
--enable-checking=release --with-bugurl=https://bugs.gentoo.org/ --with-pkgversion='Gentoo Hardened 6.4.0 p1.0' --enable-esp --enable-libstdcxx-time --disable-libstdcxx-pch --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu --disable-multil
ib --disable-altivec --disable-fixed-point --with-float=hard --with-arch=armv7-a --with-float=hard --with-fpu=vfpv3-d16 --disable-libgcj --enable-libgomp --disable-libmudflap --disable-libssp --disable-libcilkrts --disable-libmpx --enable-vtable-verify --enable-libvtv --
disable-libquadmath --enable-lto --without-isl --disable-libsanitizer --enable-default-pie --enable-default-ssp
Thread model: posix
gcc version 6.4.0 (Gentoo Hardened 6.4.0 p1.0)
COLLECT_GCC_OPTIONS= '-Q' '-v' '-mfloat-abi=hard' '-mfpu=vfpv3-d16' '-mtls-dialect=gnu' '-march=armv7ve'
 /usr/libexec/gcc/armv7a-hardfloat-linux-gnueabi/6.4.0/cc1 -v test.c -fstack-check -dumpbase test.c -mfloat-abi=hard -mfpu=vfpv3-d16 -mtls-dialect=gnu -march=armv7ve -auxbase a -version -o /tmp/ccih7SCr.s
GNU C11 (Gentoo Hardened 6.4.0 p1.0) version 6.4.0 (armv7a-hardfloat-linux-gnueabi)
        compiled by GNU C version 6.4.0, GMP version 6.1.2, MPFR version 3.1.5-p2, MPC version 1.0.3, isl version none
warning: MPFR header version 3.1.5-p2 differs from library version 3.1.6.
GGC heuristics: --param ggc-min-expand=98 --param ggc-min-heapsize=128365
ignoring nonexistent directory "/usr/lib/gcc/armv7a-hardfloat-linux-gnueabi/6.4.0/../../../../armv7a-hardfloat-linux-gnueabi/include"
#include "..." search starts here:
#include <...> search starts here:
 /usr/lib/gcc/armv7a-hardfloat-linux-gnueabi/6.4.0/include
 /usr/local/include
 /usr/lib/gcc/armv7a-hardfloat-linux-gnueabi/6.4.0/include-fixed
 /usr/include
End of search list.
GNU C11 (Gentoo Hardened 6.4.0 p1.0) version 6.4.0 (armv7a-hardfloat-linux-gnueabi)
        compiled by GNU C version 6.4.0, GMP version 6.1.2, MPFR version 3.1.5-p2, MPC version 1.0.3, isl version none
warning: MPFR header version 3.1.5-p2 differs from library version 3.1.6.
GGC heuristics: --param ggc-min-expand=98 --param ggc-min-heapsize=128365
options passed:  -v test.c -fstack-check -mfloat-abi=hard -mfpu=vfpv3-d16
 -mtls-dialect=gnu -march=armv7ve
options enabled:  -fPIC -fPIE -faggressive-loop-optimizations
 -fauto-inc-dec -fchkp-check-incomplete-type -fchkp-check-read
 -fchkp-check-write -fchkp-instrument-calls -fchkp-narrow-bounds
 -fchkp-optimize -fchkp-store-bounds -fchkp-use-static-bounds
 -fchkp-use-static-const-bounds -fchkp-use-wrappers -fcommon
 -fdelete-null-pointer-checks -fdwarf2-cfi-asm -fearly-inlining
 -feliminate-unused-debug-types -ffunction-cse -fgcse-lm -fgnu-runtime
 -fgnu-unique -fident -finline-atomics -fira-hoist-pressure
 -fira-share-save-slots -fira-share-spill-slots -fivopts
 -fkeep-static-consts -fleading-underscore -flifetime-dse
 -flto-odr-type-merging -fmath-errno -fmerge-debug-strings -fpeephole -fplt
 -fprefetch-loop-arrays -freg-struct-return -fsched-critical-path-heuristic
 -fsched-dep-count-heuristic -fsched-group-heuristic -fsched-interblock
 -fsched-last-insn-heuristic -fsched-rank-heuristic -fsched-spec
 -fsched-spec-insn-heuristic -fsched-stalled-insns-dep
 -fsemantic-interposition -fshow-column -fsigned-zeros
 -fsplit-ivs-in-unroller -fssa-backprop -fstack-protector-all -fstdarg-opt
 -fstrict-volatile-bitfields -fsync-libcalls -ftrapping-math -ftree-cselim
 -ftree-forwprop -ftree-loop-if-convert -ftree-loop-im -ftree-loop-ivcanon
 -ftree-loop-optimize -ftree-parallelize-loops= -ftree-phiprop
 -ftree-reassoc -ftree-scev-cprop -funit-at-a-time -fvar-tracking
 -fvar-tracking-assignments -fzero-initialized-in-bss -marm -mglibc
 -mlittle-endian -mpic-data-is-text-relative -msched-prolog
 -munaligned-access -mvectorize-with-neon-quad
Compiler executable checksum: fbd0aeb5598b467c880f507114c88a65
 main
test.c:2:1: warning: return type defaults to ‘int’ [-Wimplicit-int]
 main()
 ^~~~

Analyzing compilation unit
Performing interprocedural optimizations
 <*free_lang_data> <visibility> <build_ssa_passes> <opt_local_passes> <targetclone> <free-inline-summary> <whole-program> <inline>Assembling functions:
 main
Execution times (seconds)
 phase setup             :   0.09 (64%) usr   0.00 ( 0%) sys   0.10 (62%) wall    1912 kB (93%) ggc
 phase parsing           :   0.01 ( 7%) usr   0.01 (100%) sys   0.01 ( 6%) wall     103 kB ( 5%) ggc
 phase opt and generate  :   0.04 (29%) usr   0.00 ( 0%) sys   0.04 (25%) wall      40 kB ( 2%) ggc
 dump files              :   0.00 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 6%) wall       0 kB ( 0%) ggc
 preprocessing           :   0.00 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 6%) wall       8 kB ( 0%) ggc
 parser (global)         :   0.01 ( 7%) usr   0.01 (100%) sys   0.00 ( 0%) wall      93 kB ( 5%) ggc
 expand                  :   0.00 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 6%) wall       1 kB ( 0%) ggc
 integrated RA           :   0.01 ( 7%) usr   0.00 ( 0%) sys   0.00 ( 0%) wall      12 kB ( 1%) ggc
 LRA virtuals elimination:   0.00 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 6%) wall       0 kB ( 0%) ggc
 final                   :   0.01 ( 7%) usr   0.00 ( 0%) sys   0.00 ( 0%) wall       0 kB ( 0%) ggc
 initialize rtl          :   0.02 (14%) usr   0.00 ( 0%) sys   0.01 ( 6%) wall      10 kB ( 1%) ggc
 TOTAL                 :   0.14             0.01             0.16               2065 kB
COLLECT_GCC_OPTIONS= '-Q' '-v' '-mfloat-abi=hard' '-mfpu=vfpv3-d16' '-mtls-dialect=gnu' '-march=armv7ve'
 /usr/lib/gcc/armv7a-hardfloat-linux-gnueabi/6.4.0/../../../../armv7a-hardfloat-linux-gnueabi/bin/as -v -march=armv7ve -mfloat-abi=hard -mfpu=vfpv3-d16 -meabi=5 -o /tmp/ccCGk5PW.o /tmp/ccih7SCr.s
GNU assembler version 2.29.1 (armv7a-hardfloat-linux-gnueabi) using BFD version (Gentoo 2.29.1 p3) 2.29.1
COMPILER_PATH=/usr/libexec/gcc/armv7a-hardfloat-linux-gnueabi/6.4.0/:/usr/libexec/gcc/armv7a-hardfloat-linux-gnueabi/6.4.0/:/usr/libexec/gcc/armv7a-hardfloat-linux-gnueabi/:/usr/lib/gcc/armv7a-hardfloat-linux-gnueabi/6.4.0/:/usr/lib/gcc/armv7a-hardfloat-linux-gnueabi/:/usr/lib/gcc/armv7a-hardfloat-linux-gnueabi/6.4.0/../../../../armv7a-hardfloat-linux-gnueabi/bin/
LIBRARY_PATH=/usr/lib/gcc/armv7a-hardfloat-linux-gnueabi/6.4.0/:/usr/lib/gcc/armv7a-hardfloat-linux-gnueabi/6.4.0/../../../../armv7a-hardfloat-linux-gnueabi/lib/:/usr/lib/gcc/armv7a-hardfloat-linux-gnueabi/6.4.0/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS= '-Q' '-v' '-mfloat-abi=hard' '-mfpu=vfpv3-d16' '-mtls-dialect=gnu' '-march=armv7ve'
 /usr/libexec/gcc/armv7a-hardfloat-linux-gnueabi/6.4.0/collect2 -plugin /usr/libexec/gcc/armv7a-hardfloat-linux-gnueabi/6.4.0/liblto_plugin.so -plugin-opt=/usr/libexec/gcc/armv7a-hardfloat-linux-gnueabi/6.4.0/lto-wrapper -plugin-opt=-fresolution=/tmp/ccwIoBuu.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --eh-frame-hdr -dynamic-linker /lib/ld-linux-armhf.so.3 -X -m armelf_linux_eabi -pie -z now /usr/lib/gcc/armv7a-hardfloat-linux-gnueabi/6.4.0/../../../Scrt1.o /usr/lib/gcc/armv7a-hardfloat-linux-gnueabi/6.4.0/../../../crti.o /usr/lib/gcc/armv7a-hardfloat-linux-gnueabi/6.4.0/crtbeginS.o -L/usr/lib/gcc/armv7a-hardfloat-linux-gnueabi/6.4.0 -L/usr/lib/gcc/armv7a-hardfloat-linux-gnueabi/6.4.0/../../../../armv7a-hardfloat-linux-gnueabi/lib -L/usr/lib/gcc/armv7a-hardfloat-linux-gnueabi/6.4.0/../../.. /tmp/ccCGk5PW.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/gcc/armv7a-hardfloat-linux-gnueabi/6.4.0/crtendS.o /usr/lib/gcc/armv7a-hardfloat-linux-gnueabi/6.4.0/../../../crtn.o
COLLECT_GCC_OPTIONS= '-Q' '-v' '-mfloat-abi=hard' '-mfpu=vfpv3-d16' '-mtls-dialect=gnu' '-march=armv7ve'


I think at some point I did have march=armv7ve in my make.conf but that caused similar problems (or the same). Also I did have mfpu=vfpv3-d16 before but switched it to vfpv4 since the CPU supports that according to /proc/cpuinfo. I believe at first I was using march=native but switched from that to try to avoid the problem.

edit: just recompiled bash with CFLAGS="-O2 -pipe" and CXXFLAGS="-O2 -pipe" and it still produced the same instruction
edit: the compiled version of test.c included the same instruction and that did not cause any crash. The problem must be something more obscure.
Back to top
View user's profile Send private message
erm67
Apprentice
Apprentice


Joined: 01 Nov 2005
Posts: 204
Location: somewhere in Renziland.

PostPosted: Mon Dec 11, 2017 12:55 am    Post subject: Reply with quote

overheating maybe
_________________
True ignorance is not the absence of knowledge, but the refusal to acquire it.
A posse ad esse non valet consequentia
Πάντα ῥεῖ
Back to top
View user's profile Send private message
fr3aker
n00b
n00b


Joined: 07 Nov 2008
Posts: 14

PostPosted: Mon Dec 11, 2017 9:25 am    Post subject: Reply with quote

I considered that possibility and it would explain why make -j1 has a much higher probability to succeed than make -j2. But the crash in bash usually happens during stripping of binaries which should not cause any significant CPU load at all.

Does anyone know if the Allwinner A20 has temp sensors I can query?
Back to top
View user's profile Send private message
erm67
Apprentice
Apprentice


Joined: 01 Nov 2005
Posts: 204
Location: somewhere in Renziland.

PostPosted: Mon Dec 11, 2017 11:25 am    Post subject: Reply with quote

I wouldn't trust too much sensors on boards like that :-)

Sometimes the problem is that the PSU is not powerfull enough.

What governor are you using? Try to lower the freq of the CPU.

Stripping binaries means read-write, do you have a usb hard disk powered by the board maybe?
_________________
True ignorance is not the absence of knowledge, but the refusal to acquire it.
A posse ad esse non valet consequentia
Πάντα ῥεῖ
Back to top
View user's profile Send private message
n05ph3r42
n00b
n00b


Joined: 11 Jul 2016
Posts: 56

PostPosted: Mon Dec 11, 2017 7:57 pm    Post subject: Reply with quote

Quote:

Sometimes the problem is that the PSU is not powerfull enough.

Yupp! Absolutely right, those boards are very power-sensitive, if u use not original PSU, it will crash randomly. So you should check this first. Or at least ensure that current PSU gives voltage and ampers required by board manufacturer.
Back to top
View user's profile Send private message
fr3aker
n00b
n00b


Joined: 07 Nov 2008
Posts: 14

PostPosted: Wed Dec 20, 2017 2:29 pm    Post subject: Reply with quote

I tried to switch my 1A PSU with a 2.1A PSU but still the same problem. Voltage is not a problem since the board is powered using (micro-)USB.

I'm using the ondemand governor. Setting the max frequency to 50% of the maximum possible frequency did not change anything (except things being a little slower).

I don't have a SATA or USB drive connected. The only permanent storage is the native microsd card. Other IO-expensive operations like emerge --sync don't crash either.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Gentoo on ARM All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum