With i386, the regparm(2) is not taken into account when there is a
variadic function. All parameters are in the stack.
Since this variable argument is never used removing it is not a problem.
This solves libitm testcases memset-1.c/memcpy-1.c on i686 (part of
PR51655/51124).
Before:
FAIL: libitm.c/memcpy-1.c execution test
FAIL: libitm.c/memset-1.c execution test
=== libitm Summary ===
# of expected passes 21
# of unexpected failures 2
# of expected failures 5
# of unresolved testcases 1
After:
=== libitm Summary ===
# of expected passes 23
# of expected failures 5
# of unresolved testcases 1
Tested on i686. If ok, please commit. Thanks.
Patrick Marlier.
2011-12-28 Patrick Marlier <patrick.marl...@gmail.com>
PR testsuite/51655
* libitm.h (_ITM_beginTransaction): Remove unused argument.
Index: libitm.h
===================================================================
--- libitm.h (revision 182549)
+++ libitm.h (working copy)
@@ -136,7 +136,7 @@ typedef uint64_t _ITM_transactionId_t; /* Transact
extern _ITM_transactionId_t _ITM_getTransactionId(void) ITM_REGPARM;
-extern uint32_t _ITM_beginTransaction(uint32_t, ...) ITM_REGPARM;
+extern uint32_t _ITM_beginTransaction(uint32_t) ITM_REGPARM;
extern void _ITM_abortTransaction(_ITM_abortReason) ITM_REGPARM
ITM_NORETURN;