From e9857afa1cf4a6bfb0b6622c557ad3c7353df346 Mon Sep 17 00:00:00 2001 From: Ulrich Weigand Date: Tue, 8 Feb 2011 13:30:10 +0000 Subject: [PATCH] include/ChangeLog: * dwarf2.h (enum dwarf_calling_convention): Add DW_CC_GDB_IBM_OpenCL. gdb/ChangeLog: * dwarf2read.c (read_subroutine_type): Set special calling convention flag for functions compiled by IBM XL C for OpenCL. * ppc-sysv-tdep.c: Include "dwarf2.h" (ppc_sysv_abi_push_dummy_call): Implement IBM OpenCL vector types calling convention. (do_ppc_sysv_return_value): Add FUNC_TYPE argument. Implement IBM OpenCL vector types calling convention. (ppc_sysv_abi_return_value): Pass through FUNC_TYPE. (ppc_sysv_abi_broken_return_value): Likewise. (ppc64_sysv_abi_push_dummy_call): Implement IBM OpenCL vector types calling convention. (ppc64_sysv_abi_return_value): Likewise. * spu-tdep.c: Include "dwarf2.h" (spu_return_value): Implement IBM OpenCL vector types calling convention. gdb/testsuite/ChangeLog: * gdb.opencl/callfuncs.cl: New file. * gdb.opencl/callfuncs.exp: New test. * gdb.opencl/Makefile.in (EXECUTABLES): Add callfuncs. --- include/ChangeLog | 4 ++++ include/dwarf2.h | 10 +++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/include/ChangeLog b/include/ChangeLog index c96d35855..2a19c6133 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -1,3 +1,7 @@ +2011-02-08 Ulrich Weigand + + * dwarf2.h (enum dwarf_calling_convention): Add DW_CC_GDB_IBM_OpenCL. + 2011-01-12 Iain Sandoe * dwarf2.h: Update value for DW_AT_hi_user. diff --git a/include/dwarf2.h b/include/dwarf2.h index ad00aac09..7729ad86d 100644 --- a/include/dwarf2.h +++ b/include/dwarf2.h @@ -754,7 +754,15 @@ enum dwarf_calling_convention DW_CC_hi_user = 0xff, DW_CC_GNU_renesas_sh = 0x40, - DW_CC_GNU_borland_fastcall_i386 = 0x41 + DW_CC_GNU_borland_fastcall_i386 = 0x41, + + /* This DW_CC_ value is not currently generated by any toolchain. It is + used internally to GDB to indicate OpenCL C functions that have been + compiled with the IBM XL C for OpenCL compiler and use a non-platform + calling convention for passing OpenCL C vector types. This value may + be changed freely as long as it does not conflict with any other DW_CC_ + value defined here. */ + DW_CC_GDB_IBM_OpenCL = 0xff }; /* Inline attribute. */