Hi Matthew,

On Wed, Apr 29, 2020 at 07:14:30AM -0700, Matthew Fernandez wrote:
> 
> To add another data point to this discussion, one other (fruitless) thing I 
> tried previously was cross-compiling Clustal Omega. From an amd64 host, it’s 
> possible to target mipsel using the GCC cross-compilers in the standard 
> Debian repositories. You can then run the resulting binary using Qemu’s user 
> mode. Using this technique, the f002 test runs to completion with no bus 
> error. This is not really surprising as AFAIK unaligned accesses that would 
> trigger a bus error on mipsel hardware would be silently allowed in this 
> configuration (Qemu doesn’t faithfully emulate this hardware behaviour and 
> amd64 allows unaligned access).
> 
> Unfortunately the repositories’ cross-compilers have been built without ASan 
> enabled and you can’t attach to an emulated mipsel process with a native 
> Valgrind. So debugging memory safety issues is not straightforward. To go 
> further with this approach, you would have to build a mipsel-targeting 
> cross-compiler with ASan enabled or cross-compile Valgrind to mipsel. For a 
> true masochist, it may be possible to attach to the process with GDB or rr 
> and reverse-step from the location Andreas has quoted, but I wouldn’t trust 
> the debugger not to crash in this configuration. Even then the issue may not 
> be reproducible because it may be dependent on transformations/optimizations 
> only performed by the particular version of the native mipsel compiler called 
> during packaging.

Thanks a lot for your effort.
 
> For those on this thread who have access to mipsel hardware or can shell in 
> to one of the mipsel build machines, I would suggest running an 
> ASan-instrumented test there (`export CFLAGS="-g -fsanitize=address"; export 
> CXXFLAGS="-g -fsanitize=address"`) and see what we learn.

I tried on real hardware.  Unfortunately I'm running into



configure:3720: $? = 0
configure:3709: gcc -v >&5
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/mipsel-linux-gnu/9/lto-wrapper
Target: mipsel-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 9.3.0-10' 
--with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs 
--enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,gm2 --prefix=/usr 
--with-gcc-major-version-only --program-suffix=-9 
--program-prefix=mipsel-linux-gnu- --enable-shared --enable-linker-build-id 
--libexecdir=/usr/lib --without-included-gettext --enable-threads=posix 
--libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug 
--enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new 
--enable-gnu-unique-object --disable-libitm --disable-libsanitizer 
--disable-libquadmath --disable-libquadmath-support --enable-plugin 
--enable-default-pie --with-system-zlib --with-target-system-zlib=auto 
--enable-multiarch --disable-werror --enable-multilib --with-arch-32=mips32r2 
--with-fp-32=xx --with-madd4=no --with-lxc1-sxc1=no --enable-targets=all 
--with-arch-64=mips64r2 --enable-checking=release --build=mipsel-linux-gnu 
--host=mipsel-linux-gnu --target=mipsel-linux-gnu
Thread model: posix
gcc version 9.3.0 (Debian 9.3.0-10) 
configure:3720: $? = 0
configure:3709: gcc -V >&5
gcc: error: unrecognized command line option '-V'
gcc: fatal error: no input files
compilation terminated.
configure:3720: $? = 1
configure:3709: gcc -qversion >&5
gcc: error: unrecognized command line option '-qversion'; did you mean 
'--version'?
gcc: fatal error: no input files
compilation terminated.
configure:3720: $? = 1
configure:3740: checking whether the C compiler works
configure:3762: gcc -g -O2 -fdebug-prefix-map=/home/tille/clustalo=. 
-fstack-protector-strong -Wformat -Werror=format-security -fsanitize=address 
-Wdate-time -D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wl,-z,now conftest.c  >&5
/usr/bin/ld: cannot find libasan_preinit.o: No such file or directory
/usr/bin/ld: cannot find -lasan
collect2: error: ld returned 1 exit status
configure:3766: $? = 1
configure:3804: result: no
configure: failed program was:



I have no idea why libasan_preinit.o and libasan.a are not installed.
The package libgcc-9-dev is installed for sure and on amd64 both files
are included here.  It seems the sudo command on eller does not permit
me executing `apt-file update` in a chroot so I have no idea where these
files are on mipsel (if they exist at all).

Any more help from debian-mipsel is really appreciated.

Kind regards

      Andreas.

-- 
http://fam-tille.de

Reply via email to