You can subscribe to this list here.
| 2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
(122) |
Nov
(152) |
Dec
(69) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2003 |
Jan
(6) |
Feb
(25) |
Mar
(73) |
Apr
(82) |
May
(24) |
Jun
(25) |
Jul
(10) |
Aug
(11) |
Sep
(10) |
Oct
(54) |
Nov
(203) |
Dec
(182) |
| 2004 |
Jan
(307) |
Feb
(305) |
Mar
(430) |
Apr
(312) |
May
(187) |
Jun
(342) |
Jul
(487) |
Aug
(637) |
Sep
(336) |
Oct
(373) |
Nov
(441) |
Dec
(210) |
| 2005 |
Jan
(385) |
Feb
(480) |
Mar
(636) |
Apr
(544) |
May
(679) |
Jun
(625) |
Jul
(810) |
Aug
(838) |
Sep
(634) |
Oct
(521) |
Nov
(965) |
Dec
(543) |
| 2006 |
Jan
(494) |
Feb
(431) |
Mar
(546) |
Apr
(411) |
May
(406) |
Jun
(322) |
Jul
(256) |
Aug
(401) |
Sep
(345) |
Oct
(542) |
Nov
(308) |
Dec
(481) |
| 2007 |
Jan
(427) |
Feb
(326) |
Mar
(367) |
Apr
(255) |
May
(244) |
Jun
(204) |
Jul
(223) |
Aug
(231) |
Sep
(354) |
Oct
(374) |
Nov
(497) |
Dec
(362) |
| 2008 |
Jan
(322) |
Feb
(482) |
Mar
(658) |
Apr
(422) |
May
(476) |
Jun
(396) |
Jul
(455) |
Aug
(267) |
Sep
(280) |
Oct
(253) |
Nov
(232) |
Dec
(304) |
| 2009 |
Jan
(486) |
Feb
(470) |
Mar
(458) |
Apr
(423) |
May
(696) |
Jun
(461) |
Jul
(551) |
Aug
(575) |
Sep
(134) |
Oct
(110) |
Nov
(157) |
Dec
(102) |
| 2010 |
Jan
(226) |
Feb
(86) |
Mar
(147) |
Apr
(117) |
May
(107) |
Jun
(203) |
Jul
(193) |
Aug
(238) |
Sep
(300) |
Oct
(246) |
Nov
(23) |
Dec
(75) |
| 2011 |
Jan
(133) |
Feb
(195) |
Mar
(315) |
Apr
(200) |
May
(267) |
Jun
(293) |
Jul
(353) |
Aug
(237) |
Sep
(278) |
Oct
(611) |
Nov
(274) |
Dec
(260) |
| 2012 |
Jan
(303) |
Feb
(391) |
Mar
(417) |
Apr
(441) |
May
(488) |
Jun
(655) |
Jul
(590) |
Aug
(610) |
Sep
(526) |
Oct
(478) |
Nov
(359) |
Dec
(372) |
| 2013 |
Jan
(467) |
Feb
(226) |
Mar
(391) |
Apr
(281) |
May
(299) |
Jun
(252) |
Jul
(311) |
Aug
(352) |
Sep
(481) |
Oct
(571) |
Nov
(222) |
Dec
(231) |
| 2014 |
Jan
(185) |
Feb
(329) |
Mar
(245) |
Apr
(238) |
May
(281) |
Jun
(399) |
Jul
(382) |
Aug
(500) |
Sep
(579) |
Oct
(435) |
Nov
(487) |
Dec
(256) |
| 2015 |
Jan
(338) |
Feb
(357) |
Mar
(330) |
Apr
(294) |
May
(191) |
Jun
(108) |
Jul
(142) |
Aug
(261) |
Sep
(190) |
Oct
(54) |
Nov
(83) |
Dec
(22) |
| 2016 |
Jan
(49) |
Feb
(89) |
Mar
(33) |
Apr
(50) |
May
(27) |
Jun
(34) |
Jul
(53) |
Aug
(53) |
Sep
(98) |
Oct
(206) |
Nov
(93) |
Dec
(53) |
| 2017 |
Jan
(65) |
Feb
(82) |
Mar
(102) |
Apr
(86) |
May
(187) |
Jun
(67) |
Jul
(23) |
Aug
(93) |
Sep
(65) |
Oct
(45) |
Nov
(35) |
Dec
(17) |
| 2018 |
Jan
(26) |
Feb
(35) |
Mar
(38) |
Apr
(32) |
May
(8) |
Jun
(43) |
Jul
(27) |
Aug
(30) |
Sep
(43) |
Oct
(42) |
Nov
(38) |
Dec
(67) |
| 2019 |
Jan
(32) |
Feb
(37) |
Mar
(53) |
Apr
(64) |
May
(49) |
Jun
(18) |
Jul
(14) |
Aug
(53) |
Sep
(25) |
Oct
(30) |
Nov
(49) |
Dec
(31) |
| 2020 |
Jan
(87) |
Feb
(45) |
Mar
(37) |
Apr
(51) |
May
(99) |
Jun
(36) |
Jul
(11) |
Aug
(14) |
Sep
(20) |
Oct
(24) |
Nov
(40) |
Dec
(23) |
| 2021 |
Jan
(14) |
Feb
(53) |
Mar
(85) |
Apr
(15) |
May
(19) |
Jun
(3) |
Jul
(14) |
Aug
(1) |
Sep
(57) |
Oct
(73) |
Nov
(56) |
Dec
(22) |
| 2022 |
Jan
(3) |
Feb
(22) |
Mar
(6) |
Apr
(55) |
May
(46) |
Jun
(39) |
Jul
(15) |
Aug
(9) |
Sep
(11) |
Oct
(34) |
Nov
(20) |
Dec
(36) |
| 2023 |
Jan
(79) |
Feb
(41) |
Mar
(99) |
Apr
(169) |
May
(48) |
Jun
(16) |
Jul
(16) |
Aug
(57) |
Sep
(19) |
Oct
|
Nov
|
Dec
|
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
|
|
|
|
|
|
|
1
(14) |
|
2
|
3
(6) |
4
(9) |
5
(23) |
6
(6) |
7
(10) |
8
(2) |
|
9
(1) |
10
(5) |
11
(2) |
12
(5) |
13
(2) |
14
(2) |
15
(4) |
|
16
(3) |
17
(22) |
18
(21) |
19
(15) |
20
(24) |
21
(5) |
22
(5) |
|
23
(14) |
24
(2) |
25
(2) |
26
(1) |
27
|
28
|
29
(1) |
|
30
|
31
|
|
|
|
|
|
|
From: Hauke M. <ha...@ha...> - 2016-10-03 15:33:34
|
On 10/03/2016 04:46 PM, Petar Jovanovic wrote: > Hi Hauke, > > Does any of these packages use mips16 code? (Valgrind currently does > not support mips16.) > Can you do 'readelf -h yourbinary' for the binaries that have issues > with the latest Valgrind? Run the same command for /lib/libc.so. > > Regards, > Petar > Hi Petar, Thanks for the hint, yes I was using mips16 and after deactivating mips16 it works. It would be nice to have a better error message when a unsupported mips16 binary is used. To fix the "valgrind: mmap(0x400000, 303104) failed in UME with error 22 (Invalid argument)." problem in valgrind 3.11.0, a backport of commit r15754 "mips: remove link script exception for MIPS arch" is needed, this is included in 3.12.0.BETA1. Hauke |
|
From: <sv...@va...> - 2016-10-03 15:30:53
|
Author: carll
Date: Mon Oct 3 16:30:46 2016
New Revision: 3252
Log:
Fix rounding mode check and instruction stxvl
In BE mode, the function FPU_rounding_mode_isOdd() has the assert
vassert(mode->Iex.Const.con->Ico.U8 == 0x8);
The value was set using mkU32 but in BE mode the U8 maps to the upper
bits in the memory location not the lower bits. The comparison was
fixed by changing the .U8 to .U32 to be consistent with how the field
was set.
The stxvl instruction called the 64-bit NOT not the 128-bit NOT when
calculating the store_val.
The stxvx instruction the temp word values were initialized I32 not I64.
Not sure why this wasn't caught on LE.
bugzilla 369175
Modified:
trunk/priv/guest_ppc_toIR.c
trunk/priv/host_ppc_isel.c
Modified: trunk/priv/guest_ppc_toIR.c
==============================================================================
--- trunk/priv/guest_ppc_toIR.c (original)
+++ trunk/priv/guest_ppc_toIR.c Mon Oct 3 16:30:46 2016
@@ -20181,10 +20181,10 @@
{
UInt ea_off = 0;
IRExpr* irx_addr;
- IRTemp word0 = newTemp( Ity_I32 );
- IRTemp word1 = newTemp( Ity_I32 );
- IRTemp word2 = newTemp( Ity_I32 );
- IRTemp word3 = newTemp( Ity_I32 );
+ IRTemp word0 = newTemp( Ity_I64 );
+ IRTemp word1 = newTemp( Ity_I64 );
+ IRTemp word2 = newTemp( Ity_I64 );
+ IRTemp word3 = newTemp( Ity_I64 );
DIP("stxvx %d,r%u,r%u\n", (UInt)XS, rA_addr, rB_addr);
assign( word0, binop( Iop_Shr64,
@@ -20346,7 +20346,7 @@
mkexpr( shift ) ),
mkexpr( nb_mask ) ),
binop( Iop_AndV128,
- unop( Iop_Not64, mkexpr( nb_mask ) ),
+ unop( Iop_NotV128, mkexpr( nb_mask ) ),
mkexpr( current_mem) ) ) );
} else {
Modified: trunk/priv/host_ppc_isel.c
==============================================================================
--- trunk/priv/host_ppc_isel.c (original)
+++ trunk/priv/host_ppc_isel.c Mon Oct 3 16:30:46 2016
@@ -1238,7 +1238,7 @@
return False;
vassert(mode->Iex.Const.con->tag == Ico_U32);
- vassert(mode->Iex.Const.con->Ico.U8 == 0x8);
+ vassert(mode->Iex.Const.con->Ico.U32 == 0x8);
return True;
}
|
|
From: <sv...@va...> - 2016-10-03 15:27:41
|
Author: carll
Date: Mon Oct 3 16:27:31 2016
New Revision: 3251
Log:
Fix for clean helpers on BE
This patch adds the missing fnptr_to_fnentry() wrapper call for the
clean helpers introduced in the ISA 3.0 support.
bugzilla 369175
Modified:
trunk/priv/guest_ppc_helpers.c
trunk/priv/guest_ppc_toIR.c
Modified: trunk/priv/guest_ppc_helpers.c
==============================================================================
--- trunk/priv/guest_ppc_helpers.c (original)
+++ trunk/priv/guest_ppc_helpers.c Mon Oct 3 16:27:31 2016
@@ -220,6 +220,11 @@
/*--- Misc BCD clean helpers. ---*/
/*---------------------------------------------------------------*/
+/* NOTE, the clean and dirty helpers need to called using the
+ * fnptr_to_fnentry() function wrapper to handle the Big Endian
+ * pointer-to-function ABI and the Little Endian ABI.
+ */
+
/* This C-helper takes a 128-bit BCD value as two 64-bit pieces.
* It checks the string to see if it is a valid 128-bit BCD value.
* A valid BCD value has a sign value in bits [3:0] between 0xA
Modified: trunk/priv/guest_ppc_toIR.c
==============================================================================
--- trunk/priv/guest_ppc_toIR.c (original)
+++ trunk/priv/guest_ppc_toIR.c Mon Oct 3 16:27:31 2016
@@ -4321,7 +4321,8 @@
}
-static IRExpr * is_BCDstring128 (UInt Signed, IRExpr *src)
+static IRExpr * is_BCDstring128 ( const VexAbiInfo* vbi,
+ UInt Signed, IRExpr *src )
{
IRTemp valid = newTemp( Ity_I64 );
@@ -4338,7 +4339,7 @@
assign( valid,
mkIRExprCCall( Ity_I64, 0 /*regparms*/,
"is_BCDstring128_helper",
- &is_BCDstring128_helper,
+ fnptr_to_fnentry( vbi, &is_BCDstring128_helper ),
mkIRExprVec_3( mkU64( Signed ),
unop( Iop_V128HIto64, src ),
unop( Iop_V128to64, src ) ) ) );
@@ -4383,7 +4384,8 @@
mkU64( 0xF ) ) );
}
-static IRTemp increment_BCDstring (IRExpr *src, IRExpr *carry_in)
+static IRTemp increment_BCDstring ( const VexAbiInfo* vbi,
+ IRExpr *src, IRExpr *carry_in )
{
/* The src is a 128-bit value containing 31 BCD digits with the sign in
* the least significant byte. The bytes are BCD values between 0x0 and 0x9.
@@ -4418,7 +4420,8 @@
assign( bcd_result0,
mkIRExprCCall( Ity_I64, 0 /*regparms*/,
"increment_BCDstring32_helper",
- &increment_BCDstring32_helper,
+ fnptr_to_fnentry( vbi,
+ &increment_BCDstring32_helper ),
mkIRExprVec_3( mkU64( True /*Signed*/ ),
bcd_string0,
binop( Iop_32HLto64, mkU32( 0 ),
@@ -4427,7 +4430,8 @@
assign( bcd_result1,
mkIRExprCCall( Ity_I64, 0 /*regparms*/,
"increment_BCDstring32_helper",
- &increment_BCDstring32_helper,
+ fnptr_to_fnentry( vbi,
+ &increment_BCDstring32_helper ),
mkIRExprVec_3( mkU64( False /*Unsigned*/ ),
bcd_string1,
binop( Iop_Shr64,
@@ -4436,7 +4440,8 @@
assign( bcd_result2,
mkIRExprCCall( Ity_I64, 0 /*regparms*/,
"increment_BCDstring32_helper",
- &increment_BCDstring32_helper,
+ fnptr_to_fnentry( vbi,
+ &increment_BCDstring32_helper ),
mkIRExprVec_3( mkU64( False /*Unsigned*/ ),
bcd_string2,
binop( Iop_Shr64,
@@ -4445,7 +4450,8 @@
assign( bcd_result3,
mkIRExprCCall( Ity_I64, 0 /*regparms*/,
"increment_BCDstring32_helper",
- &increment_BCDstring32_helper,
+ fnptr_to_fnentry( vbi,
+ &increment_BCDstring32_helper ),
mkIRExprVec_3( mkU64( False /*Unsigned*/ ),
bcd_string3,
binop( Iop_Shr64,
@@ -4470,7 +4476,8 @@
return bcd_result;
}
-static IRExpr * convert_to_zoned ( IRExpr *src, IRExpr *upper_byte )
+static IRExpr * convert_to_zoned ( const VexAbiInfo* vbi,
+ IRExpr *src, IRExpr *upper_byte )
{
/* The function takes a V128 packed decimal value and returns
* the value in zoned format. Note, the sign of the value is ignored.
@@ -4486,7 +4493,7 @@
assign( result_low,
mkIRExprCCall( Ity_I64, 0 /*regparms*/,
"convert_to_zoned_helper",
- &convert_to_zoned_helper,
+ fnptr_to_fnentry( vbi, &convert_to_zoned_helper ),
mkIRExprVec_4( unop( Iop_V128HIto64, src ),
unop( Iop_V128to64, src ),
upper_byte,
@@ -4495,7 +4502,7 @@
assign( result_hi,
mkIRExprCCall( Ity_I64, 0 /*regparms*/,
"convert_to_zoned_helper",
- &convert_to_zoned_helper,
+ fnptr_to_fnentry( vbi, &convert_to_zoned_helper ),
mkIRExprVec_4( unop( Iop_V128HIto64, src ),
unop( Iop_V128to64, src ),
upper_byte,
@@ -4508,7 +4515,7 @@
return mkexpr( result );
}
-static IRExpr * convert_to_national ( IRExpr *src ) {
+static IRExpr * convert_to_national ( const VexAbiInfo* vbi, IRExpr *src ) {
/* The function takes 128-bit value which has a 64-bit packed decimal
* value in the lower 64-bits of the source. The packed decimal is
* converted to the national format via a clean helper. The clean
@@ -4528,14 +4535,14 @@
assign( result_low,
mkIRExprCCall( Ity_I64, 0 /*regparms*/,
"convert_to_national_helper",
- &convert_to_national_helper,
+ fnptr_to_fnentry( vbi, &convert_to_national_helper ),
mkIRExprVec_2( unop( Iop_V128to64, src ),
mkU64( 0 ) ) ) );
assign( result_hi,
mkIRExprCCall( Ity_I64, 0 /*regparms*/,
"convert_to_national_helper",
- &convert_to_national_helper,
+ fnptr_to_fnentry( vbi, &convert_to_national_helper ),
mkIRExprVec_2( unop( Iop_V128to64, src ),
mkU64( 1 ) ) ) );
@@ -4545,7 +4552,7 @@
return mkexpr( result );
}
-static IRExpr * convert_from_zoned ( IRExpr *src ) {
+static IRExpr * convert_from_zoned ( const VexAbiInfo* vbi, IRExpr *src ) {
/* The function takes 128-bit zoned value and returns a signless 64-bit
* packed decimal value in the lower 64-bits of the 128-bit result.
*/
@@ -4557,7 +4564,8 @@
mkU64( 0 ),
mkIRExprCCall( Ity_I64, 0 /*regparms*/,
"convert_from_zoned_helper",
- &convert_from_zoned_helper,
+ fnptr_to_fnentry( vbi,
+ &convert_from_zoned_helper ),
mkIRExprVec_2( unop( Iop_V128HIto64,
src ),
unop( Iop_V128to64,
@@ -4567,7 +4575,7 @@
return mkexpr( result );
}
-static IRExpr * convert_from_national ( IRExpr *src ) {
+static IRExpr * convert_from_national ( const VexAbiInfo* vbi, IRExpr *src ) {
/* The function takes 128-bit national value and returns a 64-bit
* packed decimal value.
*/
@@ -4576,7 +4584,8 @@
assign( result,
mkIRExprCCall( Ity_I64, 0 /*regparms*/,
"convert_from_national_helper",
- &convert_from_national_helper,
+ fnptr_to_fnentry( vbi,
+ &convert_from_national_helper ),
mkIRExprVec_2( unop( Iop_V128HIto64,
src ),
unop( Iop_V128to64,
@@ -22076,7 +22085,7 @@
d = unsafeIRDirty_0_N (
0/*regparms*/,
"ppc64g_dirtyhelper_LVS",
- &ppc64g_dirtyhelper_LVS,
+ fnptr_to_fnentry( vbi, &ppc64g_dirtyhelper_LVS ),
args_le );
}
DIP("lvsl v%d,r%u,r%u\n", vD_addr, rA_addr, rB_addr);
@@ -22126,7 +22135,7 @@
d = unsafeIRDirty_0_N (
0/*regparms*/,
"ppc64g_dirtyhelper_LVS",
- &ppc64g_dirtyhelper_LVS,
+ fnptr_to_fnentry( vbi, &ppc64g_dirtyhelper_LVS ),
args_le );
}
DIP("lvsr v%d,r%u,r%u\n", vD_addr, rA_addr, rB_addr);
@@ -25035,7 +25044,7 @@
except when an overflow occurs. But since we can't be 100% accurate
in our emulation of CR6, it seems best to just not support it all.
*/
-static Bool dis_av_bcd_misc ( UInt theInstr )
+static Bool dis_av_bcd_misc ( UInt theInstr, const VexAbiInfo* vbi )
{
UChar opc1 = ifieldOPC(theInstr);
UChar vRT_addr = ifieldRegDS(theInstr);
@@ -25087,8 +25096,10 @@
valid =
unop( Iop_64to32,
binop( Iop_And64,
- is_BCDstring128( /*Signed*/True, mkexpr( vA ) ),
- is_BCDstring128( /*Signed*/True, mkexpr( vB ) ) ) );
+ is_BCDstring128( vbi,
+ /*Signed*/True, mkexpr( vA ) ),
+ is_BCDstring128( vbi,
+ /*Signed*/True, mkexpr( vB ) ) ) );
sign_vb = binop( Iop_AndV128,
binop( Iop_64HLtoV128,
@@ -25149,7 +25160,7 @@
return True;
}
-static Bool dis_av_bcd ( UInt theInstr )
+static Bool dis_av_bcd ( UInt theInstr, const VexAbiInfo* vbi )
{
/* VX-Form */
UChar opc1 = ifieldOPC(theInstr);
@@ -25221,8 +25232,10 @@
valid =
unop( Iop_64to32,
binop( Iop_And64,
- is_BCDstring128( /* Signed */True, mkexpr( vA ) ),
- is_BCDstring128( /* Signed */True, mkexpr( vB ) ) ) );
+ is_BCDstring128( vbi,
+ /* Signed */True, mkexpr( vA ) ),
+ is_BCDstring128( vbi,
+ /* Signed */True, mkexpr( vB ) ) ) );
/* src A */
zeroA = BCDstring_zero( binop( Iop_AndV128,
@@ -25440,7 +25453,7 @@
valid =
unop( Iop_64to32,
- is_BCDstring128( /* Signed */True, mkexpr( vB ) ) );
+ is_BCDstring128( vbi, /* Signed */True, mkexpr( vB ) ) );
} else {
/* string is an unsigned BCD value */
@@ -25450,7 +25463,8 @@
valid =
unop( Iop_64to32,
- is_BCDstring128( /* Unsigned */False, mkexpr( vB ) ) );
+ is_BCDstring128( vbi, /* Unsigned */False,
+ mkexpr( vB ) ) );
}
/* if PS = 0
@@ -25507,7 +25521,7 @@
new_sign_val ),
binop( Iop_AndV128,
not_excess_shift_mask,
- mkexpr( increment_BCDstring( result,
+ mkexpr( increment_BCDstring( vbi, result,
mkexpr( round)
) ) ) ) );
} else { // bcdus.
@@ -25623,7 +25637,7 @@
}
valid =
unop( Iop_64to32,
- is_BCDstring128( /* Signed */True, mkexpr( vB ) ) );
+ is_BCDstring128( vbi, /* Signed */True, mkexpr( vB ) ) );
} else { // bcdutrunc.
/* Check if all of the digits are zero */
@@ -25636,7 +25650,8 @@
pos = mkNOT1( zero );
valid =
unop( Iop_64to32,
- is_BCDstring128( /* Unsigned */False, mkexpr( vB ) ) );
+ is_BCDstring128( vbi, /* Unsigned */False,
+ mkexpr( vB ) ) );
}
/* If vB is not valid, the result is undefined, but we need to
@@ -25708,7 +25723,8 @@
/* Check each of the nibbles for a valid digit 0 to 9 */
valid =
unop( Iop_64to32,
- is_BCDstring128( /* Signed */True, mkexpr( vB ) ) );
+ is_BCDstring128( vbi, /* Signed */True,
+ mkexpr( vB ) ) );
overflow = mkU1( 0 ); // not used
}
break;
@@ -25863,7 +25879,8 @@
pos = mkAND1( mkNOT1( sign ), mkNOT1( zero ) );
assign( tmp,
- convert_to_zoned( mkexpr( vB ), mkU64( upper_byte ) ) );
+ convert_to_zoned( vbi, mkexpr( vB ),
+ mkU64( upper_byte ) ) );
/* Insert the sign based on ps and sign of vB
* in the lower byte.
@@ -25906,7 +25923,8 @@
*/
valid =
unop( Iop_64to32,
- is_BCDstring128( /* Signed */True, mkexpr( vB ) ) );
+ is_BCDstring128( vbi, /* Signed */True,
+ mkexpr( vB ) ) );
}
break;
@@ -25940,7 +25958,8 @@
*/
valid =
unop( Iop_64to32,
- is_BCDstring128( /* Signed */True, mkexpr( vB ) ) );
+ is_BCDstring128( vbi, /* Signed */True,
+ mkexpr( vB ) ) );
/* Upper 24 hex digits of VB, i.e. hex ditgits vB[0:23],
* must be zero for the ox_flag to be zero. This goes
@@ -26001,7 +26020,7 @@
pos = mkAND1( mkNOT1( sign ), mkNOT1( zero ) );
assign( tmp,
- convert_to_national( mkexpr( vB ) ) );
+ convert_to_national( vbi, mkexpr( vB ) ) );
/* If vB is positive insert sign value 0x002B, otherwise
* insert 0x002D for negative. Have to use sign not neg
@@ -26009,7 +26028,7 @@
* OR'd with (sign << 1 | NOT sign) << 1.
* sign = 1 if vB is negative.
*/
- putVReg(vRT_addr,
+ putVReg( vRT_addr,
binop( Iop_OrV128,
mkexpr( tmp ),
binop( Iop_64HLtoV128,
@@ -26033,7 +26052,8 @@
*/
valid =
unop( Iop_64to32,
- is_BCDstring128( /* Signed */True, mkexpr( vB ) ) );
+ is_BCDstring128( vbi, /* Signed */True,
+ mkexpr( vB ) ) );
overflow = ox_flag;
}
@@ -26049,7 +26069,7 @@
valid = unop( Iop_1Uto32, is_Zoned_decimal( vB, ps ) );
assign( tmp,
- convert_from_zoned( mkexpr( vB ) ) );
+ convert_from_zoned( vbi, mkexpr( vB ) ) );
/* If the result of checking the lower 4 bits of each 8-bit
* value is zero, then the "number" was zero.
@@ -26129,7 +26149,7 @@
/* sign = 1 if vB is negative */
sign = binop( Iop_CmpEQ64, mkexpr( hword_7 ), mkU64( 0x002D ) );
- assign( tmp, convert_from_national( mkexpr( vB ) ) );
+ assign( tmp, convert_from_national( vbi, mkexpr( vB ) ) );
/* If the result of checking the lower 4 bits of each 16-bit
* value is zero, then the "number" was zero.
@@ -26221,7 +26241,8 @@
valid =
unop( Iop_64to32,
- is_BCDstring128( /* Signed */True, mkexpr( vB ) ) );
+ is_BCDstring128( vbi, /* Signed */True,
+ mkexpr( vB ) ) );
/* if PS = 0
vB positive, sign is C
@@ -28388,7 +28409,7 @@
case 0x181: // bcdcfn., bcdcfz.
// bcdctz., bcdcfsq., bcdctsq.
if (!allow_isa_2_07) goto decode_noP8;
- if (dis_av_bcd( theInstr )) goto decode_success;
+ if (dis_av_bcd( theInstr, abiinfo )) goto decode_success;
goto decode_failure;
default:
break; // Fall through...
@@ -28401,7 +28422,7 @@
case 0x341: // bcdcpsgn
if (!allow_isa_2_07) goto decode_noP8;
- if (dis_av_bcd_misc( theInstr )) goto decode_success;
+ if (dis_av_bcd_misc( theInstr, abiinfo )) goto decode_success;
goto decode_failure;
|
|
From: Petar J. <mip...@gm...> - 2016-10-03 14:46:55
|
Hi Hauke, Does any of these packages use mips16 code? (Valgrind currently does not support mips16.) Can you do 'readelf -h yourbinary' for the binaries that have issues with the latest Valgrind? Run the same command for /lib/libc.so. Regards, Petar |
|
From: Mark W. <mj...@re...> - 2016-10-03 12:25:40
|
On Mon, 2016-10-03 at 14:14 +0200, Julian Seward wrote: > I will watch commits to the trunk and merge to 3.12.0, any that > appear to be suitable candidates. If you know of any specific > commits which you think should be merged, please mail the list to > say so. For what it is worth I think you can fairly safely merge everything done on trunk since the branch was created. But if you want to be a little more careful then here is my review of the patches so far: - VEX There have been no commits to VEX since the branch was created. But there are some powerpc changes brewing in https://bugs.kde.org/show_bug.cgi?id=369175 The first seems good to go and I have already been testing it in the Fedora builds. The second with updates for Power9 BE should probably also go in once Carl finishes his test run. - valgrind - r15974 NEWS bugs update - Should be merged onto branch. - r15975 Avoid unused variable warning. - Harmless, so should be merged. - r15976 Preliminary support for macOS Sierra (10.12). - Unknown. - r15977 Powerpc big endian, fix the expected output file - Fixed .exp file should be merged. - r15978 Use proper compiler flags on Solaris for fma4 test. r15980 Fix none/tests/amd64/Makefile.am typo s/AM_CFKAGS/AM_CFLAGS/ - Bad compile flags (for the same test). Should be merged. - r15979 Fix expected error output of drd/tests/bar_bad* on Solaris. - Sigh. bar_bad... Should be merged. - r15981 Solaris: Add ioctl wrapper for MNTIOC_GETEXTMNTENT. - Unknown. - r15982 bug #361615 - Inconsistent termination for multithreaded process r15983 Fix warning introduced by revision 15982 - Looks good to me, very small risk, comes with testcase. - r15984 Added meta mempool support into memcheck for describing a custom allocator r15985 Fix test so that leaked bytes is the same in 32 and 64 bits r15986 Add an optional 2nd arg to leak-autofreepool to test performance r15987 mc-manual.xml: Fix some mismatched open/close tags. - New functionality that I haven't reviewed much, but seems low risk. - r15988 Use AM_LDFLAGS instead of LDFLAGS in exp-bbv/tests Makefiles. - Probably only really useful to me in Fedora packaging. - r15989 Don't require the current working directory to exist. Bug #369209. - Slight risk since it changes behavior. But comes with testcase and the new code should only trigger in situations where the old valgrind would go into an infinite loop. - r15990 Fix pre_mem_read_sockaddr crash on invalid syscall arguments. r15991 Fix crash in msghdr_foreachfield when iov_len isn't safe to deref r15992 Fix crash when old/new sigprocmask isn't safe to dereference. r15993 Fix crash in vmsplice linux kernel wrapper when iovec is bad. r15994 Fix crash in linux [rt_]sigaction wrapper with bad old/new sigaction r15995 Fix crash in sys_modify_ldt wrapper on bad ptr. r15997 Don't check bad iovec array in process_vm_readv/writev. r15998 Don't crash, but warn and return EINVAL on unknown fcntl command. - Various corner cases where valgrind would crash in the syscall wrappers found by LTP. Should be low risk. But probably don't happen much. It is useful in some cases when e.g. erroneously passing -1 instead of NULL to a syscall. Valgrind will notice by crashing, but getting a real report might be more helpful. I had to double check the sigaction and sigprocmask code because those are also used internally and so we have to make sure not to flag cases that are triggered by coregrind. I believe I got all that right. But that might be a reason to pass for now and postpone. - r15999 Replace --wait-for-gdb=yes memory loop by a call to VG_(poll) r16000 Well, 5 seconds is too short for me to type a attach pid command - Lets ask Philippe. |
|
From: Julian S. <js...@ac...> - 2016-10-03 12:14:48
|
A beta tarball for 3.12.0 is now available at http://www.valgrind.org/downloads/valgrind-3.12.0.BETA1.tar.bz2 (md5sum = cb91572285f0072861a23ed8531b1829) Please give it a try in configurations that are important for you, and report any problems you have, either on this mailing list, or (preferably) via our bug tracker at https://bugs.kde.org/enter_bug.cgi?product=valgrind I will watch commits to the trunk and merge to 3.12.0, any that appear to be suitable candidates. If you know of any specific commits which you think should be merged, please mail the list to say so. If nothing critical emerges, a final release will happen on Thursday 20 October. Details of what's new in 3.12.0 will be in the NEWS file, although that is somewhat incomplete at present. Some of the highlights are: - Memcheck: replacement/wrapping of malloc/new related functions in all libraries, not just libc. - Memcheck: meta-mempool support for describing custom allocators - Valgrind is able to read compressed debuginfo sections - Modest JIT-cost improvements: 10%-15% for Memcheck on x86_64 - Support for IBM POWER ISA 3.0 instructions - Support for ARMv8 crypto instructions - Preliminary support for macOS 10.12 (Sierra) - Linux: support for recent glibc, gcc and kernel (a la Fedora 25) - Many bug fixes J |