Skip to content
Snippets Groups Projects
  • KONRAD Frederic's avatar
    a976ed3f
    target/m68k: fix gdb for m68xxx · a976ed3f
    KONRAD Frederic authored
    
    Currently "cf-core.xml" is sent to GDB when using any m68k flavor.  Thing is
    it uses the "org.gnu.gdb.coldfire.core" feature name and gdb 8.3 then expects
    a coldfire FPU instead of the default m68881 FPU.
    
    This is not OK because the m68881 floats registers are 96 bits wide so it
    crashes GDB with the following error message:
    
    (gdb) target remote localhost:7960
    Remote debugging using localhost:7960
    warning: Register "fp0" has an unsupported size (96 bits)
    warning: Register "fp1" has an unsupported size (96 bits)
    ...
    Remote 'g' packet reply is too long (expected 148 bytes, got 180 bytes):    \
      00000000000[...]0000
    
    With this patch: qemu-system-m68k -M none -cpu m68020 -s -S
    
    (gdb) tar rem :1234
    Remote debugging using :1234
    warning: No executable has been specified and target does not support
    determining executable automatically.  Try using the "file" command.
    0x00000000 in ?? ()
    (gdb) p $fp0
    $1 = nan(0xffffffffffffffff)
    
    Signed-off-by: default avatarKONRAD Frederic <frederic.konrad@adacore.com>
    Signed-off-by: default avatarAlex Bennée <alex.bennee@linaro.org>
    Reviewed-by: default avatarRichard Henderson <richard.henderson@linaro.org>
    Reviewed-by: default avatarLaurent Vivier <laurent@vivier.eu>
    Message-Id: <1588094279-17913-3-git-send-email-frederic.konrad@adacore.com>
    Message-Id: <20200430190122.4592-10-alex.bennee@linaro.org>
    a976ed3f
    History
    target/m68k: fix gdb for m68xxx
    KONRAD Frederic authored
    
    Currently "cf-core.xml" is sent to GDB when using any m68k flavor.  Thing is
    it uses the "org.gnu.gdb.coldfire.core" feature name and gdb 8.3 then expects
    a coldfire FPU instead of the default m68881 FPU.
    
    This is not OK because the m68881 floats registers are 96 bits wide so it
    crashes GDB with the following error message:
    
    (gdb) target remote localhost:7960
    Remote debugging using localhost:7960
    warning: Register "fp0" has an unsupported size (96 bits)
    warning: Register "fp1" has an unsupported size (96 bits)
    ...
    Remote 'g' packet reply is too long (expected 148 bytes, got 180 bytes):    \
      00000000000[...]0000
    
    With this patch: qemu-system-m68k -M none -cpu m68020 -s -S
    
    (gdb) tar rem :1234
    Remote debugging using :1234
    warning: No executable has been specified and target does not support
    determining executable automatically.  Try using the "file" command.
    0x00000000 in ?? ()
    (gdb) p $fp0
    $1 = nan(0xffffffffffffffff)
    
    Signed-off-by: default avatarKONRAD Frederic <frederic.konrad@adacore.com>
    Signed-off-by: default avatarAlex Bennée <alex.bennee@linaro.org>
    Reviewed-by: default avatarRichard Henderson <richard.henderson@linaro.org>
    Reviewed-by: default avatarLaurent Vivier <laurent@vivier.eu>
    Message-Id: <1588094279-17913-3-git-send-email-frederic.konrad@adacore.com>
    Message-Id: <20200430190122.4592-10-alex.bennee@linaro.org>