Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
* Porting GDB to ia64-hpux
@ 2010-12-28  4:43 Joel Brobecker
  2010-12-28  4:43 ` [PATCH 2/8] small integral parameters and return values Joel Brobecker
                   ` (8 more replies)
  0 siblings, 9 replies; 31+ messages in thread
From: Joel Brobecker @ 2010-12-28  4:43 UTC (permalink / raw)
  To: gdb-patches

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.


^ permalink raw reply	[flat|nested] 31+ messages in thread

end of thread, other threads:[~2011-06-17 16:30 UTC | newest]

Thread overview: 31+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-12-28  4:43 Porting GDB to ia64-hpux Joel Brobecker
2010-12-28  4:43 ` [PATCH 2/8] small integral parameters and return values 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 1/8] Add a big-endian version of the ia64-ext floatformat 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:44 ` [PATCH 3/8] Make sure __LITTLE_ENDIAN/__BIG_ENDIAN are defined in libunwind-frame.c 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: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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox