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
|
2
(6) |
3
(1) |
4
(1) |
5
(20) |
6
(3) |
|
7
(1) |
8
(3) |
9
(4) |
10
(1) |
11
(1) |
12
(3) |
13
(5) |
|
14
|
15
|
16
(2) |
17
(3) |
18
(4) |
19
(2) |
20
(1) |
|
21
(1) |
22
(2) |
23
(3) |
24
(2) |
25
(2) |
26
(7) |
27
(1) |
|
28
(28) |
29
|
30
(1) |
|
|
|
|
|
From: <sv...@va...> - 2015-06-04 19:44:56
|
Author: philippe
Date: Thu Jun 4 20:44:47 2015
New Revision: 15309
Log:
On platforms that have an accessible redzone below the SP, the unwind logic
should be able to access the redzone.
So, when computing fp_min, substract the redzone.
Currently, only amd64 and ppc64 have a non 0 redzone.
Regtested on amd64 and ppc64le, no regression.
Modified:
trunk/coregrind/m_stacktrace.c
Modified: trunk/coregrind/m_stacktrace.c
==============================================================================
--- trunk/coregrind/m_stacktrace.c (original)
+++ trunk/coregrind/m_stacktrace.c Thu Jun 4 20:44:47 2015
@@ -75,7 +75,20 @@
} \
}
-
+/* Note about calculation of fp_min : fp_min is the lowest address
+ which can be accessed during unwinding. This is SP - VG_STACK_REDZONE_SZB.
+ On most platforms, this will be equal to SP (as VG_STACK_REDZONE_SZB
+ is 0). However, on some platforms (e.g. amd64), there is an accessible
+ redzone below the SP. Some CFI unwind info are generated, taking this
+ into account. As an example, the following is a CFI unwind info on
+ amd64 found for a 'retq' instruction:
+[0x400f7e .. 0x400f7e]: let cfa=oldSP+8 in RA=*(cfa+-8) SP=cfa+0 BP=*(cfa+-16)
+ 0x400f7e: retq
+ As you can see, the previous BP is found 16 bytes below the cfa, which
+ is the oldSP+8. So, effectively, the BP is found 8 bytes below the SP.
+ The fp_min must take this into account, otherwise, VG_(use_CF_info) will
+ not unwind the BP. */
+
/* ------------------------ x86 ------------------------- */
#if defined(VGP_x86_linux) || defined(VGP_x86_darwin)
@@ -196,7 +209,7 @@
uregs.xip = (Addr)startRegs->r_pc;
uregs.xsp = (Addr)startRegs->r_sp;
uregs.xbp = startRegs->misc.X86.r_ebp;
- Addr fp_min = uregs.xsp;
+ Addr fp_min = uregs.xsp - VG_STACK_REDZONE_SZB;
/* Snaffle IPs from the client's stack into ips[0 .. max_n_ips-1],
stopping when the trail goes cold, which we guess to be
@@ -479,7 +492,7 @@
uregs.xip = startRegs->r_pc;
uregs.xsp = startRegs->r_sp;
uregs.xbp = startRegs->misc.AMD64.r_rbp;
- Addr fp_min = uregs.xsp;
+ Addr fp_min = uregs.xsp - VG_STACK_REDZONE_SZB;
/* Snaffle IPs from the client's stack into ips[0 .. max_n_ips-1],
stopping when the trail goes cold, which we guess to be
@@ -682,7 +695,7 @@
# elif defined(VGP_ppc64be_linux) || defined(VGP_ppc64le_linux)
Addr lr = startRegs->misc.PPC64.r_lr;
# endif
- Addr fp_min = sp;
+ Addr fp_min = sp - VG_STACK_REDZONE_SZB;
/* Snaffle IPs from the client's stack into ips[0 .. max_n_ips-1],
stopping when the trail goes cold, which we guess to be
@@ -947,7 +960,7 @@
uregs.r12 = startRegs->misc.ARM.r12;
uregs.r11 = startRegs->misc.ARM.r11;
uregs.r7 = startRegs->misc.ARM.r7;
- Addr fp_min = uregs.r13;
+ Addr fp_min = uregs.r13 - VG_STACK_REDZONE_SZB;
/* Snaffle IPs from the client's stack into ips[0 .. max_n_ips-1],
stopping when the trail goes cold, which we guess to be
@@ -1091,7 +1104,7 @@
uregs.sp = startRegs->r_sp;
uregs.x30 = startRegs->misc.ARM64.x30;
uregs.x29 = startRegs->misc.ARM64.x29;
- Addr fp_min = uregs.sp;
+ Addr fp_min = uregs.sp - VG_STACK_REDZONE_SZB;
/* Snaffle IPs from the client's stack into ips[0 .. max_n_ips-1],
stopping when the trail goes cold, which we guess to be
@@ -1185,7 +1198,7 @@
D3UnwindRegs uregs;
uregs.ia = startRegs->r_pc;
uregs.sp = startRegs->r_sp;
- Addr fp_min = uregs.sp;
+ Addr fp_min = uregs.sp - VG_STACK_REDZONE_SZB;
uregs.fp = startRegs->misc.S390X.r_fp;
uregs.lr = startRegs->misc.S390X.r_lr;
@@ -1268,7 +1281,7 @@
D3UnwindRegs uregs;
uregs.pc = startRegs->r_pc;
uregs.sp = startRegs->r_sp;
- Addr fp_min = uregs.sp;
+ Addr fp_min = uregs.sp - VG_STACK_REDZONE_SZB;
#if defined(VGP_mips32_linux)
uregs.fp = startRegs->misc.MIPS32.r30;
@@ -1423,7 +1436,7 @@
D3UnwindRegs uregs;
uregs.pc = startRegs->r_pc;
uregs.sp = startRegs->r_sp;
- Addr fp_min = uregs.sp;
+ Addr fp_min = uregs.sp - VG_STACK_REDZONE_SZB;
uregs.fp = startRegs->misc.TILEGX.r52;
uregs.lr = startRegs->misc.TILEGX.r55;
|
|
From: <sv...@va...> - 2015-06-03 09:52:09
|
Author: mjw
Date: Wed Jun 3 10:52:00 2015
New Revision: 15308
Log:
Run memcheck/tests/demangle with -q.
The interesting part is the demangled backtrace in the error message.
Suppress the memory allocation/blocks summary which can differ slightly
depending on the underlying arch/libs.
Modified:
trunk/memcheck/tests/demangle.stderr.exp
trunk/memcheck/tests/demangle.vgtest
Modified: trunk/memcheck/tests/demangle.stderr.exp
==============================================================================
--- trunk/memcheck/tests/demangle.stderr.exp (original)
+++ trunk/memcheck/tests/demangle.stderr.exp Wed Jun 3 10:52:00 2015
@@ -1,16 +1,5 @@
-
Conditional jump or move depends on uninitialised value(s)
at 0x........: abc::def<int, magic<int> >::xyzzy(int*, magic<int>*) (demangle.cpp:9)
by 0x........: magic<int>::xyzzy(int*) (demangle.cpp:19)
by 0x........: main (demangle.cpp:27)
-
-HEAP SUMMARY:
- in use at exit: 6 bytes in 3 blocks
- total heap usage: 3 allocs, 0 frees, 6 bytes allocated
-
-For a detailed leak analysis, rerun with: --leak-check=full
-
-For counts of detected and suppressed errors, rerun with: -v
-Use --track-origins=yes to see where uninitialised values come from
-ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 0 from 0)
Modified: trunk/memcheck/tests/demangle.vgtest
==============================================================================
--- trunk/memcheck/tests/demangle.vgtest (original)
+++ trunk/memcheck/tests/demangle.vgtest Wed Jun 3 10:52:00 2015
@@ -1 +1,2 @@
prog: demangle
+vgopts: -q
|
|
From: <sv...@va...> - 2015-06-02 22:17:58
|
Author: philippe
Date: Tue Jun 2 23:17:51 2015
New Revision: 15307
Log:
Default is 1 for the unwind length range, not 0
Modified:
trunk/coregrind/m_gdbserver/server.c
Modified: trunk/coregrind/m_gdbserver/server.c
==============================================================================
--- trunk/coregrind/m_gdbserver/server.c (original)
+++ trunk/coregrind/m_gdbserver/server.c Tue Jun 2 23:17:51 2015
@@ -459,7 +459,7 @@
}
case 10: { /* unwind */
Addr address;
- SizeT sz = 0;
+ SizeT sz = 1;
if (VG_(strtok_get_address_and_size) (&address,
&sz, &ssaveptr)) {
VG_(ppUnwindInfo) (address, address + sz - 1);
|
Author: philippe
Date: Tue Jun 2 23:09:42 2015
New Revision: 15306
Log:
Add a gdbxrv monitor command to print the CFI unwind info for an address+len
Modified:
trunk/coregrind/m_debuginfo/debuginfo.c
trunk/coregrind/m_debuginfo/storage.c
trunk/coregrind/m_gdbserver/server.c
trunk/coregrind/pub_core_debuginfo.h
trunk/docs/xml/manual-core-adv.xml
trunk/gdbserver_tests/mchelp.stdoutB.exp
Modified: trunk/coregrind/m_debuginfo/debuginfo.c
==============================================================================
--- trunk/coregrind/m_debuginfo/debuginfo.c (original)
+++ trunk/coregrind/m_debuginfo/debuginfo.c Tue Jun 2 23:09:42 2015
@@ -2828,6 +2828,37 @@
# endif
}
+void VG_(ppUnwindInfo) (Addr from, Addr to)
+{
+ DebugInfo* di;
+ CFSI_m_CacheEnt* ce;
+ Addr ce_from;
+ CFSI_m_CacheEnt* next_ce;
+
+
+ ce = cfsi_m_cache__find(from);
+ ce_from = from;
+ while (from <= to) {
+ from++;
+ next_ce = cfsi_m_cache__find(from);
+ if ((ce == NULL && next_ce != NULL)
+ || (ce != NULL && next_ce == NULL)
+ || (ce != NULL && next_ce != NULL && ce->cfsi_m != next_ce->cfsi_m)
+ || from > to) {
+ if (ce == NULL) {
+ VG_(printf)("[%#lx .. %#lx]: no CFI info\n", ce_from, from-1);
+ } else {
+ di = ce->di;
+ ML_(ppDiCfSI)(di->cfsi_exprs,
+ ce_from, from - ce_from,
+ ce->cfsi_m);
+ }
+ ce = next_ce;
+ ce_from = from;
+ }
+ }
+}
+
/* The main function for DWARF2/3 CFI-based stack unwinding. Given a
set of registers in UREGS, modify it to hold the register values
Modified: trunk/coregrind/m_debuginfo/storage.c
==============================================================================
--- trunk/coregrind/m_debuginfo/storage.c (original)
+++ trunk/coregrind/m_debuginfo/storage.c Tue Jun 2 23:09:42 2015
@@ -142,8 +142,12 @@
} \
} while (0)
- VG_(printf)("[%#lx .. %#lx]: ", base,
- base + (UWord)len - 1);
+ if (base != 0 || len != 0)
+ VG_(printf)("[%#lx .. %#lx]: ", base,
+ base + (UWord)len - 1);
+ else
+ VG_(printf)("[]: ");
+
switch (si_m->cfa_how) {
case CFIC_IA_SPREL:
VG_(printf)("let cfa=oldSP+%d", si_m->cfa_off);
Modified: trunk/coregrind/m_gdbserver/server.c
==============================================================================
--- trunk/coregrind/m_gdbserver/server.c (original)
+++ trunk/coregrind/m_gdbserver/server.c Tue Jun 2 23:09:42 2015
@@ -248,6 +248,7 @@
" v.info exectxt : show stacktraces and stats of all execontexts\n"
" v.info scheduler : show valgrind thread state and stacktrace\n"
" v.info stats : show various valgrind and tool stats\n"
+" v.info unwind <addr> [<len>] : show unwind debug info for <addr> .. <addr+len>\n"
" v.set debuglog <level> : set valgrind debug log level to <level>\n"
" v.set hostvisibility [yes*|no] : (en/dis)ables access by gdb/gdbserver to\n"
" Valgrind internal host status/memory\n"
@@ -364,7 +365,7 @@
wcmd = strtok_r (NULL, " ", &ssaveptr);
switch (kwdid = VG_(keyword_id)
("all_errors n_errs_found last_error gdbserver_status memory"
- " scheduler stats open_fds exectxt location",
+ " scheduler stats open_fds exectxt location unwind",
wcmd, kwd_report_all)) {
case -2:
case -1:
@@ -456,6 +457,17 @@
ret = 1;
break;
}
+ case 10: { /* unwind */
+ Addr address;
+ SizeT sz = 0;
+ if (VG_(strtok_get_address_and_size) (&address,
+ &sz, &ssaveptr)) {
+ VG_(ppUnwindInfo) (address, address + sz - 1);
+ }
+ ret = 1;
+ break;
+ }
+
default:
vg_assert(0);
}
Modified: trunk/coregrind/pub_core_debuginfo.h
==============================================================================
--- trunk/coregrind/pub_core_debuginfo.h (original)
+++ trunk/coregrind/pub_core_debuginfo.h Tue Jun 2 23:09:42 2015
@@ -165,6 +165,10 @@
Addr min_accessible,
Addr max_accessible );
+/* Print the unwind info (if there is some) for the given address
+ range [from,to]. */
+extern void VG_(ppUnwindInfo) (Addr from, Addr to);
+
/* AVMAs for a symbol. Usually only the lowest address of the entity.
On ppc64 platforms, also contains tocptr and local_ep.
These fields should only be accessed using the macros
Modified: trunk/docs/xml/manual-core-adv.xml
==============================================================================
--- trunk/docs/xml/manual-core-adv.xml (original)
+++ trunk/docs/xml/manual-core-adv.xml Tue Jun 2 23:09:42 2015
@@ -1479,6 +1479,14 @@
</listitem>
<listitem>
+ <para><varname>v.info unwind <addr> [<len>]</varname> shows
+ the CFI unwind debug info for the address range [addr, addr+len-1].
+ The default value of <len> is 1, giving the unwind information
+ for the instruction at <addr>.
+ </para>
+ </listitem>
+
+ <listitem>
<para><varname>v.set debuglog <intvalue></varname> sets the
Valgrind debug log level to <intvalue>. This allows to
dynamically change the log level of Valgrind e.g. when a problem
Modified: trunk/gdbserver_tests/mchelp.stdoutB.exp
==============================================================================
--- trunk/gdbserver_tests/mchelp.stdoutB.exp (original)
+++ trunk/gdbserver_tests/mchelp.stdoutB.exp Tue Jun 2 23:09:42 2015
@@ -65,6 +65,7 @@
v.info exectxt : show stacktraces and stats of all execontexts
v.info scheduler : show valgrind thread state and stacktrace
v.info stats : show various valgrind and tool stats
+ v.info unwind <addr> [<len>] : show unwind debug info for <addr> .. <addr+len>
v.set debuglog <level> : set valgrind debug log level to <level>
v.set hostvisibility [yes*|no] : (en/dis)ables access by gdb/gdbserver to
Valgrind internal host status/memory
|
|
From: <sv...@va...> - 2015-06-02 20:23:13
|
Author: mjw
Date: Tue Jun 2 21:23:06 2015
New Revision: 15305
Log:
GCC 5.1 is too smart. Disable Identical Code Folding for preload libs.
We want to disabled Identical Code Folding for the tools preload shared
objects to get better backraces. For GCC 5.1 -fipa-icf is enabled by
default at -O2.
The optimization reduces code size and may disturb
unwind stacks by replacing a function by equivalent
one with a different name.
Add a configure check to see if GCC supports -fno-ipa-icf.
If it does then add the flag to AM_CFLAGS_PSO_BASE.
Without this GCC will notice some of the preload replacement functions
in vg_replace_strmem are identical and fold them all into one picking
a random (existing) function name. This causes backtraces showing
completely unexpected function names.
Modified:
trunk/Makefile.all.am
trunk/configure.ac
Modified: trunk/Makefile.all.am
==============================================================================
--- trunk/Makefile.all.am (original)
+++ trunk/Makefile.all.am Tue Jun 2 21:23:06 2015
@@ -133,10 +133,10 @@
if VGCONF_OS_IS_DARWIN
AM_CFLAGS_PSO_BASE = -dynamic \
-O -g -fno-omit-frame-pointer -fno-strict-aliasing \
- -fpic -fPIC -fno-builtin
+ -fpic -fPIC -fno-builtin @FLAG_FNO_IPA_ICF@
else
AM_CFLAGS_PSO_BASE = -O -g -fno-omit-frame-pointer -fno-strict-aliasing \
- -fpic -fno-builtin
+ -fpic -fno-builtin @FLAG_FNO_IPA_ICF@
endif
Modified: trunk/configure.ac
==============================================================================
--- trunk/configure.ac (original)
+++ trunk/configure.ac Tue Jun 2 21:23:06 2015
@@ -1811,6 +1811,33 @@
AC_SUBST(FLAG_FNO_STACK_PROTECTOR)
+# Does GCC support disabling Identical Code Folding?
+# We want to disabled Identical Code Folding for the
+# tools preload shared objects to get better backraces.
+# For GCC 5.1+ -fipa-icf is enabled by default at -O2.
+# "The optimization reduces code size and may disturb
+# unwind stacks by replacing a function by equivalent
+# one with a different name."
+AC_MSG_CHECKING([if gcc accepts -fno-ipa-icf])
+
+safe_CFLAGS=$CFLAGS
+CFLAGS="-fno-ipa-icf"
+
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[
+ return 0;
+]])], [
+no_ipa_icf=yes
+FLAG_FNO_IPA_ICF="-fno-ipa-icf"
+AC_MSG_RESULT([yes])
+], [
+no_ipa_icf=no
+FLAG_FNO_IPA_ICF=""
+AC_MSG_RESULT([no])
+])
+CFLAGS=$safe_CFLAGS
+
+AC_SUBST(FLAG_FNO_IPA_ICF)
+
# Does this compiler support -fsanitize=undefined?
# Only checked for if --enable-ubsan was given.
|
|
From: <sv...@va...> - 2015-06-02 18:17:51
|
Author: mjw
Date: Tue Jun 2 19:17:44 2015
New Revision: 15304
Log:
Enable process_vm_readv/writev syscall on arm32.
This makes none/tests/process_vm_readv_writev.vgtest pass on arm32.
Modified:
trunk/coregrind/m_syswrap/syswrap-arm-linux.c
Modified: trunk/coregrind/m_syswrap/syswrap-arm-linux.c
==============================================================================
--- trunk/coregrind/m_syswrap/syswrap-arm-linux.c (original)
+++ trunk/coregrind/m_syswrap/syswrap-arm-linux.c Tue Jun 2 19:17:44 2015
@@ -1214,6 +1214,10 @@
LINXY(__NR_clock_adjtime, sys_clock_adjtime), // 372
LINX_(__NR_syncfs, sys_syncfs), // 373
LINXY(__NR_sendmmsg, sys_sendmmsg), // 374
+
+ LINXY(__NR_process_vm_readv, sys_process_vm_readv), // 376
+ LINX_(__NR_process_vm_writev, sys_process_vm_writev),// 377
+
LINXY(__NR_getrandom, sys_getrandom), // 384
LINXY(__NR_memfd_create, sys_memfd_create) // 385
};
|
|
From: <sv...@va...> - 2015-06-02 10:30:23
|
Author: rhyskidd
Date: Tue Jun 2 11:30:15 2015
New Revision: 15303
Log:
Darwin11.supp should include suppression for known uninitialised read in pthread_rwlock_init() as required to pass the memcheck/tests/darwin/pth-supp test. bz#196528.
Modified:
trunk/darwin11.supp
Modified: trunk/darwin11.supp
==============================================================================
--- trunk/darwin11.supp (original)
+++ trunk/darwin11.supp Tue Jun 2 11:30:15 2015
@@ -207,6 +207,13 @@
fun:__setenv
}
+# See https://bugs.kde.org/show_bug.cgi?id=196528
+{
+ macos-__pthread_rwlock_init-see-our-bug-196528
+ Memcheck:Cond
+ fun:pthread_rwlock_init
+}
+
#{
# libSystem-keymgr-leak-at-exit
# Memcheck:Leak
|
|
From: <sv...@va...> - 2015-06-02 09:21:36
|
Author: rhyskidd
Date: Tue Jun 2 10:21:28 2015
New Revision: 15302
Log:
Add regression test for bz#228343.
Added:
trunk/none/tests/darwin/bug228343.c
trunk/none/tests/darwin/bug228343.stderr.exp
trunk/none/tests/darwin/bug228343.stdout.exp
trunk/none/tests/darwin/bug228343.vgtest
Modified:
trunk/none/tests/darwin/ (props changed)
trunk/none/tests/darwin/Makefile.am
Modified: trunk/none/tests/darwin/Makefile.am
==============================================================================
--- trunk/none/tests/darwin/Makefile.am (original)
+++ trunk/none/tests/darwin/Makefile.am Tue Jun 2 10:21:28 2015
@@ -6,12 +6,14 @@
EXTRA_DIST = \
access_extended.stderr.exp access_extended.vgtest \
apple-main-arg.stderr.exp apple-main-arg.vgtest \
+ bug228343.stderr.exp bug228343.stdout.exp bug228343.vgtest \
bug254164.stderr.exp bug254164.vgtest \
rlimit.stderr.exp rlimit.vgtest
check_PROGRAMS = \
access_extended \
apple-main-arg \
+ bug228343 \
bug254164 \
rlimit
Added: trunk/none/tests/darwin/bug228343.c
==============================================================================
--- trunk/none/tests/darwin/bug228343.c (added)
+++ trunk/none/tests/darwin/bug228343.c Tue Jun 2 10:21:28 2015
@@ -0,0 +1,58 @@
+// https://bugs.kde.org/show_bug.cgi?id=228343
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <sys/time.h>
+#include <signal.h>
+#include <libkern/OSAtomic.h>
+#include <pthread.h>
+
+OSSpinLock sl = OS_SPINLOCK_INIT;
+typedef void *(*worker_t)(void*);
+typedef void (*Sigaction)(int, siginfo_t *, void *);
+
+int GLOB=0;
+
+static void EnableSigprof(Sigaction SignalHandler) {
+ struct sigaction sa;
+ sa.sa_sigaction = SignalHandler;
+ sa.sa_flags = SA_RESTART | SA_SIGINFO;
+ sigemptyset(&sa.sa_mask);
+ if (sigaction(SIGPROF, &sa, NULL) != 0) {
+ perror("sigaction");
+ abort();
+ }
+ struct itimerval timer;
+ timer.it_interval.tv_sec = 0;
+ timer.it_interval.tv_usec = 1000000 / 10000;
+ timer.it_value = timer.it_interval;
+ if (setitimer(ITIMER_PROF, &timer, 0) != 0) {
+ perror("setitimer");
+ abort();
+ }
+}
+
+void *Worker() {
+ for (long int i = 0; i < 100000000; i++) {
+ void *x = malloc((i % 64) + 1);
+ free (x);
+ }
+}
+
+void SignalHandlerWithSpinlock(int sig, siginfo_t *siginfo, void *context) {
+ OSSpinLockLock(&sl);
+ GLOB++;
+ OSSpinLockUnlock(&sl);
+}
+
+int main() {
+ EnableSigprof(SignalHandlerWithSpinlock);
+ pthread_t w_1;
+ pthread_t w_2;
+ pthread_create(&w_1, NULL, Worker, NULL);
+ pthread_create(&w_2, NULL, Worker, NULL);
+ pthread_join(w_1, NULL);
+ pthread_join(w_2, NULL);
+ printf("\tGLOB=%d\n", GLOB);
+ return 0;
+}
Added: trunk/none/tests/darwin/bug228343.stderr.exp
==============================================================================
(empty)
Added: trunk/none/tests/darwin/bug228343.stdout.exp
==============================================================================
--- trunk/none/tests/darwin/bug228343.stdout.exp (added)
+++ trunk/none/tests/darwin/bug228343.stdout.exp Tue Jun 2 10:21:28 2015
@@ -0,0 +1 @@
+ GLOB=0
Added: trunk/none/tests/darwin/bug228343.vgtest
==============================================================================
--- trunk/none/tests/darwin/bug228343.vgtest (added)
+++ trunk/none/tests/darwin/bug228343.vgtest Tue Jun 2 10:21:28 2015
@@ -0,0 +1,2 @@
+prog: bug228343
+vgopts: -q --tool=none
|