Page MenuHomeFreeBSD

Add aarch64 support to GDB.
ClosedPublic

Authored by jhb on Aug 18 2017, 6:59 PM.

Details

Summary

This includes support for cross-debugging aarch64 process cores and
kernels as well as native support for aarch64 processes. Hardware
single stepping is supported, but hardware watchpoints are not yet
supported.

Test Plan
  • tested gdb on a raspberry pi 2 (v1.2, so really more like a rpi3) both for user processes and kernels
  • tested gdb on amd64 examining a process core from the pi
  • I have only run 'poudriere testport' on amd64 and i386, perhaps Andrew can do a test build on an aarch64 poudriere build?

Diff Detail

Repository
rP FreeBSD ports repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

jhb created this revision.Aug 18 2017, 6:59 PM

I've run my build and run-time tests on i386 and amd64. Currently I'm unable to run a build test on aarch64.
BTW, it's look good for me.

PS: I'll rework some patches soon, to avoid having more than one patch modify the same file (except the extrapatch-kgdb, that's a special case)

This revision is now accepted and ready to land.Aug 22 2017, 2:17 PM
jhb added a comment.Aug 23 2017, 2:05 AM

Andrew will try to test a native package build soonish. I got a ping about reviewing on the lists today as well. If it gets reviewed in time and merged upstream then I'll convert these into 'commit-<blah>' patches instead. Apparently 32-bit arm should boot on my rpi2 as well after recent fixes in head. I'll try to work on 32-bit arm support for GDB that can go upstream once I have 32-bit arm booting so I can test it.

This revision was automatically updated to reflect the committed changes.