【问题标题】:Remote 'g' packet reply is too long aarch64 arm64远程 'g' 数据包回复太长 aarch64 arm64
【发布时间】:2015-02-09 06:34:35
【问题描述】:

我正在尝试设置 KGDB 来调试我们的 arm64 内核。我的设置是目标在内核 3.14 上运行(带有一些 arm64 kgdb 补丁向后移植),在我使用 linaro 工具链 4.8 aarch64-linux-gnu-gdb 的主机上,每当我发出:

target remote /dev/ttyS0

我收到错误消息:

Remote 'g' packet reply is too long:

我在 Google 上搜索了很多关于这个问题的信息,但没有一个适合我。我认为这个问题是 arm64 特有的。这里有没有人知道如何进行?

【问题讨论】:

    标签: linux kgdb


    【解决方案1】:

    这里启发了这个问题: https://answers.launchpad.net/gcc-arm-embedded/+question/193249

    我找到了解决方案。发布前

    target remote /dev/ttyS0
    

    执行以下操作

    set tdesc filename aarch64.xml
    

    我从最新的 gdb 源代码中获取了 aarch64.xml:gdb-7.8/gdb/features/aarch64.xml。通过这样做,我们指示 GDB 客户端接受比最初预期更多的寄存器。

    根本原因似乎是 GDB 客户端只期望 31 个寄存器和寄存器 SP、PC、CPSR,但内核 gdb stub 不仅返回这些寄存器,还返回其他 FPU 寄存器,从而导致错误消息:

    Remote 'g' packet reply is too long:
    

    【讨论】:

      猜你喜欢
      • 2012-01-29
      • 2018-07-15
      • 1970-01-01
      • 2015-10-29
      • 1970-01-01
      • 2018-07-26
      • 1970-01-01
      • 2021-05-22
      • 2013-09-17
      相关资源
      最近更新 更多