This is the mail archive of the
mailing list for the GCC project.
Re: Wrong fix !!: egcs/gcc ChangeLog config/alpha/alpha.c config ...
- To: "Richard Henderson" <rth at cygnus dot com>
- Subject: Re: Wrong fix !!: egcs/gcc ChangeLog config/alpha/alpha.c config ...
- From: "Klaus Kaempf" <kkaempf at rmi dot de>
- Date: Mon, 6 Jul 1998 12:35:37 +0200
- Cc: "egcs patches list" <egcs-patches at cygnus dot com>
- Reply-To: "Klaus Kaempf" <kkaempf at rmi dot de>
>On Fri, Jul 03, 1998 at 02:01:29PM +0200, Klaus Kaempf wrote:
>> > * alpha/vms.h (TRAMPOLINE_TEMPLATE): Add missing 0.
>> This is wrong !!
>> The TRAMPOLINE_SIZE on openVMS/Alpha is 32 bytes, consisting of a quadword (8
>> bytes), a linkage entry (16 bytes !!) and another quadword (8 bytes).
>Eh? So you overwrite part of the linkage in the trampoline init?
Yes. The 'linkage' is a quadword pointer to the code of __tramp and a quadword
pointer to the 'procedure descriptor' which serves as a pointer to the static
data (frame pointer). This is overwritten in trampoline init.
>That hadn't made sense to me, so I assumed it was just copying 8
>bytes of trailing garbage.
You might ask Richard Kenner about this code...