From: Andrew Cagney <ac131313@redhat.com>
To: Joel Brobecker <brobecker@gnat.com>
Cc: gdb-patches@sources.redhat.com
Subject: Re: [commit/hpux] Obsolete some definitions only used for hppa-pro
Date: Tue, 22 Apr 2003 16:57:00 -0000 [thread overview]
Message-ID: <3EA57465.9020102@redhat.com> (raw)
In-Reply-To: <20030422011559.GN10467@gnat.com>
> I just checked in the following patch, as the hppa-pro target is now
> obsolete, and PA_LEVEL_0 is only defined for this target.
>
> 2003-04-21 J. Brobecker <brobecker@gnat.com>
>
> * config/pa/tm-hppa.h: Obsolete a section that was only used
> for hppa-pro.
Just fyi:
// OBSOLETE
has a little evilness behind it - it's C++ not ISO C 90. GDB gets way
with it by either using:
#if 0
// OBSOLETE ...
#endif
or just applying it to the entire file.
Oh, and if something can be simplified by removing a value/macro only
defined in obsolete code then it's a real option. The person that tries
to resurect that obsolete target will need to re-write the section anyway.
Andrew
> Index: config/pa/tm-hppa.h
> ===================================================================
> RCS file: /cvs/src/src/gdb/config/pa/tm-hppa.h,v
> retrieving revision 1.45
> diff -c -3 -p -r1.45 tm-hppa.h
> *** config/pa/tm-hppa.h 22 Apr 2003 00:53:54 -0000 1.45
> --- config/pa/tm-hppa.h 22 Apr 2003 01:10:10 -0000
> *************** extern void hppa_pop_frame (void);
> *** 463,469 ****
>
> #define INSTRUCTION_SIZE 4
>
> ! #ifndef PA_LEVEL_0
>
> /* Non-level zero PA's have space registers (but they don't always have
> floating-point, do they???? */
> --- 463,469 ----
>
> #define INSTRUCTION_SIZE 4
>
> ! //OBSOLETE #ifndef PA_LEVEL_0
>
> /* Non-level zero PA's have space registers (but they don't always have
> floating-point, do they???? */
> *************** extern void hppa_pop_frame (void);
> *** 551,592 ****
> #endif
> #define REG_PARM_STACK_SPACE 16
>
> ! #else /* defined PA_LEVEL_0 */
> !
> ! /* FIXME: brobecker 2002-12-26. PA_LEVEL_0 is only defined for the
> ! hppa-pro target, which should be obsoleted soon. The following
> ! section will therefore not be included in the multiarch conversion. */
> ! /* This is the call dummy for a level 0 PA. Level 0's don't have space
> ! registers (or floating point?), so we skip all that inter-space call stuff,
> ! and avoid touching the fp regs.
> !
> ! call_dummy
> !
> ! ldw -36(%sp), %arg0
> ! ldw -40(%sp), %arg1
> ! ldw -44(%sp), %arg2
> ! ldw -48(%sp), %arg3
> ! ldil 0, %r31 ; FUNC_LDIL_OFFSET must point here
> ! ldo 0(%r31), %r31 ; FUNC_LDO_OFFSET must point here
> ! ble 0(%sr0, %r31)
> ! copy %r31, %r2
> ! break 4, 8
> ! nop ; restore_pc_queue expects these
> ! bv,n 0(%r22) ; instructions to be here...
> ! nop
> ! */
> !
> ! /* Define offsets into the call dummy for the target function address */
> ! #define FUNC_LDIL_OFFSET (INSTRUCTION_SIZE * 4)
> ! #define FUNC_LDO_OFFSET (INSTRUCTION_SIZE * 5)
> !
> ! #define CALL_DUMMY {0x4bda3fb9, 0x4bd93fb1, 0x4bd83fa9, 0x4bd73fa1,\
> ! 0x23e00000, 0x37ff0000, 0xe7e00000, 0x081f0242,\
> ! 0x00010004, 0x08000240, 0xeac0c002, 0x08000240}
> !
> ! #define CALL_DUMMY_LENGTH (INSTRUCTION_SIZE * 12)
> !
> ! #endif /* defined PA_LEVEL_0 */
>
> #if !GDB_MULTI_ARCH
> #define CALL_DUMMY_START_OFFSET 0
> --- 551,592 ----
> #endif
> #define REG_PARM_STACK_SPACE 16
>
> ! //OBSOLETE #else /* defined PA_LEVEL_0 */
> ! //OBSOLETE
> ! //OBSOLETE /* FIXME: brobecker 2002-12-26. PA_LEVEL_0 is only defined for the
> ! //OBSOLETE hppa-pro target, which should be obsoleted soon. The following
> ! //OBSOLETE section will therefore not be included in the multiarch conversion. */
> ! //OBSOLETE /* This is the call dummy for a level 0 PA. Level 0's don't have space
> ! //OBSOLETE registers (or floating point?), so we skip all that inter-space call stuff,
> ! //OBSOLETE and avoid touching the fp regs.
> ! //OBSOLETE
> ! //OBSOLETE call_dummy
> ! //OBSOLETE
> ! //OBSOLETE ldw -36(%sp), %arg0
> ! //OBSOLETE ldw -40(%sp), %arg1
> ! //OBSOLETE ldw -44(%sp), %arg2
> ! //OBSOLETE ldw -48(%sp), %arg3
> ! //OBSOLETE ldil 0, %r31 ; FUNC_LDIL_OFFSET must point here
> ! //OBSOLETE ldo 0(%r31), %r31 ; FUNC_LDO_OFFSET must point here
> ! //OBSOLETE ble 0(%sr0, %r31)
> ! //OBSOLETE copy %r31, %r2
> ! //OBSOLETE break 4, 8
> ! //OBSOLETE nop ; restore_pc_queue expects these
> ! //OBSOLETE bv,n 0(%r22) ; instructions to be here...
> ! //OBSOLETE nop
> ! //OBSOLETE */
> ! //OBSOLETE
> ! //OBSOLETE /* Define offsets into the call dummy for the target function address */
> ! //OBSOLETE #define FUNC_LDIL_OFFSET (INSTRUCTION_SIZE * 4)
> ! //OBSOLETE #define FUNC_LDO_OFFSET (INSTRUCTION_SIZE * 5)
> ! //OBSOLETE
> ! //OBSOLETE #define CALL_DUMMY {0x4bda3fb9, 0x4bd93fb1, 0x4bd83fa9, 0x4bd73fa1,\
> ! //OBSOLETE 0x23e00000, 0x37ff0000, 0xe7e00000, 0x081f0242,\
> ! //OBSOLETE 0x00010004, 0x08000240, 0xeac0c002, 0x08000240}
> ! //OBSOLETE
> ! //OBSOLETE #define CALL_DUMMY_LENGTH (INSTRUCTION_SIZE * 12)
> ! //OBSOLETE
> ! //OBSOLETE #endif /* defined PA_LEVEL_0 */
>
> #if !GDB_MULTI_ARCH
> #define CALL_DUMMY_START_OFFSET 0
next prev parent reply other threads:[~2003-04-22 16:57 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-04-22 1:16 Joel Brobecker
2003-04-22 16:57 ` Andrew Cagney [this message]
2003-04-22 18:15 ` 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=3EA57465.9020102@redhat.com \
--to=ac131313@redhat.com \
--cc=brobecker@gnat.com \
--cc=gdb-patches@sources.redhat.com \
/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