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
(32) |
Oct
|
Nov
|
Dec
|
|
From: Carl L. <ca...@so...> - 2022-01-20 16:35:37
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=3ea8d4327003c3cefe8e82c59be8e92dcfe1a60f commit 3ea8d4327003c3cefe8e82c59be8e92dcfe1a60f Author: Carl Love <ce...@us...> Date: Fri Jan 14 23:04:44 2022 +0000 Assorted changes to protect from side affects from the feature checking code. Patch contributed by Will Schmidt <wil...@vn...> This problem was initially reported by Tulio, he assisted me in identifying the underlying issue here. This was discovered on a Power10, and occurs since the ISA 3.1 support check uses the brh instruction via a hardcoded ".long 0x7f1401b6" asm stanza. That encoding writes to r20, and since the stanza does not contain a clobber the compiler did not know to save or restore that register upon entry or exit. The junk value remaining in r20 subsequently caused a segfault. This patch adds clobber masks to the instruction stanzas, as well as updates the associated comments to clarify which registers are being used. As part of this change I've also - updated the .long for the cnttzw instruction to write to r20, and zeroed the reserved bits from that instruction so it is properly decoded by the disassembler. - updated the .long for the dadd instruction to write to f0. I've inspected the current codegen with these changes in place, and confirm that r20 is now saved and restored on entry and exit from the machine_get_hwcaps() function. bugzilla 447995 Valgrind segfault on power10 due to hwcap checking code Diff: --- NEWS | 1 + coregrind/m_machine.c | 24 ++++++++++++------------ 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/NEWS b/NEWS index 6d87f54fb2..d1b13c0fc8 100644 --- a/NEWS +++ b/NEWS @@ -60,6 +60,7 @@ are not entered into bugzilla tend to get forgotten about or ignored. 446281 Add a DRD suppression for fwrite 446103 Memcheck: `--track-origins=yes` causes extreme slowdowns for large mmap/munmap 446823 FreeBSD - missing syscalls when using libzm4 +447995 Valgrind segfault on power10 due to hwcap checking code To see details of a given bug, visit https://bugs.kde.org/show_bug.cgi?id=XXXXXX diff --git a/coregrind/m_machine.c b/coregrind/m_machine.c index 0b60ecc0fd..089acee649 100644 --- a/coregrind/m_machine.c +++ b/coregrind/m_machine.c @@ -1246,7 +1246,7 @@ Bool VG_(machine_get_hwcaps)( void ) if (VG_MINIMAL_SETJMP(env_unsup_insn)) { have_isa_3_0 = False; } else { - __asm__ __volatile__(".long 0x7d205434"); /* cnttzw RT, RB */ + __asm__ __volatile__(".long 00x7f140434":::"r20"); /* cnttzw r20,r24 */ } // ISA 3.1 not supported on 32-bit systems @@ -1358,7 +1358,7 @@ Bool VG_(machine_get_hwcaps)( void ) if (VG_MINIMAL_SETJMP(env_unsup_insn)) { have_V = False; } else { - __asm__ __volatile__(".long 0x10000484"); /*vor 0,0,0*/ + __asm__ __volatile__(".long 0x10000484"); /* vor v0,v0,v0 */ } /* General-Purpose optional (fsqrt, fsqrts) */ @@ -1366,7 +1366,7 @@ Bool VG_(machine_get_hwcaps)( void ) if (VG_MINIMAL_SETJMP(env_unsup_insn)) { have_FX = False; } else { - __asm__ __volatile__(".long 0xFC00002C"); /*fsqrt 0,0*/ + __asm__ __volatile__(".long 0xFC00002C"); /* fsqrt f0,f0 */ } /* Graphics optional (stfiwx, fres, frsqrte, fsel) */ @@ -1374,7 +1374,7 @@ Bool VG_(machine_get_hwcaps)( void ) if (VG_MINIMAL_SETJMP(env_unsup_insn)) { have_GX = False; } else { - __asm__ __volatile__(".long 0xFC000034"); /*frsqrte 0,0*/ + __asm__ __volatile__(".long 0xFC000034"); /* frsqrte f0,f0 */ } /* VSX support implies Power ISA 2.06 */ @@ -1382,7 +1382,7 @@ Bool VG_(machine_get_hwcaps)( void ) if (VG_MINIMAL_SETJMP(env_unsup_insn)) { have_VX = False; } else { - __asm__ __volatile__(".long 0xf0000564"); /* xsabsdp XT,XB */ + __asm__ __volatile__(".long 0xf0000564"); /* xsabsdp vs0,vs0 */ } /* Check for Decimal Floating Point (DFP) support. */ @@ -1390,7 +1390,7 @@ Bool VG_(machine_get_hwcaps)( void ) if (VG_MINIMAL_SETJMP(env_unsup_insn)) { have_DFP = False; } else { - __asm__ __volatile__(".long 0xee4e8005"); /* dadd FRT,FRA, FRB */ + __asm__ __volatile__(".long 0xec0e8005"); /* dadd f0,f14,f16 */ } /* Check for ISA 2.07 support. */ @@ -1398,7 +1398,7 @@ Bool VG_(machine_get_hwcaps)( void ) if (VG_MINIMAL_SETJMP(env_unsup_insn)) { have_isa_2_07 = False; } else { - __asm__ __volatile__(".long 0x7c000166"); /* mtvsrd XT,RA */ + __asm__ __volatile__(".long 0x7c000166"); /* mtvsrd f0,r0 */ } /* Check for ISA 3.0 support. */ @@ -1406,7 +1406,7 @@ Bool VG_(machine_get_hwcaps)( void ) if (VG_MINIMAL_SETJMP(env_unsup_insn)) { have_isa_3_0 = False; } else { - __asm__ __volatile__(".long 0x7d205434"); /* cnttzw RT, RB */ + __asm__ __volatile__(".long 0x7f140434":::"r20"); /* cnttzw r20,r24 */ } /* Check for ISA 3.1 support. */ @@ -1414,7 +1414,7 @@ Bool VG_(machine_get_hwcaps)( void ) if (VG_MINIMAL_SETJMP(env_unsup_insn)) { have_isa_3_1 = False; } else { - __asm__ __volatile__(".long 0x7f1401b6"); /* brh RA, RS */ + __asm__ __volatile__(".long 0x7f1401b6":::"r20"); /* brh r20,r24 */ } /* Check if Host supports scv instruction */ @@ -1424,9 +1424,9 @@ Bool VG_(machine_get_hwcaps)( void ) } else { /* Set r0 to 13 for the system time call. Don't want to make a random system call. */ - __asm__ __volatile__(".long 0x7c000278"); /* clear r0 */ - __asm__ __volatile__(".long 0x6009000d"); /* set r0 to 13 */ - __asm__ __volatile__(".long 0x44000001"); /* scv */ + __asm__ __volatile__(".long 0x7c000278"); /* clear r0 with xor r0,r0,r0 */ + __asm__ __volatile__(".long 0x6000000d"); /* set r0 to 13 with ori r0,r0,13 */ + __asm__ __volatile__(".long 0x44000001"); /* scv 0 */ } /* determine dcbz/dcbzl sizes while we still have the signal |
|
From: Nicholas N. <nj...@so...> - 2022-01-04 05:54:45
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=b6efa526c85de148b677308a5cd0bbca956cfdfb commit b6efa526c85de148b677308a5cd0bbca956cfdfb Author: Nicholas Nethercote <n.n...@gm...> Date: Tue Jan 4 16:53:53 2022 +1100 Add a post-release update to the 3.18 release notes. Diff: --- NEWS | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/NEWS b/NEWS index ad49b98d3f..6d87f54fb2 100644 --- a/NEWS +++ b/NEWS @@ -80,7 +80,8 @@ AMD64/macOS 10.13 and nanoMIPS/Linux. * ==================== CORE CHANGES =================== * The libiberty demangler has been updated, which brings support for - Rust v0 name demangling + Rust v0 name demangling. [Update: alas, due to a bug, this support + isn't working in 3.18.0.] * __libc_freeres isn't called anymore after the program recieves a fatal signal. Causing some internal glibc resources to hang around, |
|
From: Mark W. <ma...@kl...> - 2021-12-31 15:52:56
|
Hi Valgrind Hackers, A reminder that Valgrind will participate in the Virtual Fosdem on Sunday 6 February 2022 https://fosdem.org/2022/schedule/track/valgrind/ We are still accepting talk proposals, but will have to finalize the schedule next week. Please submit a talk proposal asap at https://penta.fosdem.org/submission/FOSDEM22 Please select the "Valgrind Devroom" Track. If you have any trouble creating a penta login or cannot immediate create a full submission please contact Julian and me with your proposal so we can still schedule your talk. More information in the original call for participation below. On Mon, Dec 13, 2021 at 06:04:33PM +0100, Mark Wielaard wrote: > Hi valgrind hackers, > > Valgrind will participate in the Virtual Fosdem on Sunday 6 February > 2022 https://fosdem.org/2022/schedule/track/valgrind/ > > We would like to invite people to propose talks on valgrind by > submitting a talk proposal to > https://penta.fosdem.org/submission/FOSDEM22 > Please select the "Valgrind Devroom" Track. > (If you have any trouble creating a penta login or submission please > contact Julian and me with your proposal.) > > Because Fosdem will be virtual this year we will likely ask talks to be > pre-recorded in advance and after playing your presentation we will do > a live Q/A session using Jitsi and Matrix. > > Please pick a time that includes the length of your (recorded) talk > plus ~15 minutes Q/A. > > We would like to finalize the schedule the first week of January so > that people have enough time to record their talk, so please submit > your proposals before the end of year (31 December 2021). > > Some possible topics for talks/discussions are: > > - New (or recently added) ports. > - New CPU (instruction) support. > - New (ideas/prototypes) of valgrind tools. > - Valgrind release/bugfixing strategy/policy. > - Advances in gdbserver and the GDB remote serial protocol. > - DWARF, debuginfo, symbols and debuginfod servers. > - Using valgrind with "safe" languages (Rust). > - Adding/Testing Valgrind syscalls support. > - Infrastructure changes (speedups) to the Valgrind JIT framework. > - Your interesting use case with Valgrind. > > Sincerely, > > Mark & Julian |
|
From: Mark W. <ma...@so...> - 2021-12-15 11:31:28
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=1024237358f01009fe233cb1294f3b8211304eaa commit 1024237358f01009fe233cb1294f3b8211304eaa Author: Mark Wielaard <ma...@kl...> Date: Fri Dec 10 17:41:59 2021 +0100 Implement linux rseq syscall as ENOSYS This implements rseq for amd64, arm, arm64, ppc32, ppc64, s390x and x86 linux as ENOSYS (without warning). glibc will start using rseq to accelerate sched_getcpu, if available. This would cause a warning from valgrind every time a new thread is started. Real rseq (restartable sequences) support is pretty hard, so for now just explicitly return ENOSYS (just like we do for clone3). https://sourceware.org/pipermail/libc-alpha/2021-December/133656.html Diff: --- coregrind/m_syswrap/syswrap-amd64-linux.c | 2 ++ coregrind/m_syswrap/syswrap-arm-linux.c | 1 + coregrind/m_syswrap/syswrap-arm64-linux.c | 3 ++- coregrind/m_syswrap/syswrap-ppc32-linux.c | 2 ++ coregrind/m_syswrap/syswrap-ppc64-linux.c | 2 ++ coregrind/m_syswrap/syswrap-s390x-linux.c | 2 ++ coregrind/m_syswrap/syswrap-x86-linux.c | 2 ++ include/vki/vki-scnums-arm-linux.h | 1 + include/vki/vki-scnums-arm64-linux.h | 4 +++- include/vki/vki-scnums-ppc32-linux.h | 1 + include/vki/vki-scnums-ppc64-linux.h | 1 + include/vki/vki-scnums-s390x-linux.h | 5 ++++- 12 files changed, 23 insertions(+), 3 deletions(-) diff --git a/coregrind/m_syswrap/syswrap-amd64-linux.c b/coregrind/m_syswrap/syswrap-amd64-linux.c index 5062324a1e..18b25f80ae 100644 --- a/coregrind/m_syswrap/syswrap-amd64-linux.c +++ b/coregrind/m_syswrap/syswrap-amd64-linux.c @@ -862,6 +862,8 @@ static SyscallTableEntry syscall_table[] = { LINXY(__NR_statx, sys_statx), // 332 + GENX_(__NR_rseq, sys_ni_syscall), // 334 + LINX_(__NR_membarrier, sys_membarrier), // 324 LINX_(__NR_copy_file_range, sys_copy_file_range), // 326 diff --git a/coregrind/m_syswrap/syswrap-arm-linux.c b/coregrind/m_syswrap/syswrap-arm-linux.c index 556dd844b9..d583cef0c7 100644 --- a/coregrind/m_syswrap/syswrap-arm-linux.c +++ b/coregrind/m_syswrap/syswrap-arm-linux.c @@ -1024,6 +1024,7 @@ static SyscallTableEntry syscall_main_table[] = { LINX_(__NR_pwritev2, sys_pwritev2), // 393 LINXY(__NR_statx, sys_statx), // 397 + GENX_(__NR_rseq, sys_ni_syscall), // 398 LINXY(__NR_clock_gettime64, sys_clock_gettime64), // 403 LINX_(__NR_clock_settime64, sys_clock_settime64), // 404 diff --git a/coregrind/m_syswrap/syswrap-arm64-linux.c b/coregrind/m_syswrap/syswrap-arm64-linux.c index b871077276..2066a38ea9 100644 --- a/coregrind/m_syswrap/syswrap-arm64-linux.c +++ b/coregrind/m_syswrap/syswrap-arm64-linux.c @@ -823,8 +823,9 @@ static SyscallTableEntry syscall_main_table[] = { // (__NR_pkey_mprotect, sys_ni_syscall), // 288 // (__NR_pkey_alloc, sys_ni_syscall), // 289 // (__NR_pkey_free, sys_ni_syscall), // 290 + LINXY(__NR_statx, sys_statx), // 291 - LINXY(__NR_statx, sys_statx), // 397 + GENX_(__NR_rseq, sys_ni_syscall), // 293 LINXY(__NR_io_uring_setup, sys_io_uring_setup), // 425 LINXY(__NR_io_uring_enter, sys_io_uring_enter), // 426 diff --git a/coregrind/m_syswrap/syswrap-ppc32-linux.c b/coregrind/m_syswrap/syswrap-ppc32-linux.c index 6263ab8451..637b2504e1 100644 --- a/coregrind/m_syswrap/syswrap-ppc32-linux.c +++ b/coregrind/m_syswrap/syswrap-ppc32-linux.c @@ -1028,6 +1028,8 @@ static SyscallTableEntry syscall_table[] = { LINXY(__NR_statx, sys_statx), // 383 + GENX_(__NR_rseq, sys_ni_syscall), // 387 + LINXY(__NR_clock_gettime64, sys_clock_gettime64), // 403 LINX_(__NR_clock_settime64, sys_clock_settime64), // 404 diff --git a/coregrind/m_syswrap/syswrap-ppc64-linux.c b/coregrind/m_syswrap/syswrap-ppc64-linux.c index a26b41c321..93956d3cc2 100644 --- a/coregrind/m_syswrap/syswrap-ppc64-linux.c +++ b/coregrind/m_syswrap/syswrap-ppc64-linux.c @@ -1019,6 +1019,8 @@ static SyscallTableEntry syscall_table[] = { LINXY(__NR_statx, sys_statx), // 383 + GENX_(__NR_rseq, sys_ni_syscall), // 387 + LINXY(__NR_io_uring_setup, sys_io_uring_setup), // 425 LINXY(__NR_io_uring_enter, sys_io_uring_enter), // 426 LINXY(__NR_io_uring_register, sys_io_uring_register), // 427 diff --git a/coregrind/m_syswrap/syswrap-s390x-linux.c b/coregrind/m_syswrap/syswrap-s390x-linux.c index 5c9209859f..73f9684c46 100644 --- a/coregrind/m_syswrap/syswrap-s390x-linux.c +++ b/coregrind/m_syswrap/syswrap-s390x-linux.c @@ -860,6 +860,8 @@ static SyscallTableEntry syscall_table[] = { LINXY(__NR_statx, sys_statx), // 379 + GENX_(__NR_rseq, sys_ni_syscall), // 381 + LINXY(__NR_io_uring_setup, sys_io_uring_setup), // 425 LINXY(__NR_io_uring_enter, sys_io_uring_enter), // 426 LINXY(__NR_io_uring_register, sys_io_uring_register), // 427 diff --git a/coregrind/m_syswrap/syswrap-x86-linux.c b/coregrind/m_syswrap/syswrap-x86-linux.c index 1d8f45d33a..8662ff501a 100644 --- a/coregrind/m_syswrap/syswrap-x86-linux.c +++ b/coregrind/m_syswrap/syswrap-x86-linux.c @@ -1619,6 +1619,8 @@ static SyscallTableEntry syscall_table[] = { /* Explicitly not supported on i386 yet. */ GENX_(__NR_arch_prctl, sys_ni_syscall), // 384 + GENX_(__NR_rseq, sys_ni_syscall), // 386 + LINXY(__NR_clock_gettime64, sys_clock_gettime64), // 403 LINX_(__NR_clock_settime64, sys_clock_settime64), // 404 diff --git a/include/vki/vki-scnums-arm-linux.h b/include/vki/vki-scnums-arm-linux.h index ff560e19dd..485db8b265 100644 --- a/include/vki/vki-scnums-arm-linux.h +++ b/include/vki/vki-scnums-arm-linux.h @@ -432,6 +432,7 @@ #define __NR_pkey_alloc 395 #define __NR_pkey_free 396 #define __NR_statx 397 +#define __NR_rseq 398 diff --git a/include/vki/vki-scnums-arm64-linux.h b/include/vki/vki-scnums-arm64-linux.h index 9aa3b2b5fb..acdfb39c68 100644 --- a/include/vki/vki-scnums-arm64-linux.h +++ b/include/vki/vki-scnums-arm64-linux.h @@ -323,9 +323,11 @@ #define __NR_pkey_alloc 289 #define __NR_pkey_free 290 #define __NR_statx 291 +#define __NR_io_pgetevents 291 +#define __NR_rseq 293 #undef __NR_syscalls -#define __NR_syscalls 292 +#define __NR_syscalls 294 ///* // * All syscalls below here should go away really, diff --git a/include/vki/vki-scnums-ppc32-linux.h b/include/vki/vki-scnums-ppc32-linux.h index 6987ad941b..08fa77df0d 100644 --- a/include/vki/vki-scnums-ppc32-linux.h +++ b/include/vki/vki-scnums-ppc32-linux.h @@ -415,6 +415,7 @@ #define __NR_pkey_alloc 384 #define __NR_pkey_free 385 #define __NR_pkey_mprotect 386 +#define __NR_rseq 387 #endif /* __VKI_SCNUMS_PPC32_LINUX_H */ diff --git a/include/vki/vki-scnums-ppc64-linux.h b/include/vki/vki-scnums-ppc64-linux.h index 6827964fdf..a76fa6d322 100644 --- a/include/vki/vki-scnums-ppc64-linux.h +++ b/include/vki/vki-scnums-ppc64-linux.h @@ -407,6 +407,7 @@ #define __NR_pkey_alloc 384 #define __NR_pkey_free 385 #define __NR_pkey_mprotect 386 +#define __NR_rseq 387 #endif /* __VKI_SCNUMS_PPC64_LINUX_H */ diff --git a/include/vki/vki-scnums-s390x-linux.h b/include/vki/vki-scnums-s390x-linux.h index 6487e20c99..869c045847 100644 --- a/include/vki/vki-scnums-s390x-linux.h +++ b/include/vki/vki-scnums-s390x-linux.h @@ -342,8 +342,11 @@ #define __NR_s390_guarded_storage 378 #define __NR_statx 379 #define __NR_s390_sthyi 380 +#define __NR_kexec_file_load 381 +#define __NR_io_pgetevents 382 +#define __NR_rseq 383 -#define NR_syscalls 381 +#define NR_syscalls 384 /* * There are some system calls that are not present on 64 bit, some |
|
From: Mark W. <ma...@kl...> - 2021-12-13 17:04:45
|
Hi valgrind hackers, Valgrind will participate in the Virtual Fosdem on Sunday 6 February 2022 https://fosdem.org/2022/schedule/track/valgrind/ We would like to invite people to propose talks on valgrind by submitting a talk proposal to https://penta.fosdem.org/submission/FOSDEM22 Please select the "Valgrind Devroom" Track. (If you have any trouble creating a penta login or submission please contact Julian and me with your proposal.) Because Fosdem will be virtual this year we will likely ask talks to be pre-recorded in advance and after playing your presentation we will do a live Q/A session using Jitsi and Matrix. Please pick a time that includes the length of your (recorded) talk plus ~15 minutes Q/A. We would like to finalize the schedule the first week of January so that people have enough time to record their talk, so please submit your proposals before the end of year (31 December 2021). Some possible topics for talks/discussions are: - New (or recently added) ports. - New CPU (instruction) support. - New (ideas/prototypes) of valgrind tools. - Valgrind release/bugfixing strategy/policy. - Advances in gdbserver and the GDB remote serial protocol. - DWARF, debuginfo, symbols and debuginfod servers. - Using valgrind with "safe" languages (Rust). - Adding/Testing Valgrind syscalls support. - Infrastructure changes (speedups) to the Valgrind JIT framework. - Your interesting use case with Valgrind. Sincerely, Mark & Julian |
|
From: Paul F. <pa...@so...> - 2021-12-11 15:21:43
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=536520cc1d58a041845cbbcbb25782e4201d9092 commit 536520cc1d58a041845cbbcbb25782e4201d9092 Author: Paul Floyd <pj...@wa...> Date: Sat Dec 11 16:20:58 2021 +0100 Forgot to remove FreeBSD 13 i386 scalar expected Diff: --- memcheck/tests/freebsd/Makefile.am | 1 - 1 file changed, 1 deletion(-) diff --git a/memcheck/tests/freebsd/Makefile.am b/memcheck/tests/freebsd/Makefile.am index f3bd873d76..66d1022753 100644 --- a/memcheck/tests/freebsd/Makefile.am +++ b/memcheck/tests/freebsd/Makefile.am @@ -33,7 +33,6 @@ EXTRA_DIST = \ scalar.vgtest \ scalar.stderr.exp \ scalar.stderr.exp-x86 \ - scalar.stderr.exp-freebsd130-x86 \ capsicum.vgtest \ capsicum.stderr.exp \ getfh.vgtest \ |
|
From: Paul F. <pa...@so...> - 2021-12-11 15:10:06
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=6db18baedb1214752e0ff54062705982ef0d0a88 commit 6db18baedb1214752e0ff54062705982ef0d0a88 Author: Paul Floyd <pj...@wa...> Date: Sat Dec 11 16:08:08 2021 +0100 FreeBSD syswrap and scalar corrections for i386 and FreeBSD 12.2 There are still size/offset diffs on i386 for fexecve and realpathat. Diff: --- coregrind/m_syswrap/priv_syswrap-freebsd.h | 6 + coregrind/m_syswrap/syswrap-freebsd.c | 17 +- memcheck/tests/freebsd/scalar.c | 3 - memcheck/tests/freebsd/scalar.stderr.exp | 26 - .../tests/freebsd/scalar.stderr.exp-freebsd130-x86 | 5379 -------------------- memcheck/tests/freebsd/scalar.stderr.exp-x86 | 16 + memcheck/tests/freebsd/scalar_13_plus.c | 5 +- memcheck/tests/freebsd/scalar_13_plus.stderr.exp | 26 + 8 files changed, 62 insertions(+), 5416 deletions(-) diff --git a/coregrind/m_syswrap/priv_syswrap-freebsd.h b/coregrind/m_syswrap/priv_syswrap-freebsd.h index 79a1d9502f..e7b66b17d6 100644 --- a/coregrind/m_syswrap/priv_syswrap-freebsd.h +++ b/coregrind/m_syswrap/priv_syswrap-freebsd.h @@ -523,10 +523,16 @@ DECL_TEMPLATE(freebsd, sys_fhreadlink) // 567 // unimpl __NR_funlinkat 568 // unimpl __NR_copy_file_range 569 DECL_TEMPLATE(freebsd, sys___sysctlbyname) // 570 + +#if (FREEBSD_VERS >= FREEBSD_13) +// looks like close_range got backported +// to 12.2 leaving these 4 marked as UNIMPL in 12.2 // unimpl __NR_shm_open2 571 // unimpl __NR_shm_rename 572 // unimpl __NR_sigfastblock 573 DECL_TEMPLATE(freebsd, sys___realpathat) // 574 +#endif + // unimpl __NR_close_range 575 #endif diff --git a/coregrind/m_syswrap/syswrap-freebsd.c b/coregrind/m_syswrap/syswrap-freebsd.c index 4f1574c353..3fe6c0eb24 100644 --- a/coregrind/m_syswrap/syswrap-freebsd.c +++ b/coregrind/m_syswrap/syswrap-freebsd.c @@ -6145,7 +6145,7 @@ POST(sys_fhreadlink) #if (FREEBSD_VERS >= FREEBSD_12_2) -// SYS___sysctlbyname +// SYS___sysctlbyname 570 // int sysctlbyname(const char *name, void *oldp, size_t *oldlenp, // const void *newp, size_t newlen); // syscalls.master: @@ -6206,7 +6206,11 @@ POST(sys___sysctlbyname) } } -// SYS___realpathat +#endif // (FREEBSD_VERS >= FREEBSD_12_2) + +#if (FREEBSD_VERS >= FREEBSD_13) + +// SYS___realpathat 474 // from syscalls.master // int __realpathat(int fd, // _In_z_ const char *path, @@ -6228,11 +6232,7 @@ POST(sys___realpathat) POST_MEM_WRITE((Addr)ARG3, ARG4); } -#endif // (FREEBSD_VERS >= FREEBSD_12_2) - -#if (FREEBSD_VERS >= FREEBSD_13) - -// SYS___specialfd +// SYS___specialfd 577 // syscalls.master // int __specialfd(int type, // _In_reads_bytes_(len) const void *req, @@ -6939,10 +6939,13 @@ const SyscallTableEntry ML_(syscall_table)[] = { // unimpl __NR_funlinkat 568 // unimpl __NR_copy_file_range 569 BSDXY(__NR___sysctlbyname, sys___sysctlbyname), // 570 + +#if (FREEBSD_VERS >= FREEBSD_13) // unimpl __NR_shm_open2 571 // unimpl __NR_shm_rename 572 // unimpl __NR_sigfastblock 573 BSDXY( __NR___realpathat, sys___realpathat), // 574 +#endif // unimpl __NR_close_range 575 #endif diff --git a/memcheck/tests/freebsd/scalar.c b/memcheck/tests/freebsd/scalar.c index 35c3c85cf3..140ee82568 100644 --- a/memcheck/tests/freebsd/scalar.c +++ b/memcheck/tests/freebsd/scalar.c @@ -2035,9 +2035,6 @@ int main(void) GO(SYS___sysctlbyname, "(putnew) 4s 2m"); SY(SYS___sysctlbyname, x0, x0+1, NULL, NULL, x0+1, x0+2); FAIL; - - GO(SYS___realpathat, " 5s 2m"); - SY(SYS___realpathat, x0+0xffff, x0, x0, x0+100, x0+2); FAIL; #endif diff --git a/memcheck/tests/freebsd/scalar.stderr.exp b/memcheck/tests/freebsd/scalar.stderr.exp index aa214f5144..8e7f9fb145 100644 --- a/memcheck/tests/freebsd/scalar.stderr.exp +++ b/memcheck/tests/freebsd/scalar.stderr.exp @@ -5310,32 +5310,6 @@ Syscall param __sysctlbyname(newp) points to unaddressable byte(s) ... Address 0x........ is not stack'd, malloc'd or (recently) free'd ---------------------------------------------------------- -574: SYS___realpathat 5s 2m ---------------------------------------------------------- -Syscall param __realpathat(fd) contains uninitialised byte(s) - ... - -Syscall param __realpathat(path) contains uninitialised byte(s) - ... - -Syscall param __realpathat(buf) contains uninitialised byte(s) - ... - -Syscall param __realpathat(size) contains uninitialised byte(s) - ... - -Syscall param __realpathat(flags) contains uninitialised byte(s) - ... - -Syscall param __realpathat(path) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param __realpathat(buf) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - --------------------------------------------------------- 1: SYS_exit 1s 0m --------------------------------------------------------- diff --git a/memcheck/tests/freebsd/scalar.stderr.exp-freebsd130-x86 b/memcheck/tests/freebsd/scalar.stderr.exp-freebsd130-x86 deleted file mode 100644 index 70919f47cb..0000000000 --- a/memcheck/tests/freebsd/scalar.stderr.exp-freebsd130-x86 +++ /dev/null @@ -1,5379 +0,0 @@ ---------------------------------------------------------- - 1: SYS_exit below ---------------------------------------------------------- ---------------------------------------------------------- - 2: SYS_fork other ---------------------------------------------------------- ---------------------------------------------------------- - 3: SYS_read 1+3s 0m ---------------------------------------------------------- -Syscall param (syscallno) contains uninitialised byte(s) - ... - -Syscall param read(buf) contains uninitialised byte(s) - ... - -Syscall param read(count) contains uninitialised byte(s) - ... - -Syscall param read(buf) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 4: SYS_write 3s 1m ---------------------------------------------------------- -Syscall param write(fd) contains uninitialised byte(s) - ... - -Syscall param write(buf) contains uninitialised byte(s) - ... - -Syscall param write(count) contains uninitialised byte(s) - ... - -Syscall param write(buf) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 5: SYS_open (2-args) 2s 1m ---------------------------------------------------------- -Syscall param open(filename) contains uninitialised byte(s) - ... - -Syscall param open(flags) contains uninitialised byte(s) - ... - -Syscall param open(filename) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 5: SYS_open (3-args) 1s 0m ---------------------------------------------------------- -Syscall param open(mode) contains uninitialised byte(s) - ... - ---------------------------------------------------------- - 6: SYS_close 1s 0m ---------------------------------------------------------- -Syscall param close(fd) contains uninitialised byte(s) - ... - ---------------------------------------------------------- - 7: SYS_wait4 4s 2m ---------------------------------------------------------- -Syscall param wait4(pid) contains uninitialised byte(s) - ... - -Syscall param wait4(status) contains uninitialised byte(s) - ... - -Syscall param wait4(options) contains uninitialised byte(s) - ... - -Syscall param wait4(rusage) contains uninitialised byte(s) - ... - -Syscall param wait4(status) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param wait4(rusage) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 9: SYS_link 2s 2m ---------------------------------------------------------- -Syscall param link(oldpath) contains uninitialised byte(s) - ... - -Syscall param link(newpath) contains uninitialised byte(s) - ... - -Syscall param link(oldpath) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param link(newpath) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 10: SYS_unlink 1s 1m ---------------------------------------------------------- -Syscall param unlink(pathname) contains uninitialised byte(s) - ... - -Syscall param unlink(pathname) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 12: SYS_chdir 1s 1m ---------------------------------------------------------- -Syscall param chdir(path) contains uninitialised byte(s) - ... - -Syscall param chdir(path) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 13: SYS_fchdir 1s 0m ---------------------------------------------------------- -Syscall param fchdir(fd) contains uninitialised byte(s) - ... - ---------------------------------------------------------- - 14: SYS_freebsd11_mknod 3s 1m ---------------------------------------------------------- -Syscall param mknod(pathname) contains uninitialised byte(s) - ... - -Syscall param mknod(mode) contains uninitialised byte(s) - ... - -Syscall param mknod(dev) contains uninitialised byte(s) - ... - -Syscall param mknod(pathname) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 15: SYS_chmod 2s 1m ---------------------------------------------------------- -Syscall param chmod(path) contains uninitialised byte(s) - ... - -Syscall param chmod(mode) contains uninitialised byte(s) - ... - -Syscall param chmod(path) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 16: SYS_chown 3s 1m ---------------------------------------------------------- -Syscall param chown(path) contains uninitialised byte(s) - ... - -Syscall param chown(owner) contains uninitialised byte(s) - ... - -Syscall param chown(group) contains uninitialised byte(s) - ... - -Syscall param chown(path) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 17: SYS_break 1s 1m ---------------------------------------------------------- -Syscall param brk(end_data_segment) contains uninitialised byte(s) - ... - ---------------------------------------------------------- - 20: SYS_getpid 0s 0m ---------------------------------------------------------- ---------------------------------------------------------- - 21: SYS_mount 4s 2m ---------------------------------------------------------- -Syscall param mount(type) contains uninitialised byte(s) - ... - -Syscall param mount(dir) contains uninitialised byte(s) - ... - -Syscall param mount(flags) contains uninitialised byte(s) - ... - -Syscall param mount(data) contains uninitialised byte(s) - ... - -Syscall param mount(type) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param mount(path) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 22: SYS_unmount 2s 1m ---------------------------------------------------------- -Syscall param unmount(dir) contains uninitialised byte(s) - ... - -Syscall param unmount(flags) contains uninitialised byte(s) - ... - -Syscall param unmount(path) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 23: SYS_setuid 1s 0m ---------------------------------------------------------- -Syscall param setuid(uid) contains uninitialised byte(s) - ... - ---------------------------------------------------------- - 24: SYS_getuid 0s 0m ---------------------------------------------------------- ---------------------------------------------------------- - 25: SYS_geteuid 0s 0m ---------------------------------------------------------- ---------------------------------------------------------- - 26: SYS_ptrace 4s 0m ---------------------------------------------------------- -Syscall param ptrace(request) contains uninitialised byte(s) - ... - -Syscall param ptrace(pid) contains uninitialised byte(s) - ... - -Syscall param ptrace(addr) contains uninitialised byte(s) - ... - -Syscall param ptrace(data) contains uninitialised byte(s) - ... - ---------------------------------------------------------- - 27: SYS_recvmsg 3s 0m ---------------------------------------------------------- -Syscall param recvmsg(s) contains uninitialised byte(s) - ... - -Syscall param recvmsg(msg) contains uninitialised byte(s) - ... - -Syscall param recvmsg(flags) contains uninitialised byte(s) - ... - ---------------------------------------------------------- - 28: SYS_sendmsg 3s 0m ---------------------------------------------------------- -Syscall param sendmsg(s) contains uninitialised byte(s) - ... - -Syscall param sendmsg(msg) contains uninitialised byte(s) - ... - -Syscall param sendmsg(flags) contains uninitialised byte(s) - ... - ---------------------------------------------------------- - 29: SYS_recvfrom 6+1s 0m ---------------------------------------------------------- -Syscall param recvfrom(s) contains uninitialised byte(s) - ... - -Syscall param recvfrom(buf) contains uninitialised byte(s) - ... - -Syscall param recvfrom(len) contains uninitialised byte(s) - ... - -Syscall param recvfrom(flags) contains uninitialised byte(s) - ... - -Syscall param recvfrom(from) contains uninitialised byte(s) - ... - -Syscall param recvfrom(fromlen) contains uninitialised byte(s) - ... - -Syscall param socketcall.recvfrom(buf) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param socketcall.recvfrom(fromlen_in) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 30: SYS_accept 3+1s 0m ---------------------------------------------------------- -Syscall param accept(s) contains uninitialised byte(s) - ... - -Syscall param accept(addr) contains uninitialised byte(s) - ... - -Syscall param accept(*addrlen) contains uninitialised byte(s) - ... - -Syscall param socketcall.accept(addrlen_in) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 31: SYS_getpeername 3s 1m ---------------------------------------------------------- -Syscall param getpeername(s) contains uninitialised byte(s) - ... - -Syscall param getpeername(name) contains uninitialised byte(s) - ... - -Syscall param getpeername(namelen) contains uninitialised byte(s) - ... - -Syscall param socketcall.getpeername(namelen_in) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 32: SYS_getsockname 3s 1m ---------------------------------------------------------- -Syscall param getsockname(s) contains uninitialised byte(s) - ... - -Syscall param getsockname(name) contains uninitialised byte(s) - ... - -Syscall param getsockname(namelen) contains uninitialised byte(s) - ... - -Syscall param socketcall.getsockname(namelen_in) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 25: SYS_geteuid 0s 0m ---------------------------------------------------------- ---------------------------------------------------------- - 34: SYS_chflags 2s 1m ---------------------------------------------------------- -Syscall param chflags(path) contains uninitialised byte(s) - ... - -Syscall param chflags(flags) contains uninitialised byte(s) - ... - -Syscall param chflags(path) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 35: SYS_fchflags 2s 0m ---------------------------------------------------------- -Syscall param fchflags(fd) contains uninitialised byte(s) - ... - -Syscall param fchflags(flags) contains uninitialised byte(s) - ... - ---------------------------------------------------------- - 36: SYS_sync 0s 0m ---------------------------------------------------------- ---------------------------------------------------------- - 37: SYS_kill 2s 0m ---------------------------------------------------------- -Syscall param kill(pid) contains uninitialised byte(s) - ... - -Syscall param kill(signal) contains uninitialised byte(s) - ... - ---------------------------------------------------------- - 39: SYS_getppid 0s 0m ---------------------------------------------------------- ---------------------------------------------------------- - 41: SYS_dup 1s 0m ---------------------------------------------------------- -Syscall param dup(oldfd) contains uninitialised byte(s) - ... - ---------------------------------------------------------- - 42: SYS_freebsd10_pipe 0s 0m ---------------------------------------------------------- ---------------------------------------------------------- - 43: SYS_getegid 0s 0m ---------------------------------------------------------- ---------------------------------------------------------- - 44: SYS_profil ni ---------------------------------------------------------- ---------------------------------------------------------- - 45: SYS_ktrace ni ---------------------------------------------------------- ---------------------------------------------------------- - 47: SYS_getgid 0s 0m ---------------------------------------------------------- ---------------------------------------------------------- - 49: SYS_getlogin 2s 1m ---------------------------------------------------------- -Syscall param getlogin(buf) contains uninitialised byte(s) - ... - -Syscall param getlogin(len) contains uninitialised byte(s) - ... - -Syscall param getlogin(name) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 50: SYS_setlogin 1s 1m ---------------------------------------------------------- -Syscall param setlogin(buf) contains uninitialised byte(s) - ... - -Syscall param setlogin(buf) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 51: SYS_acct 1s 1m ---------------------------------------------------------- -Syscall param acct(filename) contains uninitialised byte(s) - ... - -Syscall param acct(filename) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 53: SYS_sigaltstack 2s 2m ---------------------------------------------------------- -Syscall param sigaltstack(ss) contains uninitialised byte(s) - ... - -Syscall param sigaltstack(oss) contains uninitialised byte(s) - ... - -Syscall param sigaltstack(ss) points to unaddressable byte(s) - ... - Address 0x........ is on thread 1's stack - -Syscall param sigaltstack(oss) points to unaddressable byte(s) - ... - Address 0x........ is on thread 1's stack - -Conditional jump or move depends on uninitialised value(s) - ... - ---------------------------------------------------------- - 54: SYS_ioctl 3s 1m ---------------------------------------------------------- - -More than 100 errors detected. Subsequent errors -will still be recorded, but in less detail than before. -Syscall param ioctl(fd) contains uninitialised byte(s) - ... - -Syscall param ioctl(request) contains uninitialised byte(s) - ... - -Syscall param ioctl(arg) contains uninitialised byte(s) - ... - -Syscall param ioctl(generic) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 56: SYS_revoke 1s 1m ---------------------------------------------------------- -Syscall param revoke(path) contains uninitialised byte(s) - ... - -Syscall param revoke(path) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 57: SYS_symlink 2s 2m ---------------------------------------------------------- -Syscall param symlink(oldpath) contains uninitialised byte(s) - ... - -Syscall param symlink(newpath) contains uninitialised byte(s) - ... - -Syscall param symlink(oldpath) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param symlink(newpath) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 58: SYS_readlink 3s 2m ---------------------------------------------------------- -Syscall param readlink(path) contains uninitialised byte(s) - ... - -Syscall param readlink(buf) contains uninitialised byte(s) - ... - -Syscall param readlink(bufsiz) contains uninitialised byte(s) - ... - -Syscall param readlink(path) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param readlink(buf) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 59: SYS_execve 3s 1m ---------------------------------------------------------- -Syscall param execve(filename) contains uninitialised byte(s) - ... - -Syscall param execve(argv) contains uninitialised byte(s) - ... - -Syscall param execve(envp) contains uninitialised byte(s) - ... - -Syscall param execve(filename) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 60: SYS_umask 1s 0m ---------------------------------------------------------- -Syscall param umask(mask) contains uninitialised byte(s) - ... - ---------------------------------------------------------- - 61: SYS_chroot 1s 1m ---------------------------------------------------------- -Syscall param chroot(path) contains uninitialised byte(s) - ... - -Syscall param chroot(path) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 65: SYS_msync 3s 1m ---------------------------------------------------------- -Syscall param msync(start) contains uninitialised byte(s) - ... - -Syscall param msync(length) contains uninitialised byte(s) - ... - -Syscall param msync(flags) contains uninitialised byte(s) - ... - -Syscall param msync(start) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 66: SYS_vfork other ---------------------------------------------------------- ---------------------------------------------------------- - 69: SYS_sbrk 1s 1m ---------------------------------------------------------- -Syscall param sbrk(incr) contains uninitialised byte(s) - ... - ---------------------------------------------------------- - 73: SYS_munmap 2s 0m ---------------------------------------------------------- -Syscall param munmap(start) contains uninitialised byte(s) - ... - -Syscall param munmap(length) contains uninitialised byte(s) - ... - ---------------------------------------------------------- - 74: SYS_mprotect 3s 0m ---------------------------------------------------------- -Syscall param mprotect(addr) contains uninitialised byte(s) - ... - -Syscall param mprotect(len) contains uninitialised byte(s) - ... - -Syscall param mprotect(prot) contains uninitialised byte(s) - ... - ---------------------------------------------------------- - 75: SYS_madvise 3s 0m ---------------------------------------------------------- -Syscall param madvise(start) contains uninitialised byte(s) - ... - -Syscall param madvise(length) contains uninitialised byte(s) - ... - -Syscall param madvise(advice) contains uninitialised byte(s) - ... - ---------------------------------------------------------- - 78: SYS_mincore 3s 1m ---------------------------------------------------------- -Syscall param mincore(start) contains uninitialised byte(s) - ... - -Syscall param mincore(length) contains uninitialised byte(s) - ... - -Syscall param mincore(vec) contains uninitialised byte(s) - ... - -Syscall param mincore(vec) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 79: SYS_getgroups 2s 1m ---------------------------------------------------------- -Syscall param getgroups(size) contains uninitialised byte(s) - ... - -Syscall param getgroups(list) contains uninitialised byte(s) - ... - -Syscall param getgroups(list) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 80: SYS_setgroups 2s 1m ---------------------------------------------------------- -Syscall param setgroups(size) contains uninitialised byte(s) - ... - -Syscall param setgroups(list) contains uninitialised byte(s) - ... - -Syscall param setgroups(list) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 81: SYS_getpgrp 0s 0m ---------------------------------------------------------- ---------------------------------------------------------- - 82: SYS_setpgid 2s 0m ---------------------------------------------------------- -Syscall param setpgid(pid) contains uninitialised byte(s) - ... - -Syscall param setpgid(pgid) contains uninitialised byte(s) - ... - ---------------------------------------------------------- - 83: SYS_setitimer 3s 2m ---------------------------------------------------------- -Syscall param setitimer(which) contains uninitialised byte(s) - ... - -Syscall param setitimer(value) contains uninitialised byte(s) - ... - -Syscall param setitimer(ovalue) contains uninitialised byte(s) - ... - -Syscall param setitimer(&value->it_interval) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param setitimer(&value->it_value) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param setitimer(&ovalue->it_interval) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param setitimer(&ovalue->it_value) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 85: SYS_swapon 1s 1m ---------------------------------------------------------- -Syscall param swapon(special) contains uninitialised byte(s) - ... - -Syscall param swapon(special) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 86: SYS_getitimer 2s 1m ---------------------------------------------------------- -Syscall param getitimer(which) contains uninitialised byte(s) - ... - -Syscall param getitimer(value) contains uninitialised byte(s) - ... - -Syscall param getitimer(&value->it_interval) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param getitimer(&value->it_value) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 89: SYS_getdtablesize 0s 0m ---------------------------------------------------------- ---------------------------------------------------------- - 90: SYS_dup2 2s 0m ---------------------------------------------------------- -Syscall param dup2(oldfd) contains uninitialised byte(s) - ... - -Syscall param dup2(newfd) contains uninitialised byte(s) - ... - ---------------------------------------------------------- - 92: SYS_fcntl (GETFD) 2s 0m ---------------------------------------------------------- -Syscall param fcntl(fd) contains uninitialised byte(s) - ... - -Syscall param fcntl(cmd) contains uninitialised byte(s) - ... - ---------------------------------------------------------- - 92: SYS_fcntl (DUPFD) 1s 0m ---------------------------------------------------------- -Syscall param fcntl(arg) contains uninitialised byte(s) - ... - ---------------------------------------------------------- - 93: SYS_select 5s 4m ---------------------------------------------------------- -Syscall param select(n) contains uninitialised byte(s) - ... - -Syscall param select(readfds) contains uninitialised byte(s) - ... - -Syscall param select(writefds) contains uninitialised byte(s) - ... - -Syscall param select(exceptfds) contains uninitialised byte(s) - ... - -Syscall param select(timeout) contains uninitialised byte(s) - ... - -Syscall param select(readfds) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param select(writefds) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param select(exceptfds) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param select(timeout) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 95: SYS_fsync 1s 0m ---------------------------------------------------------- -Syscall param fsync(fd) contains uninitialised byte(s) - ... - ---------------------------------------------------------- - 96: SYS_setpriority 3s 0m ---------------------------------------------------------- -Syscall param setpriority(which) contains uninitialised byte(s) - ... - -Syscall param setpriority(who) contains uninitialised byte(s) - ... - -Syscall param setpriority(prio) contains uninitialised byte(s) - ... - ---------------------------------------------------------- - 97: SYS_socket 3s 0m ---------------------------------------------------------- -Syscall param socket(domain) contains uninitialised byte(s) - ... - -Syscall param socket(type) contains uninitialised byte(s) - ... - -Syscall param socket(protocol) contains uninitialised byte(s) - ... - ---------------------------------------------------------- - 98: SYS_connect 3s 0m ---------------------------------------------------------- -Syscall param connect(s) contains uninitialised byte(s) - ... - -Syscall param connect(name) contains uninitialised byte(s) - ... - -Syscall param connect(namelen) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -100: SYS_getpriority 2s 0m ---------------------------------------------------------- -Syscall param getpriority(which) contains uninitialised byte(s) - ... - -Syscall param getpriority(who) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -104: SYS_bind 3s 0m ---------------------------------------------------------- -Syscall param bind(s) contains uninitialised byte(s) - ... - -Syscall param bind(addr) contains uninitialised byte(s) - ... - -Syscall param bind(addrlen) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -105: SYS_setsockopt 5s 0m ---------------------------------------------------------- -Syscall param setsockopt(s) contains uninitialised byte(s) - ... - -Syscall param setsockopt(level) contains uninitialised byte(s) - ... - -Syscall param setsockopt(optname) contains uninitialised byte(s) - ... - -Syscall param setsockopt(optval) contains uninitialised byte(s) - ... - -Syscall param setsockopt(optlen) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -106: SYS_listen 2s 0m ---------------------------------------------------------- -Syscall param listen(s) contains uninitialised byte(s) - ... - -Syscall param listen(backlog) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -116: SYS_gettimeofday 2s 2m ---------------------------------------------------------- -Syscall param gettimeofday(tv) contains uninitialised byte(s) - ... - -Syscall param gettimeofday(tz) contains uninitialised byte(s) - ... - -Syscall param gettimeofday(tv) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param gettimeofday(tz) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -117: SYS_getrusage 2s 1m ---------------------------------------------------------- -Syscall param getrusage(who) contains uninitialised byte(s) - ... - -Syscall param getrusage(usage) contains uninitialised byte(s) - ... - -Syscall param getrusage(usage) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -105: SYS_setsockopt 5s 1m ---------------------------------------------------------- -Syscall param setsockopt(s) contains uninitialised byte(s) - ... - -Syscall param setsockopt(level) contains uninitialised byte(s) - ... - -Syscall param setsockopt(optname) contains uninitialised byte(s) - ... - -Syscall param setsockopt(optval) contains uninitialised byte(s) - ... - -Syscall param setsockopt(optlen) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -120: SYS_readv 3s 1m ---------------------------------------------------------- -Syscall param readv(fd) contains uninitialised byte(s) - ... - -Syscall param readv(vector) contains uninitialised byte(s) - ... - -Syscall param readv(count) contains uninitialised byte(s) - ... - -Syscall param readv(vector) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -121: SYS_writev 3s 1m ---------------------------------------------------------- -Syscall param writev(fd) contains uninitialised byte(s) - ... - -Syscall param writev(vector) contains uninitialised byte(s) - ... - -Syscall param writev(count) contains uninitialised byte(s) - ... - -Syscall param writev(vector) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -122: SYS_settimeofday 2s 2m ---------------------------------------------------------- -Syscall param settimeofday(tv) contains uninitialised byte(s) - ... - -Syscall param settimeofday(tz) contains uninitialised byte(s) - ... - -Syscall param settimeofday(tv) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param settimeofday(tz) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -123: SYS_fchown 3s 0m ---------------------------------------------------------- -Syscall param fchown(fd) contains uninitialised byte(s) - ... - -Syscall param fchown(owner) contains uninitialised byte(s) - ... - -Syscall param fchown(group) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -124: SYS_fchmod 2s 0m ---------------------------------------------------------- -Syscall param fchmod(fildes) contains uninitialised byte(s) - ... - -Syscall param fchmod(mode) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -126: SYS_setreuid 2s 0m ---------------------------------------------------------- -Syscall param setreuid(ruid) contains uninitialised byte(s) - ... - -Syscall param setreuid(euid) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -127: SYS_setregid 2s 0m ---------------------------------------------------------- -Syscall param setregid(rgid) contains uninitialised byte(s) - ... - -Syscall param setregid(egid) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -128: SYS_rename 2s 2m ---------------------------------------------------------- -Syscall param rename(oldpath) contains uninitialised byte(s) - ... - -Syscall param rename(newpath) contains uninitialised byte(s) - ... - -Syscall param rename(oldpath) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param rename(newpath) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -131: SYS_flock 2s 0m ---------------------------------------------------------- -Syscall param flock(fd) contains uninitialised byte(s) - ... - -Syscall param flock(operation) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -132: SYS_mkfifo 2s 1m ---------------------------------------------------------- -Syscall param mkfifo(path) contains uninitialised byte(s) - ... - -Syscall param mkfifo(mode) contains uninitialised byte(s) - ... - -Syscall param mkfifo(path) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -133: SYS_sendto 6s 0m ---------------------------------------------------------- -Syscall param sendto(s) contains uninitialised byte(s) - ... - -Syscall param sendto(msg) contains uninitialised byte(s) - ... - -Syscall param sendto(len) contains uninitialised byte(s) - ... - -Syscall param sendto(flags) contains uninitialised byte(s) - ... - -Syscall param sendto(to) contains uninitialised byte(s) - ... - -Syscall param sendto(tolen) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -135: SYS_socketpair 4s 1m ---------------------------------------------------------- -Syscall param socketpair(domain) contains uninitialised byte(s) - ... - -Syscall param socketpair(type) contains uninitialised byte(s) - ... - -Syscall param socketpair(protocol) contains uninitialised byte(s) - ... - -Syscall param socketpair(sv) contains uninitialised byte(s) - ... - -Syscall param socketcall.socketpair(sv) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -136: SYS_mkdir 2s 1m ---------------------------------------------------------- -Syscall param mkdir(pathname) contains uninitialised byte(s) - ... - -Syscall param mkdir(mode) contains uninitialised byte(s) - ... - -Syscall param mkdir(pathname) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -137: SYS_rmdir 1s 1m ---------------------------------------------------------- -Syscall param rmdir(pathname) contains uninitialised byte(s) - ... - -Syscall param rmdir(pathname) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -138: SYS_utimes 2s 2m ---------------------------------------------------------- -Syscall param utimes(filename) contains uninitialised byte(s) - ... - -Syscall param utimes(tvp) contains uninitialised byte(s) - ... - -Syscall param utimes(filename) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param utimes(tvp[0]) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param utimes(tvp[1]) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -140: SYS_adjtime 2s 1m ---------------------------------------------------------- -Syscall param adjtime(delta) contains uninitialised byte(s) - ... - -Syscall param adjtime(olddelta) contains uninitialised byte(s) - ... - -Syscall param adjtime(delta) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -147: SYS_setsid 0s 0m ---------------------------------------------------------- ---------------------------------------------------------- -148: SYS_quotactl (Q_QUOTAOFF) 2s 0m ---------------------------------------------------------- -Syscall param quotactl(path) contains uninitialised byte(s) - ... - -Syscall param quotactl(cmd) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -148: SYS_quotactl (Q_QUOTAON) 4s 2m ---------------------------------------------------------- -Syscall param quotactl(path) contains uninitialised byte(s) - ... - -Syscall param quotactl(cmd) contains uninitialised byte(s) - ... - -Syscall param quotactl(id) contains uninitialised byte(s) - ... - -Syscall param quotactl(addr) contains uninitialised byte(s) - ... - -Syscall param quotactl(path) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -160: SYS_lgetfh 2s 2m ---------------------------------------------------------- -Syscall param lgetfh(path) contains uninitialised byte(s) - ... - -Syscall param lgetfh(fhp) contains uninitialised byte(s) - ... - -Syscall param lgetfh(path) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param lgetfh(fhp) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -161: SYS_getfh 2s 2m ---------------------------------------------------------- -Syscall param getfh(path) contains uninitialised byte(s) - ... - -Syscall param getfh(fhp) contains uninitialised byte(s) - ... - -Syscall param getfh(path) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param getfh(fhp) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -165: SYS_sysarch 2s 1m ---------------------------------------------------------- -Syscall param sysarch(number) contains uninitialised byte(s) - ... - -Syscall param sysarch(args) contains uninitialised byte(s) - ... - -Syscall param i386_get_gsbase(basep) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -165: SYS_sysarch 2s 0m ---------------------------------------------------------- -Syscall param sysarch(number) contains uninitialised byte(s) - ... - -Syscall param sysarch(args) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -166: SYS_rtprio (GET) 3s 1m ---------------------------------------------------------- -Syscall param rtprio(function) contains uninitialised byte(s) - ... - -Syscall param rtprio(pid) contains uninitialised byte(s) - ... - -Syscall param rtprio(rtp) contains uninitialised byte(s) - ... - -Syscall param rtprio(rtp#lookup) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -166: SYS_rtprio (SET) 3s 1m ---------------------------------------------------------- -Syscall param rtprio(function) contains uninitialised byte(s) - ... - -Syscall param rtprio(pid) contains uninitialised byte(s) - ... - -Syscall param rtprio(rtp) contains uninitialised byte(s) - ... - -Syscall param rtprio(rtp#set) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -175: SYS_setfib 1s 0m ---------------------------------------------------------- -Syscall param setfib(fib) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -181: SYS_setgid 1s 0m ---------------------------------------------------------- -Syscall param setgid(gid) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -182: SYS_setegid 1s 0m ---------------------------------------------------------- -Syscall param setegid(gid) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -183: SYS_seteuid 1s 0m ---------------------------------------------------------- -Syscall param seteuid(uid) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -188: SYS_freebsd11_stat 2s 2m ---------------------------------------------------------- -Syscall param stat(path) contains uninitialised byte(s) - ... - -Syscall param stat(sb) contains uninitialised byte(s) - ... - -Syscall param stat(path) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param stat(sb) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -189: SYS_freebsd11_fstat 2s 1m ---------------------------------------------------------- -Syscall param fstat(fd) contains uninitialised byte(s) - ... - -Syscall param fstat(sb) contains uninitialised byte(s) - ... - -Syscall param fstat(sb) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -190: SYS_freebsd11_lstat 2s 2m ---------------------------------------------------------- -Syscall param lstat(path) contains uninitialised byte(s) - ... - -Syscall param lstat(sb) contains uninitialised byte(s) - ... - -Syscall param lstat(path) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param lstat(sb) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -191: SYS_pathconf 2s 1m ---------------------------------------------------------- -Syscall param pathconf(path) contains uninitialised byte(s) - ... - -Syscall param pathconf(name) contains uninitialised byte(s) - ... - -Syscall param pathconf(path) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -192: SYS_fpathconf 2s 0m ---------------------------------------------------------- -Syscall param fpathconf(fd) contains uninitialised byte(s) - ... - -Syscall param fpathconf(name) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -194: SYS_getrlimit 2s 1m ---------------------------------------------------------- -Syscall param getrlimit(resource) contains uninitialised byte(s) - ... - -Syscall param getrlimit(rlim) contains uninitialised byte(s) - ... - -Syscall param getrlimit(rlim) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -195: SYS_setrlimit 2s 1m ---------------------------------------------------------- -Syscall param setrlimit(resource) contains uninitialised byte(s) - ... - -Syscall param setrlimit(rlim) contains uninitialised byte(s) - ... - -Syscall param setrlimit(rlim) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -196:SYS_freebsd11_getdirentries 4s 2m ---------------------------------------------------------- -Syscall param getdirentries(fd) contains uninitialised byte(s) - ... - -Syscall param getdirentries(buf) contains uninitialised byte(s) - ... - -Syscall param getdirentries(nbytes) contains uninitialised byte(s) - ... - -Syscall param getdirentries(basep) contains uninitialised byte(s) - ... - -Syscall param getdirentries(buf) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param getdirentries(basep) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -202: SYS___sysctl (getoldlen) 3s 2m ---------------------------------------------------------- -Syscall param __sysctl(name) contains uninitialised byte(s) - ... - -Syscall param __sysctl(namelen) contains uninitialised byte(s) - ... - -Syscall param __sysctl(oldlenp) contains uninitialised byte(s) - ... - -Syscall param __sysctl(newlen) contains uninitialised byte(s) - ... - -Syscall param sysctl(name) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param sysctl(oldlenp) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -202: SYS___sysctl (getold) 4s 2m ---------------------------------------------------------- -Syscall param __sysctl(name) contains uninitialised byte(s) - ... - -Syscall param __sysctl(namelen) contains uninitialised byte(s) - ... - -Syscall param __sysctl(oldp) contains uninitialised byte(s) - ... - -Syscall param __sysctl(oldlenp) contains uninitialised byte(s) - ... - -Syscall param __sysctl(newlen) contains uninitialised byte(s) - ... - -Syscall param sysctl(name) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param sysctl(oldlenp) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Warning: Bad oldlenp address 0x........ in sysctl ---------------------------------------------------------- -202: SYS___sysctl (putnew) 4s 2m ---------------------------------------------------------- -Syscall param __sysctl(name) contains uninitialised byte(s) - ... - -Syscall param __sysctl(namelen) contains uninitialised byte(s) - ... - -Syscall param __sysctl(newp) contains uninitialised byte(s) - ... - -Syscall param __sysctl(newlen) contains uninitialised byte(s) - ... - -Syscall param sysctl(name) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param sysctl(newp) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -203: SYS_mlock 2s 0m ---------------------------------------------------------- -Syscall param mlock(addr) contains uninitialised byte(s) - ... - -Syscall param mlock(len) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -204: SYS_munlock 2s 0m ---------------------------------------------------------- -Syscall param munlock(addr) contains uninitialised byte(s) - ... - -Syscall param munlock(len) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -205: SYS_undelete 1s 1m ---------------------------------------------------------- -Syscall param undelete(path) contains uninitialised byte(s) - ... - -Syscall param undelete(path) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -206: SYS_futimes 2s 0m ---------------------------------------------------------- -Syscall param futimes(fd) contains uninitialised byte(s) - ... - -Syscall param futimes(times) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -207: SYS_getpgid 1s 0m ---------------------------------------------------------- -Syscall param getpgid(pid) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -209: SYS_poll 3s 3m ---------------------------------------------------------- -Syscall param poll(ufds) contains uninitialised byte(s) - ... - -Syscall param poll(nfds) contains uninitialised byte(s) - ... - -Syscall param poll(timeout) contains uninitialised byte(s) - ... - -Syscall param poll(ufds.fd) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param poll(ufds.events) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param poll(ufds.revents) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -220: SYS_freebsd7___semctl (IPC_INFO) 4s 1m ---------------------------------------------------------- -Syscall param semctl(semid) contains uninitialised byte(s) - ... - -Syscall param semctl(semnum) contains uninitialised byte(s) - ... - -Syscall param semctl(cmd) contains uninitialised byte(s) - ... - -Syscall param semctl(arg) contains uninitialised byte(s) - ... - -Syscall param semctl(IPC_INFO, arg.buf) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -220: SYS_freebsd7___semctl (bogus cmd) 3s 0m ---------------------------------------------------------- -Syscall param semctl(semid) contains uninitialised byte(s) - ... - -Syscall param semctl(semnum) contains uninitialised byte(s) - ... - -Syscall param semctl(cmd) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -221: SYS_semget 3s 0m ---------------------------------------------------------- -Syscall param semget(key) contains uninitialised byte(s) - ... - -Syscall param semget(nsems) contains uninitialised byte(s) - ... - -Syscall param semget(flag) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -222: SYS_semop 3s 0m ---------------------------------------------------------- -Syscall param semop(semid) contains uninitialised byte(s) - ... - -Syscall param semop(array) contains uninitialised byte(s) - ... - -Syscall param semop(nops) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -224: SYS_freebsd7_msgctl (set) 3s 1m ---------------------------------------------------------- -Syscall param msgctl(msqid) contains uninitialised byte(s) - ... - -Syscall param msgctl(cmd) contains uninitialised byte(s) - ... - -Syscall param msgctl(buf) contains uninitialised byte(s) - ... - -Syscall param msgctl(IPC_SET, buf) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -224: SYS_freebsd7_msgctl (stat) 3s 1m ---------------------------------------------------------- -Syscall param msgctl(msqid) contains uninitialised byte(s) - ... - -Syscall param msgctl(cmd) contains uninitialised byte(s) - ... - -Syscall param msgctl(buf) contains uninitialised byte(s) - ... - -Syscall param msgctl(IPC_STAT, buf) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -225: SYS_msgget 2s 0m ---------------------------------------------------------- -Syscall param msgget(key) contains uninitialised byte(s) - ... - -Syscall param msgget(msgflg) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -226: SYS_msgsnd 4s 1m ---------------------------------------------------------- -Syscall param msgsnd(msqid) contains uninitialised byte(s) - ... - -Syscall param msgsnd(msgp) contains uninitialised byte(s) - ... - -Syscall param msgsnd(msgsz) contains uninitialised byte(s) - ... - -Syscall param msgsnd(msgflg) contains uninitialised byte(s) - ... - -Syscall param msgsnd(msgp->mtype) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -227: ... [truncated message content] |
|
From: Paul F. <pa...@so...> - 2021-12-11 11:37:43
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=bb178889c739203464242c60161927c07bf94722 commit bb178889c739203464242c60161927c07bf94722 Author: Paul Floyd <pj...@wa...> Date: Sat Dec 11 12:32:08 2021 +0100 Bug 446823 FreeBSD - missing syscalls when using libzm4 Adds syscall wrappers for __specialfd and __realpathat. Also remove kernel dependency on COMPAT_FREEBSD10. This change also reorganizes somewhat the scalar test and adds configure time checks for the FreeBSD version, allowing regression tests to be compiled depending on the FreeBSD release. From now on, scalar.c will contain syscalls for FreeBSD 11 and 12 and subsequent releases will get their own scalar, starting with scalar_13_plus.c. Diff: --- NEWS | 1 + configure.ac | 31 +++++ coregrind/m_libcfile.c | 4 + coregrind/m_syswrap/priv_syswrap-freebsd.h | 9 +- coregrind/m_syswrap/syswrap-freebsd.c | 48 ++++++- include/vki/vki-scnums-freebsd.h | 5 - memcheck/tests/freebsd/Makefile.am | 16 ++- memcheck/tests/freebsd/eventfd1.c | 58 ++++++++ memcheck/tests/freebsd/eventfd1.stderr.exp | 0 memcheck/tests/freebsd/eventfd1.stdout.exp | 4 + memcheck/tests/freebsd/eventfd1.vgtest | 5 + memcheck/tests/freebsd/eventfd2.c | 99 ++++++++++++++ memcheck/tests/freebsd/eventfd2.stderr.exp | 0 memcheck/tests/freebsd/eventfd2.stdout.exp | 26 ++++ memcheck/tests/freebsd/eventfd2.vgtest | 3 + memcheck/tests/freebsd/realpathat.c | 33 +++++ memcheck/tests/freebsd/realpathat.stderr.exp | 162 +++++++++++++++++++++++ memcheck/tests/freebsd/realpathat.vgtest | 3 + memcheck/tests/freebsd/scalar.c | 3 + memcheck/tests/freebsd/scalar.stderr.exp | 26 ++++ memcheck/tests/freebsd/scalar_13_plus.c | 15 +++ memcheck/tests/freebsd/scalar_13_plus.stderr.exp | 16 +++ memcheck/tests/freebsd/scalar_13_plus.vgtest | 12 ++ 23 files changed, 560 insertions(+), 19 deletions(-) diff --git a/NEWS b/NEWS index 5a15158403..ad49b98d3f 100644 --- a/NEWS +++ b/NEWS @@ -59,6 +59,7 @@ are not entered into bugzilla tend to get forgotten about or ignored. 446138 DRD/Helgrind with std::timed_mutex::try_lock_until false positives 446281 Add a DRD suppression for fwrite 446103 Memcheck: `--track-origins=yes` causes extreme slowdowns for large mmap/munmap +446823 FreeBSD - missing syscalls when using libzm4 To see details of a given bug, visit https://bugs.kde.org/show_bug.cgi?id=XXXXXX diff --git a/configure.ac b/configure.ac index 96df114bae..56a1d7e766 100755 --- a/configure.ac +++ b/configure.ac @@ -387,11 +387,17 @@ case "${host_os}" in AC_MSG_RESULT([ok (${host_os})]) VGCONF_OS="freebsd" AC_DEFINE([FREEBSD_10], 1000, [FREEBSD_VERS value for FreeBSD 10.x]) + freebsd_10=1000 AC_DEFINE([FREEBSD_11], 1100, [FREEBSD_VERS value for FreeBSD 11.x]) + freebsd_11=1100 AC_DEFINE([FREEBSD_12], 1200, [FREEBSD_VERS value for FreeBSD 12.0 to 12.1]) + freebsd_12=1200 AC_DEFINE([FREEBSD_12_2], 1220, [FREEBSD_VERS value for FreeBSD 12.2]) + freebsd_12_2=1220 AC_DEFINE([FREEBSD_13], 1300, [FREEBSD_VERS value for FreeBSD 13.x]) + freebsd_13=1300 AC_DEFINE([FREEBSD_14], 1400, [FREEBSD_VERS value for FreeBSD 14.x]) + freebsd_14=1400 AC_MSG_CHECKING([for the kernel version]) kernel=`uname -r` @@ -400,30 +406,36 @@ case "${host_os}" in 10.*) AC_MSG_RESULT([FreeBSD 10.x (${kernel})]) AC_DEFINE([FREEBSD_VERS], FREEBSD_10, [FreeBSD version]) + freebsd_vers=$freebsd_10 ;; 11.*) AC_MSG_RESULT([FreeBSD 11.x (${kernel})]) AC_DEFINE([FREEBSD_VERS], FREEBSD_11, [FreeBSD version]) + freebsd_vers=$freebsd_11 ;; 12.*) case "${kernel}" in 12.[[0-1]]-*) AC_MSG_RESULT([FreeBSD 12.x (${kernel})]) AC_DEFINE([FREEBSD_VERS], FREEBSD_12, [FreeBSD version]) + freebsd_vers=$freebsd_12 ;; *) AC_MSG_RESULT([FreeBSD 12.x (${kernel})]) AC_DEFINE([FREEBSD_VERS], FREEBSD_12_2, [FreeBSD version]) + freebsd_vers=$freebsd_12_2 ;; esac ;; 13.*) AC_MSG_RESULT([FreeBSD 13.x (${kernel})]) AC_DEFINE([FREEBSD_VERS], FREEBSD_13, [FreeBSD version]) + freebsd_vers=$freebsd_13 ;; 14.*) AC_MSG_RESULT([FreeBSD 14.x (${kernel})]) AC_DEFINE([FREEBSD_VERS], FREEBSD_14, [FreeBSD version]) + freebsd_vers=$freebsd_14 ;; *) AC_MSG_RESULT([unsupported (${kernel})]) @@ -4602,6 +4614,25 @@ AM_CONDITIONAL(SOLARIS_RESERVE_SYSSTAT_ZONE_ADDR, false) AM_CONDITIONAL(SOLARIS_SYSTEM_STATS_SYSCALL, false) fi # test "$VGCONF_OS" = "solaris" +#---------------------------------------------------------------------------- +# FreeBSD-specific checks. +#---------------------------------------------------------------------------- + +# Rather than having a large number of feature test as above with Solaris +# these tests are per-version. This may not be entirely relialable for +# FreeBSD development branches (XX.Y-CURRENT) or pre-release branches +# (XX.Y-STABLE) but it should work for XX-Y-RELEASE + +if test "$VGCONF_OS" = "freebsd" ; then + +AM_CONDITIONAL(FREEBSD_VERS_13_PLUS, test $freebsd_vers -ge $freebsd_13) + +else + +AM_CONDITIONAL(FREEBSD_VERS_13_PLUS, false) + +fi # test "$VGCONF_OS" = "freebsd" + #---------------------------------------------------------------------------- # Checks for C header files. diff --git a/coregrind/m_libcfile.c b/coregrind/m_libcfile.c index 5f9c76efe5..94c2f030ac 100644 --- a/coregrind/m_libcfile.c +++ b/coregrind/m_libcfile.c @@ -331,11 +331,15 @@ Int VG_(pipe) ( Int fd[2] ) SysRes res = VG_(do_syscall1)(__NR_pipe, (UWord)fd); return sr_isError(res) ? -1 : 0; # elif defined(VGO_freebsd) +#if defined(__NR_pipe2) + SysRes res = VG_(do_syscall2)(__NR_pipe2, (UWord)fd, 0); +#else SysRes res = VG_(do_syscall0)(__NR_freebsd10_pipe); if (!sr_isError(res)) { fd[0] = sr_Res(res); fd[1] = sr_ResHI(res); } +#endif return sr_isError(res) ? -1 : 0; # elif defined(VGO_darwin) /* __NR_pipe is UX64, so produces a double-word result */ diff --git a/coregrind/m_syswrap/priv_syswrap-freebsd.h b/coregrind/m_syswrap/priv_syswrap-freebsd.h index 0b60467df1..79a1d9502f 100644 --- a/coregrind/m_syswrap/priv_syswrap-freebsd.h +++ b/coregrind/m_syswrap/priv_syswrap-freebsd.h @@ -526,7 +526,7 @@ DECL_TEMPLATE(freebsd, sys___sysctlbyname) // 570 // unimpl __NR_shm_open2 571 // unimpl __NR_shm_rename 572 // unimpl __NR_sigfastblock 573 -// unimpl __NR___realpathat 574 +DECL_TEMPLATE(freebsd, sys___realpathat) // 574 // unimpl __NR_close_range 575 #endif @@ -534,12 +534,7 @@ DECL_TEMPLATE(freebsd, sys___sysctlbyname) // 570 #if (FREEBSD_VERS >= FREEBSD_13) // unimpl __NR_rpctls_syscall 576 - -#endif - -#if (FREEBSD_VERS >= FREEBSD_14) - -// unimpl __NR___specialfd 577 +DECL_TEMPLATE(freebsd, sys___specialfd) // 577 // unimpl __NR_aio_writev 578 // unimpl __NR_aio_readv 579 diff --git a/coregrind/m_syswrap/syswrap-freebsd.c b/coregrind/m_syswrap/syswrap-freebsd.c index 5eb0b5b134..4f1574c353 100644 --- a/coregrind/m_syswrap/syswrap-freebsd.c +++ b/coregrind/m_syswrap/syswrap-freebsd.c @@ -6206,7 +6206,46 @@ POST(sys___sysctlbyname) } } -#endif +// SYS___realpathat +// from syscalls.master +// int __realpathat(int fd, +// _In_z_ const char *path, +// _Out_writes_z_(size) char *buf, +// size_t size, +// int flags) +PRE(sys___realpathat) +{ + PRINT("sys___realpathat ( %" FMT_REGWORD "d, %#" FMT_REGWORD "x(%s), %#" FMT_REGWORD "x, %" FMT_REGWORD "u %" FMT_REGWORD "d )", + SARG1,ARG2,(const char*)ARG2,ARG3,ARG4,SARG5 ); + PRE_REG_READ5(int, "__realpathat", int, fd, const char *, path, + char *, buf, vki_size_t, size, int, flags); + PRE_MEM_RASCIIZ("__realpathat(path)", (Addr)ARG2); + PRE_MEM_WRITE("__realpathat(buf)", (Addr)ARG3, ARG4); +} + +POST(sys___realpathat) +{ + POST_MEM_WRITE((Addr)ARG3, ARG4); +} + +#endif // (FREEBSD_VERS >= FREEBSD_12_2) + +#if (FREEBSD_VERS >= FREEBSD_13) + +// SYS___specialfd +// syscalls.master +// int __specialfd(int type, +// _In_reads_bytes_(len) const void *req, +// size_t len); +PRE(sys___specialfd) +{ + PRINT("sys___specialfd ( %" FMT_REGWORD "d, %#" FMT_REGWORD "x(%s), %" FMT_REGWORD "u )", + SARG1,ARG2,(const char*)ARG2,ARG3 ); + PRE_REG_READ3(int, "__specialfd", int, type, const void *, req, vki_size_t, len); + PRE_MEM_READ("__specialfd(req)", (Addr)ARG2, ARG3); +} + +#endif // (FREEBSD_VERS >= FREEBSD_13) #undef PRE #undef POST @@ -6903,16 +6942,13 @@ const SyscallTableEntry ML_(syscall_table)[] = { // unimpl __NR_shm_open2 571 // unimpl __NR_shm_rename 572 // unimpl __NR_sigfastblock 573 - // unimpl __NR___realpathat 574 + BSDXY( __NR___realpathat, sys___realpathat), // 574 // unimpl __NR_close_range 575 #endif #if (FREEBSD_VERS >= FREEBSD_13) // unimpl __NR_rpctls_syscall 576 -#endif - -#if (FREEBSD_VERS >= FREEBSD_14) - // unimpl __NR___specialfd 577 + BSDX_(__NR___specialfd, sys___specialfd), // 577 // unimpl __NR_aio_writev 578 // unimpl __NR_aio_readv 579 #endif diff --git a/include/vki/vki-scnums-freebsd.h b/include/vki/vki-scnums-freebsd.h index 3ea7d460e3..f3247e5376 100644 --- a/include/vki/vki-scnums-freebsd.h +++ b/include/vki/vki-scnums-freebsd.h @@ -643,11 +643,6 @@ #if (FREEBSD_VERS >= FREEBSD_13) #define __NR_rpctls_syscall 576 - -#endif - -#if (FREEBSD_VERS >= FREEBSD_14) - #define __NR___specialfd 577 #define __NR_aio_writev 578 #define __NR_aio_readv 579 diff --git a/memcheck/tests/freebsd/Makefile.am b/memcheck/tests/freebsd/Makefile.am index e05542d818..f3bd873d76 100644 --- a/memcheck/tests/freebsd/Makefile.am +++ b/memcheck/tests/freebsd/Makefile.am @@ -72,7 +72,15 @@ EXTRA_DIST = \ static_allocs.vgtest \ static_allocs.stderr.exp \ fexecve.vgtest \ - fexecve.stderr.exp + fexecve.stderr.exp \ + realpathat.vgtest \ + realpathat.stderr.exp \ + scalar_13_plus.vgtest \ + scalar_13_plus.stderr.exp \ + eventfd1.vgtest \ + eventfd1.stderr.exp eventfd1.stdout.exp \ + eventfd2.vgtest \ + eventfd2.stderr.exp eventfd2.stdout.exp check_PROGRAMS = \ statfs pdfork_pdkill getfsstat inlinfo inlinfo_nested.so extattr \ @@ -92,4 +100,10 @@ inlinfo_nested_so_SOURCES = inlinfo_nested.c inlinfo_nested_so_CFLAGS = $(AM_CFLAGS) -fPIC @FLAG_W_NO_UNINITIALIZED@ inlinfo_nested_so_LDFLAGS = -Wl,-rpath,$(top_builddir)/memcheck/tests/freebsd -shared -fPIC +if FREEBSD_VERS_13_PLUS +check_PROGRAMS += realpathat scalar_13_plus eventfd1 eventfd2 + +scalar_13_plus_CFLAGS = ${AM_CFLAGS} -g +endif + scalar_CFLAGS = ${AM_CFLAGS} -g diff --git a/memcheck/tests/freebsd/eventfd1.c b/memcheck/tests/freebsd/eventfd1.c new file mode 100644 index 0000000000..91f148f5f8 --- /dev/null +++ b/memcheck/tests/freebsd/eventfd1.c @@ -0,0 +1,58 @@ +#include <sys/eventfd.h> +#include <unistd.h> +#include <stdlib.h> +#include <stdio.h> + +#define handle_error(msg) \ +do { \ +perror(msg); \ +exit(EXIT_FAILURE); \ +} while (0) + +int +main(int argc, char *argv[]) +{ + eventfd_t u; + int efd, j; + int error; + + if (argc < 2) { + fprintf(stderr, "Usage: %s <num>...\n", argv[0]); + exit(EXIT_FAILURE); + } + + efd = eventfd(0, EFD_CLOEXEC); + if (efd == -1) + handle_error("eventfd"); + + switch (fork()) { + case 0: + for (j = 1; j < argc; j++) { + printf("Child writing %s to efd\n", argv[j]); + u = strtoull(argv[j], NULL, 0); + + error = eventfd_write(efd, u); + if (error != 0) + handle_error("write"); + } + printf("Child completed write loop\n"); + + exit(EXIT_SUCCESS); + + default: + sleep(2); + + printf("Parent about to read\n"); + error = eventfd_read(efd, &u); + if (error != 0) + handle_error("read"); + printf("Parent read %llu (0x%llx) from efd\n", + (unsigned long long) u, (unsigned long long) u); + exit(EXIT_SUCCESS); + + case -1: + + handle_error("fork"); + + } +} diff --git a/memcheck/tests/freebsd/eventfd1.stderr.exp b/memcheck/tests/freebsd/eventfd1.stderr.exp new file mode 100644 index 0000000000..e69de29bb2 diff --git a/memcheck/tests/freebsd/eventfd1.stdout.exp b/memcheck/tests/freebsd/eventfd1.stdout.exp new file mode 100644 index 0000000000..f2e4280ef2 --- /dev/null +++ b/memcheck/tests/freebsd/eventfd1.stdout.exp @@ -0,0 +1,4 @@ +Child writing 2 to efd +Child completed write loop +Parent about to read +Parent read 2 (0x2) from efd diff --git a/memcheck/tests/freebsd/eventfd1.vgtest b/memcheck/tests/freebsd/eventfd1.vgtest new file mode 100644 index 0000000000..8e35dce8be --- /dev/null +++ b/memcheck/tests/freebsd/eventfd1.vgtest @@ -0,0 +1,5 @@ +prereq: test -e ./eventfd1 +prog: eventfd1 +args: 2 +vgopts: -q + diff --git a/memcheck/tests/freebsd/eventfd2.c b/memcheck/tests/freebsd/eventfd2.c new file mode 100644 index 0000000000..8e2309f96d --- /dev/null +++ b/memcheck/tests/freebsd/eventfd2.c @@ -0,0 +1,99 @@ +/* EFD_SEMAPHORE */ + +#include <sys/eventfd.h> +#include <sys/wait.h> +#include <inttypes.h> +#include <stdlib.h> +#include <stdio.h> +#include <unistd.h> + +static void xsem_wait(int fd) +{ + eventfd_t cntr; + + if (eventfd_read(fd, &cntr) != 0) { + perror("reading eventfd"); + exit(1); + } + + fprintf(stdout, "wait completed on %d: count=%" PRIu64 "\n", + fd, cntr); +} + +static void xsem_post(int fd, int count) +{ + eventfd_t cntr = count; + + if (eventfd_write(fd, cntr) != 0) { + perror("writing eventfd"); + exit(1); + } +} + +static void sem_player(int fd1, int fd2) +{ + /* these printfs did contain the pid + * so "[%u] ... ", getpid() + * not good for regresson tests + * (also xsem_wait above) + */ + fprintf(stdout, "posting 1 on %d\n", fd1); + xsem_post(fd1, 1); + + fprintf(stdout, "waiting on %d\n", fd2); + xsem_wait(fd2); + + fprintf(stdout, "posting 1 on %d\n", fd1); + xsem_post(fd1, 1); + + fprintf(stdout, "waiting on %d\n", fd2); + xsem_wait(fd2); + + fprintf(stdout, "posting 5 on %d\n", fd1); + xsem_post(fd1, 5); + + fprintf(stdout, "waiting 5 times on %d\n", fd2); + xsem_wait(fd2); + xsem_wait(fd2); + xsem_wait(fd2); + xsem_wait(fd2); + xsem_wait(fd2); +} + +static void usage(char const *prg) +{ + fprintf(stderr, "use: %s [-h]\n", prg); +} + +int main(int argc, char **argv) +{ + int c, fd1, fd2, status; + pid_t cpid_poster, cpid_waiter; + + while ((c = getopt(argc, argv, "h")) != -1) { + + switch (c) { + default: + usage(argv[0]); + return 1; + } + } + + if ((fd1 = eventfd(0, EFD_SEMAPHORE)) == -1 || + (fd2 = eventfd(0, EFD_SEMAPHORE)) == -1) { + perror("eventfd"); + return 1; + } + if ((cpid_poster = fork()) == 0) { + sem_player(fd1, fd2); + exit(0); + } + if ((cpid_waiter = fork()) == 0) { + sem_player(fd2, fd1); + exit(0); + } + waitpid(cpid_poster, &status, 0); + waitpid(cpid_waiter, &status, 0); + + exit(0); +} diff --git a/memcheck/tests/freebsd/eventfd2.stderr.exp b/memcheck/tests/freebsd/eventfd2.stderr.exp new file mode 100644 index 0000000000..e69de29bb2 diff --git a/memcheck/tests/freebsd/eventfd2.stdout.exp b/memcheck/tests/freebsd/eventfd2.stdout.exp new file mode 100644 index 0000000000..6a2cd1944e --- /dev/null +++ b/memcheck/tests/freebsd/eventfd2.stdout.exp @@ -0,0 +1,26 @@ +posting 1 on 3 +waiting on 4 +wait completed on 4: count=1 +posting 1 on 3 +waiting on 4 +wait completed on 4: count=1 +posting 5 on 3 +waiting 5 times on 4 +wait completed on 4: count=1 +wait completed on 4: count=1 +wait completed on 4: count=1 +wait completed on 4: count=1 +wait completed on 4: count=1 +posting 1 on 4 +waiting on 3 +wait completed on 3: count=1 +posting 1 on 4 +waiting on 3 +wait completed on 3: count=1 +posting 5 on 4 +waiting 5 times on 3 +wait completed on 3: count=1 +wait completed on 3: count=1 +wait completed on 3: count=1 +wait completed on 3: count=1 +wait completed on 3: count=1 diff --git a/memcheck/tests/freebsd/eventfd2.vgtest b/memcheck/tests/freebsd/eventfd2.vgtest new file mode 100644 index 0000000000..7dd3ad1ea8 --- /dev/null +++ b/memcheck/tests/freebsd/eventfd2.vgtest @@ -0,0 +1,3 @@ +prog: eventfd2 +prereq: test -e ./eventfd2 +vgopts: -q diff --git a/memcheck/tests/freebsd/realpathat.c b/memcheck/tests/freebsd/realpathat.c new file mode 100644 index 0000000000..218fd75cb2 --- /dev/null +++ b/memcheck/tests/freebsd/realpathat.c @@ -0,0 +1,33 @@ +#include <stdlib.h> +#include <string.h> +#include <limits.h> +#include <sys/syscall.h> +#include <unistd.h> +#include <sys/fcntl.h> + +int main(void) +{ + // good + char buf[PATH_MAX]; + char* self_path = "../../tests/freebsd/realpath.c"; + realpath(self_path, buf); + + // bad + int * bad_int1 = malloc(sizeof(char)); + int * bad_int2 = malloc(sizeof(char)); + *bad_int1 = AT_FDCWD; + *bad_int2 = 0; + syscall(SYS___realpathat, *bad_int1, self_path, buf, *bad_int2); + free(bad_int1); + free(bad_int2); + + // ugly + char * bad_buf = malloc(100); + char* bad_buf2 = strdup(self_path); + free(bad_buf); + free(bad_buf2); + // fingers crossed + realpath(bad_buf2, bad_buf); + + +} diff --git a/memcheck/tests/freebsd/realpathat.stderr.exp b/memcheck/tests/freebsd/realpathat.stderr.exp new file mode 100644 index 0000000000..575f1e6a98 --- /dev/null +++ b/memcheck/tests/freebsd/realpathat.stderr.exp @@ -0,0 +1,162 @@ +Invalid write of size 4 + at 0x........: main (realpathat.c:18) + Address 0x........ is 0 bytes inside a block of size 1 alloc'd + at 0x........: malloc (vg_replace_malloc.c:...) + by 0x........: main (realpathat.c:16) + +Invalid write of size 4 + at 0x........: main (realpathat.c:19) + Address 0x........ is 0 bytes inside a block of size 1 alloc'd + at 0x........: malloc (vg_replace_malloc.c:...) + by 0x........: main (realpathat.c:17) + +Syscall param __realpathat(fd) contains uninitialised byte(s) + ... + by 0x........: main (realpathat.c:20) + +Syscall param __realpathat(size) contains uninitialised byte(s) + ... + by 0x........: main (realpathat.c:20) + +Invalid read of size 1 + ... + by 0x........: main (realpathat.c:30) + Address 0x........ is 0 bytes inside a block of size 31 free'd + at 0x........: free (vg_replace_malloc.c:...) + by 0x........: main (realpathat.c:28) + Block was alloc'd at + at 0x........: malloc (vg_replace_malloc.c:...) + ... + by 0x........: main (realpathat.c:26) + +Syscall param __realpathat(path) points to unaddressable byte(s) + ... + by 0x........: main (realpathat.c:30) + Address 0x........ is 0 bytes inside a block of size 31 free'd + at 0x........: free (vg_replace_malloc.c:...) + by 0x........: main (realpathat.c:28) + Block was alloc'd at + at 0x........: malloc (vg_replace_malloc.c:...) + ... + by 0x........: main (realpathat.c:26) + +Syscall param __realpathat(buf) points to unaddressable byte(s) + ... + by 0x........: main (realpathat.c:30) + Address 0x........ is 0 bytes inside a block of size 100 free'd + at 0x........: free (vg_replace_malloc.c:...) + by 0x........: main (realpathat.c:27) + Block was alloc'd at + at 0x........: malloc (vg_replace_malloc.c:...) + by 0x........: main (realpathat.c:25) + +Invalid read of size 1 + ... + by 0x........: main (realpathat.c:30) + Address 0x........ is 0 bytes inside a block of size 31 free'd + at 0x........: free (vg_replace_malloc.c:...) + by 0x........: main (realpathat.c:28) + Block was alloc'd at + at 0x........: malloc (vg_replace_malloc.c:...) + ... + by 0x........: main (realpathat.c:26) + +Syscall param __getcwd(buf) points to unaddressable byte(s) + ... + by 0x........: main (realpathat.c:30) + Address 0x........ is 0 bytes inside a block of size 100 free'd + at 0x........: free (vg_replace_malloc.c:...) + by 0x........: main (realpathat.c:27) + Block was alloc'd at + at 0x........: malloc (vg_replace_malloc.c:...) + by 0x........: main (realpathat.c:25) + +Invalid read of size 1 + at 0x........: strlcpy (vg_replace_strmem.c:...) + ... + by 0x........: main (realpathat.c:30) + Address 0x........ is 0 bytes inside a block of size 31 free'd + at 0x........: free (vg_replace_malloc.c:...) + by 0x........: main (realpathat.c:28) + Block was alloc'd at + at 0x........: malloc (vg_replace_malloc.c:...) + ... + by 0x........: main (realpathat.c:26) + +Invalid read of size 1 + at 0x........: strlcpy (vg_replace_strmem.c:...) + ... + by 0x........: main (realpathat.c:30) + Address 0x........ is 1 bytes inside a block of size 31 free'd + at 0x........: free (vg_replace_malloc.c:...) + by 0x........: main (realpathat.c:28) + Block was alloc'd at + at 0x........: malloc (vg_replace_malloc.c:...) + ... + by 0x........: main (realpathat.c:26) + +Invalid read of size 1 + at 0x........: strlcpy (vg_replace_strmem.c:...) + ... + by 0x........: main (realpathat.c:30) + Address 0x........ is 30 bytes inside a block of size 31 free'd + at 0x........: free (vg_replace_malloc.c:...) + by 0x........: main (realpathat.c:28) + Block was alloc'd at + at 0x........: malloc (vg_replace_malloc.c:...) + ... + by 0x........: main (realpathat.c:26) + +Invalid write of size 2 + ... + by 0x........: main (realpathat.c:30) + Address 0x........ is 55 bytes inside a block of size 100 free'd + at 0x........: free (vg_replace_malloc.c:...) + by 0x........: main (realpathat.c:27) + Block was alloc'd at + at 0x........: malloc (vg_replace_malloc.c:...) + by 0x........: main (realpathat.c:25) + +Invalid read of size 1 + at 0x........: strlcat (vg_replace_strmem.c:...) + ... + by 0x........: main (realpathat.c:30) + Address 0x........ is 56 bytes inside a block of size 100 free'd + at 0x........: free (vg_replace_malloc.c:...) + by 0x........: main (realpathat.c:27) + Block was alloc'd at + at 0x........: malloc (vg_replace_malloc.c:...) + by 0x........: main (realpathat.c:25) + +Invalid write of size 1 + at 0x........: strlcat (vg_replace_strmem.c:...) + ... + by 0x........: main (realpathat.c:30) + Address 0x........ is 56 bytes inside a block of size 100 free'd + at 0x........: free (vg_replace_malloc.c:...) + by 0x........: main (realpathat.c:27) + Block was alloc'd at + at 0x........: malloc (vg_replace_malloc.c:...) + by 0x........: main (realpathat.c:25) + +Invalid write of size 1 + at 0x........: strlcat (vg_replace_strmem.c:...) + ... + by 0x........: main (realpathat.c:30) + Address 0x........ is 66 bytes inside a block of size 100 free'd + at 0x........: free (vg_replace_malloc.c:...) + by 0x........: main (realpathat.c:27) + Block was alloc'd at + at 0x........: malloc (vg_replace_malloc.c:...) + by 0x........: main (realpathat.c:25) + +Syscall param fstatat(path) points to unaddressable byte(s) + ... + by 0x........: main (realpathat.c:30) + Address 0x........ is 56 bytes inside a block of size 100 free'd + at 0x........: free (vg_replace_malloc.c:...) + by 0x........: main (realpathat.c:27) + Block was alloc'd at + at 0x........: malloc (vg_replace_malloc.c:...) + by 0x........: main (realpathat.c:25) + diff --git a/memcheck/tests/freebsd/realpathat.vgtest b/memcheck/tests/freebsd/realpathat.vgtest new file mode 100644 index 0000000000..9efbcbdfcf --- /dev/null +++ b/memcheck/tests/freebsd/realpathat.vgtest @@ -0,0 +1,3 @@ +prog: realpathat +prereq: test -e ./realpathat +vgopts: -q diff --git a/memcheck/tests/freebsd/scalar.c b/memcheck/tests/freebsd/scalar.c index 140ee82568..35c3c85cf3 100644 --- a/memcheck/tests/freebsd/scalar.c +++ b/memcheck/tests/freebsd/scalar.c @@ -2035,6 +2035,9 @@ int main(void) GO(SYS___sysctlbyname, "(putnew) 4s 2m"); SY(SYS___sysctlbyname, x0, x0+1, NULL, NULL, x0+1, x0+2); FAIL; + + GO(SYS___realpathat, " 5s 2m"); + SY(SYS___realpathat, x0+0xffff, x0, x0, x0+100, x0+2); FAIL; #endif diff --git a/memcheck/tests/freebsd/scalar.stderr.exp b/memcheck/tests/freebsd/scalar.stderr.exp index 8e7f9fb145..aa214f5144 100644 --- a/memcheck/tests/freebsd/scalar.stderr.exp +++ b/memcheck/tests/freebsd/scalar.stderr.exp @@ -5310,6 +5310,32 @@ Syscall param __sysctlbyname(newp) points to unaddressable byte(s) ... Address 0x........ is not stack'd, malloc'd or (recently) free'd +--------------------------------------------------------- +574: SYS___realpathat 5s 2m +--------------------------------------------------------- +Syscall param __realpathat(fd) contains uninitialised byte(s) + ... + +Syscall param __realpathat(path) contains uninitialised byte(s) + ... + +Syscall param __realpathat(buf) contains uninitialised byte(s) + ... + +Syscall param __realpathat(size) contains uninitialised byte(s) + ... + +Syscall param __realpathat(flags) contains uninitialised byte(s) + ... + +Syscall param __realpathat(path) points to unaddressable byte(s) + ... + Address 0x........ is not stack'd, malloc'd or (recently) free'd + +Syscall param __realpathat(buf) points to unaddressable byte(s) + ... + Address 0x........ is not stack'd, malloc'd or (recently) free'd + --------------------------------------------------------- 1: SYS_exit 1s 0m --------------------------------------------------------- diff --git a/memcheck/tests/freebsd/scalar_13_plus.c b/memcheck/tests/freebsd/scalar_13_plus.c new file mode 100644 index 0000000000..1183d4e233 --- /dev/null +++ b/memcheck/tests/freebsd/scalar_13_plus.c @@ -0,0 +1,15 @@ +#include "scalar.h" + +int main(void) +{ + long *px = malloc(2*sizeof(long)); + x0 = px[0]; + + + /* SYS___specialfd 574 */ + GO(SYS___specialfd, "3s 1m"); + SY(SYS___specialfd, x0+0xf000, x0+1, x0+10); FAIL; + + return(0); +} + diff --git a/memcheck/tests/freebsd/scalar_13_plus.stderr.exp b/memcheck/tests/freebsd/scalar_13_plus.stderr.exp new file mode 100644 index 0000000000..2df127e8a6 --- /dev/null +++ b/memcheck/tests/freebsd/scalar_13_plus.stderr.exp @@ -0,0 +1,16 @@ +--------------------------------------------------------- +577: SYS___specialfd 3s 1m +--------------------------------------------------------- +Syscall param __specialfd(type) contains uninitialised byte(s) + ... + +Syscall param __specialfd(req) contains uninitialised byte(s) + ... + +Syscall param __specialfd(len) contains uninitialised byte(s) + ... + +Syscall param __specialfd(req) points to unaddressable byte(s) + ... + Address 0x........ is not stack'd, malloc'd or (recently) free'd + diff --git a/memcheck/tests/freebsd/scalar_13_plus.vgtest b/memcheck/tests/freebsd/scalar_13_plus.vgtest new file mode 100644 index 0000000000..09dc90e90b --- /dev/null +++ b/memcheck/tests/freebsd/scalar_13_plus.vgtest @@ -0,0 +1,12 @@ +prereq: test -e ./scalar_13_plus +prog: scalar_13_plus +vgopts: -q --error-limit=no +stderr_filter: filter_scalar +# Remove all frames from the stack trace except the first one. +# This is important because syscall() function on x86 isn't ABI conformant +# which confuses the Valgrind stack unwinder. +# Therefore x86 and amd64 stack traces are unified so that they contain only +# 'syscall (in libc)' stack frame and this is then filtered out completely. +stderr_filter_args: libc +args: < scalar_13_plus.c + |
|
From: Paul F. <pa...@so...> - 2021-12-10 21:13:36
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=d83f4c43e100e3f2fdf1dcd37030d5729091a94e commit d83f4c43e100e3f2fdf1dcd37030d5729091a94e Author: Paul Floyd <pj...@wa...> Date: Fri Dec 10 22:11:16 2021 +0100 One more FreeBSD scalar fix Using a 64 bit mask for an int argument was causing an extra Conditional jump error Diff: --- memcheck/tests/freebsd/scalar.c | 2 +- memcheck/tests/freebsd/scalar.stderr.exp | 3 --- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/memcheck/tests/freebsd/scalar.c b/memcheck/tests/freebsd/scalar.c index 3364625c72..140ee82568 100644 --- a/memcheck/tests/freebsd/scalar.c +++ b/memcheck/tests/freebsd/scalar.c @@ -1731,7 +1731,7 @@ int main(void) /* SYS_posix_openpt 504 */ GO(SYS_posix_openpt, "1s 1m"); - SY(SYS_posix_openpt, x0+0xffff0000); FAIL; + SY(SYS_posix_openpt, x0+0x8); FAIL; // gssd_syscall 505 diff --git a/memcheck/tests/freebsd/scalar.stderr.exp b/memcheck/tests/freebsd/scalar.stderr.exp index e0d65cb3d1..8e7f9fb145 100644 --- a/memcheck/tests/freebsd/scalar.stderr.exp +++ b/memcheck/tests/freebsd/scalar.stderr.exp @@ -4200,9 +4200,6 @@ Syscall param unlinkat(path) points to unaddressable byte(s) Syscall param posix_openpt(oflag) contains uninitialised byte(s) ... -Conditional jump or move depends on uninitialised value(s) - ... - --------------------------------------------------------- 506: SYS_jail_get 3s 1m --------------------------------------------------------- |
|
From: Paul F. <pa...@so...> - 2021-12-10 20:35:00
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=a56881fd7d0b75fe9b1221bed7c3aeb4ab9b862a commit a56881fd7d0b75fe9b1221bed7c3aeb4ab9b862a Author: Paul Floyd <pj...@wa...> Date: Fri Dec 10 21:34:02 2021 +0100 FreeBSD scalar - filter didn't account for padding Also forgot to remove deleted expected from EXTRA_DIST Diff: --- memcheck/tests/freebsd/Makefile.am | 1 - memcheck/tests/freebsd/filter_scalar | 2 +- memcheck/tests/freebsd/scalar.stderr.exp | 4 ++-- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/memcheck/tests/freebsd/Makefile.am b/memcheck/tests/freebsd/Makefile.am index f72cc2720e..e05542d818 100644 --- a/memcheck/tests/freebsd/Makefile.am +++ b/memcheck/tests/freebsd/Makefile.am @@ -33,7 +33,6 @@ EXTRA_DIST = \ scalar.vgtest \ scalar.stderr.exp \ scalar.stderr.exp-x86 \ - scalar.stderr.exp-freebsd130 \ scalar.stderr.exp-freebsd130-x86 \ capsicum.vgtest \ capsicum.stderr.exp \ diff --git a/memcheck/tests/freebsd/filter_scalar b/memcheck/tests/freebsd/filter_scalar index 2d0036f709..2be15ade9b 100755 --- a/memcheck/tests/freebsd/filter_scalar +++ b/memcheck/tests/freebsd/filter_scalar @@ -13,4 +13,4 @@ sed '/at 0x........: syscall (in \/...libc...)/d' | # filter differences between FreeBSD 12 and 13/14 -sed 's/_freebsd12//' +sed 's/SYS_freebsd12/ SYS/' diff --git a/memcheck/tests/freebsd/scalar.stderr.exp b/memcheck/tests/freebsd/scalar.stderr.exp index 7b4ceb6841..e0d65cb3d1 100644 --- a/memcheck/tests/freebsd/scalar.stderr.exp +++ b/memcheck/tests/freebsd/scalar.stderr.exp @@ -3782,7 +3782,7 @@ Syscall param thr_kill2(sig) contains uninitialised byte(s) ... --------------------------------------------------------- -482: SYS_shm_open (SHM_ANON) 3s 0m +482: SYS_shm_open (SHM_ANON) 3s 0m --------------------------------------------------------- Syscall param shm_open(path) contains uninitialised byte(s) ... @@ -4242,7 +4242,7 @@ Syscall param jail_remove(jid) contains uninitialised byte(s) ... --------------------------------------------------------- -509: SYS_closefrom 1s 0m +509: SYS_closefrom 1s 0m --------------------------------------------------------- Syscall param closefrom(lowfd) contains uninitialised byte(s) ... |
|
From: Paul F. <pa...@so...> - 2021-12-10 20:20:07
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=0fe27992624c72c3a0214facc969a84e340247cb commit 0fe27992624c72c3a0214facc969a84e340247cb Author: Paul Floyd <pj...@wa...> Date: Fri Dec 10 21:18:05 2021 +0100 Correct some FreeBSD syswrap typos and simplify scalar One typo affected scalar. Also add some more filtering so that an extra expected is not needed for FreeBSD 13 Diff: --- coregrind/m_syswrap/syswrap-freebsd.c | 7 +- memcheck/tests/freebsd/filter_scalar | 6 +- memcheck/tests/freebsd/scalar.stderr.exp | 7 +- .../tests/freebsd/scalar.stderr.exp-freebsd130 | 5321 -------------------- 4 files changed, 13 insertions(+), 5328 deletions(-) diff --git a/coregrind/m_syswrap/syswrap-freebsd.c b/coregrind/m_syswrap/syswrap-freebsd.c index 07f00b497d..5eb0b5b134 100644 --- a/coregrind/m_syswrap/syswrap-freebsd.c +++ b/coregrind/m_syswrap/syswrap-freebsd.c @@ -894,11 +894,11 @@ POST(sys_getsockname) // generic // SYS_chflags 34 -// int fchflags(int fd, unsigned long flags) +// int chflags(const char *path, unsigned long flags) PRE(sys_chflags) { PRINT("sys_chflags ( %#" FMT_REGWORD "x(%s), 0x%" FMT_REGWORD "x )", ARG1,(char *)ARG1,ARG2); - PRE_REG_READ2(long, "chflags", + PRE_REG_READ2(int, "chflags", const char *, path, unsigned long, flags); PRE_MEM_RASCIIZ( "chflags(path)", ARG1 ); } @@ -5189,9 +5189,8 @@ PRE(sys_unlinkat) // int posix_openpt(int oflag); PRE(sys_posix_openpt) { - PRINT("sys_posix_openpt ( %" FMT_REGWORD "d )", SARG2); + PRINT("sys_posix_openpt ( %" FMT_REGWORD "d )", SARG1); PRE_REG_READ1(int, "posix_openpt", int, oflag); - } // SYS_gssd_syscall 505 diff --git a/memcheck/tests/freebsd/filter_scalar b/memcheck/tests/freebsd/filter_scalar index 4d7985c8fa..2d0036f709 100755 --- a/memcheck/tests/freebsd/filter_scalar +++ b/memcheck/tests/freebsd/filter_scalar @@ -9,4 +9,8 @@ sed '/in frame #., created by/d' | # And finally remove temporary line with frame #0 present to unify # stack traces between x86 and amd64. -sed '/at 0x........: syscall (in \/...libc...)/d' +sed '/at 0x........: syscall (in \/...libc...)/d' | + +# filter differences between FreeBSD 12 and 13/14 + +sed 's/_freebsd12//' diff --git a/memcheck/tests/freebsd/scalar.stderr.exp b/memcheck/tests/freebsd/scalar.stderr.exp index 8e7f9fb145..7b4ceb6841 100644 --- a/memcheck/tests/freebsd/scalar.stderr.exp +++ b/memcheck/tests/freebsd/scalar.stderr.exp @@ -3782,7 +3782,7 @@ Syscall param thr_kill2(sig) contains uninitialised byte(s) ... --------------------------------------------------------- -482: SYS_shm_open (SHM_ANON) 3s 0m +482: SYS_shm_open (SHM_ANON) 3s 0m --------------------------------------------------------- Syscall param shm_open(path) contains uninitialised byte(s) ... @@ -4200,6 +4200,9 @@ Syscall param unlinkat(path) points to unaddressable byte(s) Syscall param posix_openpt(oflag) contains uninitialised byte(s) ... +Conditional jump or move depends on uninitialised value(s) + ... + --------------------------------------------------------- 506: SYS_jail_get 3s 1m --------------------------------------------------------- @@ -4239,7 +4242,7 @@ Syscall param jail_remove(jid) contains uninitialised byte(s) ... --------------------------------------------------------- -509: SYS_closefrom 1s 0m +509: SYS_closefrom 1s 0m --------------------------------------------------------- Syscall param closefrom(lowfd) contains uninitialised byte(s) ... diff --git a/memcheck/tests/freebsd/scalar.stderr.exp-freebsd130 b/memcheck/tests/freebsd/scalar.stderr.exp-freebsd130 deleted file mode 100644 index deaa61d6ff..0000000000 --- a/memcheck/tests/freebsd/scalar.stderr.exp-freebsd130 +++ /dev/null @@ -1,5321 +0,0 @@ ---------------------------------------------------------- - 1: SYS_exit below ---------------------------------------------------------- ---------------------------------------------------------- - 2: SYS_fork other ---------------------------------------------------------- ---------------------------------------------------------- - 3: SYS_read 1+3s 0m ---------------------------------------------------------- -Syscall param (syscallno) contains uninitialised byte(s) - ... - -Syscall param read(buf) contains uninitialised byte(s) - ... - -Syscall param read(count) contains uninitialised byte(s) - ... - -Syscall param read(buf) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 4: SYS_write 3s 1m ---------------------------------------------------------- -Syscall param write(fd) contains uninitialised byte(s) - ... - -Syscall param write(buf) contains uninitialised byte(s) - ... - -Syscall param write(count) contains uninitialised byte(s) - ... - -Syscall param write(buf) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 5: SYS_open (2-args) 2s 1m ---------------------------------------------------------- -Syscall param open(filename) contains uninitialised byte(s) - ... - -Syscall param open(flags) contains uninitialised byte(s) - ... - -Syscall param open(filename) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 5: SYS_open (3-args) 1s 0m ---------------------------------------------------------- -Syscall param open(mode) contains uninitialised byte(s) - ... - ---------------------------------------------------------- - 6: SYS_close 1s 0m ---------------------------------------------------------- -Syscall param close(fd) contains uninitialised byte(s) - ... - ---------------------------------------------------------- - 7: SYS_wait4 4s 2m ---------------------------------------------------------- -Syscall param wait4(pid) contains uninitialised byte(s) - ... - -Syscall param wait4(status) contains uninitialised byte(s) - ... - -Syscall param wait4(options) contains uninitialised byte(s) - ... - -Syscall param wait4(rusage) contains uninitialised byte(s) - ... - -Syscall param wait4(status) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param wait4(rusage) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 9: SYS_link 2s 2m ---------------------------------------------------------- -Syscall param link(oldpath) contains uninitialised byte(s) - ... - -Syscall param link(newpath) contains uninitialised byte(s) - ... - -Syscall param link(oldpath) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param link(newpath) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 10: SYS_unlink 1s 1m ---------------------------------------------------------- -Syscall param unlink(pathname) contains uninitialised byte(s) - ... - -Syscall param unlink(pathname) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 12: SYS_chdir 1s 1m ---------------------------------------------------------- -Syscall param chdir(path) contains uninitialised byte(s) - ... - -Syscall param chdir(path) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 13: SYS_fchdir 1s 0m ---------------------------------------------------------- -Syscall param fchdir(fd) contains uninitialised byte(s) - ... - ---------------------------------------------------------- - 14: SYS_freebsd11_mknod 3s 1m ---------------------------------------------------------- -Syscall param mknod(pathname) contains uninitialised byte(s) - ... - -Syscall param mknod(mode) contains uninitialised byte(s) - ... - -Syscall param mknod(dev) contains uninitialised byte(s) - ... - -Syscall param mknod(pathname) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 15: SYS_chmod 2s 1m ---------------------------------------------------------- -Syscall param chmod(path) contains uninitialised byte(s) - ... - -Syscall param chmod(mode) contains uninitialised byte(s) - ... - -Syscall param chmod(path) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 16: SYS_chown 3s 1m ---------------------------------------------------------- -Syscall param chown(path) contains uninitialised byte(s) - ... - -Syscall param chown(owner) contains uninitialised byte(s) - ... - -Syscall param chown(group) contains uninitialised byte(s) - ... - -Syscall param chown(path) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 17: SYS_break 1s 1m ---------------------------------------------------------- -Syscall param brk(end_data_segment) contains uninitialised byte(s) - ... - ---------------------------------------------------------- - 20: SYS_getpid 0s 0m ---------------------------------------------------------- ---------------------------------------------------------- - 21: SYS_mount 4s 2m ---------------------------------------------------------- -Syscall param mount(type) contains uninitialised byte(s) - ... - -Syscall param mount(dir) contains uninitialised byte(s) - ... - -Syscall param mount(flags) contains uninitialised byte(s) - ... - -Syscall param mount(data) contains uninitialised byte(s) - ... - -Syscall param mount(type) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param mount(path) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 22: SYS_unmount 2s 1m ---------------------------------------------------------- -Syscall param unmount(dir) contains uninitialised byte(s) - ... - -Syscall param unmount(flags) contains uninitialised byte(s) - ... - -Syscall param unmount(path) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 23: SYS_setuid 1s 0m ---------------------------------------------------------- -Syscall param setuid(uid) contains uninitialised byte(s) - ... - ---------------------------------------------------------- - 24: SYS_getuid 0s 0m ---------------------------------------------------------- ---------------------------------------------------------- - 25: SYS_geteuid 0s 0m ---------------------------------------------------------- ---------------------------------------------------------- - 26: SYS_ptrace 4s 0m ---------------------------------------------------------- -Syscall param ptrace(request) contains uninitialised byte(s) - ... - -Syscall param ptrace(pid) contains uninitialised byte(s) - ... - -Syscall param ptrace(addr) contains uninitialised byte(s) - ... - -Syscall param ptrace(data) contains uninitialised byte(s) - ... - ---------------------------------------------------------- - 27: SYS_recvmsg 3s 0m ---------------------------------------------------------- -Syscall param recvmsg(s) contains uninitialised byte(s) - ... - -Syscall param recvmsg(msg) contains uninitialised byte(s) - ... - -Syscall param recvmsg(flags) contains uninitialised byte(s) - ... - ---------------------------------------------------------- - 28: SYS_sendmsg 3s 0m ---------------------------------------------------------- -Syscall param sendmsg(s) contains uninitialised byte(s) - ... - -Syscall param sendmsg(msg) contains uninitialised byte(s) - ... - -Syscall param sendmsg(flags) contains uninitialised byte(s) - ... - ---------------------------------------------------------- - 29: SYS_recvfrom 6+1s 0m ---------------------------------------------------------- -Syscall param recvfrom(s) contains uninitialised byte(s) - ... - -Syscall param recvfrom(buf) contains uninitialised byte(s) - ... - -Syscall param recvfrom(len) contains uninitialised byte(s) - ... - -Syscall param recvfrom(flags) contains uninitialised byte(s) - ... - -Syscall param recvfrom(from) contains uninitialised byte(s) - ... - -Syscall param recvfrom(fromlen) contains uninitialised byte(s) - ... - -Syscall param socketcall.recvfrom(buf) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param socketcall.recvfrom(fromlen_in) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 30: SYS_accept 3+1s 0m ---------------------------------------------------------- -Syscall param accept(s) contains uninitialised byte(s) - ... - -Syscall param accept(addr) contains uninitialised byte(s) - ... - -Syscall param accept(*addrlen) contains uninitialised byte(s) - ... - -Syscall param socketcall.accept(addrlen_in) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 31: SYS_getpeername 3s 1m ---------------------------------------------------------- -Syscall param getpeername(s) contains uninitialised byte(s) - ... - -Syscall param getpeername(name) contains uninitialised byte(s) - ... - -Syscall param getpeername(namelen) contains uninitialised byte(s) - ... - -Syscall param socketcall.getpeername(namelen_in) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 32: SYS_getsockname 3s 1m ---------------------------------------------------------- -Syscall param getsockname(s) contains uninitialised byte(s) - ... - -Syscall param getsockname(name) contains uninitialised byte(s) - ... - -Syscall param getsockname(namelen) contains uninitialised byte(s) - ... - -Syscall param socketcall.getsockname(namelen_in) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 25: SYS_geteuid 0s 0m ---------------------------------------------------------- ---------------------------------------------------------- - 34: SYS_chflags 2s 1m ---------------------------------------------------------- -Syscall param chflags(path) contains uninitialised byte(s) - ... - -Syscall param chflags(flags) contains uninitialised byte(s) - ... - -Syscall param chflags(path) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 35: SYS_fchflags 2s 0m ---------------------------------------------------------- -Syscall param fchflags(fd) contains uninitialised byte(s) - ... - -Syscall param fchflags(flags) contains uninitialised byte(s) - ... - ---------------------------------------------------------- - 36: SYS_sync 0s 0m ---------------------------------------------------------- ---------------------------------------------------------- - 37: SYS_kill 2s 0m ---------------------------------------------------------- -Syscall param kill(pid) contains uninitialised byte(s) - ... - -Syscall param kill(signal) contains uninitialised byte(s) - ... - ---------------------------------------------------------- - 39: SYS_getppid 0s 0m ---------------------------------------------------------- ---------------------------------------------------------- - 41: SYS_dup 1s 0m ---------------------------------------------------------- -Syscall param dup(oldfd) contains uninitialised byte(s) - ... - ---------------------------------------------------------- - 42: SYS_freebsd10_pipe 0s 0m ---------------------------------------------------------- ---------------------------------------------------------- - 43: SYS_getegid 0s 0m ---------------------------------------------------------- ---------------------------------------------------------- - 44: SYS_profil ni ---------------------------------------------------------- ---------------------------------------------------------- - 45: SYS_ktrace ni ---------------------------------------------------------- ---------------------------------------------------------- - 47: SYS_getgid 0s 0m ---------------------------------------------------------- ---------------------------------------------------------- - 49: SYS_getlogin 2s 1m ---------------------------------------------------------- -Syscall param getlogin(buf) contains uninitialised byte(s) - ... - -Syscall param getlogin(len) contains uninitialised byte(s) - ... - -Syscall param getlogin(name) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 50: SYS_setlogin 1s 1m ---------------------------------------------------------- -Syscall param setlogin(buf) contains uninitialised byte(s) - ... - -Syscall param setlogin(buf) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 51: SYS_acct 1s 1m ---------------------------------------------------------- -Syscall param acct(filename) contains uninitialised byte(s) - ... - -Syscall param acct(filename) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 53: SYS_sigaltstack 2s 2m ---------------------------------------------------------- -Syscall param sigaltstack(ss) contains uninitialised byte(s) - ... - -Syscall param sigaltstack(oss) contains uninitialised byte(s) - ... - -Syscall param sigaltstack(ss) points to unaddressable byte(s) - ... - Address 0x........ is on thread 1's stack - -Syscall param sigaltstack(oss) points to unaddressable byte(s) - ... - Address 0x........ is on thread 1's stack - -Conditional jump or move depends on uninitialised value(s) - ... - ---------------------------------------------------------- - 54: SYS_ioctl 3s 1m ---------------------------------------------------------- - -More than 100 errors detected. Subsequent errors -will still be recorded, but in less detail than before. -Syscall param ioctl(fd) contains uninitialised byte(s) - ... - -Syscall param ioctl(request) contains uninitialised byte(s) - ... - -Syscall param ioctl(arg) contains uninitialised byte(s) - ... - -Syscall param ioctl(generic) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 56: SYS_revoke 1s 1m ---------------------------------------------------------- -Syscall param revoke(path) contains uninitialised byte(s) - ... - -Syscall param revoke(path) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 57: SYS_symlink 2s 2m ---------------------------------------------------------- -Syscall param symlink(oldpath) contains uninitialised byte(s) - ... - -Syscall param symlink(newpath) contains uninitialised byte(s) - ... - -Syscall param symlink(oldpath) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param symlink(newpath) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 58: SYS_readlink 3s 2m ---------------------------------------------------------- -Syscall param readlink(path) contains uninitialised byte(s) - ... - -Syscall param readlink(buf) contains uninitialised byte(s) - ... - -Syscall param readlink(bufsiz) contains uninitialised byte(s) - ... - -Syscall param readlink(path) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param readlink(buf) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 59: SYS_execve 3s 1m ---------------------------------------------------------- -Syscall param execve(filename) contains uninitialised byte(s) - ... - -Syscall param execve(argv) contains uninitialised byte(s) - ... - -Syscall param execve(envp) contains uninitialised byte(s) - ... - -Syscall param execve(filename) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 60: SYS_umask 1s 0m ---------------------------------------------------------- -Syscall param umask(mask) contains uninitialised byte(s) - ... - ---------------------------------------------------------- - 61: SYS_chroot 1s 1m ---------------------------------------------------------- -Syscall param chroot(path) contains uninitialised byte(s) - ... - -Syscall param chroot(path) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 65: SYS_msync 3s 1m ---------------------------------------------------------- -Syscall param msync(start) contains uninitialised byte(s) - ... - -Syscall param msync(length) contains uninitialised byte(s) - ... - -Syscall param msync(flags) contains uninitialised byte(s) - ... - -Syscall param msync(start) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 66: SYS_vfork other ---------------------------------------------------------- ---------------------------------------------------------- - 69: SYS_sbrk 1s 1m ---------------------------------------------------------- -Syscall param sbrk(incr) contains uninitialised byte(s) - ... - ---------------------------------------------------------- - 73: SYS_munmap 2s 0m ---------------------------------------------------------- -Syscall param munmap(start) contains uninitialised byte(s) - ... - -Syscall param munmap(length) contains uninitialised byte(s) - ... - ---------------------------------------------------------- - 74: SYS_mprotect 3s 0m ---------------------------------------------------------- -Syscall param mprotect(addr) contains uninitialised byte(s) - ... - -Syscall param mprotect(len) contains uninitialised byte(s) - ... - -Syscall param mprotect(prot) contains uninitialised byte(s) - ... - ---------------------------------------------------------- - 75: SYS_madvise 3s 0m ---------------------------------------------------------- -Syscall param madvise(start) contains uninitialised byte(s) - ... - -Syscall param madvise(length) contains uninitialised byte(s) - ... - -Syscall param madvise(advice) contains uninitialised byte(s) - ... - ---------------------------------------------------------- - 78: SYS_mincore 3s 1m ---------------------------------------------------------- -Syscall param mincore(start) contains uninitialised byte(s) - ... - -Syscall param mincore(length) contains uninitialised byte(s) - ... - -Syscall param mincore(vec) contains uninitialised byte(s) - ... - -Syscall param mincore(vec) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 79: SYS_getgroups 2s 1m ---------------------------------------------------------- -Syscall param getgroups(size) contains uninitialised byte(s) - ... - -Syscall param getgroups(list) contains uninitialised byte(s) - ... - -Syscall param getgroups(list) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 80: SYS_setgroups 2s 1m ---------------------------------------------------------- -Syscall param setgroups(size) contains uninitialised byte(s) - ... - -Syscall param setgroups(list) contains uninitialised byte(s) - ... - -Syscall param setgroups(list) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 81: SYS_getpgrp 0s 0m ---------------------------------------------------------- ---------------------------------------------------------- - 82: SYS_setpgid 2s 0m ---------------------------------------------------------- -Syscall param setpgid(pid) contains uninitialised byte(s) - ... - -Syscall param setpgid(pgid) contains uninitialised byte(s) - ... - ---------------------------------------------------------- - 83: SYS_setitimer 3s 2m ---------------------------------------------------------- -Syscall param setitimer(which) contains uninitialised byte(s) - ... - -Syscall param setitimer(value) contains uninitialised byte(s) - ... - -Syscall param setitimer(ovalue) contains uninitialised byte(s) - ... - -Syscall param setitimer(&value->it_interval) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param setitimer(&value->it_value) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param setitimer(&ovalue->it_interval) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param setitimer(&ovalue->it_value) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 85: SYS_swapon 1s 1m ---------------------------------------------------------- -Syscall param swapon(special) contains uninitialised byte(s) - ... - -Syscall param swapon(special) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 86: SYS_getitimer 2s 1m ---------------------------------------------------------- -Syscall param getitimer(which) contains uninitialised byte(s) - ... - -Syscall param getitimer(value) contains uninitialised byte(s) - ... - -Syscall param getitimer(&value->it_interval) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param getitimer(&value->it_value) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 89: SYS_getdtablesize 0s 0m ---------------------------------------------------------- ---------------------------------------------------------- - 90: SYS_dup2 2s 0m ---------------------------------------------------------- -Syscall param dup2(oldfd) contains uninitialised byte(s) - ... - -Syscall param dup2(newfd) contains uninitialised byte(s) - ... - ---------------------------------------------------------- - 92: SYS_fcntl (GETFD) 2s 0m ---------------------------------------------------------- -Syscall param fcntl(fd) contains uninitialised byte(s) - ... - -Syscall param fcntl(cmd) contains uninitialised byte(s) - ... - ---------------------------------------------------------- - 92: SYS_fcntl (DUPFD) 1s 0m ---------------------------------------------------------- -Syscall param fcntl(arg) contains uninitialised byte(s) - ... - ---------------------------------------------------------- - 93: SYS_select 5s 4m ---------------------------------------------------------- -Syscall param select(n) contains uninitialised byte(s) - ... - -Syscall param select(readfds) contains uninitialised byte(s) - ... - -Syscall param select(writefds) contains uninitialised byte(s) - ... - -Syscall param select(exceptfds) contains uninitialised byte(s) - ... - -Syscall param select(timeout) contains uninitialised byte(s) - ... - -Syscall param select(readfds) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param select(writefds) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param select(exceptfds) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param select(timeout) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- - 95: SYS_fsync 1s 0m ---------------------------------------------------------- -Syscall param fsync(fd) contains uninitialised byte(s) - ... - ---------------------------------------------------------- - 96: SYS_setpriority 3s 0m ---------------------------------------------------------- -Syscall param setpriority(which) contains uninitialised byte(s) - ... - -Syscall param setpriority(who) contains uninitialised byte(s) - ... - -Syscall param setpriority(prio) contains uninitialised byte(s) - ... - ---------------------------------------------------------- - 97: SYS_socket 3s 0m ---------------------------------------------------------- -Syscall param socket(domain) contains uninitialised byte(s) - ... - -Syscall param socket(type) contains uninitialised byte(s) - ... - -Syscall param socket(protocol) contains uninitialised byte(s) - ... - ---------------------------------------------------------- - 98: SYS_connect 3s 0m ---------------------------------------------------------- -Syscall param connect(s) contains uninitialised byte(s) - ... - -Syscall param connect(name) contains uninitialised byte(s) - ... - -Syscall param connect(namelen) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -100: SYS_getpriority 2s 0m ---------------------------------------------------------- -Syscall param getpriority(which) contains uninitialised byte(s) - ... - -Syscall param getpriority(who) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -104: SYS_bind 3s 0m ---------------------------------------------------------- -Syscall param bind(s) contains uninitialised byte(s) - ... - -Syscall param bind(addr) contains uninitialised byte(s) - ... - -Syscall param bind(addrlen) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -105: SYS_setsockopt 5s 0m ---------------------------------------------------------- -Syscall param setsockopt(s) contains uninitialised byte(s) - ... - -Syscall param setsockopt(level) contains uninitialised byte(s) - ... - -Syscall param setsockopt(optname) contains uninitialised byte(s) - ... - -Syscall param setsockopt(optval) contains uninitialised byte(s) - ... - -Syscall param setsockopt(optlen) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -106: SYS_listen 2s 0m ---------------------------------------------------------- -Syscall param listen(s) contains uninitialised byte(s) - ... - -Syscall param listen(backlog) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -116: SYS_gettimeofday 2s 2m ---------------------------------------------------------- -Syscall param gettimeofday(tv) contains uninitialised byte(s) - ... - -Syscall param gettimeofday(tz) contains uninitialised byte(s) - ... - -Syscall param gettimeofday(tv) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param gettimeofday(tz) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -117: SYS_getrusage 2s 1m ---------------------------------------------------------- -Syscall param getrusage(who) contains uninitialised byte(s) - ... - -Syscall param getrusage(usage) contains uninitialised byte(s) - ... - -Syscall param getrusage(usage) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -105: SYS_setsockopt 5s 1m ---------------------------------------------------------- -Syscall param setsockopt(s) contains uninitialised byte(s) - ... - -Syscall param setsockopt(level) contains uninitialised byte(s) - ... - -Syscall param setsockopt(optname) contains uninitialised byte(s) - ... - -Syscall param setsockopt(optval) contains uninitialised byte(s) - ... - -Syscall param setsockopt(optlen) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -120: SYS_readv 3s 1m ---------------------------------------------------------- -Syscall param readv(fd) contains uninitialised byte(s) - ... - -Syscall param readv(vector) contains uninitialised byte(s) - ... - -Syscall param readv(count) contains uninitialised byte(s) - ... - -Syscall param readv(vector) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -121: SYS_writev 3s 1m ---------------------------------------------------------- -Syscall param writev(fd) contains uninitialised byte(s) - ... - -Syscall param writev(vector) contains uninitialised byte(s) - ... - -Syscall param writev(count) contains uninitialised byte(s) - ... - -Syscall param writev(vector) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -122: SYS_settimeofday 2s 2m ---------------------------------------------------------- -Syscall param settimeofday(tv) contains uninitialised byte(s) - ... - -Syscall param settimeofday(tz) contains uninitialised byte(s) - ... - -Syscall param settimeofday(tv) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param settimeofday(tz) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -123: SYS_fchown 3s 0m ---------------------------------------------------------- -Syscall param fchown(fd) contains uninitialised byte(s) - ... - -Syscall param fchown(owner) contains uninitialised byte(s) - ... - -Syscall param fchown(group) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -124: SYS_fchmod 2s 0m ---------------------------------------------------------- -Syscall param fchmod(fildes) contains uninitialised byte(s) - ... - -Syscall param fchmod(mode) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -126: SYS_setreuid 2s 0m ---------------------------------------------------------- -Syscall param setreuid(ruid) contains uninitialised byte(s) - ... - -Syscall param setreuid(euid) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -127: SYS_setregid 2s 0m ---------------------------------------------------------- -Syscall param setregid(rgid) contains uninitialised byte(s) - ... - -Syscall param setregid(egid) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -128: SYS_rename 2s 2m ---------------------------------------------------------- -Syscall param rename(oldpath) contains uninitialised byte(s) - ... - -Syscall param rename(newpath) contains uninitialised byte(s) - ... - -Syscall param rename(oldpath) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param rename(newpath) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -131: SYS_flock 2s 0m ---------------------------------------------------------- -Syscall param flock(fd) contains uninitialised byte(s) - ... - -Syscall param flock(operation) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -132: SYS_mkfifo 2s 1m ---------------------------------------------------------- -Syscall param mkfifo(path) contains uninitialised byte(s) - ... - -Syscall param mkfifo(mode) contains uninitialised byte(s) - ... - -Syscall param mkfifo(path) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -133: SYS_sendto 6s 0m ---------------------------------------------------------- -Syscall param sendto(s) contains uninitialised byte(s) - ... - -Syscall param sendto(msg) contains uninitialised byte(s) - ... - -Syscall param sendto(len) contains uninitialised byte(s) - ... - -Syscall param sendto(flags) contains uninitialised byte(s) - ... - -Syscall param sendto(to) contains uninitialised byte(s) - ... - -Syscall param sendto(tolen) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -135: SYS_socketpair 4s 1m ---------------------------------------------------------- -Syscall param socketpair(domain) contains uninitialised byte(s) - ... - -Syscall param socketpair(type) contains uninitialised byte(s) - ... - -Syscall param socketpair(protocol) contains uninitialised byte(s) - ... - -Syscall param socketpair(sv) contains uninitialised byte(s) - ... - -Syscall param socketcall.socketpair(sv) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -136: SYS_mkdir 2s 1m ---------------------------------------------------------- -Syscall param mkdir(pathname) contains uninitialised byte(s) - ... - -Syscall param mkdir(mode) contains uninitialised byte(s) - ... - -Syscall param mkdir(pathname) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -137: SYS_rmdir 1s 1m ---------------------------------------------------------- -Syscall param rmdir(pathname) contains uninitialised byte(s) - ... - -Syscall param rmdir(pathname) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -138: SYS_utimes 2s 2m ---------------------------------------------------------- -Syscall param utimes(filename) contains uninitialised byte(s) - ... - -Syscall param utimes(tvp) contains uninitialised byte(s) - ... - -Syscall param utimes(filename) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param utimes(tvp[0]) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param utimes(tvp[1]) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -140: SYS_adjtime 2s 1m ---------------------------------------------------------- -Syscall param adjtime(delta) contains uninitialised byte(s) - ... - -Syscall param adjtime(olddelta) contains uninitialised byte(s) - ... - -Syscall param adjtime(delta) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -147: SYS_setsid 0s 0m ---------------------------------------------------------- ---------------------------------------------------------- -148: SYS_quotactl (Q_QUOTAOFF) 2s 0m ---------------------------------------------------------- -Syscall param quotactl(path) contains uninitialised byte(s) - ... - -Syscall param quotactl(cmd) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -148: SYS_quotactl (Q_QUOTAON) 4s 2m ---------------------------------------------------------- -Syscall param quotactl(path) contains uninitialised byte(s) - ... - -Syscall param quotactl(cmd) contains uninitialised byte(s) - ... - -Syscall param quotactl(id) contains uninitialised byte(s) - ... - -Syscall param quotactl(addr) contains uninitialised byte(s) - ... - -Syscall param quotactl(path) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -160: SYS_lgetfh 2s 2m ---------------------------------------------------------- -Syscall param lgetfh(path) contains uninitialised byte(s) - ... - -Syscall param lgetfh(fhp) contains uninitialised byte(s) - ... - -Syscall param lgetfh(path) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param lgetfh(fhp) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -161: SYS_getfh 2s 2m ---------------------------------------------------------- -Syscall param getfh(path) contains uninitialised byte(s) - ... - -Syscall param getfh(fhp) contains uninitialised byte(s) - ... - -Syscall param getfh(path) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param getfh(fhp) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -165: SYS_sysarch 2s 1m ---------------------------------------------------------- -Syscall param sysarch(number) contains uninitialised byte(s) - ... - -Syscall param sysarch(args) contains uninitialised byte(s) - ... - -Syscall param amd64_get_fsbase(basep) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -165: SYS_sysarch 2s 0m ---------------------------------------------------------- -Syscall param sysarch(number) contains uninitialised byte(s) - ... - -Syscall param sysarch(args) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -166: SYS_rtprio (GET) 3s 1m ---------------------------------------------------------- -Syscall param rtprio(function) contains uninitialised byte(s) - ... - -Syscall param rtprio(pid) contains uninitialised byte(s) - ... - -Syscall param rtprio(rtp) contains uninitialised byte(s) - ... - -Syscall param rtprio(rtp#lookup) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -166: SYS_rtprio (SET) 3s 1m ---------------------------------------------------------- -Syscall param rtprio(function) contains uninitialised byte(s) - ... - -Syscall param rtprio(pid) contains uninitialised byte(s) - ... - -Syscall param rtprio(rtp) contains uninitialised byte(s) - ... - -Syscall param rtprio(rtp#set) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -175: SYS_setfib 1s 0m ---------------------------------------------------------- -Syscall param setfib(fib) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -181: SYS_setgid 1s 0m ---------------------------------------------------------- -Syscall param setgid(gid) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -182: SYS_setegid 1s 0m ---------------------------------------------------------- -Syscall param setegid(gid) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -183: SYS_seteuid 1s 0m ---------------------------------------------------------- -Syscall param seteuid(uid) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -188: SYS_freebsd11_stat 2s 2m ---------------------------------------------------------- -Syscall param stat(path) contains uninitialised byte(s) - ... - -Syscall param stat(sb) contains uninitialised byte(s) - ... - -Syscall param stat(path) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param stat(sb) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -189: SYS_freebsd11_fstat 2s 1m ---------------------------------------------------------- -Syscall param fstat(fd) contains uninitialised byte(s) - ... - -Syscall param fstat(sb) contains uninitialised byte(s) - ... - -Syscall param fstat(sb) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -190: SYS_freebsd11_lstat 2s 2m ---------------------------------------------------------- -Syscall param lstat(path) contains uninitialised byte(s) - ... - -Syscall param lstat(sb) contains uninitialised byte(s) - ... - -Syscall param lstat(path) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param lstat(sb) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -191: SYS_pathconf 2s 1m ---------------------------------------------------------- -Syscall param pathconf(path) contains uninitialised byte(s) - ... - -Syscall param pathconf(name) contains uninitialised byte(s) - ... - -Syscall param pathconf(path) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -192: SYS_fpathconf 2s 0m ---------------------------------------------------------- -Syscall param fpathconf(fd) contains uninitialised byte(s) - ... - -Syscall param fpathconf(name) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -194: SYS_getrlimit 2s 1m ---------------------------------------------------------- -Syscall param getrlimit(resource) contains uninitialised byte(s) - ... - -Syscall param getrlimit(rlim) contains uninitialised byte(s) - ... - -Syscall param getrlimit(rlim) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -195: SYS_setrlimit 2s 1m ---------------------------------------------------------- -Syscall param setrlimit(resource) contains uninitialised byte(s) - ... - -Syscall param setrlimit(rlim) contains uninitialised byte(s) - ... - -Syscall param setrlimit(rlim) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -196:SYS_freebsd11_getdirentries 4s 2m ---------------------------------------------------------- -Syscall param getdirentries(fd) contains uninitialised byte(s) - ... - -Syscall param getdirentries(buf) contains uninitialised byte(s) - ... - -Syscall param getdirentries(nbytes) contains uninitialised byte(s) - ... - -Syscall param getdirentries(basep) contains uninitialised byte(s) - ... - -Syscall param getdirentries(buf) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param getdirentries(basep) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -202: SYS___sysctl (getoldlen) 3s 2m ---------------------------------------------------------- -Syscall param __sysctl(name) contains uninitialised byte(s) - ... - -Syscall param __sysctl(namelen) contains uninitialised byte(s) - ... - -Syscall param __sysctl(oldlenp) contains uninitialised byte(s) - ... - -Syscall param __sysctl(newlen) contains uninitialised byte(s) - ... - -Syscall param sysctl(name) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param sysctl(oldlenp) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -202: SYS___sysctl (getold) 4s 2m ---------------------------------------------------------- -Syscall param __sysctl(name) contains uninitialised byte(s) - ... - -Syscall param __sysctl(namelen) contains uninitialised byte(s) - ... - -Syscall param __sysctl(oldp) contains uninitialised byte(s) - ... - -Syscall param __sysctl(oldlenp) contains uninitialised byte(s) - ... - -Syscall param __sysctl(newlen) contains uninitialised byte(s) - ... - -Syscall param sysctl(name) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param sysctl(oldlenp) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Warning: Bad oldlenp address 0x........ in sysctl ---------------------------------------------------------- -202: SYS___sysctl (putnew) 4s 2m ---------------------------------------------------------- -Syscall param __sysctl(name) contains uninitialised byte(s) - ... - -Syscall param __sysctl(namelen) contains uninitialised byte(s) - ... - -Syscall param __sysctl(newp) contains uninitialised byte(s) - ... - -Syscall param __sysctl(newlen) contains uninitialised byte(s) - ... - -Syscall param sysctl(name) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param sysctl(newp) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -203: SYS_mlock 2s 0m ---------------------------------------------------------- -Syscall param mlock(addr) contains uninitialised byte(s) - ... - -Syscall param mlock(len) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -204: SYS_munlock 2s 0m ---------------------------------------------------------- -Syscall param munlock(addr) contains uninitialised byte(s) - ... - -Syscall param munlock(len) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -205: SYS_undelete 1s 1m ---------------------------------------------------------- -Syscall param undelete(path) contains uninitialised byte(s) - ... - -Syscall param undelete(path) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -206: SYS_futimes 2s 0m ---------------------------------------------------------- -Syscall param futimes(fd) contains uninitialised byte(s) - ... - -Syscall param futimes(times) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -207: SYS_getpgid 1s 0m ---------------------------------------------------------- -Syscall param getpgid(pid) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -209: SYS_poll 3s 3m ---------------------------------------------------------- -Syscall param poll(ufds) contains uninitialised byte(s) - ... - -Syscall param poll(nfds) contains uninitialised byte(s) - ... - -Syscall param poll(timeout) contains uninitialised byte(s) - ... - -Syscall param poll(ufds.fd) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param poll(ufds.events) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param poll(ufds.revents) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -220: SYS_freebsd7___semctl (IPC_INFO) 4s 1m ---------------------------------------------------------- -Syscall param semctl(semid) contains uninitialised byte(s) - ... - -Syscall param semctl(semnum) contains uninitialised byte(s) - ... - -Syscall param semctl(cmd) contains uninitialised byte(s) - ... - -Syscall param semctl(arg) contains uninitialised byte(s) - ... - -Syscall param semctl(IPC_INFO, arg.buf) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -220: SYS_freebsd7___semctl (bogus cmd) 3s 0m ---------------------------------------------------------- -Syscall param semctl(semid) contains uninitialised byte(s) - ... - -Syscall param semctl(semnum) contains uninitialised byte(s) - ... - -Syscall param semctl(cmd) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -221: SYS_semget 3s 0m ---------------------------------------------------------- -Syscall param semget(key) contains uninitialised byte(s) - ... - -Syscall param semget(nsems) contains uninitialised byte(s) - ... - -Syscall param semget(flag) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -222: SYS_semop 3s 0m ---------------------------------------------------------- -Syscall param semop(semid) contains uninitialised byte(s) - ... - -Syscall param semop(array) contains uninitialised byte(s) - ... - -Syscall param semop(nops) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -224: SYS_freebsd7_msgctl (set) 3s 1m ---------------------------------------------------------- -Syscall param msgctl(msqid) contains uninitialised byte(s) - ... - -Syscall param msgctl(cmd) contains uninitialised byte(s) - ... - -Syscall param msgctl(buf) contains uninitialised byte(s) - ... - -Syscall param msgctl(IPC_SET, buf) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -224: SYS_freebsd7_msgctl (stat) 3s 1m ---------------------------------------------------------- -Syscall param msgctl(msqid) contains uninitialised byte(s) - ... - -Syscall param msgctl(cmd) contains uninitialised byte(s) - ... - -Syscall param msgctl(buf) contains uninitialised byte(s) - ... - -Syscall param msgctl(IPC_STAT, buf) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -225: SYS_msgget 2s 0m ---------------------------------------------------------- -Syscall param msgget(key) contains uninitialised byte(s) - ... - -Syscall param msgget(msgflg) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -226: SYS_msgsnd 4s 1m ---------------------------------------------------------- -Syscall param msgsnd(msqid) contains uninitialised byte(s) - ... - -Syscall param msgsnd(msgp) contains uninitialised byte(s) - ... - -Syscall param msgsnd(msgsz) contains uninitialised byte(s) - ... - -Syscall param msgsnd(msgflg) contains uninitialised byte(s) - ... - -Syscall param msgsnd(msgp->mtype) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -227: SYS_msgrcv 4+1s 1m ---------------------------------------------------------- -Syscall param msgrcv(msqid) contains uninitialised byte(s) - ... - -Syscall param msgrcv(msgp) contains uninitialised byte(s) - ... - -Syscall param msgrcv(msgsz) contains uninitialised byte(s) - ... - -Syscall param msgrcv(msgtyp) contains uninitialised byte(s) - ... - -Syscall param msgrcv(msgflg) contains uninitialised byte(s) - ... - -Syscall param msgrcv(msgp->mtype) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - -Syscall param msgrcv(msgp->mtext) points to unaddressable byte(s) - ... - Address 0x........ is not stack'd, malloc'd or (recently) free'd - ---------------------------------------------------------- -228: SYS_shmat 3s 0m ---------------------------------------------------------- -Syscall param shmat(shmid) contains uninitialised byte(s) - ... - -Syscall param shmat(addr) contains uninitialised byte(s) - ... - -Syscall param shmat(flag) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -229: SYS_freebsd7_shmctl 3s 0m ---------------------------------------------------------- -Syscall param shmctl(shmid) contains uninitialised byte(s) - ... - -Syscall param shmctl(cmd) contains uninitialised byte(s) - ... - -Syscall param shmctl(buf) contains uninitialised byte(s) - ... - ---------------------------------------------------------- -229: SYS_freebsd7_shmctl (bogus cmd) 3s 0m ------------------------------------... [truncated message content] |
|
From: Paul F. <pa...@so...> - 2021-12-10 20:04:57
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=de368522b8eca5d29dc5d1937e32c73edd768fce commit de368522b8eca5d29dc5d1937e32c73edd768fce Author: Paul Floyd <pj...@wa...> Date: Fri Dec 10 21:04:25 2021 +0100 Update FreeBSD 12 scalar Diff: --- memcheck/tests/freebsd/scalar.stderr.exp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/memcheck/tests/freebsd/scalar.stderr.exp b/memcheck/tests/freebsd/scalar.stderr.exp index 80b4547fde..8e7f9fb145 100644 --- a/memcheck/tests/freebsd/scalar.stderr.exp +++ b/memcheck/tests/freebsd/scalar.stderr.exp @@ -1890,6 +1890,22 @@ Syscall param clock_nanosleep(rmtp) points to unaddressable byte(s) ... Address 0x........ is not stack'd, malloc'd or (recently) free'd +--------------------------------------------------------- +247:SYS_clock_getcpuclockid2 3s 1m +--------------------------------------------------------- +Syscall param clock_getcpuclockid2(id) contains uninitialised byte(s) + ... + +Syscall param clock_getcpuclockid2(len) contains uninitialised byte(s) + ... + +Syscall param clock_getcpuclockid2(clock_id) contains uninitialised byte(s) + ... + +Syscall param clock_getcpuclockid2(clock_id) points to unaddressable byte(s) + ... + Address 0x........ is not stack'd, malloc'd or (recently) free'd + --------------------------------------------------------- 250: SYS_minherit @todo --------------------------------------------------------- |
|
From: Paul F. <pa...@so...> - 2021-12-09 21:56:38
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=01048e33df95b413642b1479d747b065c948000a commit 01048e33df95b413642b1479d747b065c948000a Author: Paul Floyd <pj...@wa...> Date: Thu Dec 9 22:54:23 2021 +0100 FreeBSD sigreturn arg names again Also make drd/tests/shared_timed_mutex more robust Already not great using time delays, but the test seems to fail intermittently due to spurious wakeups. So instead of railing straight away, make it "three strikes and you're out". Diff: --- coregrind/m_syswrap/syswrap-amd64-freebsd.c | 8 +++---- coregrind/m_syswrap/syswrap-x86-freebsd.c | 6 ++--- drd/tests/shared_timed_mutex.cpp | 26 ++++++++++++++++------ memcheck/tests/freebsd/scalar.stderr.exp | 4 ++-- .../tests/freebsd/scalar.stderr.exp-freebsd130 | 4 ++-- .../tests/freebsd/scalar.stderr.exp-freebsd130-x86 | 4 ++-- memcheck/tests/freebsd/scalar.stderr.exp-x86 | 4 ++-- 7 files changed, 34 insertions(+), 22 deletions(-) diff --git a/coregrind/m_syswrap/syswrap-amd64-freebsd.c b/coregrind/m_syswrap/syswrap-amd64-freebsd.c index c5685c4773..7302ffc429 100644 --- a/coregrind/m_syswrap/syswrap-amd64-freebsd.c +++ b/coregrind/m_syswrap/syswrap-amd64-freebsd.c @@ -422,7 +422,7 @@ PRE(sys_sigreturn) { PRINT("sys_sigreturn ( %#" FMT_REGWORD "x )", ARG1); PRE_REG_READ1(int, "sigreturn", - struct vki_ucontext *, ucp); + struct vki_ucontext *, scp); PRE_MEM_READ( "sigreturn(scp)", ARG1, sizeof(struct vki_ucontext) ); PRE_MEM_WRITE( "sigreturn(scp)", ARG1, sizeof(struct vki_ucontext) ); @@ -1064,10 +1064,10 @@ PRE(sys_fake_sigreturn) PRINT("sys_sigreturn ( %#" FMT_REGWORD "x )", ARG1); PRE_REG_READ1(long, "sigreturn", - struct vki_ucontext *, ucp); + struct vki_ucontext *, scp); - PRE_MEM_READ( "sigreturn(ucp)", ARG1, sizeof(struct vki_ucontext) ); - PRE_MEM_WRITE( "sigreturn(ucp)", ARG1, sizeof(struct vki_ucontext) ); + PRE_MEM_READ( "sigreturn(scp)", ARG1, sizeof(struct vki_ucontext) ); + PRE_MEM_WRITE( "sigreturn(scp)", ARG1, sizeof(struct vki_ucontext) ); vg_assert(VG_(is_valid_tid)(tid)); vg_assert(tid >= 1 && tid < VG_N_THREADS); diff --git a/coregrind/m_syswrap/syswrap-x86-freebsd.c b/coregrind/m_syswrap/syswrap-x86-freebsd.c index 4fd1ce5011..5c82f7db65 100644 --- a/coregrind/m_syswrap/syswrap-x86-freebsd.c +++ b/coregrind/m_syswrap/syswrap-x86-freebsd.c @@ -813,10 +813,10 @@ PRE(sys_sigreturn) { PRINT("sys_sigreturn ( %#" FMT_REGWORD "x )", ARG1); PRE_REG_READ1(int, "sigreturn", - struct vki_ucontext *, ucp); + struct vki_ucontext *, scp); - PRE_MEM_READ( "sigreturn(ucp)", ARG1, sizeof(struct vki_ucontext) ); - PRE_MEM_WRITE( "sigreturn(ucp)", ARG1, sizeof(struct vki_ucontext) ); + PRE_MEM_READ( "sigreturn(scp)", ARG1, sizeof(struct vki_ucontext) ); + PRE_MEM_WRITE( "sigreturn(scp)", ARG1, sizeof(struct vki_ucontext) ); } diff --git a/drd/tests/shared_timed_mutex.cpp b/drd/tests/shared_timed_mutex.cpp index 306d6bf27a..9741169672 100644 --- a/drd/tests/shared_timed_mutex.cpp +++ b/drd/tests/shared_timed_mutex.cpp @@ -15,12 +15,19 @@ bool reads_done = false; void f() { auto now=std::chrono::steady_clock::now(); - if (test_mutex.try_lock_until(now + std::chrono::seconds(3))) + auto then = now + std::chrono::seconds(3); + int i; + for (i = 0; i < 3 && std::chrono::steady_clock::now() < then; ++i) { - --global; - test_mutex.unlock(); + if (test_mutex.try_lock_until(then)) + { + --global; + test_mutex.unlock(); + break; + } } - else + + if (i == 3) { std::cerr << "Lock failed\n"; } @@ -29,11 +36,16 @@ void f() void g() { auto now=std::chrono::steady_clock::now(); - if (test_mutex.try_lock_shared_until(now + std::chrono::seconds(2))) + auto then = now + std::chrono::seconds(2); + int i; + for (i = 0; i < 3 && std::chrono::steady_clock::now() < then; ++i) { - test_mutex.unlock_shared(); + if (test_mutex.try_lock_shared_until(then)) + { + test_mutex.unlock_shared(); + } } - else + if (i == 3) { std::cerr << "Lock shared failed\n"; } diff --git a/memcheck/tests/freebsd/scalar.stderr.exp b/memcheck/tests/freebsd/scalar.stderr.exp index 3f16d12d61..80b4547fde 100644 --- a/memcheck/tests/freebsd/scalar.stderr.exp +++ b/memcheck/tests/freebsd/scalar.stderr.exp @@ -3188,10 +3188,10 @@ Warning: bad act handler address 0x........ in sigaction() --------------------------------------------------------- 417: SYS_sigreturn 1s 1m --------------------------------------------------------- -Syscall param sigreturn(ucp) contains uninitialised byte(s) +Syscall param sigreturn(scp) contains uninitialised byte(s) ... -Syscall param sigreturn(ucp) points to unaddressable byte(s) +Syscall param sigreturn(scp) points to unaddressable byte(s) ... Address 0x........ is not stack'd, malloc'd or (recently) free'd diff --git a/memcheck/tests/freebsd/scalar.stderr.exp-freebsd130 b/memcheck/tests/freebsd/scalar.stderr.exp-freebsd130 index 309749f072..deaa61d6ff 100644 --- a/memcheck/tests/freebsd/scalar.stderr.exp-freebsd130 +++ b/memcheck/tests/freebsd/scalar.stderr.exp-freebsd130 @@ -3204,10 +3204,10 @@ Warning: bad act handler address 0x........ in sigaction() --------------------------------------------------------- 417: SYS_sigreturn 1s 1m --------------------------------------------------------- -Syscall param sigreturn(ucp) contains uninitialised byte(s) +Syscall param sigreturn(scp) contains uninitialised byte(s) ... -Syscall param sigreturn(ucp) points to unaddressable byte(s) +Syscall param sigreturn(scp) points to unaddressable byte(s) ... Address 0x........ is not stack'd, malloc'd or (recently) free'd diff --git a/memcheck/tests/freebsd/scalar.stderr.exp-freebsd130-x86 b/memcheck/tests/freebsd/scalar.stderr.exp-freebsd130-x86 index 62ed782c5f..70919f47cb 100644 --- a/memcheck/tests/freebsd/scalar.stderr.exp-freebsd130-x86 +++ b/memcheck/tests/freebsd/scalar.stderr.exp-freebsd130-x86 @@ -3213,10 +3213,10 @@ Warning: bad act handler address 0x........ in sigaction() --------------------------------------------------------- 417: SYS_sigreturn 1s 1m --------------------------------------------------------- -Syscall param sigreturn(ucp) contains uninitialised byte(s) +Syscall param sigreturn(scp) contains uninitialised byte(s) ... -Syscall param sigreturn(ucp) points to unaddressable byte(s) +Syscall param sigreturn(scp) points to unaddressable byte(s) ... Address 0x........ is not stack'd, malloc'd or (recently) free'd diff --git a/memcheck/tests/freebsd/scalar.stderr.exp-x86 b/memcheck/tests/freebsd/scalar.stderr.exp-x86 index b949dbb7e8..e1f24ef803 100644 --- a/memcheck/tests/freebsd/scalar.stderr.exp-x86 +++ b/memcheck/tests/freebsd/scalar.stderr.exp-x86 @@ -3197,10 +3197,10 @@ Warning: bad act handler address 0x........ in sigaction() --------------------------------------------------------- 417: SYS_sigreturn 1s 1m --------------------------------------------------------- -Syscall param sigreturn(ucp) contains uninitialised byte(s) +Syscall param sigreturn(scp) contains uninitialised byte(s) ... -Syscall param sigreturn(ucp) points to unaddressable byte(s) +Syscall param sigreturn(scp) points to unaddressable byte(s) ... Address 0x........ is not stack'd, malloc'd or (recently) free'd |
|
From: Paul F. <pa...@so...> - 2021-12-09 21:12:59
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=3bfe4a4f7afa6681415f46eb473c244e95efaafa commit 3bfe4a4f7afa6681415f46eb473c244e95efaafa Author: Paul Floyd <pj...@wa...> Date: Thu Dec 9 22:11:04 2021 +0100 Minor sigreturn code cleaning for sigreturn / FreeBSD More comments + wrapper arg names matching man page (even if the syscall should never get called directly from client code). Diff: --- coregrind/m_syswrap/syswrap-amd64-freebsd.c | 4 ++-- coregrind/m_syswrap/syswrap-x86-freebsd.c | 6 +++--- coregrind/m_trampoline.S | 22 ++++++++++++++++++++++ 3 files changed, 27 insertions(+), 5 deletions(-) diff --git a/coregrind/m_syswrap/syswrap-amd64-freebsd.c b/coregrind/m_syswrap/syswrap-amd64-freebsd.c index 076f5b4c4d..c5685c4773 100644 --- a/coregrind/m_syswrap/syswrap-amd64-freebsd.c +++ b/coregrind/m_syswrap/syswrap-amd64-freebsd.c @@ -424,8 +424,8 @@ PRE(sys_sigreturn) PRE_REG_READ1(int, "sigreturn", struct vki_ucontext *, ucp); - PRE_MEM_READ( "sigreturn(ucp)", ARG1, sizeof(struct vki_ucontext) ); - PRE_MEM_WRITE( "sigreturn(ucp)", ARG1, sizeof(struct vki_ucontext) ); + PRE_MEM_READ( "sigreturn(scp)", ARG1, sizeof(struct vki_ucontext) ); + PRE_MEM_WRITE( "sigreturn(scp)", ARG1, sizeof(struct vki_ucontext) ); } static void restore_mcontext(ThreadState *tst, struct vki_mcontext *sc) diff --git a/coregrind/m_syswrap/syswrap-x86-freebsd.c b/coregrind/m_syswrap/syswrap-x86-freebsd.c index 0c8da316f9..4fd1ce5011 100644 --- a/coregrind/m_syswrap/syswrap-x86-freebsd.c +++ b/coregrind/m_syswrap/syswrap-x86-freebsd.c @@ -1468,10 +1468,10 @@ PRE(sys_fake_sigreturn) struct vki_ucontext *uc; PRINT("sys_sigreturn ( %#" FMT_REGWORD "x )", ARG1); PRE_REG_READ1(long, "sigreturn", - struct vki_ucontext *, ucp); + struct vki_ucontext *, scp); - PRE_MEM_READ( "sigreturn(ucp)", ARG1, sizeof(struct vki_ucontext) ); - PRE_MEM_WRITE( "sigreturn(ucp)", ARG1, sizeof(struct vki_ucontext) ); + PRE_MEM_READ( "sigreturn(scp)", ARG1, sizeof(struct vki_ucontext) ); + PRE_MEM_WRITE( "sigreturn(scp)", ARG1, sizeof(struct vki_ucontext) ); vg_assert(VG_(is_valid_tid)(tid)); vg_assert(tid >= 1 && tid < VG_N_THREADS); diff --git a/coregrind/m_trampoline.S b/coregrind/m_trampoline.S index ad1db3cb9f..da96972323 100644 --- a/coregrind/m_trampoline.S +++ b/coregrind/m_trampoline.S @@ -899,7 +899,29 @@ VG_(trampoline_stuff_start): VG_(amd64_freebsd_SUBST_FOR_sigreturn): /* This is a very specific sequence which GDB uses to recognize signal handler frames. */ + movq $__NR_fake_sigreturn, %rax + + /* running the preprocessor on + * src/amd64.amd64/lib/libc/sigreturn.S + * gives + * .text; .p2align 4,0x90; .globl __sys_sigreturn; + * .type __sys_sigreturn,@function; __sys_sigreturn:; + * .cfi_startproc; .weak sigreturn; .equ sigreturn,__sys_sigreturn; + * .weak _sigreturn; .equ _sigreturn,__sys_sigreturn; + * mov $417,%eax; + * movq %rcx, %r10; + * syscall; jb .cerror; ret; .size __sys_sigreturn, . - __sys_sigreturn; + * .cfi_endproc + */ + + /* + * sigframe in sigframe-amd64-freebsd.c + * differs from sigframe in /usr/include/x86/sigframe.h + * by having the address to this trampoline first + * so I assume that the +8 is to get back to the + * FreeBSD sigframe + */ movq %rsp, %rdi addq $8,%rdi syscall |
|
From: Andreas A. <ar...@so...> - 2021-12-09 17:24:11
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=99bf5dabf7865aaea7f2192373633e026c6fb16e commit 99bf5dabf7865aaea7f2192373633e026c6fb16e Author: Andreas Arnez <ar...@li...> Date: Thu Dec 9 15:27:41 2021 +0100 Bug 444481 - Don't unmap the vDSO on s390x Newer Linux kernels on s390x may use the vDSO as a "trampoline" for syscall restart. This means that the vDSO is no longer optional, and unmapping it may lead to a segmentation fault when a system call restart is performed. So far Valgrind has been unmapping the vDSO on s390x. Just don't do this anymore. Diff: --- NEWS | 1 + coregrind/m_initimg/initimg-linux.c | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/NEWS b/NEWS index a0844428ef..5a15158403 100644 --- a/NEWS +++ b/NEWS @@ -44,6 +44,7 @@ are not entered into bugzilla tend to get forgotten about or ignored. 444242 s390x: Valgrind crashes on EXRL with negative offset 444399 arm64: unhandled instruction 0xC87F2D89 (LD{,A}XP and ST{,L}XP). == 434283 +444481 gdb_server test failures on s390x 444495 dhat/tests/copy fails on s390x 444571 PPC, fix the lxsibzx and lxsihzx so they only load their respective sized data. diff --git a/coregrind/m_initimg/initimg-linux.c b/coregrind/m_initimg/initimg-linux.c index 7d02d55678..95508ad1ed 100644 --- a/coregrind/m_initimg/initimg-linux.c +++ b/coregrind/m_initimg/initimg-linux.c @@ -892,7 +892,8 @@ Addr setup_client_stack( void* init_sp, # if !defined(VGP_ppc32_linux) && !defined(VGP_ppc64be_linux) \ && !defined(VGP_ppc64le_linux) \ && !defined(VGP_mips32_linux) && !defined(VGP_mips64_linux) \ - && !defined(VGP_nanomips_linux) + && !defined(VGP_nanomips_linux) \ + && !defined(VGP_s390x_linux) case AT_SYSINFO_EHDR: { /* Trash this, because we don't reproduce it */ const NSegment* ehdrseg = VG_(am_find_nsegment)((Addr)auxv->u.a_ptr); |
|
From: Julian S. <se...@so...> - 2021-12-08 06:54:38
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=8ee1656165902125c414d598cff788c7bb0b1556 commit 8ee1656165902125c414d598cff788c7bb0b1556 Author: Julian Seward <js...@ac...> Date: Wed Dec 8 07:52:09 2021 +0100 Bug 446103 - Memcheck: `--track-origins=yes` causes extreme slowdowns for large mmap/munmap. This patch rewrites the Level 2 origin-tracking cache (ocacheL2) so that set-address-range-permissions (SARP) operations on it, for large ranges, are at least a factor of 2.5 x faster. This is primarily targeted at SARPs in the range of hundreds to thousands of megabytes. The Level 1 origin-tracking cache covers 64MB address space, so SARPs that fit within it are mostly unaffected. There are extensive comments in-line. Changes are: * Change the Level 2 cache from a single AVL tree (OSet) into 4096 such trees, selected by middle bits of the tag, hence "taking out" 12 significant bits of search in any given tree. * For the OCacheLine type, use a union so as to overlay the w32 and descr arrays with an array of 64-bit values. This is used to speed up cases where those fields are to be set to zero, or checked against zero. * Due to the various fast-paths added by this patch, OC_BITS_PER_LINE has pretty much been frozen at the current value, 5. * ocache_sarp_Set_Origins, ocache_sarp_Clear_Origins: deal with large ranges in 32-byte steps instead of 4-byte steps. * MC_(helperc_b_store32), MC_(helperc_b_store16): rewrite these to be (much) more efficient. * fast-return cases for VG_(OSetGen_Lookup) and VG_(OSetGen_Remove) when the tree is empty * a few extra inline hints Diff: --- NEWS | 3 +- coregrind/m_oset.c | 9 +- memcheck/mc_main.c | 433 ++++++++++++++++++++++++++++++++++++++++++----------- 3 files changed, 354 insertions(+), 91 deletions(-) diff --git a/NEWS b/NEWS index e7b53a515c..a0844428ef 100644 --- a/NEWS +++ b/NEWS @@ -57,10 +57,11 @@ are not entered into bugzilla tend to get forgotten about or ignored. 446139 DRD/Helgrind with std::shared_timed_mutex::try_lock_until and try_lock_shared_until false positives 446138 DRD/Helgrind with std::timed_mutex::try_lock_until false positives 446281 Add a DRD suppression for fwrite +446103 Memcheck: `--track-origins=yes` causes extreme slowdowns for large mmap/munmap To see details of a given bug, visit https://bugs.kde.org/show_bug.cgi?id=XXXXXX -where XXXXXX is the bug number as listed below. +where XXXXXX is the bug number as listed above. diff --git a/coregrind/m_oset.c b/coregrind/m_oset.c index cf28faec95..0521904d96 100644 --- a/coregrind/m_oset.c +++ b/coregrind/m_oset.c @@ -570,7 +570,7 @@ void VG_(OSetWord_Insert)(AvlTree* t, UWord val) /*--------------------------------------------------------------------*/ // Find the *node* in t matching k, or NULL if not found. -static AvlNode* avl_lookup(const AvlTree* t, const void* k) +static inline AvlNode* avl_lookup(const AvlTree* t, const void* k) { Word cmpres; AvlNode* curr = t->root; @@ -604,9 +604,10 @@ static AvlNode* avl_lookup(const AvlTree* t, const void* k) // Find the *element* in t matching k, or NULL if not found. void* VG_(OSetGen_Lookup)(const AvlTree* t, const void* k) { - AvlNode* n; vg_assert(t); - n = avl_lookup(t, k); + if (LIKELY(t->root == NULL)) + return NULL; + AvlNode* n = avl_lookup(t, k); return ( n ? elem_of_node(n) : NULL ); } @@ -767,6 +768,8 @@ static Bool avl_removeroot(AvlTree* t) // if not present. void* VG_(OSetGen_Remove)(AvlTree* t, const void* k) { + if (LIKELY(t->root == NULL)) + return NULL; // Have to find the node first, then remove it. AvlNode* n = avl_lookup(t, k); if (n) { diff --git a/memcheck/mc_main.c b/memcheck/mc_main.c index d268d7e52b..47b370bf51 100644 --- a/memcheck/mc_main.c +++ b/memcheck/mc_main.c @@ -2402,7 +2402,9 @@ static UWord stats_ocacheL1_misses = 0; static UWord stats_ocacheL1_lossage = 0; static UWord stats_ocacheL1_movefwds = 0; -static UWord stats__ocacheL2_refs = 0; +static UWord stats__ocacheL2_finds = 0; +static UWord stats__ocacheL2_adds = 0; +static UWord stats__ocacheL2_dels = 0; static UWord stats__ocacheL2_misses = 0; static UWord stats__ocacheL2_n_nodes_max = 0; @@ -2431,26 +2433,86 @@ static INLINE Bool is_valid_oc_tag ( Addr tag ) { #define OC_MOVE_FORWARDS_EVERY_BITS 7 +/* Originally (pre Dec 2021) it was the case that this code had a + parameterizable cache line size, set by changing OC_BITS_PER_LINE. + However, as a result of the speedup fixes necessitated by bug 446103, that + is no longer really the case, and much of the L1 and L2 cache code has been + tuned specifically for the case OC_BITS_PER_LINE == 5 (that is, the line + size is 32 bytes). Changing that would require a bunch of re-tuning + effort. So let's set it in stone for now. */ +STATIC_ASSERT(OC_BITS_PER_LINE == 5); +STATIC_ASSERT(OC_LINES_PER_SET == 2); + +/* Fundamentally we want an OCacheLine structure (see below) as follows: + struct { + Addr tag; + UInt w32 [OC_W32S_PER_LINE]; + UChar descr[OC_W32S_PER_LINE]; + } + However, in various places, we want to set the w32[] and descr[] arrays to + zero, or check if they are zero. This can be a very hot path (per bug + 446103). So, instead, we have a union which is either those two arrays + (OCacheLine_Main) or simply an array of ULongs (OCacheLine_W64s). For the + set-zero/test-zero operations, the OCacheLine_W64s are used. +*/ + +// To ensure that OCacheLine.descr[] will fit in an integral number of ULongs. +STATIC_ASSERT(0 == (OC_W32S_PER_LINE % 8)); + +#define OC_W64S_PER_MAIN /* "MAIN" meaning "struct OCacheLine_Main" */ \ + (OC_W32S_PER_LINE / 2 /* covers OCacheLine_Main.w32[] */ \ + + OC_W32S_PER_LINE / 8) /* covers OCacheLine_Main.descr[] */ +STATIC_ASSERT(OC_W64S_PER_MAIN == 5); + +typedef + ULong OCacheLine_W64s[OC_W64S_PER_MAIN]; + typedef struct { - Addr tag; - UInt w32[OC_W32S_PER_LINE]; + UInt w32 [OC_W32S_PER_LINE]; UChar descr[OC_W32S_PER_LINE]; } + OCacheLine_Main; + +STATIC_ASSERT(sizeof(OCacheLine_W64s) == sizeof(OCacheLine_Main)); + +typedef + struct { + Addr tag; + union { + OCacheLine_W64s w64s; + OCacheLine_Main main; + } u; + } OCacheLine; /* Classify and also sanity-check 'line'. Return 'e' (empty) if not in use, 'n' (nonzero) if it contains at least one valid origin tag, and 'z' if all the represented tags are zero. */ -static UChar classify_OCacheLine ( OCacheLine* line ) +static inline UChar classify_OCacheLine ( OCacheLine* line ) { UWord i; if (line->tag == 1/*invalid*/) return 'e'; /* EMPTY */ tl_assert(is_valid_oc_tag(line->tag)); + + // BEGIN fast special-case of the test loop below. This will detect + // zero-ness (case 'z') for a subset of cases that the loop below will, + // hence is safe. + if (OC_W64S_PER_MAIN == 5) { + if (line->u.w64s[0] == 0 + && line->u.w64s[1] == 0 && line->u.w64s[2] == 0 + && line->u.w64s[3] == 0 && line->u.w64s[4] == 0) { + return 'z'; + } + } else { + tl_assert2(0, "unsupported line size (classify_OCacheLine)"); + } + // END fast special-case of the test loop below. + for (i = 0; i < OC_W32S_PER_LINE; i++) { - tl_assert(0 == ((~0xF) & line->descr[i])); - if (line->w32[i] > 0 && line->descr[i] > 0) + tl_assert(0 == ((~0xF) & line->u.main.descr[i])); + if (line->u.main.w32[i] > 0 && line->u.main.descr[i] > 0) return 'n'; /* NONZERO - contains useful info */ } return 'z'; /* ZERO - no useful info */ @@ -2491,7 +2553,7 @@ static void init_OCache ( void ) init_ocacheL2(); } -static void moveLineForwards ( OCacheSet* set, UWord lineno ) +static inline void moveLineForwards ( OCacheSet* set, UWord lineno ) { OCacheLine tmp; stats_ocacheL1_movefwds++; @@ -2501,11 +2563,23 @@ static void moveLineForwards ( OCacheSet* set, UWord lineno ) set->line[lineno] = tmp; } -static void zeroise_OCacheLine ( OCacheLine* line, Addr tag ) { +static inline void zeroise_OCacheLine ( OCacheLine* line, Addr tag ) { UWord i; - for (i = 0; i < OC_W32S_PER_LINE; i++) { - line->w32[i] = 0; /* NO ORIGIN */ - line->descr[i] = 0; /* REALLY REALLY NO ORIGIN! */ + if (OC_W32S_PER_LINE == 8) { + // BEGIN fast special-case of the loop below + tl_assert(OC_W64S_PER_MAIN == 5); + line->u.w64s[0] = 0; + line->u.w64s[1] = 0; + line->u.w64s[2] = 0; + line->u.w64s[3] = 0; + line->u.w64s[4] = 0; + // END fast special-case of the loop below + } else { + tl_assert2(0, "unsupported line size (zeroise_OCacheLine)"); + for (i = 0; i < OC_W32S_PER_LINE; i++) { + line->u.main.w32[i] = 0; /* NO ORIGIN */ + line->u.main.descr[i] = 0; /* REALLY REALLY NO ORIGIN! */ + } } line->tag = tag; } @@ -2513,7 +2587,37 @@ static void zeroise_OCacheLine ( OCacheLine* line, Addr tag ) { ////////////////////////////////////////////////////////////// //// OCache backing store -static OSet* ocacheL2 = NULL; +// The backing store for ocacheL1 is, conceptually, an AVL tree of lines that +// got ejected from the L1 (a "victim cache"), and which actually contain +// useful info -- that is, for which classify_OCacheLine would return 'n' and +// no other value. However, the tree can grow large, and searching/updating +// it can be hot paths. Hence we "take out" 12 significant bits of the key by +// having 4096 trees, and select one using HASH_OCACHE_TAG. +// +// What that hash function returns isn't important so long as it is a pure +// function of the tag values, and is < 4096. However, it is critical for +// performance of long SARPs. Hence the extra shift of 11 bits. This means +// each tree conceptually is assigned to contiguous sequences of 2048 lines in +// the "line address space", giving some locality of reference when scanning +// linearly through address space, as is done by a SARP. Changing that 11 to +// 0 gives terrible performance on long SARPs, presumably because each new +// line is in a different tree, hence we wind up thrashing the (CPU's) caches. +// +// On 32-bit targets, we have to be a bit careful not to shift out so many +// bits that not all 2^12 trees get used. That leads to the constraint +// (OC_BITS_PER_LINE + 11 + 12) < 32. Note that the 11 is the only thing we +// can change here. In this case we have OC_BITS_PER_LINE == 5, hence the +// inequality is (28 < 32) and so we're good. +// +// The value 11 was determined empirically from various Firefox runs. 10 or +// 12 also work pretty well. + +static OSet* ocachesL2[4096]; + +STATIC_ASSERT((OC_BITS_PER_LINE + 11 + 12) < 32); +static inline UInt HASH_OCACHE_TAG ( Addr tag ) { + return (UInt)((tag >> (OC_BITS_PER_LINE + 11)) & 0xFFF); +} static void* ocacheL2_malloc ( const HChar* cc, SizeT szB ) { return VG_(malloc)(cc, szB); @@ -2527,23 +2631,26 @@ static UWord stats__ocacheL2_n_nodes = 0; static void init_ocacheL2 ( void ) { - tl_assert(!ocacheL2); tl_assert(sizeof(Word) == sizeof(Addr)); /* since OCacheLine.tag :: Addr */ tl_assert(0 == offsetof(OCacheLine,tag)); - ocacheL2 - = VG_(OSetGen_Create)( offsetof(OCacheLine,tag), - NULL, /* fast cmp */ - ocacheL2_malloc, "mc.ioL2", ocacheL2_free); + for (UInt i = 0; i < 4096; i++) { + tl_assert(!ocachesL2[i]); + ocachesL2[i] + = VG_(OSetGen_Create)( offsetof(OCacheLine,tag), + NULL, /* fast cmp */ + ocacheL2_malloc, "mc.ioL2", ocacheL2_free); + } stats__ocacheL2_n_nodes = 0; } /* Find line with the given tag in the tree, or NULL if not found. */ -static OCacheLine* ocacheL2_find_tag ( Addr tag ) +static inline OCacheLine* ocacheL2_find_tag ( Addr tag ) { OCacheLine* line; tl_assert(is_valid_oc_tag(tag)); - stats__ocacheL2_refs++; - line = VG_(OSetGen_Lookup)( ocacheL2, &tag ); + stats__ocacheL2_finds++; + OSet* oset = ocachesL2[HASH_OCACHE_TAG(tag)]; + line = VG_(OSetGen_Lookup)( oset, &tag ); return line; } @@ -2553,10 +2660,11 @@ static void ocacheL2_del_tag ( Addr tag ) { OCacheLine* line; tl_assert(is_valid_oc_tag(tag)); - stats__ocacheL2_refs++; - line = VG_(OSetGen_Remove)( ocacheL2, &tag ); + stats__ocacheL2_dels++; + OSet* oset = ocachesL2[HASH_OCACHE_TAG(tag)]; + line = VG_(OSetGen_Remove)( oset, &tag ); if (line) { - VG_(OSetGen_FreeNode)(ocacheL2, line); + VG_(OSetGen_FreeNode)(oset, line); tl_assert(stats__ocacheL2_n_nodes > 0); stats__ocacheL2_n_nodes--; } @@ -2568,10 +2676,11 @@ static void ocacheL2_add_line ( OCacheLine* line ) { OCacheLine* copy; tl_assert(is_valid_oc_tag(line->tag)); - copy = VG_(OSetGen_AllocNode)( ocacheL2, sizeof(OCacheLine) ); + OSet* oset = ocachesL2[HASH_OCACHE_TAG(line->tag)]; + copy = VG_(OSetGen_AllocNode)( oset, sizeof(OCacheLine) ); *copy = *line; - stats__ocacheL2_refs++; - VG_(OSetGen_Insert)( ocacheL2, copy ); + stats__ocacheL2_adds++; + VG_(OSetGen_Insert)( oset, copy ); stats__ocacheL2_n_nodes++; if (stats__ocacheL2_n_nodes > stats__ocacheL2_n_nodes_max) stats__ocacheL2_n_nodes_max = stats__ocacheL2_n_nodes; @@ -2626,7 +2735,7 @@ static OCacheLine* find_OCacheLine_SLOW ( Addr a ) /* line contains zeroes. We must ensure the backing store is updated accordingly, either by copying the line there verbatim, or by ensuring it isn't present there. We - chosse the latter on the basis that it reduces the size of + choose the latter on the basis that it reduces the size of the backing store. */ ocacheL2_del_tag( victim->tag ); break; @@ -2697,10 +2806,10 @@ static INLINE void set_aligned_word64_Origin_to_undef ( Addr a, UInt otag ) && lineoff < OC_W32S_PER_LINE -1/*'cos 8-aligned*/); } line = find_OCacheLine( a ); - line->descr[lineoff+0] = 0xF; - line->descr[lineoff+1] = 0xF; - line->w32[lineoff+0] = otag; - line->w32[lineoff+1] = otag; + line->u.main.descr[lineoff+0] = 0xF; + line->u.main.descr[lineoff+1] = 0xF; + line->u.main.w32[lineoff+0] = otag; + line->u.main.w32[lineoff+1] = otag; } //// END inlined, specialised version of MC_(helperc_b_store8) } @@ -2751,8 +2860,8 @@ void make_aligned_word32_undefined_w_otag ( Addr a, UInt otag ) tl_assert(lineoff >= 0 && lineoff < OC_W32S_PER_LINE); } line = find_OCacheLine( a ); - line->descr[lineoff] = 0xF; - line->w32[lineoff] = otag; + line->u.main.descr[lineoff] = 0xF; + line->u.main.w32[lineoff] = otag; } //// END inlined, specialised version of MC_(helperc_b_store4) } @@ -2788,7 +2897,7 @@ void make_aligned_word32_noaccess ( Addr a ) tl_assert(lineoff >= 0 && lineoff < OC_W32S_PER_LINE); } line = find_OCacheLine( a ); - line->descr[lineoff] = 0; + line->u.main.descr[lineoff] = 0; } //// END inlined, specialised version of MC_(helperc_b_store4) } @@ -2834,10 +2943,10 @@ void make_aligned_word64_undefined_w_otag ( Addr a, UInt otag ) tl_assert(lineoff >= 0 && lineoff < OC_W32S_PER_LINE -1/*'cos 8-aligned*/); line = find_OCacheLine( a ); - line->descr[lineoff+0] = 0xF; - line->descr[lineoff+1] = 0xF; - line->w32[lineoff+0] = otag; - line->w32[lineoff+1] = otag; + line->u.main.descr[lineoff+0] = 0xF; + line->u.main.descr[lineoff+1] = 0xF; + line->u.main.w32[lineoff+0] = otag; + line->u.main.w32[lineoff+1] = otag; } //// END inlined, specialised version of MC_(helperc_b_store8) } @@ -2872,8 +2981,8 @@ void make_aligned_word64_noaccess ( Addr a ) tl_assert(lineoff >= 0 && lineoff < OC_W32S_PER_LINE -1/*'cos 8-aligned*/); line = find_OCacheLine( a ); - line->descr[lineoff+0] = 0; - line->descr[lineoff+1] = 0; + line->u.main.descr[lineoff+0] = 0; + line->u.main.descr[lineoff+1] = 0; } //// END inlined, specialised version of MC_(helperc_b_store8) } @@ -7399,7 +7508,7 @@ UWord VG_REGPARM(1) MC_(helperc_b_load1)( Addr a ) { line = find_OCacheLine( a ); - descr = line->descr[lineoff]; + descr = line->u.main.descr[lineoff]; if (OC_ENABLE_ASSERTIONS) { tl_assert(descr < 0x10); } @@ -7407,7 +7516,7 @@ UWord VG_REGPARM(1) MC_(helperc_b_load1)( Addr a ) { if (LIKELY(0 == (descr & (1 << byteoff)))) { return 0; } else { - return line->w32[lineoff]; + return line->u.main.w32[lineoff]; } } @@ -7431,7 +7540,7 @@ UWord VG_REGPARM(1) MC_(helperc_b_load2)( Addr a ) { } line = find_OCacheLine( a ); - descr = line->descr[lineoff]; + descr = line->u.main.descr[lineoff]; if (OC_ENABLE_ASSERTIONS) { tl_assert(descr < 0x10); } @@ -7439,7 +7548,7 @@ UWord VG_REGPARM(1) MC_(helperc_b_load2)( Addr a ) { if (LIKELY(0 == (descr & (3 << byteoff)))) { return 0; } else { - return line->w32[lineoff]; + return line->u.main.w32[lineoff]; } } @@ -7462,7 +7571,7 @@ UWord VG_REGPARM(1) MC_(helperc_b_load4)( Addr a ) { line = find_OCacheLine( a ); - descr = line->descr[lineoff]; + descr = line->u.main.descr[lineoff]; if (OC_ENABLE_ASSERTIONS) { tl_assert(descr < 0x10); } @@ -7470,7 +7579,7 @@ UWord VG_REGPARM(1) MC_(helperc_b_load4)( Addr a ) { if (LIKELY(0 == descr)) { return 0; } else { - return line->w32[lineoff]; + return line->u.main.w32[lineoff]; } } @@ -7493,8 +7602,8 @@ UWord VG_REGPARM(1) MC_(helperc_b_load8)( Addr a ) { line = find_OCacheLine( a ); - descrLo = line->descr[lineoff + 0]; - descrHi = line->descr[lineoff + 1]; + descrLo = line->u.main.descr[lineoff + 0]; + descrHi = line->u.main.descr[lineoff + 1]; descr = descrLo | descrHi; if (OC_ENABLE_ASSERTIONS) { tl_assert(descr < 0x10); @@ -7503,8 +7612,8 @@ UWord VG_REGPARM(1) MC_(helperc_b_load8)( Addr a ) { if (LIKELY(0 == descr)) { return 0; /* both 32-bit chunks are defined */ } else { - UInt oLo = descrLo == 0 ? 0 : line->w32[lineoff + 0]; - UInt oHi = descrHi == 0 ? 0 : line->w32[lineoff + 1]; + UInt oLo = descrLo == 0 ? 0 : line->u.main.w32[lineoff + 0]; + UInt oHi = descrHi == 0 ? 0 : line->u.main.w32[lineoff + 1]; return merge_origins(oLo, oHi); } } @@ -7543,10 +7652,10 @@ void VG_REGPARM(2) MC_(helperc_b_store1)( Addr a, UWord d32 ) { line = find_OCacheLine( a ); if (d32 == 0) { - line->descr[lineoff] &= ~(1 << byteoff); + line->u.main.descr[lineoff] &= ~(1 << byteoff); } else { - line->descr[lineoff] |= (1 << byteoff); - line->w32[lineoff] = d32; + line->u.main.descr[lineoff] |= (1 << byteoff); + line->u.main.w32[lineoff] = d32; } } @@ -7571,10 +7680,10 @@ void VG_REGPARM(2) MC_(helperc_b_store2)( Addr a, UWord d32 ) { line = find_OCacheLine( a ); if (d32 == 0) { - line->descr[lineoff] &= ~(3 << byteoff); + line->u.main.descr[lineoff] &= ~(3 << byteoff); } else { - line->descr[lineoff] |= (3 << byteoff); - line->w32[lineoff] = d32; + line->u.main.descr[lineoff] |= (3 << byteoff); + line->u.main.w32[lineoff] = d32; } } @@ -7597,14 +7706,15 @@ void VG_REGPARM(2) MC_(helperc_b_store4)( Addr a, UWord d32 ) { line = find_OCacheLine( a ); if (d32 == 0) { - line->descr[lineoff] = 0; + line->u.main.descr[lineoff] = 0; } else { - line->descr[lineoff] = 0xF; - line->w32[lineoff] = d32; + line->u.main.descr[lineoff] = 0xF; + line->u.main.w32[lineoff] = d32; } } void VG_REGPARM(2) MC_(helperc_b_store8)( Addr a, UWord d32 ) { + STATIC_ASSERT(OC_W32S_PER_LINE == 8); OCacheLine* line; UWord lineoff; @@ -7623,26 +7733,98 @@ void VG_REGPARM(2) MC_(helperc_b_store8)( Addr a, UWord d32 ) { line = find_OCacheLine( a ); if (d32 == 0) { - line->descr[lineoff + 0] = 0; - line->descr[lineoff + 1] = 0; + line->u.main.descr[lineoff + 0] = 0; + line->u.main.descr[lineoff + 1] = 0; } else { - line->descr[lineoff + 0] = 0xF; - line->descr[lineoff + 1] = 0xF; - line->w32[lineoff + 0] = d32; - line->w32[lineoff + 1] = d32; + line->u.main.descr[lineoff + 0] = 0xF; + line->u.main.descr[lineoff + 1] = 0xF; + line->u.main.w32[lineoff + 0] = d32; + line->u.main.w32[lineoff + 1] = d32; } } void VG_REGPARM(2) MC_(helperc_b_store16)( Addr a, UWord d32 ) { - MC_(helperc_b_store8)( a + 0, d32 ); - MC_(helperc_b_store8)( a + 8, d32 ); + STATIC_ASSERT(OC_W32S_PER_LINE == 8); + OCacheLine* line; + UWord lineoff; + + if (UNLIKELY(a & 15)) { + /* Handle misaligned case, slowly. */ + MC_(helperc_b_store8)( a + 0, d32 ); + MC_(helperc_b_store8)( a + 8, d32 ); + return; + } + + lineoff = oc_line_offset(a); + if (OC_ENABLE_ASSERTIONS) { + tl_assert(lineoff == (lineoff & 4)); /*0,4*//*since 16-aligned*/ + } + + line = find_OCacheLine( a ); + + if (d32 == 0) { + line->u.main.descr[lineoff + 0] = 0; + line->u.main.descr[lineoff + 1] = 0; + line->u.main.descr[lineoff + 2] = 0; + line->u.main.descr[lineoff + 3] = 0; + } else { + line->u.main.descr[lineoff + 0] = 0xF; + line->u.main.descr[lineoff + 1] = 0xF; + line->u.main.descr[lineoff + 2] = 0xF; + line->u.main.descr[lineoff + 3] = 0xF; + line->u.main.w32[lineoff + 0] = d32; + line->u.main.w32[lineoff + 1] = d32; + line->u.main.w32[lineoff + 2] = d32; + line->u.main.w32[lineoff + 3] = d32; + } } void VG_REGPARM(2) MC_(helperc_b_store32)( Addr a, UWord d32 ) { - MC_(helperc_b_store8)( a + 0, d32 ); - MC_(helperc_b_store8)( a + 8, d32 ); - MC_(helperc_b_store8)( a + 16, d32 ); - MC_(helperc_b_store8)( a + 24, d32 ); + STATIC_ASSERT(OC_W32S_PER_LINE == 8); + OCacheLine* line; + UWord lineoff; + + if (UNLIKELY(a & 31)) { + /* Handle misaligned case, slowly. */ + MC_(helperc_b_store16)( a + 0, d32 ); + MC_(helperc_b_store16)( a + 16, d32 ); + return; + } + + lineoff = oc_line_offset(a); + if (OC_ENABLE_ASSERTIONS) { + tl_assert(lineoff == 0); + } + + line = find_OCacheLine( a ); + + if (d32 == 0) { + line->u.main.descr[0] = 0; + line->u.main.descr[1] = 0; + line->u.main.descr[2] = 0; + line->u.main.descr[3] = 0; + line->u.main.descr[4] = 0; + line->u.main.descr[5] = 0; + line->u.main.descr[6] = 0; + line->u.main.descr[7] = 0; + } else { + line->u.main.descr[0] = 0xF; + line->u.main.descr[1] = 0xF; + line->u.main.descr[2] = 0xF; + line->u.main.descr[3] = 0xF; + line->u.main.descr[4] = 0xF; + line->u.main.descr[5] = 0xF; + line->u.main.descr[6] = 0xF; + line->u.main.descr[7] = 0xF; + line->u.main.w32[0] = d32; + line->u.main.w32[1] = d32; + line->u.main.w32[2] = d32; + line->u.main.w32[3] = d32; + line->u.main.w32[4] = d32; + line->u.main.w32[5] = d32; + line->u.main.w32[6] = d32; + line->u.main.w32[7] = d32; + } } @@ -7650,6 +7832,9 @@ void VG_REGPARM(2) MC_(helperc_b_store32)( Addr a, UWord d32 ) { /*--- Origin tracking: sarp handlers ---*/ /*--------------------------------------------*/ +// We may get asked to do very large SARPs (bug 446103), hence it is important +// to process 32-byte chunks at a time when possible. + __attribute__((noinline)) static void ocache_sarp_Set_Origins ( Addr a, UWord len, UInt otag ) { if ((a & 1) && len >= 1) { @@ -7662,9 +7847,40 @@ static void ocache_sarp_Set_Origins ( Addr a, UWord len, UInt otag ) { a += 2; len -= 2; } - if (len >= 4) - tl_assert(0 == (a & 3)); - while (len >= 4) { + if ((a & 4) && len >= 4) { + MC_(helperc_b_store4)( a, otag ); + a += 4; + len -= 4; + } + if ((a & 8) && len >= 8) { + MC_(helperc_b_store8)( a, otag ); + a += 8; + len -= 8; + } + if ((a & 16) && len >= 16) { + MC_(helperc_b_store16)( a, otag ); + a += 16; + len -= 16; + } + if (len >= 32) { + tl_assert(0 == (a & 31)); + while (len >= 32) { + MC_(helperc_b_store32)( a, otag ); + a += 32; + len -= 32; + } + } + if (len >= 16) { + MC_(helperc_b_store16)( a, otag ); + a += 16; + len -= 16; + } + if (len >= 8) { + MC_(helperc_b_store8)( a, otag ); + a += 8; + len -= 8; + } + if (len >= 4) { MC_(helperc_b_store4)( a, otag ); a += 4; len -= 4; @@ -7694,9 +7910,40 @@ static void ocache_sarp_Clear_Origins ( Addr a, UWord len ) { a += 2; len -= 2; } - if (len >= 4) - tl_assert(0 == (a & 3)); - while (len >= 4) { + if ((a & 4) && len >= 4) { + MC_(helperc_b_store4)( a, 0 ); + a += 4; + len -= 4; + } + if ((a & 8) && len >= 8) { + MC_(helperc_b_store8)( a, 0 ); + a += 8; + len -= 8; + } + if ((a & 16) && len >= 16) { + MC_(helperc_b_store16)( a, 0 ); + a += 16; + len -= 16; + } + if (len >= 32) { + tl_assert(0 == (a & 31)); + while (len >= 32) { + MC_(helperc_b_store32)( a, 0 ); + a += 32; + len -= 32; + } + } + if (len >= 16) { + MC_(helperc_b_store16)( a, 0 ); + a += 16; + len -= 16; + } + if (len >= 8) { + MC_(helperc_b_store8)( a, 0 ); + a += 8; + len -= 8; + } + if (len >= 4) { MC_(helperc_b_store4)( a, 0 ); a += 4; len -= 4; @@ -7846,10 +8093,14 @@ static void mc_post_clo_init ( void ) if (MC_(clo_mc_level) >= 3) { init_OCache(); tl_assert(ocacheL1 != NULL); - tl_assert(ocacheL2 != NULL); + for (UInt i = 0; i < 4096; i++ ) { + tl_assert(ocachesL2[i] != NULL); + } } else { tl_assert(ocacheL1 == NULL); - tl_assert(ocacheL2 == NULL); + for (UInt i = 0; i < 4096; i++ ) { + tl_assert(ocachesL2[i] == NULL); + } } MC_(chunk_poolalloc) = VG_(newPA) @@ -7943,28 +8194,32 @@ static void mc_print_stats (void) if (MC_(clo_mc_level) >= 3) { VG_(message)(Vg_DebugMsg, - " ocacheL1: %'12lu refs %'12lu misses (%'lu lossage)\n", + " ocacheL1: %'14lu refs %'14lu misses (%'lu lossage)\n", stats_ocacheL1_find, stats_ocacheL1_misses, stats_ocacheL1_lossage ); VG_(message)(Vg_DebugMsg, - " ocacheL1: %'12lu at 0 %'12lu at 1\n", + " ocacheL1: %'14lu at 0 %'14lu at 1\n", stats_ocacheL1_find - stats_ocacheL1_misses - stats_ocacheL1_found_at_1 - stats_ocacheL1_found_at_N, stats_ocacheL1_found_at_1 ); VG_(message)(Vg_DebugMsg, - " ocacheL1: %'12lu at 2+ %'12lu move-fwds\n", + " ocacheL1: %'14lu at 2+ %'14lu move-fwds\n", stats_ocacheL1_found_at_N, stats_ocacheL1_movefwds ); VG_(message)(Vg_DebugMsg, - " ocacheL1: %'12lu sizeB %'12d useful\n", + " ocacheL1: %'14lu sizeB %'14d useful\n", (SizeT)sizeof(OCache), 4 * OC_W32S_PER_LINE * OC_LINES_PER_SET * OC_N_SETS ); VG_(message)(Vg_DebugMsg, - " ocacheL2: %'12lu refs %'12lu misses\n", - stats__ocacheL2_refs, + " ocacheL2: %'14lu finds %'14lu misses\n", + stats__ocacheL2_finds, stats__ocacheL2_misses ); + VG_(message)(Vg_DebugMsg, + " ocacheL2: %'14lu adds %'14lu dels\n", + stats__ocacheL2_adds, + stats__ocacheL2_dels ); VG_(message)(Vg_DebugMsg, " ocacheL2: %'9lu max nodes %'9lu curr nodes\n", stats__ocacheL2_n_nodes_max, @@ -7974,7 +8229,9 @@ static void mc_print_stats (void) stats__nia_cache_queries, stats__nia_cache_misses); } else { tl_assert(ocacheL1 == NULL); - tl_assert(ocacheL2 == NULL); + for (UInt i = 0; i < 4096; i++ ) { + tl_assert(ocachesL2[1] == NULL); + } } } @@ -8216,7 +8473,9 @@ static void mc_pre_clo_init(void) if we need to, since the command line args haven't been processed yet. Hence defer it to mc_post_clo_init. */ tl_assert(ocacheL1 == NULL); - tl_assert(ocacheL2 == NULL); + for (UInt i = 0; i < 4096; i++ ) { + tl_assert(ocachesL2[i] == NULL); + } /* Check some important stuff. See extensive comments above re UNALIGNED_OR_HIGH for background. */ |
|
From: Paul F. <pa...@so...> - 2021-12-07 19:06:17
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=23de71004b30a1069fbb3e2327baed9802efe609 commit 23de71004b30a1069fbb3e2327baed9802efe609 Author: Paul Floyd <pj...@wa...> Date: Tue Dec 7 20:04:10 2021 +0100 Add a Helgrind suppression for FreeBSD, libc++ std::thread terminaton Diff: --- freebsd-helgrind.supp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/freebsd-helgrind.supp b/freebsd-helgrind.supp index 8a5018384c..c09a361801 100644 --- a/freebsd-helgrind.supp +++ b/freebsd-helgrind.supp @@ -174,3 +174,13 @@ Helgrind:Race obj:/usr/lib*/libomp.so } +{ + HELGRIND-CXX-UNWIND + Helgrind:Race + obj:/lib/libcxxrt.so.1 + obj:/lib/libthr.so.3 + obj:/lib/libthr.so.3 + obj:/lib/libthr.so.3 + obj:/lib/libgcc_s.so.1 + fun:_Unwind_ForcedUnwind +} |
|
From: Nicholas N. <nj...@so...> - 2021-12-05 21:58:00
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=624fcaa4af8c923b07f6953fef3c5424eefb2ec1 commit 624fcaa4af8c923b07f6953fef3c5424eefb2ec1 Author: Nicholas Nethercote <n.n...@gm...> Date: Mon Dec 6 08:54:41 2021 +1100 Add a test for `cg_diff`. Diff: --- cachegrind/tests/Makefile.am | 1 + cachegrind/tests/cgout-test2 | 3543 ++++++++++++++++++++++++++++++++++++++ cachegrind/tests/diff.post.exp | 35 + cachegrind/tests/diff.stderr.exp | 17 + cachegrind/tests/diff.vgtest | 6 + 5 files changed, 3602 insertions(+) diff --git a/cachegrind/tests/Makefile.am b/cachegrind/tests/Makefile.am index 7eb20e294b..2ce7426677 100644 --- a/cachegrind/tests/Makefile.am +++ b/cachegrind/tests/Makefile.am @@ -18,6 +18,7 @@ EXTRA_DIST = \ ann2.post.exp ann2.stderr.exp ann2.vgtest \ chdir.vgtest chdir.stderr.exp \ clreq.vgtest clreq.stderr.exp \ + diff.post.exp diff.stderr.exp diff.vgtest \ dlclose.vgtest dlclose.stderr.exp dlclose.stdout.exp \ notpower2.vgtest notpower2.stderr.exp \ test.c a.c \ diff --git a/cachegrind/tests/cgout-test2 b/cachegrind/tests/cgout-test2 new file mode 100644 index 0000000000..376a3b6450 --- /dev/null +++ b/cachegrind/tests/cgout-test2 @@ -0,0 +1,3543 @@ +desc: I1 cache: 32768 B, 64 B, 8-way associative +desc: D1 cache: 32768 B, 64 B, 8-way associative +desc: LL cache: 19922944 B, 64 B, 19-way associative +cmd: ./a.out +events: Ir I1mr ILmr Dr D1mr DLmr Dw D1mw DLmw +fl=/build/glibc-OTsEL5/glibc-2.27/csu/../csu/init-first.c +fn=_init +52 8 1 1 0 0 0 4 0 0 +55 4 1 1 1 1 0 1 0 0 +62 5 1 1 4 1 0 0 0 0 +67 1 0 0 0 0 0 1 1 1 +68 1 0 0 0 0 0 1 0 0 +69 2 0 0 1 1 0 1 1 1 +81 4 0 0 0 0 0 1 0 0 +84 1 0 0 0 0 0 1 0 0 +89 6 0 0 5 0 0 0 0 0 +fl=/build/glibc-OTsEL5/glibc-2.27/csu/../csu/libc-start.c +fn=(below main) +137 10 2 2 0 0 0 7 0 0 +141 4 0 0 1 0 0 1 0 0 +239 2 0 0 0 0 0 0 0 0 +240 4 0 0 0 0 0 1 0 0 +262 4 1 1 2 0 0 0 0 0 +265 2 0 0 0 0 0 0 0 0 +266 5 0 0 4 0 0 1 0 0 +270 4 0 0 2 0 0 0 0 0 +285 2 1 1 0 0 0 0 0 0 +297 2 0 0 0 0 0 1 0 0 +298 2 0 0 0 0 0 0 0 0 +303 2 0 0 1 1 0 1 0 0 +304 2 0 0 1 0 0 1 0 0 +307 2 0 0 0 0 0 1 0 0 +310 6 1 1 5 0 0 1 0 0 +344 2 0 0 0 0 0 1 0 0 +fl=/build/glibc-OTsEL5/glibc-2.27/csu/../sysdeps/generic/dl-hash.h +fn=_init +43 1 0 0 0 0 0 0 0 0 +44 1 0 0 0 0 0 0 0 0 +45 13 0 0 4 1 0 0 0 0 +48 12 0 0 0 0 0 0 0 0 +62 16 0 0 0 0 0 0 0 0 +67 1 0 0 0 0 0 0 0 0 +fl=/build/glibc-OTsEL5/glibc-2.27/csu/../sysdeps/unix/sysv/linux/x86_64/init-first.c +fn=_init +36 7 2 2 0 0 0 3 0 0 +38 4 0 0 0 0 0 1 0 0 +40 3 0 0 0 0 0 0 0 0 +41 2 1 1 1 0 0 0 0 0 +42 1 0 0 0 0 0 1 1 1 +44 3 0 0 0 0 0 1 0 0 +45 2 0 0 1 0 0 0 0 0 +46 1 0 0 0 0 0 1 0 0 +fl=/build/glibc-OTsEL5/glibc-2.27/ctype/ctype-info.c +fn=__ctype_init +31 7 2 2 5 3 0 1 0 0 +33 4 0 0 2 1 0 1 0 0 +35 4 0 0 2 0 0 1 0 0 +36 1 0 0 1 0 0 0 0 0 +fl=/build/glibc-OTsEL5/glibc-2.27/dlfcn/dlerror.c +fn=check_free +186 5 1 1 1 0 0 2 0 0 +187 3 0 0 1 1 0 0 0 0 +202 6 1 1 4 0 0 0 0 0 +fn=fini +209 2 1 1 0 0 0 0 0 0 +fl=/build/glibc-OTsEL5/glibc-2.27/dlfcn/dlfcn.c +fn=init +29 1 1 1 0 0 0 1 1 0 +30 1 0 0 0 0 0 1 0 0 +31 1 0 0 1 0 0 0 0 0 +fl=/build/glibc-OTsEL5/glibc-2.27/elf/../elf/dl-runtime.c +fn=_dl_fixup +66 12 1 0 0 0 0 4 0 0 +68 4 0 0 4 0 0 0 0 0 +69 8 1 1 8 0 0 0 0 0 +72 20 0 0 8 2 0 0 0 0 +73 28 0 0 8 4 0 4 0 0 +75 12 0 0 8 0 0 0 0 0 +80 8 1 1 0 0 0 0 0 0 +84 8 0 0 4 4 4 0 0 0 +88 12 0 0 4 1 0 0 0 0 +92 8 0 0 8 2 0 0 0 0 +93 16 0 0 4 0 0 0 0 0 +95 20 1 1 4 1 0 0 0 0 +101 4 0 0 0 0 0 0 0 0 +102 12 0 0 4 0 0 0 0 0 +112 40 1 1 8 1 0 12 0 0 +116 20 0 0 12 0 0 0 0 0 +126 28 0 0 8 0 0 0 0 0 +134 4 0 0 4 0 0 0 0 0 +142 16 0 0 4 0 0 0 0 0 +146 12 1 1 4 0 0 0 0 0 +150 12 0 0 8 0 0 0 0 0 +fl=/build/glibc-OTsEL5/glibc-2.27/elf/../elf/dl-sysdep.c +fn=_dl_sysdep_start +88 8 1 1 0 0 0 6 0 0 +89 10 1 1 4 1 1 5 0 0 +90 1 0 0 0 0 0 0 0 0 +112 1 0 0 0 0 0 1 0 0 +113 303 1 1 99 13 13 4 3 3 +116 2 0 0 0 0 0 1 1 1 +117 1 1 1 0 0 0 1 0 0 +119 126 5 5 32 4 4 13 1 1 +120 110 0 0 18 3 3 0 0 0 +123 1 0 0 1 0 0 0 0 0 +126 1 1 1 1 0 0 0 0 0 +129 1 1 1 1 0 0 0 0 0 +130 1 0 0 0 0 0 0 0 0 +132 1 0 0 1 1 1 0 0 0 +133 1 0 0 0 0 0 0 0 0 +153 1 1 1 1 0 0 0 0 0 +154 1 0 0 0 0 0 0 0 0 +156 1 0 0 1 0 0 0 0 0 +157 1 0 0 0 0 0 0 0 0 +159 2 2 2 1 1 1 1 0 0 +160 1 0 0 0 0 0 1 0 0 +165 2 0 0 1 0 0 1 0 0 +166 1 0 0 0 0 0 1 0 0 +181 2 1 1 1 0 0 1 0 0 +182 1 0 0 0 0 0 1 0 0 +224 1 0 0 0 0 0 1 0 0 +236 2 1 1 0 0 0 2 0 0 +238 5 0 0 0 0 0 1 0 0 +250 3 0 0 1 0 0 0 0 0 +253 5 1 1 1 0 0 1 0 0 +254 1 1 0 1 1 0 0 0 0 +255 8 0 0 7 1 0 0 0 0 +fn=_dl_sysdep_start_cleanup +260 1 1 1 1 0 0 0 0 0 +fl=/build/glibc-OTsEL5/glibc-2.27/elf/../elf/dl-tls.c +fn=_dl_add_to_slotinfo +887 4 1 1 0 0 0 3 0 0 +893 2 1 1 1 0 0 0 0 0 +896 1 0 0 1 1 0 0 0 0 +901 7 0 0 2 0 0 0 0 0 +942 1 0 0 0 0 0 1 0 0 +943 1 1 1 0 0 0 1 0 0 +944 4 0 0 4 0 0 0 0 0 +fn=_dl_allocate_tls_init +437 9 1 1 0 0 0 7 0 0 +438 2 0 0 0 0 0 0 0 0 +442 2 1 1 1 0 0 1 0 0 +444 2 0 0 0 0 0 0 0 0 +445 1 0 0 0 0 0 0 0 0 +448 3 0 0 2 1 0 0 0 0 +460 2 0 0 1 0 0 1 0 0 +465 11 1 1 2 0 0 1 0 0 +471 15 0 0 0 0 0 1 0 0 +474 1 1 1 1 0 0 0 0 0 +475 2 0 0 0 0 0 0 0 0 +481 3 0 0 2 0 0 0 0 0 +482 2 0 0 0 0 0 0 0 0 +484 6 1 1 2 0 0 1 1 1 +485 1 0 0 0 0 0 1 0 0 +487 2 0 0 0 0 0 0 0 0 +488 2 0 0 1 0 0 0 0 0 +491 2 0 0 0 0 0 0 0 0 +492 4 1 1 2 0 0 0 0 0 +494 2 0 0 0 0 0 0 0 0 +495 2 0 0 1 0 0 0 0 0 +504 1 0 0 0 0 0 1 0 0 +507 15 1 1 6 0 0 2 0 0 +517 1 1 1 0 0 0 0 0 0 +521 3 0 0 2 0 0 1 0 0 +524 8 1 1 7 0 0 0 0 0 +fn=_dl_allocate_tls_storage +285 2 0 0 1 0 0 0 0 0 +286 3 1 1 0 0 0 1 0 0 +287 2 0 0 0 0 0 0 0 0 +290 1 0 0 0 0 0 1 0 0 +296 2 0 0 0 0 0 1 0 0 +332 3 1 1 0 0 0 3 0 0 +334 1 0 0 1 0 0 0 0 0 +345 1 0 0 1 0 0 0 0 0 +346 2 0 0 0 0 0 1 0 0 +347 3 0 0 0 0 0 0 0 0 +355 4 0 0 0 0 0 0 0 0 +356 1 0 0 0 0 0 0 0 0 +360 297 1 1 0 0 0 289 36 36 +379 1 0 0 0 0 0 1 1 1 +385 5 0 0 4 0 0 0 0 0 +fn=_dl_count_modids +113 2 1 1 1 0 0 0 0 0 +114 2 0 0 2 1 1 0 0 0 +fn=_dl_determine_tlsoffset +135 5 0 0 0 0 0 5 0 0 +136 2 1 1 0 0 0 0 0 0 +137 1 0 0 0 0 0 0 0 0 +138 1 0 0 0 0 0 0 0 0 +141 3 2 2 1 0 0 0 0 0 +144 2 0 0 1 0 0 0 0 0 +178 1 0 0 0 0 0 0 0 0 +180 13 1 1 2 0 0 0 0 0 +182 4 0 0 1 0 0 0 0 0 +184 3 0 0 1 0 0 0 0 0 +185 2 1 1 1 0 0 0 0 0 +187 2 0 0 0 0 0 0 0 0 +189 5 1 1 1 0 0 0 0 0 +205 8 0 0 0 0 0 0 0 0 +207 2 0 0 0 0 0 0 0 0 +208 2 0 0 0 0 0 0 0 0 +217 1 0 0 0 0 0 1 0 0 +220 1 0 0 0 0 0 1 0 0 +221 1 0 0 0 0 0 1 0 0 +272 1 0 0 0 0 0 1 0 0 +273 6 0 0 6 0 0 0 0 0 +fn=_dl_get_tls_static_info +309 2 1 1 1 0 0 1 1 1 +310 2 0 0 1 0 0 1 0 0 +311 1 0 0 1 0 0 0 0 0 +fn=_dl_next_tls_modid +51 4 1 1 2 0 0 0 0 0 +99 1 0 0 0 0 0 1 0 0 +103 1 0 0 1 0 0 0 0 0 +fl=/build/glibc-OTsEL5/glibc-2.27/elf/../misc/sbrk.c +fn=sbrk +32 4 1 1 0 0 0 2 0 0 +40 6 0 0 2 0 0 0 0 0 +44 2 1 1 0 0 0 0 0 0 +60 5 0 0 3 0 0 0 0 0 +fl=/build/glibc-OTsEL5/glibc-2.27/elf/../sysdeps/generic/ldsodefs.h +fn=_dl_relocate_object +102 399 1 1 133 0 0 0 0 0 +fn=do_lookup_x +102 354 1 1 118 0 0 0 0 0 +fl=/build/glibc-OTsEL5/glibc-2.27/elf/../sysdeps/posix/dl-fileid.h +fn=_dl_map_object_from_fd +37 30 0 0 0 0 0 5 0 0 +40 5 0 0 5 0 0 0 0 0 +41 10 1 1 5 0 0 5 0 0 +49 70 1 1 40 1 1 0 0 0 +fl=/build/glibc-OTsEL5/glibc-2.27/elf/../sysdeps/unix/sysv/linux/dl-osinfo.h +fn=dl_main +64 2 0 0 1 1 0 0 0 0 +77 1 0 0 1 0 0 0 0 0 +fl=/build/glibc-OTsEL5/glibc-2.27/elf/../sysdeps/unix/sysv/linux/dl-sysdep.c +fn=_dl_discover_osversion +45 4 1 1 0 0 0 3 0 0 +47 3 0 0 1 0 0 0 0 0 +87 5 2 2 0 0 0 1 1 1 +102 1 0 0 0 0 0 0 0 0 +106 1 0 0 0 0 0 0 0 0 +107 1 0 0 0 0 0 0 0 0 +109 12 0 0 3 1 1 0 0 0 +111 6 0 0 0 0 0 0 0 0 +113 17 0 0 4 0 0 0 0 0 +115 1 0 0 0 0 0 0 0 0 +116 2 0 0 0 0 0 0 0 0 +119 3 0 0 0 0 0 0 0 0 +120 3 1 1 0 0 0 0 0 0 +121 3 0 0 0 0 0 0 0 0 +123 13 0 0 0 0 0 0 0 0 +128 2 0 0 0 0 0 0 0 0 +132 5 0 0 4 0 0 0 0 0 +fn=_dl_sysdep_start +35 2 0 0 0 0 0 1 0 0 +fl=/build/glibc-OTsEL5/glibc-2.27/elf/../sysdeps/unix/sysv/linux/dl-vdso.c +fn=_dl_vdso_vsym +25 20 2 2 4 1 0 4 0 0 +26 8 0 0 8 1 0 0 0 0 +27 4 1 1 0 0 0 0 0 0 +30 8 0 0 0 0 0 0 0 0 +47 4 0 0 0 0 0 0 0 0 +48 24 1 1 12 0 0 0 0 0 +fl=/build/glibc-OTsEL5/glibc-2.27/elf/../sysdeps/unix/sysv/linux/not-errno.h +fn=_dl_important_hwcaps +28 4 1 1 0 0 0 0 0 0 +fn=_dl_load_cache_lookup +28 16 0 0 0 0 0 0 0 0 +32 12 1 1 0 0 0 0 0 0 +fl=/build/glibc-OTsEL5/glibc-2.27/elf/../sysdeps/unix/sysv/linux/x86_64/brk.c +fn=brk +31 7 1 1 0 0 0 1 1 1 +33 2 0 0 0 0 0 0 0 0 +39 1 0 0 0 0 0 0 0 0 +40 1 0 0 1 0 0 0 0 0 +fl=/build/glibc-OTsEL5/glibc-2.27/elf/../sysdeps/x86/cpu-features.c +fn=_dl_sysdep_start +184 1 0 0 0 0 0 1 0 0 +185 1 1 1 0 0 0 1 0 0 +196 3 0 0 0 0 0 1 0 0 +199 6 0 0 0 0 0 0 0 0 +203 1 0 0 0 0 0 0 0 0 +205 6 2 2 0 0 0 1 0 0 +208 3 0 0 1 0 0 0 0 0 +210 5 1 1 4 0 0 1 0 0 +211 7 0 0 1 1 1 0 0 0 +217 2 1 1 0 0 0 1 0 0 +296 3 0 0 0 0 0 1 0 0 +305 4 0 0 0 0 0 0 0 0 +312 8 0 0 1 0 0 1 0 0 +366 3 1 1 1 0 0 0 0 0 +367 1 0 0 1 0 0 0 0 0 +370 2 0 0 0 0 0 0 0 0 +371 1 0 0 1 0 0 0 0 0 +377 1 0 0 0 0 0 1 0 0 +378 1 0 0 0 0 0 1 0 0 +379 1 0 0 0 0 0 1 0 0 +382 4 1 1 0 0 0 1 0 0 +384 6 0 0 1 0 0 2 0 0 +386 6 1 1 1 0 0 2 0 0 +388 6 0 0 1 0 0 2 0 0 +399 1 0 0 0 0 0 1 0 0 +400 2 0 0 1 0 0 0 0 0 +404 3 1 1 1 0 0 0 0 0 +423 3 1 1 0 0 0 0 0 0 +425 4 1 1 1 0 0 0 0 0 +428 4 0 0 1 0 0 0 0 0 +429 2 0 0 0 0 0 0 0 0 +432 2 0 0 0 0 0 1 0 0 +fn=get_common_indeces.constprop.1 +34 2 1 1 0 0 0 1 0 0 +38 4 0 0 0 0 0 0 0 0 +41 5 0 0 0 0 0 3 0 0 +44 1 0 0 0 0 0 1 0 0 +45 4 1 1 0 0 0 1 0 0 +46 4 0 0 0 0 0 1 0 0 +47 4 0 0 0 0 0 1 0 0 +48 3 0 0 0 0 0 1 0 0 +49 2 1 1 1 0 0 0 0 0 +56 2 0 0 1 0 0 0 0 0 +57 7 0 0 0 0 0 4 0 0 +64 3 1 1 1 0 0 0 0 0 +68 2 0 0 0 0 0 0 0 0 +70 4 0 0 0 0 0 0 0 0 +74 2 1 1 0 0 0 0 0 0 +77 4 0 0 1 1 1 1 0 0 +80 2 0 0 1 0 0 0 0 0 +82 3 0 0 0 0 0 1 0 0 +84 2 0 0 0 0 0 0 0 0 +86 3 0 0 0 0 0 1 0 0 +91 3 1 1 0 0 0 0 0 0 +110 2 0 0 1 0 0 0 0 0 +114 4 0 0 0 0 0 0 0 0 +115 2 0 0 0 0 0 0 0 0 +117 1 0 0 0 0 0 0 0 0 +118 1 0 0 0 0 0 0 0 0 +121 2 1 1 0 0 0 1 0 0 +123 1 0 0 0 0 0 1 0 0 +125 3 0 0 0 0 0 0 0 0 +128 2 0 0 0 0 0 0 0 0 +178 3 1 1 2 0 0 0 0 0 +fl=/build/glibc-OTsEL5/glibc-2.27/elf/../sysdeps/x86/dl-hwcap.h +fn=_dl_important_hwcaps +57 6 0 0 0 0 0 2 0 0 +fl=/build/glibc-OTsEL5/glibc-2.27/elf/../sysdeps/x86/dl-procinfo.h +fn=_dl_load_cache_lookup +39 16 1 1 0 0 0 4 0 0 +42 32 0 0 0 0 0 8 2 2 +fl=/build/glibc-OTsEL5/glibc-2.27/elf/../sysdeps/x86_64/dl-machine.h +fn=_dl_fixup +242 4 0 0 0 0 0 4 0 0 +fn=_dl_relocate_object +76 26 0 0 7 0 0 0 0 0 +82 8 1 1 8 3 0 0 0 0 +86 12 0 0 4 4 3 0 0 0 +92 4 0 0 0 0 0 4 0 0 +100 12 1 1 4 0 0 0 0 0 +120 8 0 0 4 0 0 0 0 0 +122 8 0 0 0 0 0 4 0 0 +124 16 1 1 4 0 0 0 0 0 +131 15 1 1 5 4 1 0 0 0 +276 300 0 0 0 0 0 0 0 0 +297 300 0 0 0 0 0 0 0 0 +301 300 1 1 0 0 0 0 0 0 +308 6268 11 11 1205 125 101 918 6 0 +310 667 0 0 268 0 0 0 0 0 +313 536 2 2 134 0 0 0 0 0 +316 10 1 1 4 0 0 0 0 0 +319 4 0 0 0 0 0 0 0 0 +320 6 0 0 2 0 0 0 0 0 +321 4 0 0 0 0 0 0 0 0 +325 2 1 1 0 0 0 2 0 0 +332 8 0 0 2 0 0 2 0 0 +335 900 0 0 150 3 3 0 0 0 +430 60 1 1 20 0 0 0 0 0 +434 80 0 0 20 1 0 0 0 0 +439 60 0 0 40 2 2 0 0 0 +448 60 0 0 20 0 0 20 8 8 +458 520 1 1 260 17 16 130 19 13 +481 21 0 0 0 0 0 7 0 0 +491 12 0 0 0 0 0 6 0 0 +535 3957 1 1 1319 333 330 0 0 0 +540 2638 0 0 0 0 0 0 0 0 +541 3957 0 0 1319 165 165 1319 253 246 +551 280 0 0 140 0 0 0 0 0 +555 202 0 0 0 0 0 0 0 0 +557 303 0 0 101 2 0 0 0 0 +558 101 0 0 101 15 14 0 0 0 +575 78 0 0 78 1 1 0 0 0 +577 39 0 0 0 0 0 39 0 0 +578 39 0 0 0 0 0 39 2 2 +fn=_dl_start +59 3 0 0 1 1 1 0 0 0 +301 27 0 0 0 0 0 0 0 0 +310 45 0 0 18 1 1 0 0 0 +313 36 0 0 9 7 7 0 0 0 +335 55 0 0 9 1 1 0 0 0 +354 27 1 1 9 1 1 9 2 2 +422 1 0 0 0 0 0 0 0 0 +540 78 0 0 39 5 5 0 0 0 +541 117 1 1 39 5 5 39 21 21 +fl=/build/glibc-OTsEL5/glibc-2.27/elf/../sysdeps/x86_64/dl-trampoline.h +fn=_dl_runtime_resolve_xsave +71 4 1 1 0 0 0 4 0 0 +74 4 0 0 0 0 0 0 0 0 +76 4 0 0 0 0 0 0 0 0 +86 4 0 0 4 0 0 0 0 0 +92 4 0 0 0 0 0 4 0 0 +93 4 0 0 0 0 0 4 0 0 +94 4 0 0 0 0 0 4 0 0 +95 4 0 0 0 0 0 4 0 0 +96 4 0 0 0 0 0 4 0 0 +97 4 0 0 0 0 0 4 0 0 +98 4 0 0 0 0 0 4 0 0 +102 4 0 0 0 0 0 0 0 0 +103 4 0 0 0 0 0 0 0 0 +106 4 0 0 0 0 0 4 0 0 +107 4 1 1 0 0 0 4 0 0 +109 4 0 0 0 0 0 4 0 0 +110 4 0 0 0 0 0 4 0 0 +111 4 0 0 0 0 0 4 0 0 +112 4 0 0 0 0 0 4 0 0 +113 4 0 0 0 0 0 4 0 0 +114 4 0 0 0 0 0 4 0 0 +116 4 0 0 4 0 0 132 1 0 +123 4 1 1 4 0 0 0 0 0 +124 4 0 0 4 0 0 0 0 0 +125 4 0 0 0 0 0 4 0 0 +126 4 0 0 0 0 0 0 0 0 +131 4 0 0 0 0 0 0 0 0 +132 4 0 0 0 0 0 0 0 0 +133 4 0 0 144 0 0 0 0 0 +135 4 0 0 4 0 0 0 0 0 +136 4 0 0 4 0 0 0 0 0 +137 4 0 0 4 0 0 0 0 0 +138 4 0 0 4 0 0 0 0 0 +139 4 0 0 4 0 0 0 0 0 +140 4 0 0 4 0 0 0 0 0 +141 4 0 0 4 0 0 0 0 0 +143 4 0 0 0 0 0 0 0 0 +145 4 1 1 4 0 0 0 0 0 +149 4 0 0 0 0 0 0 0 0 +152 4 0 0 0 0 0 0 0 0 +fl=/build/glibc-OTsEL5/glibc-2.27/elf/./dl-load.h +fn=_dl_map_object_from_fd +90 20 0 0 10 0 0 0 0 0 +91 15 1 1 10 0 0 5 0 0 +93 20 0 0 10 0 0 0 0 0 +94 15 1 1 9 0 0 0 0 0 +95 18 1 1 6 0 0 0 0 0 +96 12 0 0 3 0 0 0 0 0 +98 12 0 0 0 0 0 3 0 0 +fl=/build/glibc-OTsEL5/glibc-2.27/elf/./dl-map-segments.h +fn=_dl_map_object_from_fd +50 10 0 0 5 0 0 0 0 0 +56 35 1 1 15 0 0 15 1 1 +60 15 1 1 5 0 0 0 0 0 +63 15 0 0 5 0 0 5 0 0 +64 10 0 0 0 0 0 5 0 0 +66 10 0 0 0 0 0 0 0 0 +73 60 1 1 20 0 0 5 0 0 +80 10 0 0 10 0 0 0 0 0 +90 50 1 1 10 0 0 0 0 0 +92 30 0 0 15 0 0 5 0 0 +94 50 1 1 15 0 0 5 0 0 +104 40 0 0 20 0 0 0 0 0 +110 10 0 0 5 0 0 0 0 0 +111 5 0 0 0 0 0 0 0 0 +112 25 0 0 5 0 0 0 0 0 +113 10 0 0 0 0 0 0 0 0 +120 10 1 1 0 0 0 0 0 0 +123 10 0 0 5 0 0 0 0 0 +131 45 0 0 10 0 0 15 0 0 +137 10 1 1 0 0 0 0 0 0 +141 16 0 0 2 0 0 2 0 0 +144 4 0 0 0 0 0 0 0 0 +149 10 0 0 0 0 0 0 0 0 +fl=/build/glibc-OTsEL5/glibc-2.27/elf/dl-cache.c +fn=_dl_cache_libcmp +141 86 1 1 86 29 29 0 0 0 +142 560 0 0 0 0 0 0 0 0 +144 1084 1 1 0 0 0 0 0 0 +146 22 0 0 0 0 0 0 0 0 +152 40 1 1 0 0 0 0 0 0 +153 30 0 0 0 0 0 0 0 0 +154 40 0 0 10 0 0 0 0 0 +156 40 1 1 10 0 0 0 0 0 +158 20 0 0 0 0 0 0 0 0 +162 2 0 0 1 0 0 0 0 0 +164 520 0 0 0 0 0 0 0 0 +166 974 0 0 454 5 5 0 0 0 +167 99 0 0 33 0 0 0 0 0 +170 227 0 0 0 0 0 0 0 0 +171 227 0 0 0 0 0 0 0 0 +174 27 0 0 9 0 0 0 0 0 +fn=_dl_load_cache_lookup +187 36 1 1 0 0 0 24 0 0 +195 8 1 1 4 0 0 0 0 0 +198 12 0 0 4 1 1 0 0 0 +201 5 1 1 0 0 0 1 0 0 +209 5 1 1 1 0 0 0 0 0 +210 7 0 0 3 1 1 0 0 0 +214 1 0 0 0 0 0 1 0 0 +217 4 1 1 1 0 0 0 0 0 +220 2 0 0 0 0 0 1 0 0 +221 3 0 0 0 0 0 0 0 0 +222 8 1 1 3 2 2 0 0 0 +243 16 0 0 6 0 0 0 0 0 +249 8 0 0 0 0 0 0 0 0 +258 12 0 0 0 0 0 4 0 0 +260 4 0 0 4 0 0 0 0 0 +264 24 1 1 4 0 0 8 0 0 +266 8 0 0 0 0 0 0 0 0 +270 56 2 2 16 0 0 12 0 0 +271 12 0 0 4 0 0 0 0 0 +285 970 9 9 137 29 29 76 0 0 +297 11 2 2 4 0 0 0 0 0 +301 8 0 0 4 0 0 0 0 0 +305 8 0 0 4 0 0 0 0 0 +313 36 1 1 4 0 0 4 0 0 +314 12 0 0 0 0 0 4 0 0 +315 8 0 0 0 0 0 4 0 0 +316 32 0 0 28 0 0 0 0 0 +fn=_dl_unload_cache +325 1 0 0 0 0 0 0 0 0 +326 4 1 1 1 1 0 0 0 0 +328 2 0 0 1 0 0 1 0 0 +329 1 1 1 0 0 0 1 0 0 +331 2 0 0 1 0 0 0 0 0 +fl=/build/glibc-OTsEL5/glibc-2.27/elf/dl-debug.c +fn=_dl_debug_initialize +49 14 1 1 0 0 0 0 0 0 +50 7 1 1 7 0 0 0 0 0 +54 26 0 0 7 0 0 0 0 0 +57 1 0 0 0 0 0 1 0 0 +58 9 0 0 6 0 0 1 0 0 +59 5 1 1 1 0 0 1 0 0 +60 2 0 0 0 0 0 1 0 0 +64 1 0 0 1 0 0 0 0 0 +fn=_dl_debug_state +74 2 0 0 2 0 0 0 0 0 +fl=/build/glibc-OTsEL5/glibc-2.27/elf/dl-deps.c +fn=_dl_map_object_deps +143 7 0 0 0 0 0 3 1 1 +144 3 0 0 0 0 0 3 0 0 +145 12 1 1 0 0 0 3 0 0 +147 3 0 0 0 0 0 0 0 0 +151 12 1 1 3 0 0 3 0 0 +158 11 1 1 0 0 0 8 0 0 +159 9 1 1 0 0 0 0 0 0 +175 13 0 0 2 0 0 2 0 0 +176 2 0 0 2 0 0 0 0 0 +179 1 1 1 0 0 0 1 0 0 +185 1 0 0 0 0 0 1 0 0 +186 1 0 0 0 0 0 1 0 0 +198 6 1 1 1 0 0 4 0 0 +199 3 1 1 1 0 0 0 0 0 +200 2 0 0 0 0 0 2 0 0 +206 7 0 0 0 0 0 0 0 0 +209 7 0 0 0 0 0 7 0 0 +213 28 0 0 14 1 0 0 0 0 +214 46 1 1 20 0 0 0 0 0 +216 5 0 0 0 0 0 0 0 0 +218 20 1 1 10 0 0 0 0 0 +220 39 0 0 0 0 0 6 0 0 +225 29 3 3 18 2 2 0 0 0 +227 15 0 0 15 0 0 0 0 0 +232 5 0 0 0 0 0 5 0 0 +233 10 0 0 0 0 0 5 0 0 +234 10 0 0 5 0 0 5 0 0 +235 10 0 0 5 0 0 5 0 0 +238 571 1 1 149 7 0 5 0 0 +239 268 1 1 0 0 0 0 0 0 +245 63 0 0 9 0 0 9 0 0 +247 9 0 0 0 0 0 9 0 0 +249 36 1 1 9 0 0 9 0 0 +250 18 0 0 9 0 0 0 0 0 +259 9 0 0 9 0 0 0 0 0 +261 18 0 0 9 0 0 0 0 0 +266 12 0 0 0 0 0 0 0 0 +269 4 0 0 0 0 0 4 1 0 +270 4 0 0 0 0 0 4 0 0 +271 4 0 0 0 0 0 4 0 0 +272 8 0 0 4 0 0 4 0 0 +274 4 1 1 4 0 0 0 0 0 +276 20 0 0 4 0 0 8 0 0 +280 18 0 0 0 0 0 0 0 0 +281 24 0 0 0 0 0 8 0 0 +283 375 0 0 0 0 0 0 0 0 +304 10 0 0 0 0 0 5 0 0 +434 15 1 1 0 0 0 0 0 0 +436 15 0 0 0 0 0 5 0 0 +438 10 0 0 0 0 0 5 0 0 +439 10 1 1 0 0 0 0 0 0 +440 10 0 0 0 0 0 0 0 0 +443 10 0 0 5 0 0 5 1 1 +444 25 0 0 0 0 0 5 0 0 +445 25 0 0 0 0 0 5 0 0 +448 5 0 0 0 0 0 5 0 0 +449 5 0 0 5 0 0 0 0 0 +453 52 1 1 26 0 0 6 0 0 +455 7 1 1 7 0 0 0 0 0 +456 34 0 0 8 0 0 0 0 0 +460 6 2 2 2 0 0 0 0 0 +461 2 0 0 0 0 0 1 0 0 +464 4 0 0 1 0 0 1 0 0 +474 2 0 0 0 0 0 2 0 0 +475 3 1 1 0 0 0 1 0 0 +477 5 0 0 2 0 0 0 0 0 +482 12 0 0 7 0 0 1 0 0 +483 1 0 0 0 0 0 1 0 0 +485 23 1 1 7 0 0 0 0 0 +491 14 0 0 0 0 0 7 2 2 +495 21 0 0 14 0 0 0 0 0 +498 2 0 0 1 0 0 0 0 0 +549 2 1 1 1 0 0 0 0 0 +550 1 0 0 0 0 0 1 0 0 +551 3 0 0 1 0 0 0 0 0 +573 12 1 1 0 0 0 6 0 0 +586 7 1 1 1 0 0 2 0 0 +590 5 0 0 0 0 0 1 0 0 +593 1 0 0 0 0 0 1 0 0 +595 1 1 1 0 0 0 1 0 0 +596 1 0 0 1 0 0 0 0 0 +597 4 0 0 2 0 0 0 0 0 +604 3 1 1 1 0 0 0 0 0 +607 2 0 0 0 0 0 0 0 0 +610 8 0 0 7 0 0 0 0 0 +fn=openaux +60 18 1 1 0 0 0 9 0 0 +63 90 1 1 36 0 0 18 1 1 +64 18 0 0 9 0 0 0 0 0 +67 9 0 0 9 0 0 0 0 0 +68 18 0 0 18 0 0 0 0 0 +fl=/build/glibc-OTsEL5/glibc-2.27/elf/dl-environ.c +fn=_dl_next_ld_env_entry +29 3 1 1 3 0 0 0 0 0 +32 294 0 0 98 0 0 0 0 0 +34 194 1 1 97 0 0 0 0 0 +35 20 0 0 10 0 0 0 0 0 +37 2 0 0 0 0 0 0 0 0 +40 4 0 0 0 0 0 2 0 0 +42 2 0 0 2 0 0 0 0 0 +45 95 0 0 0 0 0 0 0 0 +49 1 0 0 1 0 0 0 0 0 +fl=/build/glibc-OTsEL5/glibc-2.27/elf/dl-error-skeleton.c +fn=_dl_catch_error +213 14 1 1 0 0 0 6 0 0 +215 8 0 0 0 0 0 2 0 0 +216 4 0 0 2 0 0 2 0 0 +217 4 0 0 2 0 0 2 0 0 +218 4 0 0 2 0 0 2 0 0 +220 10 1 1 8 0 0 0 0 0 +fn=_dl_catch_exception +175 44 1 1 0 0 0 33 0 0 +187 22 0 0 0 0 0 22 2 2 +188 22 0 0 0 0 0 11 0 0 +190 22 0 0 11 0 0 11 0 0 +191 22 1 1 0 0 0 11 0 0 +194 66 0 0 0 0 0 11 0 0 +196 33 0 0 22 0 0 11 0 0 +197 22 1 1 11 0 0 11 0 0 +198 44 0 0 11 0 0 22 0 0 +207 44 0 0 22 0 0 0 0 0 +fn=_dl_receive_error +226 3 0 0 0 0 0 2 0 0 +227 1 0 0 1 0 0 0 0 0 +228 1 0 0 1 0 0 0 0 0 +231 1 0 0 0 0 0 1 0 0 +232 1 0 0 0 0 0 1 0 0 +234 2 0 0 0 0 0 1 0 0 +236 1 1 1 0 0 0 1 0 0 +237 1 0 0 0 0 0 1 0 0 +238 4 0 0 3 0 0 0 0 0 +fl=/build/glibc-OTsEL5/glibc-2.27/elf/dl-fini.c +fn=_dl_fini +30 8 1 1 0 0 0 6 0 0 +47 6 0 0 0 0 0 1 0 0 +50 7 1 1 1 0 0 0 0 0 +53 2 1 1 1 0 0 1 0 0 +55 1 0 0 1 0 0 0 0 0 +58 2 0 0 0 0 0 0 0 0 +60 8 0 0 3 0 0 1 0 0 +65 1 0 0 0 0 0 1 0 0 +68 7 1 1 0 0 0 0 0 0 +73 22 0 0 7 0 0 0 0 0 +75 14 0 0 7 0 0 0 0 0 +77 14 0 0 0 0 0 0 0 0 +79 14 0 0 0 0 0 7 0 0 +80 7 0 0 0 0 0 7 3 0 +81 7 1 1 0 0 0 0 0 0 +85 7 0 0 7 0 0 0 0 0 +87 6 0 0 0 0 0 0 0 0 +88 4 0 0 0 0 0 0 0 0 +94 10 2 2 0 0 0 1 0 0 +104 2 0 0 1 0 0 1 0 0 +109 22 1 1 8 0 0 1 0 0 +111 7 1 1 7 0 0 0 0 0 +113 21 0 0 7 0 0 0 0 0 +116 14 0 0 0 0 0 7 0 0 +119 21 0 0 7 1 0 0 0 0 +120 6 0 0 2 0 0 0 0 0 +123 10 0 0 5 0 0 0 0 0 +134 15 0 0 10 2 0 0 0 0 +135 5 1 1 5 0 0 0 0 0 +136 10 0 0 5 0 0 0 0 0 +137 54 1 1 12 1 0 5 0 0 +138 14 0 0 7 1 0 7 0 0 +142 10 0 0 0 0 0 0 0 0 +143 15 0 0 10 1 0 5 0 0 +149 42 0 0 14 0 0 0 0 0 +165 14 0 0 7 0 0 0 0 0 +171 6 0 0 2 0 0 0 0 0 +177 2 0 0 1 0 0 0 0 0 +184 8 0 0 7 0 0 0 0 0 +fl=/build/glibc-OTsEL5/glibc-2.27/elf/dl-hwcaps.c +fn=_dl_important_hwcaps +42 13 2 2 0 0 0 10 2 2 +43 8 0 0 1 0 0 3 0 0 +46 3 0 0 0 0 0 0 0 0 +55 18 1 1 1 0 0 0 0 0 +56 6 0 0 0 0 0 0 0 0 +57 4 0 0 0 0 0 0 0 0 +65 3 0 0 1 0 0 0 0 0 +69 3 1 1 0 0 0 0 0 0 +129 1 0 0 0 0 0 0 0 0 +131 4 0 0 0 0 0 0 0 0 +146 7 1 1 0 0 0 0 0 0 +147 1 0 0 0 0 0 0 0 0 +149 2 0 0 0 0 0 0 0 0 +166 1 0 0 0 0 0 0 0 0 +183 19 1 1 2 0 0 1 0 0 +184 6 1 1 2 0 0 2 1 1 +186 1 0 0 0 0 0 1 1 1 +187 2 0 0 0 0 0 2 0 0 +188 7 0 0 1 0 0 0 0 0 +191 3 0 0 1 0 0 0 0 0 +193 1 0 0 0 0 0 1 0 0 +194 6 1 1 1 0 0 1 0 0 +198 2 0 0 0 0 0 1 0 0 +199 1 0 0 0 0 0 1 0 0 +202 3 0 0 1 0 0 0 0 0 +205 4 0 0 0 0 0 1 0 0 +209 8 1 1 1 0 0 2 0 0 +210 4 0 0 1 0 0 0 0 0 +212 3 0 0 0 0 0 0 0 0 +213 2 1 1 0 0 0 0 0 0 +214 3 0 0 1 0 0 0 0 0 +215 2 0 0 0 0 0 0 0 0 +222 2 0 0 0 0 0 0 0 0 +228 11 1 1 1 0 0 5 0 0 +229 5 0 0 0 0 0 1 0 0 +230 4 1 1 2 0 0 0 0 0 +259 13 0 0 1 0 0 5 0 0 +262 4 1 1 1 0 0 1 0 0 +265 2 1 1 0 0 0 0 0 0 +269 1 0 0 1 0 0 0 0 0 +272 2 0 0 0 0 0 0 0 0 +275 12 0 0 6 0 0 4 0 0 +278 12 0 0 3 0 0 0 0 0 +279 24 2 2 2 0 0 6 0 0 +280 6 0 0 2 0 0 2 0 0 +283 10 1 1 2 0 0 4 0 0 +285 7 0 0 3 0 0 0 0 0 +290 28 1 1 2 0 0 0 0 0 +291 16 0 0 0 0 0 8 1 1 +295 22 0 0 0 0 0 0 0 0 +298 51 0 0 0 0 0 0 0 0 +299 72 1 1 0 0 0 0 0 0 +300 36 0 0 24 0 0 0 0 0 +302 6 0 0 0 0 0 0 0 0 +305 3 0 0 1 0 0 0 0 0 +306 2 1 1 0 0 0 0 0 0 +307 15 1 1 1 0 0 0 0 0 +309 6 0 0 0 0 0 0 0 0 +310 2 0 0 2 0 0 0 0 0 +313 4 0 0 0 0 0 2 0 0 +320 19 0 0 6 0 0 4 0 0 +321 4 0 0 0 0 0 0 0 0 +323 8 0 0 0 0 0 0 0 0 +326 3 0 0 2 0 0 1 0 0 +328 2 1 1 1 0 0 0 0 0 +329 9 1 1 7 0 0 0 0 0 +fl=/build/glibc-OTsEL5/glibc-2.27/elf/dl-init.c +fn=_dl_init +30 24 1 1 8 0 0 0 0 0 +36 14 0 0 0 0 0 7 0 0 +39 28 1 1 14 1 0 0 0 0 +40 3 0 0 0 0 0 0 0 0 +44 18 1 1 6 3 0 0 0 0 +45 3 1 1 1 0 0 0 0 0 +49 10 0 0 5 0 0 0 0 0 +58 36 1 1 15 5 0 6 0 0 +61 1 0 0 1 0 0 0 0 0 +62 10 0 0 0 0 0 0 0 0 +68 15 1 1 10 3 0 0 0 0 +70 14 0 0 10 1 0 0 0 0 +71 53 1 1 9 0 0 7 0 0 +72 33 0 0 7 1 0 7 0 0 +79 11 2 2 0 0 0 6 0 0 +80 1 0 0 1 1 0 0 0 0 +81 1 0 0 1 0 0 0 0 0 +84 3 0 0 1 0 0 0 0 0 +87 2 0 0 0 0 0 1 0 0 +92 2 0 0 0 0 0 0 0 0 +117 2 0 0 1 0 0 0 0 0 +118 24 1 1 0 0 0 0 0 0 +119 21 0 0 14 0 0 0 0 0 +125 8 0 0 7 0 0 0 0 0 +fl=/build/glibc-OTsEL5/glibc-2.27/elf/dl-load.c +fn=_dl_init_paths +623 9 1 1 0 0 0 7 0 0 +636 6 1 1 2 0 0 2 1 1 +640 1 0 0 0 0 0 1 0 0 +641 2 0 0 0 0 0 1 0 0 +642 3 0 0 0 0 0 0 0 0 +649 4 1 1 0 0 0 0 0 0 +650 5 0 0 1 0 0 2 0 0 +653 6 0 0 0 0 0 2 0 0 +655 2 0 0 0 0 0 0 0 0 +661 1 0 0 0 0 0 1 0 0 +662 1 0 0 0 0 0 1 0 0 +664 1 0 0 0 0 0 0 0 0 +670 3 0 0 0 0 0 3 0 0 +672 8 0 0 0 0 0 4 0 0 +673 4 2 2 0 0 0 4 3 3 +675 5 0 0 0 0 0 4 0 0 +676 8 0 0 3 0 0 4 1 1 +677 7 0 0 0 0 0 0 0 0 +680 6 0 0 3 2 2 0 0 0 +681 24 1 1 8 0 0 4 0 0 +684 30 0 0 3 0 0 5 0 0 +690 1 1 1 0 0 0 1 1 1 +691 1 0 0 0 0 0 1 0 0 +695 1 0 0 1 0 0 0 0 0 +696 2 0 0 0 0 0 0 0 0 +698 4 0 0 1 0 0 0 0 0 +700 3 0 0 1 0 0 0 0 0 +717 2 0 0 0 0 0 1 0 0 +719 3 1 1 1 0 0 0 0 0 +733 2 2 2 0 0 0 1 0 0 +738 5 1 1 2 0 0 0 0 0 +740 12 2 2 0 0 0 2 0 0 +744 2 0 0 0 0 0 0 0 0 +745 145 1 1 36 0 0 0 0 0 +746 146 0 0 0 0 0 0 0 0 +749 1 0 0 0 0 0 1 0 0 +750 1 0 0 0 0 0 1 0 0 +751 2 0 0 0 0 0 0 0 0 +757 7 0 0 0 0 0 1 0 0 +760 3 0 0 2 0 0 0 0 0 +766 1 0 0 0 0 0 1 0 0 +770 8 0 0 7 0 0 0 0 0 +fn=_dl_map_object +601 42 2 2 14 0 0 0 0 0 +604 4 0 0 0 0 0 0 0 0 +607 6 1 1 2 0 0 0 0 0 +610 15 1 1 8 0 0 2 0 0 +2080 99 1 1 0 0 0 88 2 2 +2082 5 0 0 0 0 0 5 0 0 +2088 22 0 0 0 0 0 0 0 0 +2089 44 0 0 11 1 1 0 0 0 +2092 193 1 1 46 0 0 0 0 0 +2097 287 1 1 41 0 0 0 0 0 +2099 205 0 0 0 0 0 41 2 2 +2103 70 0 0 35 0 0 0 0 0 +2104 105 0 0 35 0 0 0 0 0 +2107 17 0 0 17 0 0 0 0 0 +2108 34 0 0 34 0 0 0 0 0 +2109 68 0 0 0 0 0 17 0 0 +2125 15 1 1 5 0 0 0 0 0 +2135 15 0 0 5 0 0 0 0 0 +2169 5 0 0 0 0 0 5 2 2 +2171 29 2 2 4 0 0 5 0 0 +2175 16 0 0 0 0 0 8 0 0 +2177 8 0 0 0 0 0 0 0 0 +2184 16 1 1 4 0 0 0 0 0 +2188 16 1 1 4 0 0 4 0 0 +2189 8 0 0 0 0 0 4 0 0 +2193 18 0 0 6 0 0 0 0 0 +2194 1 0 0 0 0 0 0 0 0 +2196 28 0 0 0 0 0 12 0 0 +2208 12 1 1 0 0 0 0 0 0 +2209 28 1 1 4 0 0 4 0 0 +2219 8 1 1 4 0 0 0 0 0 +2220 60 1 1 4 0 0 16 0 0 +2226 20 0 0 0 0 0 0 0 0 +2227 1 0 0 0 0 0 0 0 0 +2235 4 0 0 0 0 0 4 0 0 +2249 8 1 1 0 0 0 0 0 0 +2250 4 1 1 1 0 0 0 0 0 +2251 12 0 0 4 0 0 0 0 0 +2255 12 1 1 0 0 0 4 0 0 +2257 8 0 0 0 0 0 0 0 0 +2261 8 0 0 0 0 0 0 0 0 +2269 12 0 0 4 0 0 0 0 0 +2292 44 1 1 0 0 0 12 0 0 +2296 20 0 0 12 0 0 0 0 0 +2297 8 0 0 0 0 0 4 0 0 +2314 8 1 1 4 0 0 0 0 0 +2320 1 0 0 0 0 0 1 0 0 +2322 6 0 0 0 0 0 1 0 0 +2323 5 1 1 0 0 0 1 0 0 +2327 10 0 0 0 0 0 2 0 0 +2330 5 0 0 3 0 0 0 0 0 +2342 19 1 1 0 0 0 0 0 0 +2344 8 0 0 0 0 0 0 0 0 +2388 10 0 0 5 0 0 5 0 0 +2389 75 1 1 15 0 0 25 0 0 +2391 99 1 1 77 0 0 0 0 0 +fn=_dl_map_object_from_fd +369 4 1 1 2 0 0 0 0 0 +808 75 2 2 0 0 0 55 2 2 +818 20 0 0 5 0 0 10 1 1 +819 5 1 1 0 0 0 5 0 0 +834 95 0 0 30 0 0 0 0 0 +835 40 0 0 20 0 0 0 0 0 +852 10 2 2 5 0 0 0 0 0 +876 20 0 0 5 0 0 5 0 0 +886 10 0 0 5 0 0 0 0 0 +908 20 0 0 10 0 0 0 0 0 +940 10 0 0 0 0 0 0 0 0 +943 40 0 0 25 0 0 5 0 0 +944 10 0 0 0 0 0 0 0 0 +955 15 1 1 10 0 0 5 4 4 +956 20 0 0 10 0 0 10 0 0 +957 10 0 0 5 0 0 5 0 0 +959 15 0 0 0 0 0 0 0 0 +960 20 0 0 10 0 0 0 0 0 +961 5 0 0 0 0 0 0 0 0 +976 15 0 0 0 0 0 10 0 0 +978 5 0 0 0 0 0 5 0 0 +980 50 1 1 0 0 0 10 0 0 +981 5 0 0 0 0 0 0 0 0 +982 5 0 0 0 0 0 0 0 0 +988 255 1 1 0 0 0 0 0 0 +989 297 1 1 40 2 2 0 0 0 +995 10 0 0 5 0 0 0 0 0 +1000 10 0 0 5 0 0 5 0 0 +1001 20 0 0 5 0 0 5 0 0 +1006 4 0 0 2 0 0 2 0 0 +1007 2 0 0 0 0 0 0 0 0 +1012 50 1 1 20 0 0 0 0 0 +1017 80 0 0 20 0 0 0 0 0 +1025 40 0 0 10 0 0 0 0 0 +1026 40 1 1 0 0 0 10 4 4 +1027 50 0 0 10 0 0 10 0 0 +1028 10 0 0 0 0 0 10 2 2 +1029 20 0 0 10 0 0 10 0 0 +1030 20 0 0 0 0 0 10 2 2 +1034 20 1 1 0 0 0 0 0 0 +1035 20 0 0 10 0 0 0 0 0 +1039 20 0 0 0 0 0 0 0 0 +1040 80 0 0 20 0 0 10 0 0 +1050 10 1 1 0 0 0 0 0 0 +1053 3 0 0 1 0 0 0 0 0 +1057 1 0 0 0 0 0 1 1 1 +1058 3 1 1 2 0 0 1 0 0 +1059 2 0 0 0 0 0 0 0 0 +1060 1 0 0 0 0 0 0 0 0 +1062 3 0 0 0 0 0 1 0 0 +1063 2 0 0 1 0 0 1 0 0 +1066 1 0 0 0 0 0 1 0 0 +1070 4 0 0 1 0 0 0 0 0 +1076 3 0 0 1 0 0 2 0 0 +1077 1 0 0 0 0 0 0 0 0 +1085 25 0 0 5 0 0 5 0 0 +1092 10 1 1 5 0 0 5 0 0 +1093 5 0 0 0 0 0 0 0 0 +1096 10 1 1 5 0 0 5 2 2 +1097 10 0 0 5 0 0 5 0 0 +1098 5 0 0 0 0 0 0 0 0 +1101 20 0 0 5 0 0 0 0 0 +1110 10 1 1 0 0 0 0 0 0 +1120 50 0 0 20 0 0 10 0 0 +1132 20 1 1 10 0 0 0 0 0 +1141 15 1 1 5 0 0 5 0 0 +1148 10 1 1 0 0 0 0 0 0 +1163 15 0 0 5 0 0 0 0 0 +1182 10 0 0 5 0 0 5 0 0 +1184 25 1 1 10 0 0 0 0 0 +1238 15 0 0 5 4 4 0 0 0 +1239 2 0 0 1 0 0 1 0 0 +1242 20 0 0 5 0 0 5 0 0 +1251 10 0 0 5 0 0 0 0 0 +1253 20 1 1 10 0 0 5 0 0 +1255 10 0 0 5 0 0 0 0 0 +1271 10 0 0 0 0 0 5 0 0 +1275 10 0 0 5 0 0 0 0 0 +1276 10 0 0 5 0 0 0 0 0 +1293 10 1 1 5 0 0 0 0 0 +1294 2 0 0 0 0 0 2 0 0 +1297 15 0 0 5 0 0 10 0 0 +1302 10 0 0 5 0 0 0 0 0 +1312 10 0 0 5 0 0 0 0 0 +1322 15 1 1 5 0 0 5 0 0 +1326 15 0 0 5 0 0 0 0 0 +1346 45 0 0 35 0 0 0 0 0 +fn=expand_dynamic_string_token +320 21 1 1 0 0 0 12 0 0 +330 15 0 0 0 0 0 3 0 0 +334 6 0 0 0 0 0 0 0 0 +345 15 0 0 12 0 0 0 0 0 +fn=fillin_rpath +389 16 2 2 0 0 0 12 0 0 +391 1 0 0 0 0 0 0 0 0 +393 24 1 1 8 0 0 4 0 0 +396 2 0 0 0 0 0 1 0 0 +397 1 0 0 0 0 0 0 0 0 +400 6 0 0 3 0 0 0 0 0 +402 8 0 0 2 0 0 2 0 0 +406 4 0 0 0 0 0 0 0 0 +411 4 0 0 0 0 0 2 0 0 +412 4 0 0 0 0 0 0 0 0 +419 14 2 2 2 0 0 0 0 0 +424 8 0 0 0 0 0 4 0 0 +428 60 1 1 18 0 0 0 0 0 +429 30 0 0 15 0 0 0 0 0 +447 12 1 1 3 0 0 3 0 0 +450 3 0 0 0 0 0 3 0 0 +451 21 1 1 6 0 0 6 0 0 +453 9 0 0 3 0 0 0 0 0 +457 6 0 0 0 0 0 6 1 1 +458 3 0 0 0 0 0 0 0 0 +459 12 0 0 0 0 0 6 1 1 +460 6 1 1 3 0 0 3 0 0 +462 6 0 0 3 0 0 0 0 0 +468 12 0 0 3 0 0 0 0 0 +469 120 2 2 3 0 0 3 0 0 +470 36 1 1 0 0 0 15 0 0 +472 6 0 0 3 0 0 3 0 0 +473 9 1 1 3 0 0 0 0 0 +478 6 1 1 0 0 0 3 0 0 +480 3 0 0 0 0 0 3 0 0 +481 3 1 1 0 0 0 3 0 0 +484 9 0 0 0 0 0 3 0 0 +486 9 1 1 3 0 0 3 0 0 +490 1 0 0 0 0 0 1 0 0 +493 9 0 0 7 0 0 0 0 0 +fn=open_path +1932 32 1 1 0 0 0 24 2 2 +1933 8 0 0 4 0 0 4 1 1 +1936 4 1 1 0 0 0 4 0 0 +1937 4 0 0 0 0 0 4 0 0 +1939 8 0 0 0 0 0 0 0 0 +1944 72 1 1 12 0 0 28 2 2 +1947 36 0 0 24 0 0 0 0 0 +1951 36 0 0 0 0 0 0 0 0 +1956 48 0 0 0 0 0 12 0 0 +1963 60 1 1 24 0 0 24 2 2 +1964 330 1 1 0 0 0 0 0 0 +1967 192 0 0 96 0 0 0 0 0 +1971 510 1 1 306 0 0 102 0 0 +1974 102 0 0 0 0 0 51 0 0 +1977 153 0 0 51 0 0 0 0 0 +1980 510 1 1 255 0 0 102 1 1 +1982 255 0 0 153 0 0 0 0 0 +1984 32 0 0 0 0 0 0 0 0 +1989 32 1 1 16 0 0 0 0 0 +1990 128 0 0 64 0 0 0 0 0 +1996 289 3 3 107 0 0 28 0 0 +1998 96 0 0 16 0 0 16 0 0 +1999 2 0 0 1 0 0 0 0 0 +2001 39 0 0 0 0 0 16 0 0 +2008 140 0 0 0 0 0 0 0 0 +2010 70 0 0 0 0 0 0 0 0 +2018 24 0 0 0 0 0 12 0 0 +2028 90 0 0 0 0 0 0 0 0 +2046 8 0 0 0 0 0 0 0 0 +2049 64 1 1 8 0 0 0 0 0 +2054 12 0 0 12 0 0 0 0 0 +2056 48 1 1 36 0 0 0 0 0 +2059 12 0 0 4 0 0 0 0 0 +2073 36 1 1 28 0 0 0 0 0 +fn=open_verify.constprop.7 +1598 784 1 1 56 0 0 504 5 5 +1637 278 0 0 56 0 0 0 0 0 +1650 51 0 0 0 0 0 0 0 0 +1668 280 1 1 56 0 0 56 1 1 +1670 117 0 0 0 0 0 0 0 0 +1680 5 0 0 0 0 0 5 0 0 +1681 10 0 0 0 0 0 5 0 0 +1686 30 1 1 0 0 0 5 0 0 +1688 10 0 0 0 0 0 0 0 0 +1690 10 0 0 5 0 0 5 0 0 +1692 10 0 0 0 0 0 0 0 0 +1698 10 0 0 0 0 0 0 0 0 +1714 82 5 5 46 4 4 0 0 0 +1788 10 0 0 5 0 0 0 0 0 +1793 10 0 0 5 0 0 0 0 0 +1795 20 0 0 5 0 0 0 0 0 +1801 10 0 0 0 0 0 0 0 0 +1812 10 0 0 5 0 0 0 0 0 +1818 20 1 1 5 0 0 0 0 0 +1819 20 0 0 5 0 0 0 0 0 +1820 5 0 0 0 0 0 0 0 0 +1825 4 1 1 2 0 0 0 0 0 +1840 187 0 0 0 0 0 0 0 0 +1842 90 1 1 40 12 12 0 0 0 +1855 15 1 1 0 0 0 0 0 0 +1858 20 0 0 10 0 0 0 0 0 +1859 5 0 0 0 0 0 0 0 0 +1868 48 1 1 32 3 3 0 0 0 +1870 5 0 0 0 0 0 0 0 0 +1871 60 1 1 10 0 0 0 0 0 +1874 15 0 0 0 0 0 0 0 0 +1879 3 0 0 0 0 0 0 0 0 +1880 6 0 0 0 0 0 0 0 0 +1883 6 0 0 0 0 0 0 0 0 +1886 6 0 0 3 0 0 0 0 0 +1887 12 0 0 3 0 0 0 0 0 +1888 3 0 0 3 0 0 0 0 0 +1889 9 0 0 3 0 0 0 0 0 +1890 9 1 1 3 0 0 0 0 0 +1918 504 1 1 392 0 0 0 0 0 +fl=/build/glibc-OTsEL5/glibc-2.27/elf/dl-lookup.c +fn=_dl_lookup_symbol_x +554 268 0 0 0 0 0 0 0 0 +555 8466 0 0 2083 109 101 0 0 0 +556 7796 1 1 0 0 0 0 0 0 +790 1876 2 2 134 0 0 1206 3 0 +792 268 0 0 0 0 0 134 0 0 +793 268 0 0 0 0 0 134 0 0 +796 134 0 0 134 1 0 0 0 0 +800 628 1 1 247 0 0 0 0 0 +804 1474 1 1 268 0 0 536 0 0 +805 402 0 0 134 4 0 0 0 0 +811 498 0 0 166 0 0 0 0 0 +813 1742 1 1 670 0 0 938 1 0 +816 638 0 0 118 0 0 0 0 0 +819 64 0 0 0 0 0 0 0 0 +841 268 1 1 134 0 0 0 0 0 +843 96 1 1 16 0 0 0 0 0 +860 16 1 1 0 0 0 16 0 0 +861 32 0 0 0 0 0 0 0 0 +865 826 0 0 236 0 0 0 0 0 +896 118 0 0 0 0 0 0 0 0 +905 472 0 0 118 0 0 0 0 0 +919 354 1 1 118 1 0 0 0 0 +920 2 1 1 0 0 0 1 0 0 +922 472 0 0 236 0 0 0 0 0 +927 118 0 0 0 0 0 118 0 0 +929 1238 0 0 938 0 0 0 0 0 +fn=_dl_setup_hash +939 21 1 1 7 0 0 0 0 0 +943 7 0 0 7 0 0 0 0 0 +947 14 0 0 7 7 7 7 1 1 +948 7 0 0 7 0 0 0 0 0 +949 7 0 0 7 1 1 0 0 0 +951 21 0 0 0 0 0 0 0 0 +952 7 0 0 0 0 0 7 0 0 +953 21 1 1 7 0 0 7 0 0 +955 7 0 0 0 0 0 7 0 0 +956 14 0 0 0 0 0 0 0 0 +958 7 0 0 0 0 0 7 0 0 +960 21 0 0 0 0 0 7 0 0 +961 7 0 0 7 0 0 0 0 0 +fn=do_lookup_x +78 826 1 1 354 10 10 0 0 0 +90 1507 1 1 0 0 0 642 0 0 +93 660 0 0 330 0 0 106 0 0 +97 118 0 0 118 0 0 0 0 0 +98 236 1 1 118 0 0 0 0 0 +100 226 0 0 0 0 0 0 0 0 +119 113 0 0 113 18 9 0 0 0 +120 1017 1 1 452 4 0 0 0 0 +121 1130 1 1 452 2 0 339 0 0 +148 10 1 1 0 0 0 0 0 0 +150 25 0 0 10 3 3 0 0 0 +180 91 2 2 52 0 0 0 0 0 +294 521 0 0 0 0 0 0 0 0 +338 1742 1 1 134 0 0 1474 5 1 +339 134 0 0 134 1 0 0 0 0 +344 268 0 0 134 0 0 0 0 0 +345 134 0 0 134 0 0 0 0 0 +349 1278 1 1 1278 9 0 0 0 0 +352 1278 0 0 639 0 0 0 0 0 +356 2082 2 2 134 0 0 134 0 0 +360 1278 0 0 639 7 0 0 0 0 +364 1278 0 0 639 1 0 0 0 0 +370 1917 0 0 639 6 0 0 0 0 +374 131 0 0 0 0 0 131 0 0 +375 131 0 0 0 0 0 131 0 0 +378 1278 1 1 1278 14 0 0 0 0 +379 1917 0 0 1278 3 0 639 0 0 +382 639 0 0 639 0 0 0 0 0 +383 1278 0 0 0 0 0 0 0 0 +385 639 0 0 639 57 38 0 0 0 +386 268 0 0 0 0 0 134 0 0 +387 1278 0 0 1278 0 0 0 0 0 +390 3195 1 1 1278 0 0 0 0 0 +393 4473 0 0 0 0 0 0 0 0 +396 262 0 0 262 68 59 0 0 0 +397 393 1 1 0 0 0 0 0 0 +398 262 0 0 0 0 0 0 0 0 +400 393 0 0 131 0 0 131 0 0 +403 1400 1 1 560 87 75 0 0 0 +405 472 0 0 118 0 0 0 0 0 +406 354 0 0 118 41 35 0 0 0 +407 236 0 0 0 0 0 0 0 0 +413 486 0 0 0 0 0 0 0 0 +421 268 0 0 0 0 0 0 0 0 +446 26 0 0 13 0 0 0 0 0 +452 1180 1 1 590 0 0 0 0 0 +503 236 0 0 0 0 0 0 0 0 +506 888 1 1 118 0 0 0 0 0 +510 42 0 0 14 1 0 0 0 0 +522 708 1 1 354 0 0 354 0 0 +524 118 0 0 0 0 0 0 0 0 +540 3358 0 0 1293 1 0 0 0 0 +541 1148 0 0 164 0 0 328 1 0 +544 1563 0 0 0 0 0 0 0 0 +547 32 0 0 0 0 0 0 0 0 +548 1072 0 0 938 0 0 0 0 0 +fl=/build/glibc-OTsEL5/glibc-2.27/elf/dl-minimal.c +fn=calloc +92 14 1 1 0 0 0 0 0 0 +96 14 0 0 0 0 0 0 0 0 +99 28 0 0 0 0 0 0 0 0 +100 42 0 0 0 0 0 0 0 0 +103 14 1 1 0 0 0 0 0 0 +fn=free +111 12 0 0 6 0 0 0 0 0 +fn=malloc +49 6 0 0 0 0 0 4 0 0 +50 159 1 1 79 0 0 0 0 0 +55 5 0 0 1 0 0 1 0 0 +56 2 1 1 1 0 0 0 0 0 +57 2 0 0 0 0 0 0 0 0 +61 120 1 1 0 0 0 40 0 0 +64 272 0 0 0 0 0 0 0 0 +69 8 1 1 2 0 0 0 0 0 +70 4 0 0 0 0 0 0 0 0 +72 2 0 0 0 0 0 0 0 0 +73 16 0 0 0 0 0 2 0 0 +75 4 0 0 0 0 0 0 0 0 +77 6 0 0 2 0 0 0 0 0 +79 6 0 0 0 0 0 2 0 0 +82 40 0 0 0 0 0 40 0 0 +83 40 1 1 0 0 0 40 0 0 +85 86 0 0 44 0 0 0 0 0 +fn=strsep +265 8 1 1 4 0 0 0 0 0 +267 4 0 0 4 0 0 0 0 0 +268 8 0 0 0 0 0 0 0 0 +272 186 2 2 36 0 0 0 0 0 +277 136 0 0 68 0 0 0 0 0 +279 198 0 0 66 0 0 0 0 0 +283 4 0 0 0 0 0 2 0 0 +287 33 0 0 0 0 0 0 0 0 +290 3 0 0 0 0 0 3 0 0 +294 4 0 0 4 0 0 0 0 0 +fl=/build/glibc-OTsEL5/glibc-2.27/elf/dl-misc.c +fn=_dl_name_match_p +282 1265 1 1 0 0 0 506 0 0 +283 1012 0 0 253 3 0 253 1 1 +284 268 0 0 0 0 0 0 0 0 +286 253 0 0 253 0 0 0 0 0 +288 1010 0 0 0 0 0 0 0 0 +289 1335 1 1 267 7 0 267 0 0 +292 252 0 0 252 0 0 0 0 0 +294 238 0 0 0 0 0 0 0 0 +295 1265 0 0 759 0 0 0 0 0 +fn=_dl_sysdep_read_whole_file +44 8 2 2 0 0 0 4 0 0 +47 3 0 0 0 0 0 1 0 0 +48 2 0 0 0 0 0 0 0 0 +50 7 0 0 0 0 0 1 0 0 +52 2 0 0 1 0 0 1 0 0 +55 2 0 0 0 0 0 0 0 0 +57 8 1 1 0 0 0 1 0 0 +68 2 0 0 0 0 0 1 0 0 +71 7 0 0 5 0 0 0 0 0 +fl=/build/glibc-OTsEL5/glibc-2.27/elf/dl-object.c +fn=_dl_add_to_namespace_list +31 30 1 1 0 0 0 18 0 0 +33 18 0 0 6 0 0 6 0 0 +35 52 0 0 6 0 0 0 0 0 +38 60 0 0 20 0 0 0 0 0 +40 5 0 0 0 0 0 5 0 0 +42 5 0 0 0 0 0 5 0 0 +45 2 0 0 0 0 0 1 0 0 +46 18 1 1 6 0 0 0 0 0 +47 12 0 0 6 0 0 6 0 0 +48 12 0 0 0 0 0 6 0 0 +50 12 0 0 6 0 0 0 0 0 +51 18 0 0 18 0 0 0 0 0 +fn=_dl_new_object +59 78 1 1 0 0 0 48 3 3 +60 36 1 1 0 0 0 18 0 0 +66 36 0 0 6 0 0 0 0 0 +68 12 0 0 0 0 0 0 0 0 +73 30 1 1 0 0 0 12 0 0 +76 12 0 0 0 0 0 0 0 0 +79 6 0 0 0 0 0 6 4 4 +80 18 0 0 6 0 0 6 6 6 +84 12 1 1 0 0 0 6 2 2 +85 48 0 0 18 0 0 18 4 4 +87 6 0 0 0 0 0 6 0 0 +95 36 0 0 12 0 0 6 1 1 +96 30 0 0 6 6 6 6 0 0 +99 12 1 1 6 0 0 0 0 0 +100 17 1 1 5 0 0 6 6 6 +101 6 0 0 0 0 0 6 2 2 +105 6 0 0 0 0 0 6 0 0 +108 49 0 0 0 0 0 0 0 0 +110 32 1 1 0 0 0 16 4 4 +120 12 0 0 0 0 0 6 2 2 +121 6 0 0 0 0 0 6 6 6 +124 1 1 1 0 0 0 0 0 0 +126 36 1 1 6 0 0 0 0 0 +128 15 0 0 0 0 0 5 2 2 +131 16 1 1 0 0 0 0 0 0 +135 21 0 0 7 0 0 0 0 0 +139 26 0 0 0 0 0 0 0 0 +147 1 1 1 0 0 0 1 0 0 +150 12 0 0 0 0 0 6 0 0 +153 18 0 0 0 0 0 6 0 0 +155 20 0 0 5 0 0 10 0 0 +159 20 1 1 5 0 0 0 0 0 +163 20 0 0 0 0 0 5 0 0 +164 10 0 0 0 0 0 0 0 0 +172 5 0 0 0 0 0 0 0 0 +176 5 0 0 0 0 0 0 0 0 +209 106 0 0 5 0 0 5 0 0 +214 91 0 0 0 0 0 0 0 0 +215 192 0 0 91 0 0 0 0 0 +220 10 0 0 0 0 0 5 0 0 +223 5 0 0 0 0 0 5 0 0 +227 54 1 1 42 0 0 0 0 0 +fl=/build/glibc-OTsEL5/glibc-2.27/elf/dl-reloc.c +fn=_dl_relocate_object +148 84 1 1 0 0 0 56 0 0 +155 7 0 0 0 0 0 7 0 0 +158 10 0 0 0 0 0 0 0 0 +159 21 1 1 0 0 0 14 0 0 +163 14 0 0 0 0 0 0 0 0 +164 35 1 1 7 1 0 7 0 0 +170 21 0 0 14 0 0 0 0 0 +176 28 0 0 7 0 0 0 0 0 +177 14 1 1 7 6 0 0 0 0 +180 16 2 2 0 0 0 0 0 0 +187 14 0 0 7 1 0 0 0 0 +231 21 1 1 14 0 0 7 0 0 +258 319 3 3 137 24 0 74 0 0 +261 28 0 0 7 0 0 0 0 0 +285 7 0 0 7 0 0 0 0 0 +288 14 1 1 7 0 0 0 0 0 +305 21 0 0 7 4 0 0 0 0 +307 56 0 0 49 1 0 0 0 0 +313 42 0 0 21 0 0 0 0 0 +316 14 0 0 0 0 0 0 0 0 +320 14 0 0 0 0 0 0 0 0 +321 35 1 1 0 0 0 7 0 0 +fl=/build/glibc-OTsEL5/glibc-2.27/elf/dl-sort-maps.c +fn=_dl_sort_maps +28 18 1 1 0 0 0 14 0 0 +30 4 0 0 0 0 0 0 0 0 +33 2 0 0 0 0 0 0 0 0 +34 20 1 1 0 0 0 6 0 0 +35 50 1 1 2 0 0 12 0 0 +39 56 1 1 14 0 0 28 0 0 +40 42 0 0 28 0 0 0 0 0 +42 28 0 0 14 0 0 0 0 0 +46 28 2 1 14 0 0 0 0 0 +54 164 2 1 62 0 0 0 0 0 +56 102 1 1 68 2 0 0 0 0 +57 90 0 0 0 0 0 0 0 0 +59 234 0 0 78 4 0 0 0 0 +60 174 0 0 0 0 0 0 0 0 +65 18 2 1 2 0 0 10 0 0 +66 6 0 0 0 0 0 2 0 0 +67 2 0 0 0 0 0 2 0 0 +69 14 0 0 10 0 0 0 0 0 +74 2 2 1 2 0 0 0 0 0 +77 12 0 0 4 0 0 0 0 0 +84 14 0 0 2 0 0 6 0 0 +85 8 1 1 6 0 0 2 0 0 +87 4 0 0 2 0 0 0 0 0 +90 176 3 1 48 0 0 0 0 0 +115 66 0 0 22 0 0 0 0 0 +118 100 0 0 20 0 0 10 0 0 +122 26 0 0 14 0 0 4 0 0 +fl=/build/glibc-OTsEL5/glibc-2.27/elf/dl-tunables.c +fn=__GI___tunables_init +68 490 0 0 98 0 0 0 0 0 +71 97 0 0 0 0 0 0 0 0 +74 7253 1 1 1050 59 59 0 0 0 +78 194 0 0 0 0 0 0 0 0 +83 194 0 0 0 0 0 0 0 0 +150 4 1 1 0 0 0 2 1 1 +280 3 0 0 1 0 0 0 0 0 +289 8 1 1 0 0 0 6 1 1 +297 194 1 1 0 0 0 0 0 0 +312 8633 2 2 0 0 0 0 0 0 +318 10670 0 0 4268 0 0 0 0 0 +330 388 1 1 97 0 0 0 0 0 +364 8 0 0 7 0 0 0 0 0 +fn=__tunable_get_val +373 138 2 1 14 4 0 0 0 0 +377 23 1 1 14 0 0 9 0 0 +382 5 0 0 0 0 0 5 0 0 +383 5 0 0 0 0 0 0 0 0 +399 70 1 0 14 2 0 0 0 0 +401 14 0 0 14 0 0 0 0 0 +fl=/build/glibc-OTsEL5/glibc-2.27/elf/dl-tunables.h +fn=__GI___tunables_init +120 4003 0 0 1909 8 8 0 0 0 +121 4052 0 0 0 0 0 0 0 0 +fl=/build/glibc-OTsEL5/glibc-2.27/elf/dl-version.c +fn=_dl_check_all_versions +362 8 1 1 0 0 0 4 0 0 +364 1 0 0 0 0 0 0 0 0 +366 24 0 0 7 0 0 0 0 0 +368 70 1 1 7 0 0 7 0 0 +371 7 0 0 5 0 0 0 0 0 +fn=_dl_check_map_versions +37 141 0 0 18 0 0 0 0 0 +38 39 0 0 39 0 0 0 0 0 +39 240 1 1 0 0 0 48 0 0 +57 54 0 0 36 0 0 18 0 0 +65 54 1 1 18 0 0 0 0 0 +71 54 0 0 18 1 0 0 0 0 +87 18 0 0 18 1 0 0 0 0 +88 36 0 0 0 0 0 0 0 0 +90 18 0 0 18 0 0 0 0 0 +95 346 0 0 137 5 5 18 0 0 +109 274 1 1 137 1 1 0 0 0 +111 18 1 1 18 0 0 0 0 0 +114 162 1 1 63 0 0 27 0 0 +121 357 0 0 119 4 4 0 0 0 +125 119 0 0 0 0 0 0 0 0 +143 54 1 1 9 0 0 27 0 0 +156 49 1 1 0 0 0 42 0 0 +157 12 1 1 0 0 0 7 0 0 +165 7 0 0 0 0 0 7 0 0 +171 21 0 0 7 0 0 0 0 0 +173 35 1 1 7 2 0 21 0 0 +175 14 0 0 7 1 0 7 0 0 +176 14 0 0 7 0 0 7 0 0 +178 14 0 0 0 0 0 0 0 0 +181 20 0 0 10 1 0 5 0 0 +185 15 0 0 5 5 5 0 0 0 +199 4 0 0 0 0 0 0 0 0 +201 18 0 0 18 1 1 0 0 0 +209 27 0 0 9 0 0 0 0 0 +214 27 0 0 18 1 1 0 0 0 +218 167 1 1 128 0 0 18 0 0 +220 18 0 0 18 0 0 0 0 0 +222 45 0 0 18 5 5 18 0 0 +225 72 1 1 18 0 0 0 0 0 +228 54 0 0 18 0 0 0 0 0 +233 9 0 0 0 0 0 0 0 0 +237 36 0 0 18 0 0 0 0 0 +242 12 0 0 0 0 0 4 0 0 +251 20 2 2 7 0 0 0 0 0 +254 16 0 0 16 0 0 0 0 0 +257 208 0 0 50 12 12 4 0 0 +260 158 0 0 50 5 5 4 0 0 +264 46 0 0 0 0 0 0 0 0 +268 18 1 1 6 0 0 0 0 0 +273 6 0 0 0 0 0 6 1 0 +274 24 2 2 0 0 0 6 0 0 +275 12 0 0 0 0 0 0 0 0 +285 6 0 0 0 0 0 6 0 0 +288 18 0 0 12 2 0 6 0 0 +290 18 0 0 6 0 0 0 0 0 +293 20 1 1 15 0 0 0 0 0 +295 4 0 0 0 0 0 0 0 0 +297 27 0 0 9 0 0 0 0 0 +300 54 0 0 18 0 0 0 0 0 +302 54 0 0 0 0 0 0 0 0 +304 90 1 1 18 0 0 18 0 0 +305 54 0 0 0 0 0 18 8 8 +306 54 0 0 18 0 0 18 1 1 +307 54 0 0 18 0 0 18 0 0 +310 54 0 0 18 0 0 0 0 0 +315 9 0 0 0 0 0 0 0 0 +318 27 0 0 9 0 0 0 0 0 +323 4 0 0 0 0 0 0 0 0 +328 18 0 0 6 0 0 0 0 0 +331 16 1 1 12 0 0 0 0 0 +335 46 0 0 46 0 0 0 0 0 +337 100 0 0 50 0 0 0 0 0 +341 46 0 0 46 0 0 0 0 0 +342 230 0 0 46 0 0 46 13 13 +343 138 0 0 46 0 0 46 0 0 +344 46 0 0 0 0 0 46 7 7 +347 150 0 0 50 0 0 0 0 0 +351 46 0 0 0 0 0 0 0 0 +357 63 0 0 56 0 0 0 0 0 +fl=/build/glibc-OTsEL5/glibc-2.27/elf/do-rel.h +fn=_dl_relocate_object +47 42 0 0 14 0 0 14 0 0 +48 14 0 0 14 0 0 0 0 0 +50 21 0 0 0 0 0 6 0 0 +51 11 0 0 0 0 0 7 1 0 +58 42 0 0 14 0 0 0 0 0 +61 428 2 2 0 0 0 0 0 0 +63 560 1 1 140 52 52 0 0 0 +65 119 0 0 0 0 0 0 0 0 +74 8 1 1 0 0 0 0 0 0 +75 154 1 1 29 0 0 0 0 0 +76 78 0 0 39 0 0 0 0 0 +83 20 1 1 10 0 0 10 0 0 +84 10 0 0 10 0 0 0 0 0 +86 40 0 0 20 0 0 0 0 0 +98 30 0 0 0 0 0 0 0 0 +108 16 0 0 0 0 0 0 0 0 +111 3975 1 1 0 0 0 0 0 0 +112 2638 0 0 1319 1 0 0 0 0 +118 30 0 0 10 7 0 0 0 0 +121 18 0 0 9 4 0 9 0 0 +124 453 2 2 154 1 0 0 0 0 +127 580 1 1 145 36 33 0 0 0 +136 580 0 0 290 48 43 0 0 0 +137 580 1 1 145 0 0 145 1 0 +138 520 1 1 145 1 0 0 0 0 +139 435 0 0 290 0 0 145 0 0 +143 30 0 0 12 1 0 0 0 0 +160 22 2 2 8 0 0 2 0 0 +162 20 0 0 5 1 1 0 0 0 +170 30 0 0 5 0 0 5 0 0 +171 15 1 1 10 0 0 5 0 0 +174 2 0 0 0 0 0 0 0 0 +fn=_dl_start +83 1 0 0 1 0 0 0 0 0 +84 1 0 0 1 0 0 0 0 0 +111 120 0 0 0 0 0 0 0 0 +112 78 0 0 39 5 5 0 0 0 +116 2 0 0 1 0 0 0 0 0 +124 31 0 0 0 0 0 0 0 0 +136 27 1 1 9 2 2 0 0 0 +137 18 0 0 0 0 0 0 0 0 +139 18 0 0 9 0 0 0 0 0 +fl=/build/glibc-OTsEL5/glibc-2.27/elf/get-dynamic-info.h +fn=_dl_map_object_from_fd +42 10 0 0 0 0 0 0 0 0 +46 5 0 0 0 0 0 0 0 0 +48 408 0 0 136 38 38 0 0 0 +50 262 0 0 0 0 0 0 0 0 +63 129 0 0 0 0 0 0 0 0 +64 214 1 1 0 0 0 126 31 31 +65 20 1 1 0 0 0 0 0 0 +67 5 0 0 0 0 0 0 0 0 +68 25 2 2 0 0 0 0 0 0 +70 5 0 0 0 0 0 0 0 0 +71 25 0 0 0 0 0 0 0 0 +72 5 0 0 0 0 0 0 0 0 +73 20 0 0 0 0 0 5 0 0 +74 131 0 0 0 0 0 0 0 0 +81 10 1 1 0 0 0 0 0 0 +101 18 0 0 8 0 0 0 0 0 +102 20 0 0 10 0 0 0 0 0 +103 20 1 1 10 0 0 0 0 0 +104 20 0 0 10 0 0 0 0 0 +106 20 0 0 10 0 0 0 0 0 +111 20 0 0 10 0 0 0 0 0 +112 19 1 1 9 1 1 0 0 0 +113 20 0 0 10 0 0 0 0 0 +119 15 0 0 5 0 0 0 0 0 +124 10 0 0 5 0 0 0 0 0 +131 10 0 0 5 0 0 0 0 0 +132 15 1 1 10 0 0 0 0 0 +150 15 0 0 5 0 0 0 0 0 +155 6 0 0 3 0 0 3 0 0 +157 6 0 0 0 0 0 0 0 0 +159 6 0 0 0 0 0 0 0 0 +161 6 0 0 0 0 0 0 0 0 +162 2 1 1 0 0 0 1 0 0 +164 15 1 1 5 0 0 0 0 0 +166 12 0 0 3 0 0 3 1 1 +174 6 0 0 3 0 0 0 0 0 +179 6 0 0 0 0 0 0 0 0 +180 3 0 0 1 0 0 1 0 0 +182 10 0 0 5 0 0 0 0 0 +fn=_dl_start +48 57 1 1 19 6 6 0 0 0 +50 36 1 1 0 0 0 0 0 0 +63 21 0 0 0 0 0 0 0 0 +64 29 0 0 0 0 0 17 5 5 +65 4 0 0 0 0 0 0 0 0 +67 3 0 0 0 0 0 0 0 0 +68 5 1 1 0 0 0 0 0 0 +70 2 0 0 0 0 0 0 0 0 +71 5 1 1 0 0 0 0 0 0 +72 1 0 0 0 0 0 0 0 0 +73 5 1 1 0 0 0 1 1 1 +74 18 0 0 0 0 0 0 0 0 +81 2 1 1 0 0 0 0 0 0 +101 4 0 0 2 0 0 0 0 0 +102 4 0 0 2 0 0 0 0 0 +103 4 1 1 2 0 0 0 0 0 +104 4 0 0 2 0 0 0 0 0 +106 4 0 0 2 0 0 0 0 0 +111 4 0 0 2 0 0 0 0 0 +112 4 1 1 2 0 0 0 0 0 +113 4 0 0 2 0 0 0 0 0 +119 3 0 0 1 0 0 0 0 0 +124 2 0 0 1 0 0 0 0 0 +131 3 0 0 1 0 0 0 0 0 +132 3 1 1 2 0 0 0 0 0 +140 3 0 0 1 0 0 0 0 0 +143 3 0 0 1 1 1 0 0 0 +147 2 1 1 1 0 0 0 0 0 +148 2 0 0 1 0 0 0 0 0 +fn=dl_main +33 1 0 0 1 0 0 0 0 0 +42 2 0 0 0 0 0 0 0 0 +46 1 0 0 0 0 0 0 0 0 +48 72 0 0 24 6 6 0 0 0 +50 46 0 0 0 0 0 0 0 0 +63 25 0 0 0 0 0 0 0 0 +64 38 0 0 0 0 0 22 6 6 +65 4 0 0 0 0 0 0 0 0 +67 1 0 0 0 0 0 0 0 0 +68 5 0 0 0 0 0 0 0 0 +70 1 1 1 0 0 0 0 0 0 +71 5 1 1 0 0 0 0 0 0 +72 1 0 0 0 0 0 0 0 0 +73 4 0 0 0 0 0 1 0 0 +74 23 0 0 0 0 0 0 0 0 +81 3 1 1 1 0 0 0 0 0 +101 3 0 0 1 0 0 0 0 0 +102 4 0 0 2 0 0 0 0 0 +103 4 0 0 2 0 0 0 0 0 +104 4 0 0 2 0 0 0 0 0 +106 4 1 1 2 0 0 0 0 0 +111 3 0 0 1 0 0 0 0 0 +112 4 0 0 2 0 0 0 0 0 +113 4 0 0 2 0 0 0 0 0 +119 3 1 1 1 0 0 0 0 0 +131 2 0 0 1 0 0 0 0 0 +132 3 0 0 2 0 0 0 0 0 +150 3 0 0 1 0 0 0 0 0 +155 2 0 0 1 0 0 1 1 1 +157 2 1 1 0 0 0 0 0 0 +159 2 0 0 0 0 0 0 0 0 +161 2 0 0 0 0 0 0 0 0 +162 1 0 0 0 0 0 1 0 0 +164 3 0 0 1 0 0 0 0 0 +166 3 0 0 1 0 0 1 0 0 +174 2 1 1 1 0 0 0 0 0 +179 2 0 0 0 0 0 0 0 0 +180 2 0 0 1 0 0 1 0 0 +182 2 0 0 1 0 0 0 0 0 +fl=/build/glibc-OTsEL5/glibc-2.27/elf/rtld.c +fn=_dl_start +393 2 0 0 0 0 0 1 1 1 +394 2 0 0 0 0 0 1 0 0 +395 2 0 0 0 0 0 1 0 0 +396 2 0 0 0 0 0 1 0 0 +397 2 0 0 0 0 0 1 1 1 +405 5 1 1 0 0 0 1 0 0 +408 1 0 0 0 0 0 1 0 0 +414 4 1 0 0 0 0 1 0 0 +423 4 0 0 0 0 0 0 0 0 +426 2 0 0 1 1 0 1 1 1 +430 2 1 0 1 0 0 0 0 0 +444 9 1 1 0 0 0 6 0 0 +463 5 0 0 0 0 0 1 1 1 +486 1 0 0 0 0 0 1 1 1 +489 1 0 0 0 0 0 1 1 1 +500 2 0 0 0 0 0 0 0 0 +505 27 3 3 9 0 0 0 0 0 +507 1 1 1 1 1 1 0 0 0 +532 9 0 0 7 1 0 0 0 0 +fn=dl_main +799 1 0 0 1 0 0 0 0 0 +801 1 0 0 0 0 0 1 0 0 +810 1 0 0 0 0 0 1 0 0 +812 1 1 1 0 0 0 1 0 0 +817 1 0 0 0 0 0 1 0 0 +870 12 2 2 0 0 0 7 1 1 +876 1 0 0 0 0 0 0 0 0 +879 1 0 0 0 0 0 0 0 0 +885 1 0 0 0 0 0 1 0 0 +887 2 0 0 0 0 0 1 1 1 +891 2 0 0 0 0 0 1 1 1 +892 2 0 0 0 0 0 1 0 0 +897 2 1 1 0 0 0 1 0 0 +907 3 0 0 1 0 0 0 0 0 +1108 8 2 2 0 0 0 1 0 0 +1110 2 0 0 0 0 0 0 0 0 +1111 1 0 0 0 0 0 1 0 0 +1112 2 0 0 1 0 0 1 0 0 +1113 2 0 0 1 0 0 1 0 0 +1117 3 0 0 0 0 0 1 0 0 +1118 2 1 1 1 0 0 0 0 0 +1139 1 0 0 0 0 0 1 0 0 +1140 1 0 0 0 0 0 1 0 0 +1142 1 0 0 0 0 0 1 0 0 +1144 1 0 0 1 0 0 0 0 0 +1147 33 1 1 1 0 0 0 0 0 +1148 71 2 2 9 5 5 0 0 0 +1152 3 1 1 1 0 0 1 0 0 +1153 1 0 0 0 0 0 0 0 0 +1157 3 0 0 2 0 0 1 0 0 +1158 1 0 0 0 0 0 0 0 0 +1166 2 0 0 0 0 0 1 1 1 +1167 2 1 1 2 1 1 0 0 0 +1169 1 0 0 0 0 0 1 0 0 +1176 2 0 0 1 0 0 0 0 0 +1188 1 0 0 0 0 0 0 0 0 +1194 2 1 1 0 0 0 0 0 0 +1202 4 0 0 2 0 0 0 0 0 +1203 10 1 1 3 1 1 0 0 0 +1204 4 0 0 2 0 0 0 0 0 +1205 1 0 0 0 0 0 1 0 0 +1208 4 0 0 2 1 1 0 0 0 +1209 4 0 0 2 0 0 0 0 0 +1210 2 1 1 0 0 0 2 0 0 +1211 6 0 0 3 0 0 0 0 0 +1212 2 0 0 0 0 0 1 0 0 +1239 2 1 1 1 0 0 1 0 0 +1240 1 0 0 0 0 0 0 0 0 +1243 2 0 0 1 0 0 1 0 0 +1244 2 0 0 1 0 0 1 0 0 +1245 1 0 0 0 0 0 0 0 0 +1250 3 1 1 1 1 1 0 0 0 +1253 2 1 1 1 0 0 0 0 0 +1255 2 0 0 1 0 0 0 0 0 +1257 3 1 1 1 0 0 0 0 0 +1270 3 0 0 1 0 0 0 0 0 +1271 6 0 0 1 0 0 2 0 0 +1273 3 0 0 3 0 0 0 0 0 +1276 2 0 0 1 0 0 1 0 0 +1278 1 0 0 0 0 0 1 0 0 +1279 1 0 0 0 0 0 1 0 0 +1281 2 1 1 1 0 0 0 0 0 +1282 2 0 0 0 0 0 1 0 0 +1286 2 0 0 1 0 0 0 0 0 +1288 2 1 1 0 0 0 0 0 0 +1293 2 0 0 0 0 0 1 0 0 +1296 2 1 1 1 0 0 0 0 0 +1312 5 2 2 0 0 0 2 0 0 +1318 10 1 1 1 0 0 2 0 0 +1323 2 1 1 1 0 0 1 0 0 +1326 4 1 1 1 0 0 2 0 0 +1328 1 0 0 0 0 0 1 0 0 +1333 2 0 0 1 0 0 0 0 0 +1336 3 0 0 2 0 0 1 0 0 +1337 4 0 0 1 0 0 1 0 0 +1338 2 1 1 1 0 0 1 0 0 +1339 1 0 0 0 0 0 1 0 0 +1340 1 0 0 1 0 0 0 0 0 +1341 1 0 0 1 0 0 0 0 0 +1346 2 0 0 1 0 0 0 0 0 +1347 5 0 0 1 0 0 1 0 0 +1364 2 0 0 1 1 1 0 0 0 +1365 2 1 1 1 0 0 0 0 0 +1367 3 0 0 1 0 0 0 0 0 +1369 1 0 0 0 0 0 1 0 0 +1370 3 0 0 1 0 0 1 0 0 +1375 4 1 1 0 0 0 0 0 0 +1376 5 0 0 1 1 1 0 0 0 +1378 2 1 1 1 0 0 1 1 1 +1379 2 0 0 1 0 0 1 0 0 +1384 2 0 0 1 1 1 0 0 0 +1389 1 0 0 0 0 0 1 0 0 +1390 4 1 1 2 0 0 0 0 0 +1391 2 0 0 0 0 0 0 0 0 +1570 2 0 0 0 0 0 2 0 0 +1578 3 0 0 1 0 0 0 0 0 +1581 2 1 1 1 0 0 1 0 0 +1585 3 0 0 1 0 0 0 0 0 +1590 2 0 0 1 0 0 1 0 0 +1591 1 0 0 0 0 0 1 0 0 +1592 1 0 0 0 0 0 0 0 0 +1596 2 0 0 1 0 0 0 0 0 +1611 3 1 1 2 0 0 0 0 0 +1612 1 0 0 0 0 0 0 0 0 +1613 1 0 0 0 0 0 0 0 0 +1615 3 0 0 1 0 0 0 0 0 +1617 5 0 0 0 0 0 0 0 0 +1618 3 0 0 0 0 0 1 0 0 +1619 4 1 1 0 0 0 0 0 0 +1621 2 0 0 1 0 0 0 0 0 +1631 5 0 0 0 0 0 1 0 0 +1708 4 0 0 2 0 0 0 0 0 +1712 8 1 1 0 0 0 0 0 0 +1713 1 0 0 0 0 0 0 0 0 +1716 6 1 1 0 0 0 2 0 0 +1717 2 0 0 2 0 0 0 0 0 +1718 4 0 0 0 0 0 0 0 0 +1719 2 0 0 0 0 0 0 0 0 +1725 5 1 1 0 0 0 0 0 0 +1726 8 0 0 1 0 0 1 0 0 +1727 4 0 0 0 0 0 0 0 0 +1729 2 1 1 1 0 0 0 0 0 +1732 17 0 0 1 0 0 0 0 0 +1733 25 0 0 15 0 0 0 0 0 +1736 3 1 1 2 0 0 1 0 0 +1737 3 0 0 1 0 0 0 0 0 +1738 1 0 0 0 0 0 1 0 0 +1740 24 1 1 0 0 0 0 0 0 +1741 20 0 0 13 0 0 0 0 0 +1751 2 1 1 0 0 0 1 0 0 +1753 3 2 2 1 0 0 1 0 0 +1754 2 0 0 1 0 0 0 0 0 +1756 2 0 0 0 0 0 1 0 0 +1758 3 0 0 0 0 0 0 0 0 +1760 3 0 0 1 0 0 0 0 0 +1774 4 1 1 3 0 0 0 0 0 +1775 2 0 0 1 0 0 1 0 0 +1776 3 0 0 1 0 0 0 0 0 +1787 4 1 1 1 0 0 1 0 0 +1788 1 1 1 0 0 0 1 0 0 +1789 6 0 0 0 0 0 2 0 0 +1799 2 0 0 1 0 0 1 0 0 +1800 2 0 0 1 0 0 0 0 0 +1801 2 1 1 0 0 0 2 0 0 +1803 2 0 0 1 0 0 0 0 0 +1808 2 0 0 1 0 0 0 0 0 +2038 3 0 0 1 1 1 0 0 0 +2094 2 1 1 0 0 0 1 0 0 +2098 2 1 1 1 0 0 1 0 0 +2104 2 0 0 1 0 0 1 0 0 +2107 2 0 0 1 0 0 0 0 0 +2161 3 1 1 1 0 0 0 0 0 +2168 1 0 0 1 0 0 0 0 0 +2170 5 0 0 0 0 0 0 0 0 +2171 1 0 0 1 0 0 0 0 0 +2172 30 1 1 0 0 0 0 0 0 +2174 14 0 0 14 2 0 0 0 0 +2179 14 0 0 14 0 0 0 0 0 +2181 16 1 1 0 0 0 0 0 0 +2183 1 1 1 0 0 0 1 0 0 +2184 1 0 0 1 0 0 0 0 0 +2187 7 0 0 7 0 0 0 0 0 +2189 14 0 0 7 1 0 0 0 0 +2190 48 0 0 12 5 0 6 0 0 +2194 16 1 1 8 1 0 0 0 0 +2195 3 0 0 0 0 0 1 0 0 +2197 4 1 1 0 0 0 0 0 0 +2199 3 0 0 0 0 0 1 1 0 +2205 2 0 0 1 0 0 0 0 0 +2210 4 0 0 2 2 0 0 0 0 +2212 1 0 0 1 0 0 0 0 0 +2219 3 1 1 1 0 0 1 0 0 +2222 2 0 0 1 1 0 0 0 0 +2231 3 1 1 2 1 0 0 0 0 +2233 4 0 0 1 0 0 0 0 0 +2248 5 1 1 0 0 0 0 0 0 +2250 1 0 0 1 0 0 0 0 0 +2251 5 0 0 1 0 0 1 0 0 +2252 4 0 0 0 0 0 0 0 0 +2254 2 0 0 1 0 0 0 0 0 +2262 1 0 0 0 0 0 1 0 0 +2266 2 0 0 1 0 0 0 0 0 +2286 4 1 1 0 0 0 1 0 0 +2287 1 0 0 0 0 0 1 0 0 +2288 1 0 0 0 0 0 1 0 0 +2289 1 0 0 0 0 0 0 0 0 +2293 1 0 0 0 0 0 1 0 0 +2298 8 0 0 7 2 0 0 0 0 +2464 2 0 0 1 0 0 1 1 1 +2466 1 0 0 0 0 0 1 0 0 +2467 1 0 0 0 0 0 0 0 0 +2471 8 1 1 1 0 0 2 1 1 +2473 15 0 0 3 0 0 3 1 1 +2475 2 0 0 0 0 0 0 0 0 +2477 105 1 1 21 0 0 0 0 0 +2478 19 0 0 0 0 0 0 0 0 +2480 4 0 0 0 0 0 0 0 0 +2486 14 0 0 2 1 1 0 0 0 +2507 2 1 1 1 0 0 0 0 0 +2514 6 0 0 0 0 0 1 0 0 +2516 3 1 1 0 0 0 1 0 0 +2562 3 1 1 1 0 0 0 0 0 +2563 6 1 1 0 0 0 1 0 0 +2565 3 1 1 0 0 0 1 1 1 +2635 3 2 2 1 0 0 0 0 0 +2667 3 0 0 1 0 0 0 0 0 +fn=handle_ld_preload +121 6 0 0 2 0 0 0 0 0 +752 2 0 0 0 0 0 2 1 1 +756 2 0 0 0 0 0 2 0 0 +757 2 0 0 0 0 0 2 0 0 +758 2 0 0 0 0 0 2 0 0 +760 2 0 0 2 0 0 0 0 0 +762 17 1 1 4 0 0 4 1 1 +763 6 0 0 2 0 0 0 0 0 +771 8 0 0 2 0 0 0 0 0 +837 9 1 1 0 0 0 6 0 0 +838 1 0 0 0 0 0 0 0 0 +842 6 0 0 3 0 0 0 0 0 +845 8 0 0 0 0 0 2 0 0 +846 6 1 1 0 0 0 0 0 0 +848 9 2 2 0 0 0 2 0 0 +849 4 1 1 0 0 0 2 0 0 +855 2 0 0 0 0 0 0 0 0 +857 4 0 0 2 0 0 0 0 0 +859 4 0 0 2 0 0 0 0 0 +863 9 0 0 7 0 0 0 0 0 +fn=init_tls +681 1 0 0 0 0 0 1 0 0 +683 2 0 0 1 0 0 1 0 0 +687 2 0 0 1 1 0 0 0 0 +693 2 0 0 0 0 0 1 0 0 +696 1 0 0 0 0 0 1 0 0 +697 4 0 0 0 0 0 1 0 0 +702 1 0 0 0 0 0 0 0 0 +704 1 0 0 0 0 0 1 0 0 +708 2 1 1 1 1 1 0 0 0 +709 1 0 0 0 0 0 0 0 0 +710 25 1 1 1 0 0 0 0 0 +711 14 0 0 7 0 0 0 0 0 +712 14 0 0 7 3 0 0 0 0 +716 2 0 0 0 0 0 1 0 0 +718 1 0 0 0 0 0 0 0 0 +720 2 0 0 0 0 0 0 0 0 +723 1 1 1 0 0 0 1 0 0 +730 2 0 0 0 0 0 1 0 0 +731 2 0 0 0 0 0 0 0 0 +737 2 1 1 1 0 0 1 0 0 +740 7 0 0 0 0 0 2 0 0 +743 1 1 1 0 0 0 1 0 0 +745 1 0 0 0 0 0 0 0 0 +746 3 0 0 2 0 0 0 0 0 +fn=map_doit +588 4 1 1 0 0 0 2 0 0 +590 8 0 0 2 0 0 0 0 0 +591 12 1 1 4 0 0 4 1 1 +593 4 0 0 4 0 0 0 0 0 +fn=rtld_lock_default_lock_recursive +784 6 1 1 6 1 1 0 0 0 +785 6 0 0 6 0 0 0 0 0 +fn=rtld_lock_default_unlock_recursive +790 6 0 0 6 0 0 0 0 0 +791 6 0 0 6 0 0 0 0 0 +fn=version_check_doit +621 2 1 1 0 0 0 1 0 0 +623 6 0 0 2 0 0 1 0 0 +627 2 1 0 2 0 0 0 0 0 +fl=/build/glibc-OTsEL5/glibc-2.27/elf/setup-vdso.h +fn=dl_main +24 2 0 0 1 0 0 0 0 0 +fl=/build/glibc-OTsEL5/glibc-2.27/io/../sysdeps/unix/sysv/linux/access.c +fn=access +27 7 2 2 0 0 0 1 0 0 +31 1 0 0 1 0 0 0 0 0 +fl=/build/glibc-OTsEL5/glibc-2.27/io/../sysdeps/unix/sysv/linux/close.c +fn=close +27 24 1 1 0 0 0 0 0 0 +28 6 0 0 6 0 0 0 0 0 +fl=/build/glibc-OTsEL5/glibc-2.27/io/../sysdeps/unix/sysv/linux/open64.c +fn=open +36 57 0 0 0 0 0 57 2 2 +39 342 1 1 0 0 0 0 0 0 +47 552 1 1 0 0 0 51 0 0 +49 57 0 0 57 0 0 0 0 0 +fl=/build/glibc-OTsEL5/glibc-2.27/io/../sysdeps/unix/sysv/linux/read.c +fn=read +27 20 1 1 0 0 0 0 0 0 +28 5 0 0 5 0 0 0 0 0 +fl=/build/glibc-OTsEL5/glibc-2.27/io/../sysdeps/unix/sysv/linux/wordsize-64/fxstat.c +fn=_fxstat +33 6 0 0 0 0 0 0 0 0 +34 12 1 1 0 0 0 0 0 0 +35 36 1 1 0 0 0 0 0 0 +39 6 0 0 6 0 0 0 0 0 +fl=/build/glibc-OTsEL5/glibc-2.27/io/../sysdeps/unix/sysv/linux/wordsize-64/lxstat.c +fn=open +39 57 1 1 0 0 0 0 0 0 +fl=/build/glibc-OTsEL5/glibc-2.27/io/../sysdeps/unix/sysv/linux/wordsize-64/xstat.c +fn=_xstat +33 16 0 0 0 0 0 0 0 0 +34 32 1 1 0 0 0 0 0 0 +35 156 0 0 15 0 0 15 0 0 +39 1 0 0 1 0 0 0 0 0 +fl=/build/glibc-OTsEL5/glibc-2.27/libio/genops.c +fn=_IO_cleanup +849 10 0 0 3 0 0 1 0 0 +850 13 2 2 5 0 0 2 0 0 +853 12 0 0 4 0 0 0 0 0 +855 9 0 0 3 0 0 0 0 0 +857 6 0 0 2 0 0 0 0 0 +863 1 0 0 1 0 0 0 0 0 +887 1 1 1 1 0 0 0 0 0 +893 3 0 0 0 0 0 3 0 0 +897 9 1 1 2 0 0 2 0 0 +898 8 1 1 2 0 0 1 0 0 +918 10 1 1 1 0 0 7 0 0 +921 3 1 1 0 0 0 2 0 0 +933 12 1 1 10 0 0 0 0 0 +fn=_IO_flush_all_lockp +749 11 2 2 1 0 0 7 0 0 +750 1 0 0 0 0 0 0 0 0 +754 11 0 0 3 0 0 2 0 0 +755 13 2 2 5 1 1 2 0 0 +758 12 0 0 4 3 1 0 0 0 +760 3 1 1 0 0 0 3 0 0 +761 6 1 1 0 0 0 0 0 0 +762 1 1 1 1 0 0 0 0 0 +764 22 2 2 10 6 3 0 0 0 +772 6 1 1 0 0 0 0 0 0 +774 3 0 0 0 0 0 3 0 0 +778 9 0 0 2 0 0 2 0 0 +779 9 1 1 3 0 0 1 0 0 +783 12 1 1 9 0 0 0 0 0 +fl=/build/glibc-OTsEL5/glibc-2.27/libio/libioP.h +fn=_IO_cleanup +870 4 1 1 0 0 0 0 0 0 +fn=_IO_flush_all_lockp +870 4 0 0 0 0 0 0 0 0 +fl=/build/glibc-OTsEL5/glibc-2.27/misc/../sysdeps/unix/syscall-template.S +fn=mprotect +78 48 1 1 0 0 0 0 0 0 +79 12 0 0 12 0 0 0 0 0 +fn=munmap +78 4 0 0 0 0 0 0 0 0 +79 1 0 0 1 0 0 0 0 0 +fl=/build/glibc-OTsEL5/glibc-2.27/misc/../sysdeps/unix/sysv/linux/mmap64.c +fn=mmap +41 180 0 0 0 0 0 90 3 3 +44 30 1 1 0 0 0 0 0 0 +47 56 2 2 5 0 0 0 0 0 +52 150 0 0 0 0 0 0 0 0 +54 105 0 0 105 0 0 0 0 0 +fl=/build/glibc-OTsEL5/glibc-2.27/misc/init-misc.c +fn=__init_misc +30 3 0 0 0 0 0 2 0 0 +31 6 2 2 1 0 0 0 0 0 +33 3 0 0 0 0 0 1 0 0 +37 5 0 0 1 1 0 1 1 0 +38 3 0 0 2 0 0 1 0 0 +40 4 0 0 3 0 0 0 0 0 +fl=/build/glibc-OTsEL5/glibc-2.27/nptl/../include/list.h +fn=__pthread_initialize_minimal +44 1 1 1 0 0 0 1 0 0 +45 1 0 0 0 0 0 1 0 0 +46 1 0 0 0 0 0 1 0 0 +48 1 0 0 0 0 0 1 0 0 +fl=/build/glibc-OTsEL5/glibc-2.27/nptl/../nptl/pthread_mutex_lock.c +fn=pthread_mutex_lock +64 1 0 0 0 0 0 0 0 0 +65 3 1 1 1 0 0 0 0 0 +67 1 0 0 0 0 0 0 0 0 +69 2 0 0 0 0 0 0 0 0 +73 4 1 1 1 0 0 0 0 0 +82 2 1 1 0 0 0 0 0 0 +93 4 0 0 0 0 0 0 0 0 +97 1 0 0 1 0 0 0 0 0 +100 2 0 0 1 0 0 0 0 0 +113 3 1 1 1 0 0 0 0 0 +115 3 0 0 1 0 0 0 0 0 +116 2 0 0 0 0 0 1 0 0 +154 1 1 1 1 0 0 0 0 0 +157 1 0 0 0 0 0 1 0 0 +159 1 0 0 1 0 0 0 0 0 +162 1 0 0 0 0 0 0 0 0 +164 1 0 0 0 0 0 0 0 0 +165 2 0 0 1 0 0 0 0 0 +fl=/build/glibc-OTsEL5/glibc-2.27/nptl/../sysdeps/unix/sysv/linux/pthread-pids.h +fn=__pthread_initialize_minimal +29 4 0 0 0 0 0 1 1 0 +fl=/build/glibc-OTsEL5/glibc-2.27/nptl/../sysdeps/unix/sysv/linux/x86/elision-conf.c +fn=elision_init +107 5 1 1 1 0 0 2 0 0 +112 5 0 0 0 0 0 1 0 0 +114 4 1 1 0 0 0 1 0 0 +116 4 0 0 0 0 0 1 0 0 +118 4 0 0 0 0 0 1 0 0 +120 4 1 1 0 0 0 1 0 0 +124 3 0 0 1 0 0 0 0 0 +125 1 0 0 0 0 0 1 1 0 +126 6 0 0 4 0 0 0 0 0 +fl=/build/glibc-OTsEL5/glibc-2.27/nptl/../sysdeps/unix/sysv/linux/x86_64/sigaction.c +fn=__libc_sigaction +47 10 1 1 2 0 0 2 0 0 +51 4 1 1 0 0 0 0 0 0 +53 4 0 0 2 0 0 2 0 0 +54 34 0 0 16 0 0 16 3 2 +55 8 0 0 2 0 0 2 0 0 +57 4 1 1 0 0 0 2 0 0 +62 24 2 2 0 0 0 0 0 0 +65 4 0 0 0 0 0 0 0 0 +73 10 1 1 6 0 0 0 0 0 +fl=/build/glibc-OTsEL5/glibc-2.27/nptl/cleanup_defer_compat.c +fn=_pthread_cleanup_pop_restore +62 2 1 1 0 0 0 0 0 0 +65 4 0 0 2 0 0 2 0 0 +68 6 0 0 2 0 0 0 0 0 +91 4 0 0 0 0 0 0 0 0 +92 2 1 1 2 0 0 0 0 0 +fn=_pthread_cleanup_push_defer +28 2 1 1 0 0 0 2 0 0 +29 2 0 0 0 0 0 2 0 0 +30 4 0 0 2 0 0 2 0 0 +32 2 0 0 2 0 0 0 0 0 +35 4 0 0 0 0 0 0 0 0 +52 6 0 0 0 0 0 2 0 0 +54 2 0 0 0 0 0 2 0 0 +55 2 0 0 2 0 0 0 0 0 +fl=/build/glibc-OTsEL5/glibc-2.27/nptl/libc_pthread_init.c +fn=__libc_pthread_init +43 2 1 1 0 0 0 1 0 0 +45 1 0 0 0 0 0 1 1 1 +48 6 0 0 0 0 0 1 0 0 +67 161 0 0 0 0 0 0 0 0 +70 159 0 0 106 4 0 0 0 0 +71 53 0 0 0 0 0 53 6 6 +73 1 0 0 0 0 0 1 0 0 +79 3 0 0 2 0 0 0 0 0 +fl=/build/glibc-OTsEL5/glibc-2.27/nptl/nptl-init.c +fn=__pthread_initialize_minimal +285 7 1 1 1 0 0 4 0 0 +287 1 0 0 1 0 0 0 0 0 +289 2 1 1 0 0 0 1 1 0 +290 1 0 0 0 0 0 1 1 0 +294 3 0 0 2 1 0 1 0 0 +300 2 0 0 0 0 0 1 0 0 +302 1 0 0 0 0 0 1 0 0 +304 1 0 0 0 0 0 1 0 0 +308 3 1 1 0 0 0 0 0 0 +356 3 0 0 2 2 0 1 1 0 +359 2 0 0 0 0 0 1 1 1 +360 1 0 0 0 0 0 0 0 0 +364 6 0 0 1 1 0 1 0 0 +374 2 0 0 0 0 0 1 0 0 +375 19 1 1 0 0 0 17 0 0 +376 4 0 0 0 0 0 1 0 0 +381 2 0 0 0 0 0 1 0 0 +382 1 1 1 0 0 0 1 0 0 +383 4 0 0 0 0 0 1 0 0 +393 2 0 0 1 0 0 0 0 0 +397 6 0 0 0 0 0 0 0 0 +405 3 1 1 0 0 0 1 0 0 +408 4 0 0 1 0 0 0 0 0 +410 1 0 0 0 0 0 1 0 0 +412 6 1 1 1 0 0 1 0 0 +417 5 0 0 0 0 0 1 0 0 +418 3 0 0 1 0 0 0 0 0 +422 1 0 0 0 0 0 0 0 0 +425 3 0 0 0 0 0 0 0 0 +429 2 1 1 2 0 0 0 0 0 +430 3 0 0 1 0 0 0 0 0 +435 7 0 0 0 0 0 1 0 0 +436 4 1 1 1 0 0 0 0 0 +437 2 0 0 1 0 0 1 1 1 +438 1 0 0 0 0 0 1 1 1 +439 2 1 1 2 0 0 0 0 0 +444 2 0 0 0 0 0 1 1 0 +445 2 0 0 0 0 0 1 0 0 +446 1 0 0 1 1 0 0 0 0 +447 1 1 1 0 0 0 1 0 0 +448 3 0 0 0 0 0 0 0 0 +451 2 0 0 0 0 0 1 0 0 +454 2 0 0 0 0 0 1 0 0 +456 2 0 0 0 0 0 1 0 0 +460 1 0 0 0 0 0 1 0 0 +462 4 1 1 0 0 0 1 0 0 +466 1 0 0 0 0 0 1 0 0 +467 8 1 1 6 0 0 0 0 0 +fl=/build/glibc-OTsEL5/glibc-2.27/nptl/pthread_mutex_unlock.c +fn=pthread_mutex_unlock +38 3 1 1 1 0 0 0 0 0 +39 3 0 0 0 0 0 0 0 0 +43 2 0 0 0 0 0 0 0 0 +48 1 1 1 0 0 0 1 0 0 +51 1 0 0 1 0 0 0 0 0 +54 3 0 0 2 0 0 0 0 0 +56 1 0 0 0 0 0 0 0 0 +60 2 1 1 0 0 0 0 0 0 +66 4 0 0 0 0 0 0 0 0 +70 3 0 0 2 0 0 0 0 0 +73 2 0 0 1 0 0 0 0 0 +344 1 0 0 0 0 0 0 0 0 +346 2 0 0 1 0 0 0 0 0 +fl=/build/glibc-OTsEL5/glibc-2.27/nptl/register-atfork.c +fn=__register_atfork +46 2 0 0 0 0 0 0 0 0 +53 2 0 0 0 0 0 0 0 0 +54 6 1 1 1 1 1 0 0 0 +73 1 0 0 0 0 0 0 0 0 +74 4 0 0 0 0 0 1 0 0 +85 7 1 1 0 0 0 3 0 0 +87 6 1 1 2 1 1 0 0 0 +94 1 0 0 0 0 0 1 0 0 +95 1 0 0 0 0 0 1 0 0 +96 1 1 1 0 0 0 1 0 0 +97 1 0 0 0 0 0 1 0 0 +103 4 1 1 2 0 0 0 0 0 +105 3 0 0 0 0 0 0 0 0 +106 5 0 0 4 0 0 0 0 0 +115 2 0 0 1 1 1 1 0 0 +116 6 0 0 2 0 0 0 0 0 +fl=/build/glibc-OTsEL5/glibc-2.27/nptl/unregister-atfork.c +fn=__unregister_atfork +28 35 1 1 5 0 0 15 0 0 +36 5 0 0 5 0 0 0 0 0 +39 20 0 0 0 0 0 0 0 0 +40 15 0 0 5 0 0 0 0 0 +45 5 1 1 5 0 0 0 0 0 +121 30 0 0 25 0 0 0 0 0 +fl=/build/glibc-OTsEL5/glibc-2.27/posix/../sysdeps/unix/syscall-template.S +fn=uname +78 4 1 1 0 0 0 0 0 0 +79 1 0 0 1 0 0 0 0 0 +fl=/build/glibc-OTsEL5/glibc-2.27/posix/../sysdeps/unix/sysv/linux/_exit.c +fn=_Exit +27 2 1 1 1 0 0 0 0 0 +31 4 1 1 0 0 0 0 0 0 +33 2 0 0 0 0 0 0 0 0 +fl=/build/glibc-OTsEL5/glibc-2.27/resource/../sysdeps/unix/sysv/linux/getrlimit64.c +fn=getrlimit +37 1 1 1 0 0 0 0 0 0 +38 7 0 0 0 0 0 0 0 0 +39 1 0 0 1 0 0 0 0 0 +fl=/build/glibc-OTsEL5/glibc-2.27/setjmp/../sysdeps/x86_64/bsd-_setjmp.S +fn=_setjmp +30 1 1 1 0 0 0 0 0 0 +32 1 0 0 0 0 0 0 0 0 +fl=/build/glibc-OTsEL5/glibc-2.27/setjmp/../sysdeps/x86_64/setjmp.S +fn=__sigsetjmp +26 12 2 2 0 0 0 12 0 0 +35 12 0 0 0 0 0 0 0 0 +36 24 1 1 12 0 0 0 0 0 +37 12 0 0 0 0 0 12 0 0 +41 12 0 0 0 0 0 12 0 0 +42 12 0 0 0 0 0 12 0 0 +43 12 0 0 0 0 0 12 0 0 +44 12 0 0 0 0 0 12 0 0 +45 12 0 0 0 0 0 0 0 0 +47 24 1 1 12 0 0 0 0 0 +49 12 0 0 0 0 0 12 1 1 +50 12 0 0 12 0 0 0 0 0 +51 12 0 0 0 0 0 0 0 0 +53 24 0 0 12 0 0 0 0 0 +55 12 1 1 0 0 0 12 0 0 +59 11 0 0 0 0 0 0 0 0 +60 11 0 0 11 0 0 0 0 0 +63 1 0 0 0 0 0 0 0 0 +fl=/build/glibc-OTsEL5/glibc-2.27/setjmp/sigjmp.c +fn=__sigjmp_save +28 2 0 0 0 0 0 1 0 0 +29 3 0 0 0 0 0 1 0 0 +34 3 0 0 2 0 0 0 0 0 +fl=/build/glibc-OTsEL5/glibc-2.27/stdlib/cxa_atexit.c +fn=__cxa_atexit +39 7 1 1 2 1 1 0 0 0 +40 2 1 1 0 0 0 1 0 0 +42 2 0 0 0 0 0 0 0 0 +49 2 0 0 1 0 0 0 0 0 +51 1 0 0 0 0 0 1 0 0 +52 1 0 0 0 0 0 1 0 0 +53 1 0 0 0 0 0 1 0 0 +54 1 0 0 0 0 0 1 0 0 +55 4 1 1 2 0 0 0 0 0 +56 1 0 0 0 0 0 0 0 0 +65 8 1 1 0 0 0 4 0 0 +67 6 0 0 5 0 0 0 0 0 +fn=__new_exitfn +78 3 0 0 0 0 0 2 0 0 +79 2 0 0 0 0 0 0 0 0 +84 2 1 1 1 1 0 0 0 0 +89 8 2 2 2 1 0 0 0 0 +91 3 0 0 1 1 0 0 0 0 +99 2 0 0 0 0 0 1 0 0 +120 1 1 1 0 0 0 0 0 0 +121 2 0 0 0 0 0 1 0 0 +134 1 1 1 0 0 0 1 0 0 +135 1 0 0 1 0 0 0 0 0 +139 4 0 0 3 0 0 0 0 0 +fl=/build/glibc-OTsEL5/glibc-2.27/stdlib/cxa_finalize.c +fn=__cxa_finalize +30 40 1 1 0 0 0 30 0 0 +33 35 1 1 10 0 0 0 0 0 +36 30 1 1 10 0 0 0 0 0 +40 35 1 1 5 0 0 0 0 0 +94 40 2 2 10 0 0 0 0 0 +98 30 0 0 5 1 1 0 0 0 +106 10 0 0 0 0 0 0 0 0 +107 10 0 0 0 0 0 5 0 0 +109 20 1 1 10 0 0 0 0 0 +110 40 0 0 35 0 0 0 0 0 +fl=/build/glibc-OTsEL5/glibc-2.27/stdlib/cxa_thread_atexit_impl.c +fn=__call_tls_dtors +145 3 1 1 0 0 0 2 0 0 +146 4 1 1 2 1 0 0 0 0 +164 4 1 1 3 0 0 0 0 0 +fl=/build/glibc-OTsEL5/glibc-2.27/stdlib/exit.c +fn=__run_exit_handlers +40 10 1 1 0 0 0 7 0 0 +45 3 0 0 0 0 0 0 0 0 +46 2 0 0 0 0 0 1 0 0 +53 1 1 1 0 0 0 0 0 0 +56 14 1 1 4 0 0 0 0 0 +59 2 0 0 2 0 0 0 0 0 +61 5 0 0 0 0 0 0 0 0 +65 1 0 0 0 0 0 1 0 0 +66 4 0 0 2 0 0 0 0 0 +70 6 1 1 2 0 0 0 0 0 +72 2 0 0 0 0 0 1 0 0 +73 1 0 0 1 0 0 0 0 0 +76 4 1 1 2 0 0 0 0 0 +77 8 2 2 1 0 0 0 0 0 +103 1 0 0 0 0 0 1 0 0 +106 3 0 0 2 0 0 0 0 0 +108 3 1 1 1 0 0 1 0 0 +109 1 0 0 0 0 0 0 0 0 +112 6 0 0 2 0 0 0 0 0 +114 2 0 0 1 0 0 0 0 0 +120 2 0 0 1 0 0 1 0 0 +121 2 0 0 0 0 0 0 0 0 +126 4 0 0 2 0 0 0 0 0 +129 2 1 1 1 0 0 0 0 0 +130 14 0 0 1 1 0 1 0 0 +132 2 0 0 0 0 0 1 0 0 +fn=exit +138 1 0 0 0 0 0 0 0 0 +139 4 1 1 0 0 0 1 0 0 +fl=/build/glibc-OTsEL5/glibc-2.27/string/../bits/stdlib-bsearch.h +fn=intel_check_word.isra.0 +27 24 0 0 0 0 0 0 0 0 +28 12 0 0 0 0 0 0 0 0 +29 288 1 1 0 0 0 0 0 0 +31 162 0 0 0 0 0 0 0 0 +32 81 0 0 0 0 0 0 0 0 +37 15 0 0 0 0 0 0 0 0 +fl=/build/glibc-OTsEL5/glibc-2.27/string/../sysdeps/x86/cacheinfo.c +fn=handle_intel.constprop.1 +259 30 1 1 3 0 0 21 0 0 +261 3 0 0 3 0 0 0 0 0 +264 9 0 0 3 0 0 0 0 0 +270 3 1 1 0 0 0 3 0 0 +272 3 0 0 0 0 0 3 0 0 +273 3 0 0 0 0 0 3 0 0 +275 12 0 0 0 0 0 0 0 0 +281 15 0 0 0 0 0 6 0 0 +286 6 0 0 0 0 0 0 0 0 +288 6 1 1 0 0 0 3 0 0 +289 3 0 0 0 0 0 0 0 0 +293 18 0 0 0 0 0 3 0 0 +295 6 0 0 0 0 0 0 0 0 +298 21 1 1 0 0 0 3 0 0 +300 6 0 0 0 0 0 0 0 0 +319 33 2 2 27 0 0 0 0 0 +fn=init_cacheinfo +488 7 1 1 0 0 0 6 0 0 +500 2 1 1 1 0 0 1 0 0 +502 6 1 1 4 0 0 0 0 0 +504 3 0 0 0 0 0 1 0 0 +506 3 1 1 0 0 0 2 0 0 +510 1 0 0 0 0 0 1 0 0 +511 3 0 0 0 0 0 1 0 0 +519 2 0 0 0 0 0 0 0 0 +530 1 0 0 0 0 0 0 0 0 +535 3 0 0 1 0 0 0 0 0 +539 2 1 1 1 0 0 0 0 0 +547 9 0 0 0 0 0 0 0 0 +550 14 1 1 0 0 0 0 0 0 +556 8 0 0 0 0 0 0 0 0 +559 26 0 0 0 0 0 0 0 0 +564 2 0 0 0 0 0 0 0 0 +568 4 1 1 0 0 0 0 0 0 +569 1 0 0 0 0 0 0 0 0 +573 2 0 0 0 0 0 0 0 0 +577 3 0 0 0 0 0 0 0 0 +580 3 0 0 0 0 0 0 0 0 +581 1 0 0 0 0 0 0 0 0 +586 8 0 0 0 0 0 0 0 0 +592 2 1 1 1 0 0 0 0 0 +600 8 0 0 1 0 0 0 0 0 +602 7 1 1 0 0 0 0 0 0 +604 7 1 1 0 0 0 0 0 0 +606 6 0 0 0 0 0 0 0 0 +609 2 0 0 0 0 0 0 0 0 +610 8 0 0 0 0 0 0 0 0 +612 4 0 0 0 0 0 0 0 0 +615 2 0 0 0 0 0 0 0 0 +620 1 0 0 0 0 0 0 0 0 +622 4 0 0 0 0 0 0 0 0 +623 3 1 1 0 0 0 0 0 0 +624 1 0 0 0 0 0 0 0 0 +627 2 0 0 0 0 0 0 0 0 +630 3 1 1 0 0 0 0 0 0 +634 2 0 0 1 0 0 0 0 0 +637 1 0 0 0 0 0 0 0 0 +639 4 0 0 0 0 0 0 0 0 +640 1 0 0 0 0 0 0 0 0 +645 2 1 1 0 0 0 0 0 0 +650 2 0 0 0 0 0 ... [truncated message content] |
|
From: Nicholas N. <nj...@so...> - 2021-12-05 21:57:53
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=8e60cde69e879627e872668b084f1672195990a0 commit 8e60cde69e879627e872668b084f1672195990a0 Author: Nicholas Nethercote <n.n...@gm...> Date: Mon Dec 6 08:09:29 2021 +1100 Fix `cg_annotate` warnings when using `cg_diff`. When running `cg_annotate` on files produced with `cg_diff`, it's common to get multiple occurrences of this pair of errors: ``` Use of uninitialized value $pairs[0] in numeric lt (<) at /home/njn/grind/ws1/cachegrind/cg_annotate line 848. Use of uninitialized value $high in numeric lt (<) at /home/njn/grind/ws1/cachegrind/cg_annotate line 859. ``` This is because `cg_annotate` wasn't properly handling the case where no source code lines have annotations, which never happens in the normal case but does happen in `cg_diff` output. Happily, it turns out that the warnings were harmless, the fix is trivial, and it doesn't change the output at all. Diff: --- cachegrind/cg_annotate.in | 56 ++++++++++++++++++++++++----------------------- 1 file changed, 29 insertions(+), 27 deletions(-) diff --git a/cachegrind/cg_annotate.in b/cachegrind/cg_annotate.in index fea114bf49..9111fbe7ef 100644 --- a/cachegrind/cg_annotate.in +++ b/cachegrind/cg_annotate.in @@ -845,35 +845,37 @@ sub annotate_ann_files($) } # Annotate chosen lines, tracking total counts of lines printed - $pairs[0] = 1 if ($pairs[0] < 1); - while (@pairs) { - my $low = shift @pairs; - my $high = shift @pairs; - while ($. < $low-1) { - my $tmp = <INPUTFILE>; - last unless (defined $tmp); # hack to detect EOF - } - my $src_line; - # Print line number, unless start of file - print("-- line $low " . '-' x 40 . "\n") if ($low != 1); - while (($. < $high) && ($src_line = <INPUTFILE>)) { - if (defined $line_nums[0] && $. == $line_nums[0]) { - print_CC($src_file_CCs->{$.}, $CC_col_widths); - add_array_a_to_b($src_file_CCs->{$.}, - $printed_totals_CC); - shift(@line_nums); - + if (@pairs) { + $pairs[0] = 1 if ($pairs[0] < 1); + while (@pairs) { + my $low = shift @pairs; + my $high = shift @pairs; + while ($. < $low-1) { + my $tmp = <INPUTFILE>; + last unless (defined $tmp); # hack to detect EOF + } + my $src_line; + # Print line number, unless start of file + print("-- line $low " . '-' x 40 . "\n") if ($low != 1); + while (($. < $high) && ($src_line = <INPUTFILE>)) { + if (defined $line_nums[0] && $. == $line_nums[0]) { + print_CC($src_file_CCs->{$.}, $CC_col_widths); + add_array_a_to_b($src_file_CCs->{$.}, + $printed_totals_CC); + shift(@line_nums); + + } else { + print_CC([], $CC_col_widths); + } + + print(" $src_line"); + } + # Print line number, unless EOF + if ($src_line) { + print("-- line $high " . '-' x 40 . "\n"); } else { - print_CC([], $CC_col_widths); + last; } - - print(" $src_line"); - } - # Print line number, unless EOF - if ($src_line) { - print("-- line $high " . '-' x 40 . "\n"); - } else { - last; } } |
|
From: Paul F. <pa...@so...> - 2021-12-04 11:37:14
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=e74872ded82025ef1a64d976f555174f5d6525a5 commit e74872ded82025ef1a64d976f555174f5d6525a5 Author: Paul Floyd <pj...@wa...> Date: Sat Dec 4 12:34:18 2021 +0100 Fix compiler warnings on non-Linux platforms. The new clock pthread APIs are not yet implemented on other platforms. So make them Linux-only for the moment. The DRD macros that instantiate the wrappers apply to all OSes so there is no compiler warning there. Diff: --- helgrind/hg_intercepts.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/helgrind/hg_intercepts.c b/helgrind/hg_intercepts.c index c9b3f85ef3..7260c89aa0 100644 --- a/helgrind/hg_intercepts.c +++ b/helgrind/hg_intercepts.c @@ -1110,6 +1110,7 @@ PTH_FUNC(int, pthreadZumutexZureltimedlock, // pthread_mutex_reltimedlock } #endif +#if defined(VGP_linux) //----------------------------------------------------------- // glibc: pthread_mutex_clocklock // @@ -1157,6 +1158,7 @@ PTH_FUNC(int, pthreadZumutexZuclocklock, // pthread_mutex_clocklock void *timeout) { return mutex_clocklock_WRK(mutex, clockid, timeout); } +#endif //----------------------------------------------------------- // glibc: pthread_mutex_unlock @@ -1456,6 +1458,7 @@ static int pthread_cond_timedwait_WRK(pthread_cond_t* cond, # error "Unsupported OS" #endif +#if defined(VGO_linux) //----------------------------------------------------------- // glibc: pthread_cond_clockwait // @@ -1529,7 +1532,6 @@ static int pthread_cond_clockwait_WRK(pthread_cond_t* cond, return ret; } -#if defined(VGO_linux) PTH_FUNC(int, pthreadZucondZuclockwait, // pthread_cond_clockwait pthread_cond_t* cond, pthread_mutex_t* mutex, clockid_t clockid, @@ -2732,6 +2734,7 @@ PTH_FUNC(int, pthreadZurwlockZutimedrdlock, // pthread_rwlock_timedrdlock # error "Unsupported OS" #endif +#if defined(VGO_linux) //----------------------------------------------------------- // glibc: pthread_rwlock_clockrdlock // @@ -2765,7 +2768,7 @@ static int pthread_rwlock_clockrdlock_WRK(pthread_rwlock_t *rwlock, } return ret; } -#if defined(VGO_linux) + PTH_FUNC(int, pthreadZurwlockZuclockrdlock, // pthread_rwlock_clockrdlock pthread_rwlock_t *rwlock, clockid_t clockid, @@ -2834,7 +2837,7 @@ PTH_FUNC(int, pthreadZurwlockZutimedwrlock, // pthread_rwlock_timedwrlock # error "Unsupported OS" #endif - +#if defined(VGO_linux) //----------------------------------------------------------- // glibc: pthread_rwlock_clockwrlock // @@ -2868,7 +2871,7 @@ static int pthread_rwlock_clockwrlock_WRK(pthread_rwlock_t *rwlock, } return ret; } -#if defined(VGO_linux) + PTH_FUNC(int, pthreadZurwlockZuclockwrlock, // pthread_rwlock_clockwrlock pthread_rwlock_t *rwlock, clockid_t clockid, |
|
From: Mark W. <ma...@so...> - 2021-12-02 23:06:34
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=cfee5012a240d97922d15ab4a54d312a916ef3d4 commit cfee5012a240d97922d15ab4a54d312a916ef3d4 Author: Mark Wielaard <ma...@kl...> Date: Fri Dec 3 00:04:00 2021 +0100 Add arm64 test binaries to .gitignore Diff: --- .gitignore | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/.gitignore b/.gitignore index bf83c0f8c0..5d9ba7c429 100644 --- a/.gitignore +++ b/.gitignore @@ -1056,6 +1056,7 @@ /memcheck/tests/arm64-linux/.deps /memcheck/tests/arm64-linux/Makefile /memcheck/tests/arm64-linux/Makefile.in +/memcheck/tests/arm64-linux/scalar # /memcheck/tests/common/ /memcheck/tests/common/Makefile @@ -1653,6 +1654,16 @@ /none/tests/arm64/.deps /none/tests/arm64/Makefile /none/tests/arm64/Makefile.in +/none/tests/arm64/allexec +/none/tests/arm64/atomics_v81 +/none/tests/arm64/crc32 +/none/tests/arm64/cvtf_imm +/none/tests/arm64/fmadd_sub +/none/tests/arm64/fp_and_simd +/none/tests/arm64/fp_and_simd_v82 +/none/tests/arm64/integer +/none/tests/arm64/memory +/none/tests/arm64/simd_v81 # /none/tests/darwin/ /none/tests/darwin/*.dSYM |
|
From: Mark W. <ma...@so...> - 2021-12-02 13:46:32
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=16ea9763be8b67f159df331cb294005976005513 commit 16ea9763be8b67f159df331cb294005976005513 Author: Mark Wielaard <ma...@kl...> Date: Thu Dec 2 14:41:44 2021 +0100 valgrind-di-server.c: Fix minor file descriptor leak on error In handle_transaction when a file descriptor is opened for a file, but then cannot be stat or the file turns out to be zero size we leak the file descriptor. Call close (fd) before reporting error. Diff: --- auxprogs/valgrind-di-server.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/auxprogs/valgrind-di-server.c b/auxprogs/valgrind-di-server.c index c6809bc3a9..a3357c004a 100644 --- a/auxprogs/valgrind-di-server.c +++ b/auxprogs/valgrind-di-server.c @@ -774,10 +774,12 @@ static Bool handle_transaction ( int conn_no ) int r = fstat(fd, &stat_buf); if (r != 0) { res = mk_Frame_asciiz("FAIL", "OPEN: cannot stat file"); + close(fd); ok = False; } if (ok && stat_buf.st_size == 0) { res = mk_Frame_asciiz("FAIL", "OPEN: file has zero size"); + close(fd); ok = False; } if (ok) { |
|
From: Paul F. <pa...@so...> - 2021-12-01 23:27:02
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=53ad200bfa6cdab92d6f471c9d6b2811a79335fc commit 53ad200bfa6cdab92d6f471c9d6b2811a79335fc Author: Paul Floyd <pj...@wa...> Date: Thu Dec 2 00:25:20 2021 +0100 Bug 446281 Add a DRD suppression for fwrite Add a suppression for fwrite-like functions. Helgrind already has a similar suppression. Diff: --- NEWS | 3 +++ glibc-2.X-drd.supp.in | 7 +++++++ 2 files changed, 10 insertions(+) diff --git a/NEWS b/NEWS index 76e598fb7f..e7b53a515c 100644 --- a/NEWS +++ b/NEWS @@ -54,6 +54,9 @@ are not entered into bugzilla tend to get forgotten about or ignored. 445354 arm64 backend: incorrect code emitted for doubleword CAS 445415 arm64 front end: alignment checks missing for atomic instructions 445668 Inline stack frame generation is broken for Rust binaries +446139 DRD/Helgrind with std::shared_timed_mutex::try_lock_until and try_lock_shared_until false positives +446138 DRD/Helgrind with std::timed_mutex::try_lock_until false positives +446281 Add a DRD suppression for fwrite To see details of a given bug, visit https://bugs.kde.org/show_bug.cgi?id=XXXXXX diff --git a/glibc-2.X-drd.supp.in b/glibc-2.X-drd.supp.in index 9a9b6f0752..b8c8ac0ad5 100644 --- a/glibc-2.X-drd.supp.in +++ b/glibc-2.X-drd.supp.in @@ -37,6 +37,13 @@ fun:random_r fun:random } +{ + drd-glibc-io-xsputn-mempcpy + drd:ConflictingAccess + fun:__GI_mempcpy + fun:_IO_*xsputn* + obj:@GLIBC_LIBC_PATH@ +} # # Suppression patterns for libstdc++, the implementation of the standard C++ |
|
From: Paul F. <pa...@so...> - 2021-12-01 23:16:49
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=c2607e093c54abe473b1d419cbdbba403cc87cdf commit c2607e093c54abe473b1d419cbdbba403cc87cdf Author: Paul Floyd <pj...@wa...> Date: Thu Dec 2 00:03:27 2021 +0100 Bug 446139 DRD/Helgrind with std::shared_timed_mutex::try_lock_until and try_lock_shared_until false positives also Bug 446138 DRD/Helgrind with std::timed_mutex::try_lock_until false positives Diff: --- .gitignore | 2 + configure.ac | 46 +++++++++++ drd/drd_pthread_intercepts.c | 63 +++++++++++++++ drd/tests/Makefile.am | 19 +++++ drd/tests/shared_timed_mutex.cpp | 63 +++++++++++++++ drd/tests/shared_timed_mutex.stderr.exp | 3 + drd/tests/shared_timed_mutex.vgtest | 3 + drd/tests/timed_mutex.cpp | 29 +++++++ drd/tests/timed_mutex.stderr.exp | 3 + drd/tests/timed_mutex.vgtest | 3 + helgrind/hg_intercepts.c | 132 ++++++++++++++++++++++++++++++++ 11 files changed, 366 insertions(+) diff --git a/.gitignore b/.gitignore index fd85516b28..bf83c0f8c0 100644 --- a/.gitignore +++ b/.gitignore @@ -442,6 +442,7 @@ /drd/tests/sem_as_mutex /drd/tests/sem_open /drd/tests/sem_wait +/drd/tests/shared_timed_mutex /drd/tests/sigalrm /drd/tests/std_atomic /drd/tests/std_list @@ -476,6 +477,7 @@ /drd/tests/threaded-fork /drd/tests/thread_name /drd/tests/thread_name_freebsd +/drd/tests/timed_mutex /drd/tests/trylock /drd/tests/tsan_unittest /drd/tests/unit_bitmap diff --git a/configure.ac b/configure.ac index 4623d12b5b..96df114bae 100755 --- a/configure.ac +++ b/configure.ac @@ -2011,6 +2011,52 @@ AC_LANG(C) AM_CONDITIONAL(CXX_CAN_INCLUDE_CONDITION_VARIABLE_HEADER, test x$ac_cxx_can_include_condition_variable_header = xyes) +# check for std::shared_timed_mutex, this is a C++ 14 feature + +AC_MSG_CHECKING([that C++ compiler can use std::shared_timed_mutex]) +AC_LANG(C++) +safe_CXXFLAGS=$CXXFLAGS +CXXFLAGS="-std=c++1y -pthread" + +AC_COMPILE_IFELSE([AC_LANG_SOURCE([ +#include <shared_mutex> +std::shared_timed_mutex test_mutex; +])], +[ +ac_cxx_can_use_shared_timed_mutex=yes +AC_MSG_RESULT([yes]) +], [ +ac_cxx_can_use_shared_timed_mutex=no +AC_MSG_RESULT([no]) +]) +CXXFLAGS=$safe_CXXFLAGS +AC_LANG(C) + +AM_CONDITIONAL(CXX_CAN_USE_SHARED_TIMED_MUTEX, test x$ac_cxx_can_use_shared_timed_mutex = xyes) + +# check for std::shared_mutex, this is a C++ 11 feature + +AC_MSG_CHECKING([that C++ compiler can use std::timed_mutex]) +AC_LANG(C++) +safe_CXXFLAGS=$CXXFLAGS +CXXFLAGS="-std=c++0x -pthread" + +AC_COMPILE_IFELSE([AC_LANG_SOURCE([ +#include <mutex> +std::timed_mutex test_mutex; +])], +[ +ac_cxx_can_use_timed_mutex=yes +AC_MSG_RESULT([yes]) +], [ +ac_cxx_can_use_timed_mutex=no +AC_MSG_RESULT([no]) +]) +CXXFLAGS=$safe_CXXFLAGS +AC_LANG(C) + +AM_CONDITIONAL(CXX_CAN_USE_TIMED_MUTEX, test x$ac_cxx_can_use_timed_mutex = xyes) + # On aarch64 before glibc 2.20 we would get the kernel user_pt_regs instead # of the user_regs_struct from sys/user.h. They are structurally the same # but we get either one or the other. diff --git a/drd/drd_pthread_intercepts.c b/drd/drd_pthread_intercepts.c index 95127b42c6..c18e888678 100644 --- a/drd/drd_pthread_intercepts.c +++ b/drd/drd_pthread_intercepts.c @@ -1016,6 +1016,26 @@ PTH_FUNCS(int, (mutex, timeout)); #endif /* VGO_solaris */ +static __always_inline +int pthread_mutex_clocklock_intercept(pthread_mutex_t *mutex, + clockid_t clockid, + const struct timespec *abs_timeout) +{ + int ret; + OrigFn fn; + VALGRIND_GET_ORIG_FN(fn); + VALGRIND_DO_CLIENT_REQUEST_STMT(VG_USERREQ__PRE_MUTEX_LOCK, + mutex, DRD_(mutex_type)(mutex), 0, 0, 0); + CALL_FN_W_WWW(ret, fn, mutex, clockid, abs_timeout); + VALGRIND_DO_CLIENT_REQUEST_STMT(VG_USERREQ__POST_MUTEX_LOCK, + mutex, ret == 0, 0, 0, 0); + return ret; +} + +PTH_FUNCS(int, pthreadZumutexZuclocklock, pthread_mutex_clocklock_intercept, + (pthread_mutex_t *mutex, clockid_t clockid, const struct timespec *abs_timeout), + (mutex, clockid, abs_timeout)); + static __always_inline int pthread_mutex_unlock_intercept(pthread_mutex_t *mutex) { @@ -1794,6 +1814,27 @@ PTH_FUNCS(int, pthreadZurwlockZureltimedrdlockZunp, (rwlock, timeout)); #endif /* VGO_solaris */ +static __always_inline +int pthread_rwlock_clockrdlock_intercept(pthread_rwlock_t* rwlock, + clockid_t clockid, + const struct timespec *timeout) +{ + int ret; + OrigFn fn; + VALGRIND_GET_ORIG_FN(fn); + VALGRIND_DO_CLIENT_REQUEST_STMT(VG_USERREQ__PRE_RWLOCK_RDLOCK, + rwlock, 0, 0, 0, 0); + CALL_FN_W_WWW(ret, fn, rwlock, clockid, timeout); + VALGRIND_DO_CLIENT_REQUEST_STMT(VG_USERREQ__POST_RWLOCK_RDLOCK, + rwlock, ret == 0, 0, 0, 0); + return ret; +} + +PTH_FUNCS(int, + pthreadZurwlockZuclockrdlock, pthread_rwlock_clockrdlock_intercept, + (pthread_rwlock_t* rwlock, clockid_t clockid, const struct timespec *timeout), + (rwlock, clockid, timeout)); + static __always_inline int pthread_rwlock_timedwrlock_intercept(pthread_rwlock_t* rwlock, const struct timespec *timeout) @@ -1820,6 +1861,28 @@ PTH_FUNCS(int, pthreadZurwlockZureltimedwrlockZunp, (rwlock, timeout)); #endif /* VGO_solaris */ +static __always_inline +int pthread_rwlock_clockwrlock_intercept(pthread_rwlock_t* rwlock, + clockid_t clockid, + const struct timespec *timeout) +{ + int ret; + OrigFn fn; + VALGRIND_GET_ORIG_FN(fn); + VALGRIND_DO_CLIENT_REQUEST_STMT(VG_USERREQ__PRE_RWLOCK_WRLOCK, + rwlock, 0, 0, 0, 0); + CALL_FN_W_WWW(ret, fn, rwlock, clockid, timeout); + VALGRIND_DO_CLIENT_REQUEST_STMT(VG_USERREQ__POST_RWLOCK_WRLOCK, + rwlock, ret == 0, 0, 0, 0); + return ret; +} + +PTH_FUNCS(int, + pthreadZurwlockZuclockwrlock, pthread_rwlock_clockwrlock_intercept, + (pthread_rwlock_t* rwlock, clockid_t clockid, const struct timespec *timeout), + (rwlock, clockid, timeout)); + + static __always_inline int pthread_rwlock_tryrdlock_intercept(pthread_rwlock_t* rwlock) { diff --git a/drd/tests/Makefile.am b/drd/tests/Makefile.am index ac487def3c..d7d73447bd 100755 --- a/drd/tests/Makefile.am +++ b/drd/tests/Makefile.am @@ -275,6 +275,8 @@ EXTRA_DIST = \ sem_open_traced.vgtest \ sem_wait.stderr.exp \ sem_wait.vgtest \ + shared_timed_mutex.stderr.exp \ + shared_timed_mutex.vgtest \ swapcontext.stderr.exp \ swapcontext.vgtest \ sigalrm.stderr.exp \ @@ -369,6 +371,8 @@ EXTRA_DIST = \ threaded-fork.vgtest \ threaded-fork-vcs.stderr.exp \ threaded-fork-vcs.vgtest \ + timed_mutex.stderr.exp \ + timed_mutex.vgtest \ tls_threads.stderr.exp \ tls_threads.vgtest \ trylock.stderr.exp \ @@ -468,6 +472,16 @@ check_PROGRAMS += \ condvar endif +if CXX_CAN_USE_SHARED_TIMED_MUTEX +check_PROGRAMS += \ + shared_timed_mutex +endif + +if CXX_CAN_USE_TIMED_MUTEX +check_PROGRAMS += \ + timed_mutex +endif + if HAVE_OPENMP check_PROGRAMS += omp_matinv omp_prime omp_printf endif @@ -593,6 +607,9 @@ if VGCONF_OS_IS_SOLARIS rwlock_test_CFLAGS += -D__EXTENSIONS__ endif +shared_timed_mutex_SOURCES = shared_timed_mutex.cpp +shared_timed_mutex_CXXFLAGS = $(AM_CXXFLAGS) -std=c++1y + std_atomic_SOURCES = std_atomic.cpp std_atomic_CXXFLAGS = $(AM_CXXFLAGS) -std=c++0x -Wno-sign-compare @@ -628,3 +645,5 @@ if VGCONF_OS_IS_SOLARIS swapcontext_CFLAGS += -D__EXTENSIONS__ endif +timed_mutex_SOURCES = timed_mutex.cpp +timed_mutex_CXXFLAGS = $(AM_CXXFLAGS) -std=c++0x diff --git a/drd/tests/shared_timed_mutex.cpp b/drd/tests/shared_timed_mutex.cpp new file mode 100644 index 0000000000..306d6bf27a --- /dev/null +++ b/drd/tests/shared_timed_mutex.cpp @@ -0,0 +1,63 @@ +#include <thread> +#include <iostream> +#include <chrono> +#include <shared_mutex> +#include <mutex> +#include <cassert> +#include <condition_variable> + +std::shared_timed_mutex test_mutex; +std::mutex cv_mutex; +std::condition_variable cv; +int global; +bool reads_done = false; + +void f() +{ + auto now=std::chrono::steady_clock::now(); + if (test_mutex.try_lock_until(now + std::chrono::seconds(3))) + { + --global; + test_mutex.unlock(); + } + else + { + std::cerr << "Lock failed\n"; + } +} + +void g() +{ + auto now=std::chrono::steady_clock::now(); + if (test_mutex.try_lock_shared_until(now + std::chrono::seconds(2))) + { + test_mutex.unlock_shared(); + } + else + { + std::cerr << "Lock shared failed\n"; + } + std::unique_lock<std::mutex> lock(cv_mutex); + reads_done = true; + cv.notify_all(); +} + +int main() +{ + global = 1; + test_mutex.lock_shared(); + std::thread t1(f); + std::thread t2(g); + { + std::unique_lock<std::mutex> lock(cv_mutex); + while (!reads_done) + { + cv.wait(lock); + } + } + test_mutex.unlock_shared(); + t1.join(); + t2.join(); + assert(global == 0); +} + diff --git a/drd/tests/shared_timed_mutex.stderr.exp b/drd/tests/shared_timed_mutex.stderr.exp new file mode 100644 index 0000000000..d18786f806 --- /dev/null +++ b/drd/tests/shared_timed_mutex.stderr.exp @@ -0,0 +1,3 @@ + + +ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/drd/tests/shared_timed_mutex.vgtest b/drd/tests/shared_timed_mutex.vgtest new file mode 100644 index 0000000000..e3be8646c5 --- /dev/null +++ b/drd/tests/shared_timed_mutex.vgtest @@ -0,0 +1,3 @@ +prereq: ./supported_libpthread && [ -e shared_timed_mutex ] +vgopts: --check-stack-var=yes --read-var-info=yes +prog: shared_timed_mutex diff --git a/drd/tests/timed_mutex.cpp b/drd/tests/timed_mutex.cpp new file mode 100644 index 0000000000..b1bb61efa6 --- /dev/null +++ b/drd/tests/timed_mutex.cpp @@ -0,0 +1,29 @@ +#include <thread> +#include <iostream> +#include <chrono> +#include <mutex> +#include <cassert> + +std::timed_mutex test_mutex; +int global; + +void f() +{ + auto now=std::chrono::steady_clock::now(); + test_mutex.try_lock_until(now + std::chrono::seconds(11)); + --global; + test_mutex.unlock(); +} + +int main() +{ + global = 0; + auto now=std::chrono::steady_clock::now(); + test_mutex.try_lock_until(now + std::chrono::seconds(11)); + ++global; + std::thread t(f); + test_mutex.unlock(); + t.join(); + assert(global == 0); +} + diff --git a/drd/tests/timed_mutex.stderr.exp b/drd/tests/timed_mutex.stderr.exp new file mode 100644 index 0000000000..d18786f806 --- /dev/null +++ b/drd/tests/timed_mutex.stderr.exp @@ -0,0 +1,3 @@ + + +ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) diff --git a/drd/tests/timed_mutex.vgtest b/drd/tests/timed_mutex.vgtest new file mode 100644 index 0000000000..60769b2d13 --- /dev/null +++ b/drd/tests/timed_mutex.vgtest @@ -0,0 +1,3 @@ +prereq: ./supported_libpthread && [ -e timed_mutex ] +vgopts: --check-stack-var=yes --read-var-info=yes +prog: timed_mutex diff --git a/helgrind/hg_intercepts.c b/helgrind/hg_intercepts.c index 49c3ddcd9e..c9b3f85ef3 100644 --- a/helgrind/hg_intercepts.c +++ b/helgrind/hg_intercepts.c @@ -1110,6 +1110,53 @@ PTH_FUNC(int, pthreadZumutexZureltimedlock, // pthread_mutex_reltimedlock } #endif +//----------------------------------------------------------- +// glibc: pthread_mutex_clocklock +// +// pthread_mutex_clocklock. Identical logic to pthread_mutex_timedlock. +__attribute__((noinline)) +static int mutex_clocklock_WRK(pthread_mutex_t *mutex, + clockid_t clockid, + void *timeout) +{ + int ret; + OrigFn fn; + VALGRIND_GET_ORIG_FN(fn); + if (TRACE_PTH_FNS) { + fprintf(stderr, "<< pthread_mxclocklock %p %p", mutex, timeout); + fflush(stderr); + } + + DO_CREQ_v_WW(_VG_USERREQ__HG_PTHREAD_MUTEX_LOCK_PRE, + pthread_mutex_t*,mutex, long,1/*isTryLock-ish*/); + + CALL_FN_W_WWW(ret, fn, mutex, clockid, timeout); + + /* There's a hole here: libpthread now knows the lock is locked, + but the tool doesn't, so some other thread could run and detect + that the lock has been acquired by someone (this thread). Does + this matter? Not sure, but I don't think so. */ + + DO_CREQ_v_WW(_VG_USERREQ__HG_PTHREAD_MUTEX_LOCK_POST, + pthread_mutex_t *, mutex, long, (ret == 0) ? True : False); + + if (ret != 0) { + if (ret != ETIMEDOUT) + DO_PthAPIerror( "pthread_mutex_clocklock", ret ); + } + + if (TRACE_PTH_FNS) { + fprintf(stderr, " :: mxclocklock -> %d >>\n", ret); + } + return ret; +} + +PTH_FUNC(int, pthreadZumutexZuclocklock, // pthread_mutex_clocklock + pthread_mutex_t *mutex, + clockid_t clockid, + void *timeout) { + return mutex_clocklock_WRK(mutex, clockid, timeout); +} //----------------------------------------------------------- // glibc: pthread_mutex_unlock @@ -2685,6 +2732,48 @@ PTH_FUNC(int, pthreadZurwlockZutimedrdlock, // pthread_rwlock_timedrdlock # error "Unsupported OS" #endif +//----------------------------------------------------------- +// glibc: pthread_rwlock_clockrdlock +// +__attribute__((noinline)) __attribute__((unused)) +static int pthread_rwlock_clockrdlock_WRK(pthread_rwlock_t *rwlock, + clockid_t clockid, + const struct timespec *timeout) +{ + int ret; + OrigFn fn; + VALGRIND_GET_ORIG_FN(fn); + if (TRACE_PTH_FNS) { + fprintf(stderr, "<< pthread_rwl_clockrdl %p", rwlock); fflush(stderr); + } + + DO_CREQ_v_WWW(_VG_USERREQ__HG_PTHREAD_RWLOCK_LOCK_PRE, + pthread_rwlock_t *, rwlock, + long, 0/*isW*/, long, 0/*isTryLock*/); + + CALL_FN_W_WWW(ret, fn, rwlock, clockid, timeout); + + DO_CREQ_v_WWW(_VG_USERREQ__HG_PTHREAD_RWLOCK_LOCK_POST, + pthread_rwlock_t *, rwlock, long, 0/*isW*/, + long, (ret == 0) ? True : False); + if (ret != 0) { + DO_PthAPIerror("pthread_rwlock_clockrdlock", ret); + } + + if (TRACE_PTH_FNS) { + fprintf(stderr, " :: rwl_clockrdl -> %d >>\n", ret); + } + return ret; +} +#if defined(VGO_linux) +PTH_FUNC(int, pthreadZurwlockZuclockrdlock, // pthread_rwlock_clockrdlock + pthread_rwlock_t *rwlock, + clockid_t clockid, + const struct timespec *timeout) { + return pthread_rwlock_clockrdlock_WRK(rwlock, clockid, timeout); +} +#endif + //----------------------------------------------------------- // glibc: Unhandled @@ -2746,6 +2835,49 @@ PTH_FUNC(int, pthreadZurwlockZutimedwrlock, // pthread_rwlock_timedwrlock #endif +//----------------------------------------------------------- +// glibc: pthread_rwlock_clockwrlock +// +__attribute__((noinline)) __attribute__((unused)) +static int pthread_rwlock_clockwrlock_WRK(pthread_rwlock_t *rwlock, + clockid_t clockid, + const struct timespec *timeout) +{ + int ret; + OrigFn fn; + VALGRIND_GET_ORIG_FN(fn); + if (TRACE_PTH_FNS) { + fprintf(stderr, "<< pthread_rwl_clockwrl %p", rwlock); fflush(stderr); + } + + DO_CREQ_v_WWW(_VG_USERREQ__HG_PTHREAD_RWLOCK_LOCK_PRE, + pthread_rwlock_t *, rwlock, + long, 1/*isW*/, long, 0/*isTryLock*/); + + CALL_FN_W_WWW(ret, fn, rwlock, clockid, timeout); + + DO_CREQ_v_WWW(_VG_USERREQ__HG_PTHREAD_RWLOCK_LOCK_POST, + pthread_rwlock_t *, rwlock, long, 1/*isW*/, + long, (ret == 0) ? True : False); + if (ret != 0) { + DO_PthAPIerror("pthread_rwlock_clockwrlock", ret); + } + + if (TRACE_PTH_FNS) { + fprintf(stderr, " :: rwl_clockwrl -> %d >>\n", ret); + } + return ret; +} +#if defined(VGO_linux) +PTH_FUNC(int, pthreadZurwlockZuclockwrlock, // pthread_rwlock_clockwrlock + pthread_rwlock_t *rwlock, + clockid_t clockid, + const struct timespec *timeout) { + return pthread_rwlock_clockwrlock_WRK(rwlock, clockid, timeout); +} +#endif + + //----------------------------------------------------------- // glibc: pthread_rwlock_unlock // darwin: pthread_rwlock_unlock |
|
From: Nicholas N. <nj...@so...> - 2021-11-30 03:20:30
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=1cf2cf91e77db18f8d95767f73af3b3068d1a3ab commit 1cf2cf91e77db18f8d95767f73af3b3068d1a3ab Author: Nicholas Nethercote <n.n...@gm...> Date: Tue Nov 30 14:11:10 2021 +1100 Fix handling of `#` chars in `cg_diff`. Rust v0 symbols can have `#` chars in them, things like this: ``` core::panic::unwind_safe::AssertUnwindSafe<<proc_macro::bridge::server::Dispat cher<proc_macro::bridge::server::MarkedTypes<rustc_expand::proc_macro_server::Rustc>> as proc_macro::bridge::server::DispatcherTrait>::dispatch::{closure#14}>, ()> ``` `cg_diff` currently messes these up in two ways. - It treats anything after a `#` in the input file as a comment. In comparison, `cg_annotate` only treats a `#` as starting a comment at the start of a line. - It uses `#` to temporarily join file names and function names while processing. This commit adjusts the parsing to fix the first problem, and changes the joiner sequence to `###` to fix the second problem. Diff: --- cachegrind/cg_diff.in | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/cachegrind/cg_diff.in b/cachegrind/cg_diff.in index 9d9258ef60..462308b49e 100755 --- a/cachegrind/cg_diff.in +++ b/cachegrind/cg_diff.in @@ -191,15 +191,17 @@ sub read_input_file($) my $currFileName; my $currFileFuncName; - my %CCs; # hash("$filename#$funcname" => CC array) + my %CCs; # hash("$filename###$funcname" => CC array) my $currCC = undef; # CC array my $summaryCC; # Read body of input file. while (<INPUTFILE>) { - s/#.*$//; # remove comments - if (s/^(\d+)\s+//) { + # Skip comments and empty lines. + next if /^\s*$/ || /^\#/; + + if (s/^(-?\d+)\s+//) { my $CC = line_to_CC($_, $numEvents); defined($currCC) || die; add_array_a_to_b($CC, $currCC); @@ -210,7 +212,7 @@ sub read_input_file($) if (defined $mod_funcname) { eval "\$tmpFuncName =~ $mod_funcname"; } - $currFileFuncName = "$currFileName#$tmpFuncName"; + $currFileFuncName = "$currFileName###$tmpFuncName"; $currCC = $CCs{$currFileFuncName}; if (not defined $currCC) { $currCC = []; @@ -225,9 +227,6 @@ sub read_input_file($) # Assume that a "fn=" line is followed by a "fl=" line. $currFileFuncName = undef; - } elsif (s/^\s*$//) { - # blank, do nothing - } elsif (s/^summary:\s+//) { $summaryCC = line_to_CC($_, $numEvents); (scalar(@$summaryCC) == @events) @@ -260,7 +259,7 @@ my $events1; my $events2; # Individual CCs, organised by filename/funcname/line_num. -# hashref("$filename#$funcname", CC array) +# hashref("$filename###$funcname", CC array) my $CCs1; my $CCs2; @@ -313,7 +312,7 @@ print("\n"); while (my ($filefuncname, $CC) = each(%$CCs2)) { - my @x = split(/#/, $filefuncname); + my @x = split(/###/, $filefuncname); (scalar @x == 2) || die; print("fl=$x[0]\n"); |