expertenaustausch > linux.debian.user.german

Jan Bruns (14.01.2020, 02:30)
Hallo,

hat jemand eine Idee, warum gcc (gcc-8, debian 10) sich bei mir bei
allem, was auch nur entfernt was mit Kernel zu tun hat, mit einer AV
verabschiedet?

Das passiert bei sämtlichen ausprobierten DKMS (virtualbox,
nvidia-driver, r8168) und sogar manuell:

jan@rechner2a:~$ mkdir ~/kernel; cd ~/kernel
jan@rechner2a:~/kernel$ tar -xaf /usr/src/linux-source-4.19.tar.xz
jan@rechner2a:~/kernel$ cp /boot/config-4.19.0-6-amd64
~/kernel/linux-source-4.19/.config
jan@rechner2a:~/kernel$ make menuconfig
jan@rechner2a:~/kernel$ cd linux-source-4.19
jan@rechner2a:~/kernel/linux-source-4.19$ make menuconfig
  HOSTCC  scripts/basic/fixdep
In file included from /usr/include/stdlib.h:822,
                 from scripts/basic/fixdep.c:102:
/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h: In function ‘bsearch’:
/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h:32:7: internal
compiler error: Speicherzugriffsfehler

Gruss

Jan Bruns
Jan Bruns (15.01.2020, 04:10)
On 14.01.20 08:59, Hilmar Preuße wrote:
> Am 14.01.2020 um 01:19 teilte Jan Bruns mit:
> Moin,
> Nur Kernel oder auch andere Programme? Immer dieselbe Stelle im
> Quell-Code oder wechselt das?
>
> Hilmar


Hallo,

anscheinend auch bei Hello World code.
Version printen kann er aber immerhin.

Ich habe den Compiler nochmal mit dem aus dem Oiginalpaket verglichen:

jan@rechner2a:~$ md5sum /home/jan/x86_64-linux-gnu-gcc-8
83fb5ff3e0af4f37e885dedc0cb82572  /home/jan/x86_64-linux-gnu-gcc-8
jan@rechner2a:~$ md5sum /bin/gcc-8
83fb5ff3e0af4f37e885dedc0cb82572  /bin/gcc-8

Dann habe ich mal gcc-9 installiert (aus testing).
Hier läuft jetzt ein vorhin damit compiliertes Kernel,
das nur wohl aufgrund irgendeiner Fehlkonfiguration extrem gross ist.

make [target] HOSTCC=gcc-9 CC=gcc-9

funktioniert, aber

make [target] HOSTCC=gcc-8 CC=gcc-8

wie bisher mit AV.

jan@rechner2a:~$ ldd /bin/gcc-8
        linux-vdso.so.1 (0x00007fff8494b000)
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fd03d6e7000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fd03d526000)
        /lib64/ld-linux-x86-64.so.2 (0x00007fd03d892000)
jan@rechner2a:~$ ldd /bin/gcc-9
        linux-vdso.so.1 (0x00007ffe285c7000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f5069f68000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f506a151000)

Gruss

Jan Bruns
Sven Joachim (15.01.2020, 20:40)
Am 15.01.2020 um 01:30 schrieb Jan Bruns:

> On 14.01.20 08:59, Hilmar Preuße wrote:
> Hallo,
> anscheinend auch bei Hello World code.


Dann ist deine Installation beschädigt.

> Version printen kann er aber immerhin.
> Ich habe den Compiler nochmal mit dem aus dem Oiginalpaket verglichen:
> jan@rechner2a:~$ md5sum /home/jan/x86_64-linux-gnu-gcc-8
> 83fb5ff3e0af4f37e885dedc0cb82572  /home/jan/x86_64-linux-gnu-gcc-8
> jan@rechner2a:~$ md5sum /bin/gcc-8
> 83fb5ff3e0af4f37e885dedc0cb82572  /bin/gcc-8


Das reicht nicht, da der Compiler noch andere Dateien lädt (zum
Beispiel /usr/lib/gcc/x86_64-linux-gnu/8/libcc1.so), die ebenfalls
defekt sein können. Gibt »dpkg --verify gcc-8« etwas aus?

Viele Grüße,
Sven
Jan Bruns (16.01.2020, 01:50)
Hallo,

On 15.01.20 19:31, Sven Joachim wrote:
> Am 15.01.2020 um 01:30 schrieb Jan Bruns:
>> anscheinend auch bei Hello World code.

> Dann ist deine Installation beschädigt.


Tja.

> Das reicht nicht, da der Compiler noch andere Dateien lädt (zum
> Beispiel /usr/lib/gcc/x86_64-linux-gnu/8/libcc1.so), die ebenfalls
> defekt sein können. Gibt »dpkg --verify gcc-8« etwas aus?


Nein, das gibt nix aus.

Das klingt ja schräg, daß gcc noch libs dynamisch nachladen soll. Nunja,
wird schon irgendwelche Gründe haben. Diese libcc1 ist hier laut
Paketverwaltung auf eine zu beiden gcc-versionen passende Version gestellt.

Da ich jetzt nur durchs Aktivieren von testing wieder einen anscheinend
funktionierenden gcc habe, hat es wahrscheinlich auch nur begrenzt Sinn,
da jetzt weiter nach Ursachen zu forschen.

Gruss

Jan Bruns

jan@rechner2a:~$ cat hello.c
#include<stdio.h>

int main() {
        printf("Hello World\n");
        return 0;
}
jan@rechner2a:~$ gcc-8 -v hello.c -o hello
Using built-in specs.
COLLECT_GCC=gcc-8
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/8/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 8.3.0-6'
--with-bugurl=file:///usr/share/doc/gcc-8/README.Bugs
--enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++
--prefix=/usr --with-gcc-major-version-only --program-suffix=-8
--program-prefix=x86_64-linux-gnu- --enable-shared
--enable-linker-build-id --libexecdir=/usr/lib
--without-included-gettext --enable-threads=posix --libdir=/usr/lib
--enable-nls --enable-bootstrap --enable-clocale=gnu
--enable-libstdcxx-debug --enable-libstdcxx-time=yes
--with-default-libstdcxx-abi=new --enable-gnu-unique-object
--disable-vtable-verify --enable-libmpx --enable-plugin
--enable-default-pie --with-system-zlib --with-target-system-zlib
--enable-objc-gc=auto --enable-multiarch --disable-werror
--with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32
--enable-multilib --with-tune=generic
--enable-offload-targets=nvptx-none --without-cuda-driver
--enable-checking=release --build=x86_64-linux-gnu
--host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 8.3.0 (Debian 8.3.0-6)
COLLECT_GCC_OPTIONS='-v' '-o' 'hello' '-mtune=generic' '-march=x86-64'
 /usr/lib/gcc/x86_64-linux-gnu/8/cc1 -quiet -v -imultiarch
x86_64-linux-gnu hello.c -quiet -dumpbase hello.c -mtune=generic
-march=x86-64 -auxbase hello -version -o /tmp/ccvXWlvw.s
GNU C17 (Debian 8.3.0-6) version 8.3.0 (x86_64-linux-gnu)
        compiled by GNU C version 8.3.0, GMP version 6.1.2, MPFR
version 4.0.2, MPC version 1.1.0, isl version isl-0.20-GMP

GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"
ignoring nonexistent directory
"/usr/lib/gcc/x86_64-linux-gnu/8/../../../../x86_64-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
 /usr/lib/gcc/x86_64-linux-gnu/8/include
 /usr/local/include
 /usr/lib/gcc/x86_64-linux-gnu/8/include-fixed
 /usr/include/x86_64-linux-gnu
 /usr/include
End of search list.
GNU C17 (Debian 8.3.0-6) version 8.3.0 (x86_64-linux-gnu)
        compiled by GNU C version 8.3.0, GMP version 6.1.2, MPFR
version 4.0.2, MPC version 1.1.0, isl version isl-0.20-GMP

GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 694977f912fd7ca2c14d66a7306be21c
hello.c: In function ‘main’:
hello.c:4:2: internal compiler error: Ungültiger Maschinenbefehl
  printf("Hello World\n");
  ^~~~~~~~~~~~~~~~~~~~~~~

hello.c:4:2: internal compiler error: Speicherzugriffsfehler
gcc-8: internal compiler error: Speicherzugriffsfehler signal terminated
program cc1
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-8/README.Bugs> for instructions.
jan@rechner2a:~$ ldd /bin/gcc-8
        linux-vdso.so.1 (0x00007fff64bd7000)
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f4361563000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f43613a2000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f436170e000)
jan@rechner2a:~$ md5sum /bin/gcc-8 /lib/x86_64-linux-gnu/libm.so.6
/lib/x86_64-linux-gnu/libc.so.6 /lib64/ld-linux-x86-64.so.2
83fb5ff3e0af4f37e885dedc0cb82572  /bin/gcc-8
f03a723acb778f12695df6c29804041f  /lib/x86_64-linux-gnu/libm.so.6
e63efc14f34504f4ac4cf7d63ed229ca  /lib/x86_64-linux-gnu/libc.so.6
35c3993b34ebfbb6d945ac21643a9e7b  /lib64/ld-linux-x86-64.so.2
jan@rechner2a:~$ md5sum /lib/x86_64-linux-gnu/libgcc_s.so.1
/usr/lib/x86_64-linux-gnu/libcc1.so.0
bfa30c5ce0a3534b47f0cc9b5f034820 /lib/x86_64-linux-gnu/libgcc_s.so.1
b5419637588b11017b8a8c29c99d897f /usr/lib/x86_64-linux-gnu/libcc1.so.0
Ähnliche Themen