From: Joel Brobecker <brobecker@adacore.com>
To: gdb-patches@sourceware.org
Subject: Porting GDB to ia64-hpux
Date: Tue, 28 Dec 2010 04:43:00 -0000 [thread overview]
Message-ID: <1293511386-7384-1-git-send-email-brobecker@adacore.com> (raw)
At long last, after having promised this a long time ago (this brings
memories of Australia, as I was spending time there when I first started
on this port), I am finally contributing this port. It took a while,
because the first port I did (against GDB 6.3) had a few hacks in it
that I wasn't happy about.
This port is relatively clean, I believe. There is one dark spot with
shared library support, which is currently native-only - if you build
GDB as a cross debugger to ia64-hpux, you won't get the shared libraries.
I think that this is an acceptable limitation, since I'm not planning on
supporting gdbserver-style remote debugging capabilities. I did spend
a couple of hours exploring the idea of using solib-target, but there
were a couple of issues[1].
I was able to build tcl/expect on this platform, and thus was able to
run the testsuite. Results are not stellar, but to my surprise, already
better than what I get on ia64-linux. A large portion of the failures
are caused by known limitations / missing features in that port, which
I will detail a little bit below. Results first:
# of expected passes 10618
# of unexpected failures 727
# of expected failures 50
# of untested testcases 105
# of unresolved testcases 12
# of unsupported tests 61
The entire patch series has also been tested on ia64-linux, with no
observed regression.
I'd like to commit this Thu or Fri in a week from now.
Known problems and missing features that are causing most of the failures:
- core files are not supported (I know it's easy to add, but I just
don't know how to!). If someone kindly helped, I would be happy
to give it a crack - an interesting learning exercise.
- The kernel on HP-UX does not allow the debugger to change the value
of the BSP register, which makes it impossible to "pop" a register
frame at the same time was pop the stack frame during a "return".
This pretty much guaranties great chaos during a "return" (loss of
synchronization between the call stack and the register stack).
- Backtraces through signal handlers.
- function-call parameter passing / return values: There are still
some cases where we pass the parameters incorrectly. But that's
general to ia64, I think.
--
Joel
[1] Issues related to using solib-target with ia64-hpux:
(a) I need the various hooks to setup the shared-lib notifications;
(b) And next, it's not obvious how to map the info I get from
the system back to the way the info is encoded in the
TARGET_OBJECT_SHARED_LIBRARIES object. In particular, there are
two segments (data and code) to consider when performing section
relocation. The second issue should be workable, but the first
one is a bit more of an issue.
next reply other threads:[~2010-12-28 4:43 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-12-28 4:43 Joel Brobecker [this message]
2010-12-28 4:43 ` [PATCH 1/8] Add a big-endian version of the ia64-ext floatformat Joel Brobecker
2010-12-28 4:43 ` [PATCH 4/8] libunwind-frame.c: handle functions with no minimal symbol/debug info Joel Brobecker
2010-12-28 4:43 ` [PATCH 2/8] small integral parameters and return values Joel Brobecker
2010-12-28 4:44 ` [PATCH 5/8] inf-ttrace: Determine attached process LWP immediately after attaching Joel Brobecker
2010-12-28 11:04 ` Pedro Alves
2010-12-28 11:26 ` Joel Brobecker
2010-12-28 4:44 ` [PATCH 3/8] Make sure __LITTLE_ENDIAN/__BIG_ENDIAN are defined in libunwind-frame.c Joel Brobecker
2010-12-28 4:44 ` [PATCH 6/8] port GDB to ia64-hpux (native) Joel Brobecker
2011-01-11 23:26 ` Steve Ellcey
2011-01-12 1:26 ` Joel Brobecker
2011-01-12 16:57 ` Steve Ellcey
2011-01-12 20:11 ` Joel Brobecker
2011-01-13 1:01 ` Joel Brobecker
2011-01-13 5:13 ` Steve Ellcey
[not found] ` <1299014508.30497.20.camel@hpsje.cup.hp.com>
[not found] ` <20110302044549.GU2513@adacore.com>
[not found] ` <1299171098.30497.88.camel@hpsje.cup.hp.com>
[not found] ` <20110303172717.GJ2513@adacore.com>
[not found] ` <1299173882.30497.114.camel@hpsje.cup.hp.com>
2011-06-17 16:30 ` Joel Brobecker
2011-01-13 18:07 ` Joel Brobecker
2010-12-28 4:54 ` [PATCH 7/8] ia64-hpux: unwinding bsp value from system call Joel Brobecker
2010-12-28 11:35 ` Pedro Alves
2010-12-28 12:01 ` Joel Brobecker
2010-12-28 16:17 ` Pedro Alves
2010-12-29 5:49 ` Joel Brobecker
2010-12-29 12:05 ` Pedro Alves
2010-12-29 13:16 ` Joel Brobecker
2010-12-31 18:15 ` Joel Brobecker
2010-12-28 15:29 ` [RFA/commit] Add documentation for TARGET_OBJECT_OSDATA Joel Brobecker
2010-12-28 15:46 ` Pedro Alves
2010-12-29 3:29 ` Joel Brobecker
2010-12-28 5:00 ` [PATCH 8/8] [ia64-hpux] inferior function call support Joel Brobecker
2010-12-31 19:18 ` Joel Brobecker
2011-01-13 16:53 ` Porting GDB to ia64-hpux Joel Brobecker
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1293511386-7384-1-git-send-email-brobecker@adacore.com \
--to=brobecker@adacore.com \
--cc=gdb-patches@sourceware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox