This is the mail archive of the
gdb-prs@sourceware.org
mailing list for the GDB project.
Re: gdb/2045: gdb 6.4 compilation fails on HPUX 10
- From: Ralf Fassel <ralfixx at gmx dot de>
- To: nobody at sources dot redhat dot com
- Cc: gdb-prs at sources dot redhat dot com,
- Date: 6 Dec 2005 10:48:01 -0000
- Subject: Re: gdb/2045: gdb 6.4 compilation fails on HPUX 10
- Reply-to: Ralf Fassel <ralfixx at gmx dot de>
The following reply was made to PR gdb/2045; it has been noted by GNATS.
From: Ralf Fassel <ralfixx@gmx.de>
To: Mark Kettenis <mark.kettenis@xs4all.nl>
Cc: gdb-gnats@sourceware.org
Subject: Re: gdb/2045: gdb 6.4 compilation fails on HPUX 10
Date: Tue, 6 Dec 2005 11:41:28 +0100
* Mark Kettenis
| I've been looking into the problem today. I remember stumbling
| across the -D_LARGEFILE64_SOURCE issue, and could indeed reproduce
| it. I'm working on a proper fix, but it seems the HP-UX 10.20
| header files are seriously borked, so the "right" fix doesn't quite
| work :(.
I think this one is the bigger 'problem' of the two I reported, so it
would be good if this could be resolved.
| I can't reproduce the curses problem though. That's with gcc-2.95.3
| though. Maybe this is a bug in GCC 4.0.2.
I don't think so. The /usr/include/curses.h header seems broken (see
below), and gcc just runs 'fixincludes' on it.
| Or maybe you need to patch the machine.
LOL, patch a HP-UX 10 machine... I guess HP by now refuses to know
what HP-10 *is* :-/ But in fact I think this is the only option...
| The box I tried has
|
| 700QPK1020 ACE.199906.01 Workstation Quality Pack for HP-UX 10.20 (June 1999)
| B6193DA ACE.199906.03 Workstation ACE for HP-UX 10.20 (June 1999)
| B6378CA ACE.199906.01 Networking ACE for HP-UX 10.20 (June 1999)
Here:
B6193EA ACE.199912.01 Workstation ACE for HP-UX 10.20 (December 1999)
We bought this machine in 2003 with HP-11 installed, but had to switch
back to HP-10 for some customer.
| I don't think the -D__HP_CURSES is the way to go, since that invokes
| the HP curses stuff instead of the standardized X/Open curses.
I don't think this is a proper solution either, but at least the
curses.h header on my machine contain for the getyx() macro:
#if !defined(_XOPEN_SOURCE_EXTENDED) || defined(__HP_CURSES)
...
#define getyx(win,y,x) y = win->_cury, x = win->_curx
...
#else
...
#define getyx(__win,__y,__x) { WINDOW *__wi; \
__wi = __win; ((__y) = __getcury(__wi), \
(__x) = __getcurx(__wi)) }
#define getbegyx(__win,__y,__x) { WINDOW *__wi; \
__wi = __win; ((__y) = __getbegy(__wi), \
(__x) = __getbegx(__wi)) }
#define getmaxyx(__win,__y,__x) { WINDOW *__wi; \
__wi = __win; ((__y) = __getmaxy(__wi), \
(__x) = __getmaxx(__wi)) }
#define getparyx(__win,__y,__x) { WINDOW *__wi; \
__wi = __win; ((__y) = __getpary(__wi), \
(__x) = __getparx(__wi)) }
...
extern int __getcury(WINDOW *);
extern int __getcurx(WINDOW *);
extern int __getbegy(WINDOW *);
extern int __getbegx(WINDOW *);
extern int __getmaxy(WINDOW *);
extern int __getmaxx(WINDOW *);
extern int __getpary(WINDOW *);
extern int __getparx(WINDOW *);
...
#endif /* XOPEN header
!defined(_XOPEN_SOURCE_EXTENDED) || defined(__HP_CURSES) */
Note the else-branch macros, they can't ever work (all missing a
semicolon before the closing "}"). What does your curses.h contain
here?
Well, since I almost always use gdb inside 'ddd' or an emacs shell,
maybe I can get away with HP curses... :-)
R'