On 07/14/13 21:37, David Holsgrove wrote:
Hi Michael,
-----Original Message-----
From: Michael Eager [mailto:ea...@eagerm.com]
Sent: Saturday, 13 July 2013 9:33 am
To: David Holsgrove
Cc: gcc-patches@gcc.gnu.org; Edgar Iglesias; John Williams; Vinod Kathail;
Vidhumouli Hunsigida; Nagaraju Mekala; Tom Shui
Subject: Re: [Patch, microblaze]: Add TARGET_ASM_OUTPUT_MI_THUNK to
support varargs thunk
On 03/18/13 05:49, David Holsgrove wrote:
Changelog
2013-03-18 David Holsgrove <david.holsgr...@xilinx.com>
* gcc/config/microblaze/microblaze.c: Add microblaze_asm_output_mi_thunk
and define TARGET_ASM_OUTPUT_MI_THUNK and
TARGET_ASM_CAN_OUTPUT_MI_THUNK
Sorry it has taken so long to review this patch.
The gcc microblaze-xilinx-elf build with this patch fails here:
+microblaze_asm_output_mi_thunk (FILE *file, tree thunk_fndecl
ATTRIBUTE_UNUSED,
+ HOST_WIDE_INT delta, HOST_WIDE_INT
vcall_offset,
+ tree function)
...
+ emit_insn (gen_jump (funexp));
(actually, in output_operand() downstream from this statement) while compiling
c++98/strstream.cc, with an error that the "%l" operand was not a label.
This is the first occasion when this routine is called.
I had sent a separate patch which should have been applied prior to this one
which
extended the jump insn to accommodate branching without the "%l" print operand,
but I've since reworked our thunk support to avoid needing this second patch.
Please find attached updated patch, and new Changelog entry;
2013-07-15 David Holsgrove <david.holsgr...@xilinx.com>
* gcc/config/microblaze/microblaze.c: Add microblaze_asm_output_mi_thunk
and define TARGET_ASM_OUTPUT_MI_THUNK and TARGET_ASM_CAN_OUTPUT_MI_THUNK
This patch causes a number of regressions in the G++ test suite.
For example, abi/covariant{3,4,5}.C, abi/vcall1.C,
inherit/covariant{1,2,3,4,17,18}.C,
inherit/thunk{7,10}.C and others.
--
Michael Eager ea...@eagercon.com
1960 Park Blvd., Palo Alto, CA 94306 650-325-8077