You can subscribe to this list here.
| 2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
(122) |
Nov
(152) |
Dec
(69) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2003 |
Jan
(6) |
Feb
(25) |
Mar
(73) |
Apr
(82) |
May
(24) |
Jun
(25) |
Jul
(10) |
Aug
(11) |
Sep
(10) |
Oct
(54) |
Nov
(203) |
Dec
(182) |
| 2004 |
Jan
(307) |
Feb
(305) |
Mar
(430) |
Apr
(312) |
May
(187) |
Jun
(342) |
Jul
(487) |
Aug
(637) |
Sep
(336) |
Oct
(373) |
Nov
(441) |
Dec
(210) |
| 2005 |
Jan
(385) |
Feb
(480) |
Mar
(636) |
Apr
(544) |
May
(679) |
Jun
(625) |
Jul
(810) |
Aug
(838) |
Sep
(634) |
Oct
(521) |
Nov
(965) |
Dec
(543) |
| 2006 |
Jan
(494) |
Feb
(431) |
Mar
(546) |
Apr
(411) |
May
(406) |
Jun
(322) |
Jul
(256) |
Aug
(401) |
Sep
(345) |
Oct
(542) |
Nov
(308) |
Dec
(481) |
| 2007 |
Jan
(427) |
Feb
(326) |
Mar
(367) |
Apr
(255) |
May
(244) |
Jun
(204) |
Jul
(223) |
Aug
(231) |
Sep
(354) |
Oct
(374) |
Nov
(497) |
Dec
(362) |
| 2008 |
Jan
(322) |
Feb
(482) |
Mar
(658) |
Apr
(422) |
May
(476) |
Jun
(396) |
Jul
(455) |
Aug
(267) |
Sep
(280) |
Oct
(253) |
Nov
(232) |
Dec
(304) |
| 2009 |
Jan
(486) |
Feb
(470) |
Mar
(458) |
Apr
(423) |
May
(696) |
Jun
(461) |
Jul
(551) |
Aug
(575) |
Sep
(134) |
Oct
(110) |
Nov
(157) |
Dec
(102) |
| 2010 |
Jan
(226) |
Feb
(86) |
Mar
(147) |
Apr
(117) |
May
(107) |
Jun
(203) |
Jul
(193) |
Aug
(238) |
Sep
(300) |
Oct
(246) |
Nov
(23) |
Dec
(75) |
| 2011 |
Jan
(133) |
Feb
(195) |
Mar
(315) |
Apr
(200) |
May
(267) |
Jun
(293) |
Jul
(353) |
Aug
(237) |
Sep
(278) |
Oct
(611) |
Nov
(274) |
Dec
(260) |
| 2012 |
Jan
(303) |
Feb
(391) |
Mar
(417) |
Apr
(441) |
May
(488) |
Jun
(655) |
Jul
(590) |
Aug
(610) |
Sep
(526) |
Oct
(478) |
Nov
(359) |
Dec
(372) |
| 2013 |
Jan
(467) |
Feb
(226) |
Mar
(391) |
Apr
(281) |
May
(299) |
Jun
(252) |
Jul
(311) |
Aug
(352) |
Sep
(481) |
Oct
(571) |
Nov
(222) |
Dec
(231) |
| 2014 |
Jan
(185) |
Feb
(329) |
Mar
(245) |
Apr
(238) |
May
(281) |
Jun
(399) |
Jul
(382) |
Aug
(500) |
Sep
(579) |
Oct
(435) |
Nov
(487) |
Dec
(256) |
| 2015 |
Jan
(338) |
Feb
(357) |
Mar
(330) |
Apr
(294) |
May
(191) |
Jun
(108) |
Jul
(142) |
Aug
(261) |
Sep
(190) |
Oct
(54) |
Nov
(83) |
Dec
(22) |
| 2016 |
Jan
(49) |
Feb
(89) |
Mar
(33) |
Apr
(50) |
May
(27) |
Jun
(34) |
Jul
(53) |
Aug
(53) |
Sep
(98) |
Oct
(206) |
Nov
(93) |
Dec
(53) |
| 2017 |
Jan
(65) |
Feb
(82) |
Mar
(102) |
Apr
(86) |
May
(187) |
Jun
(67) |
Jul
(23) |
Aug
(93) |
Sep
(65) |
Oct
(45) |
Nov
(35) |
Dec
(17) |
| 2018 |
Jan
(26) |
Feb
(35) |
Mar
(38) |
Apr
(32) |
May
(8) |
Jun
(43) |
Jul
(27) |
Aug
(30) |
Sep
(43) |
Oct
(42) |
Nov
(38) |
Dec
(67) |
| 2019 |
Jan
(32) |
Feb
(37) |
Mar
(53) |
Apr
(64) |
May
(49) |
Jun
(18) |
Jul
(14) |
Aug
(53) |
Sep
(25) |
Oct
(30) |
Nov
(49) |
Dec
(31) |
| 2020 |
Jan
(87) |
Feb
(45) |
Mar
(37) |
Apr
(51) |
May
(99) |
Jun
(36) |
Jul
(11) |
Aug
(14) |
Sep
(20) |
Oct
(24) |
Nov
(40) |
Dec
(23) |
| 2021 |
Jan
(14) |
Feb
(53) |
Mar
(85) |
Apr
(15) |
May
(19) |
Jun
(3) |
Jul
(14) |
Aug
(1) |
Sep
(57) |
Oct
(73) |
Nov
(56) |
Dec
(22) |
| 2022 |
Jan
(3) |
Feb
(22) |
Mar
(6) |
Apr
(55) |
May
(46) |
Jun
(39) |
Jul
(15) |
Aug
(9) |
Sep
(11) |
Oct
(34) |
Nov
(20) |
Dec
(36) |
| 2023 |
Jan
(79) |
Feb
(41) |
Mar
(99) |
Apr
(169) |
May
(48) |
Jun
(16) |
Jul
(16) |
Aug
(57) |
Sep
(19) |
Oct
|
Nov
|
Dec
|
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
|
|
|
1
(1) |
2
(2) |
3
(2) |
4
(3) |
5
(1) |
|
6
(2) |
7
|
8
|
9
|
10
(1) |
11
|
12
|
|
13
|
14
(2) |
15
(27) |
16
(1) |
17
(4) |
18
(4) |
19
|
|
20
|
21
(1) |
22
(2) |
23
|
24
(2) |
25
|
26
(2) |
|
27
|
28
(22) |
29
(5) |
30
(3) |
31
(6) |
|
|
|
From: Ivo R. <ir...@so...> - 2017-08-29 21:11:57
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=a9c0723a00ee8d3af395bf0e0de48864c2fa6e12 commit a9c0723a00ee8d3af395bf0e0de48864c2fa6e12 Author: Ivo Raisr <iv...@iv...> Date: Tue Aug 29 23:08:43 2017 +0200 Register allocator generates properly HInstr containing HInstrIfThenElse into output instruction HInstrVec. Stage 4 is still missing state forks before HInstrIfThenElse and merges after HInstrIfThenElse legs join. Diff: --- VEX/priv/host_generic_reg_alloc3.c | 70 ++++++++++++++++++++++++++------------ VEX/priv/host_generic_regs.h | 1 + VEX/priv/main_main.c | 12 ++++--- 3 files changed, 58 insertions(+), 25 deletions(-) diff --git a/VEX/priv/host_generic_reg_alloc3.c b/VEX/priv/host_generic_reg_alloc3.c index 5b60a35..8c3628e 100644 --- a/VEX/priv/host_generic_reg_alloc3.c +++ b/VEX/priv/host_generic_reg_alloc3.c @@ -246,12 +246,14 @@ static void print_depth(UInt depth) } } -#define WALK_CHUNKS(process_one_chunk, process_fall_through_leg, \ +#define WALK_CHUNKS(process_one_chunk, process_legs_fork, \ + process_fall_through_leg, \ process_out_of_line_leg, process_phi_nodes) \ do { \ while (chunk != NULL) { \ process_one_chunk; \ if (chunk->isIfThenElse) { \ + process_legs_fork; \ if (DEBUG_REGALLOC) { \ print_depth(depth); \ vex_printf("if (!"); \ @@ -309,10 +311,12 @@ static inline void enlarge_rreg_lrs(RRegLRState* rreg_lrs) static inline void print_state(const RegAllocChunk* chunk, const VRegState* vreg_state, UInt n_vregs, const RRegState* rreg_state, - Short ii_total_current, const RegAllocControl* con) + Short ii_total_current, UInt depth, const RegAllocControl* con, + const HChar* comment) { - vex_printf("Register Allocator state (current instruction total #%d)\n", - ii_total_current); + print_depth(depth); + vex_printf("%s (current instruction total #%d):\n", + comment, ii_total_current); for (UInt v_idx = 0; v_idx < n_vregs; v_idx++) { const VRegState* vreg = &vreg_state[v_idx]; @@ -320,6 +324,7 @@ static inline void print_state(const RegAllocChunk* chunk, if (vreg->live_after == INVALID_INSTRNO) { continue; /* This is a dead vreg. Never comes into live. */ } + print_depth(depth); vex_printf("vreg_state[%3u] \t", v_idx); UInt written; @@ -355,6 +360,7 @@ static inline void print_state(const RegAllocChunk* chunk, for (UInt r_idx = 0; r_idx < chunk->n_rregs; r_idx++) { const RRegState* rreg = &rreg_state[r_idx]; const RRegLR* lr = chunk->rreg_lr_state[r_idx].lr_current; + print_depth(depth); vex_printf("rreg_state[%2u] = ", r_idx); UInt written = con->ppReg(con->univ->regs[r_idx]); for (Int w = 10 - written; w > 0; w--) { @@ -378,10 +384,11 @@ static inline void print_state(const RegAllocChunk* chunk, } } -static inline void emit_instr(RegAllocChunk* chunk, HInstr* instr, +static inline void emit_instr(RegAllocChunk* chunk, HInstr* instr, UInt depth, const RegAllocControl* con, const HChar* why) { if (DEBUG_REGALLOC) { + print_depth(depth); vex_printf("** "); con->ppInstr(instr, con->mode64); if (why != NULL) { @@ -400,7 +407,7 @@ static inline UInt spill_vreg( RegAllocChunk* chunk, VRegState* vreg_state, UInt n_vregs, RRegState* rreg_state, HReg vreg, UInt v_idx, Short ii_total_current, - const RegAllocControl* con) + UInt depth, const RegAllocControl* con) { UInt n_rregs = chunk->n_rregs; @@ -421,10 +428,10 @@ static inline UInt spill_vreg( con->mode64); vassert(spill1 != NULL || spill2 != NULL); /* cannot be both NULL */ if (spill1 != NULL) { - emit_instr(chunk, spill1, con, "spill1"); + emit_instr(chunk, spill1, depth, con, "spill1"); } if (spill2 != NULL) { - emit_instr(chunk, spill2, con, "spill2"); + emit_instr(chunk, spill2, depth, con, "spill2"); } /* Update register allocator state. */ @@ -813,6 +820,7 @@ static void stage2(RegAllocChunk* chunk, VRegState* vreg_state, UInt n_vregs, UInt n_rregs, UInt depth, const RegAllocControl* con) { WALK_CHUNKS(stage2_chunk(chunk, vreg_state, n_vregs, n_rregs, depth, con), + ;, stage2(chunk->IfThenElse.fallThrough, vreg_state, n_vregs, n_rregs, depth + 1, con), stage2(chunk->IfThenElse.outOfLine, vreg_state, n_vregs, @@ -863,6 +871,7 @@ static void stage2_debug_rregs(RegAllocChunk* chunk, UInt depth, const RegAllocControl* con) { WALK_CHUNKS(stage2_debug_rregs_chunk(chunk, depth, con), + ;, stage2_debug_rregs(chunk->IfThenElse.fallThrough, depth + 1, con), stage2_debug_rregs(chunk->IfThenElse.outOfLine, depth + 1, con), ;); @@ -1005,7 +1014,7 @@ static void stage4_chunk(RegAllocChunk* chunk, ii_chunk, con); \ _r_free_idx = spill_vreg(chunk, vreg_state, n_vregs, rreg_state, \ vreg_to_spill, hregIndex(vreg_to_spill), \ - INSTRNO_TOTAL, con); \ + INSTRNO_TOTAL, depth, con); \ } \ \ vassert(IS_VALID_RREGNO(_r_free_idx)); \ @@ -1022,15 +1031,16 @@ static void stage4_chunk(RegAllocChunk* chunk, HRegUsage* reg_usage = &chunk->reg_usage[ii_chunk]; if (DEBUG_REGALLOC) { + vex_printf("\n"); print_depth(depth); - vex_printf("\n====---- Instr: chunk %d, vec %d, total %d ----====\n", + vex_printf("====---- Instr: chunk %d, vec %d, total %d ----====\n", ii_chunk, ii_vec, INSTRNO_TOTAL); print_depth(depth); vex_printf("---- "); con->ppInstr(chunk->instrs_in->insns[ii_vec], con->mode64); - print_depth(depth); - vex_printf("\n\nInitial state:\n"); - print_state(chunk, vreg_state, n_vregs, rreg_state, INSTRNO_TOTAL, con); + vex_printf("\n\n"); + print_state(chunk, vreg_state, n_vregs, rreg_state, INSTRNO_TOTAL, + depth, con, "Initial Register Allocator state"); vex_printf("\n"); } @@ -1202,7 +1212,7 @@ static void stage4_chunk(RegAllocChunk* chunk, if (! HRegUsage__contains(reg_usage, vreg)) { /* Spill the vreg. It is not used by this instruction. */ spill_vreg(chunk, vreg_state, n_vregs, rreg_state, - vreg, v_idx, INSTRNO_TOTAL, con); + vreg, v_idx, INSTRNO_TOTAL, depth, con); } else { /* Find or make a free rreg where to move this vreg to. */ UInt r_free_idx = FIND_OR_MAKE_FREE_RREG( @@ -1212,7 +1222,7 @@ static void stage4_chunk(RegAllocChunk* chunk, HInstr* move = con->genMove(con->univ->regs[r_idx], con->univ->regs[r_free_idx], con->mode64); vassert(move != NULL); - emit_instr(chunk, move, con, "move"); + emit_instr(chunk, move, depth, con, "move"); /* Update the register allocator state. */ vassert(vreg_state[v_idx].disp == Assigned); @@ -1356,10 +1366,10 @@ static void stage4_chunk(RegAllocChunk* chunk, vreg_state[v_idx].spill_offset, con->mode64); vassert(reload1 != NULL || reload2 != NULL); if (reload1 != NULL) { - emit_instr(chunk, reload1, con, "reload1"); + emit_instr(chunk, reload1, depth, con, "reload1"); } if (reload2 != NULL) { - emit_instr(chunk, reload2, con, "reload2"); + emit_instr(chunk, reload2, depth, con, "reload2"); } } @@ -1372,12 +1382,13 @@ static void stage4_chunk(RegAllocChunk* chunk, } con->mapRegs(&remap, instr, con->mode64); - emit_instr(chunk, instr, con, NULL); + emit_instr(chunk, instr, depth, con, NULL); if (DEBUG_REGALLOC) { print_depth(depth); - vex_printf("After dealing with current instruction:\n"); - print_state(chunk, vreg_state, n_vregs, rreg_state, INSTRNO_TOTAL, con); + print_state(chunk, vreg_state, n_vregs, rreg_state, INSTRNO_TOTAL, + depth, con, "Register Allocator state after dealing with" + " the current instruction"); vex_printf("\n"); } @@ -1425,10 +1436,27 @@ static void stage4_chunk(RegAllocChunk* chunk, # undef FIND_OR_MAKE_FREE_RREG } +static void stage4_emit_HInstrIfThenElse(RegAllocChunk* chunk, UInt depth, + const RegAllocControl* con) +{ + vassert(chunk->isIfThenElse); + + HInstrIfThenElse* hite = newHInstrIfThenElse( + chunk->IfThenElse.ccOOL, + chunk->IfThenElse.phi_nodes, + chunk->IfThenElse.n_phis); + hite->fallThrough = chunk->IfThenElse.fallThrough->instrs_out; + hite->outOfLine = chunk->IfThenElse.outOfLine->instrs_out; + + emit_instr(chunk, con->genHInstrITE(hite), depth, con, "HInstrIfThenElse"); + +} + static void stage4(RegAllocChunk* chunk, VRegState* vreg_state, UInt n_vregs, RRegState* rreg_state, UInt depth, const RegAllocControl* con) { WALK_CHUNKS(stage4_chunk(chunk, vreg_state, n_vregs, rreg_state, depth, con), + stage4_emit_HInstrIfThenElse(chunk, depth, con), stage4(chunk->IfThenElse.fallThrough, vreg_state, n_vregs, rreg_state, depth + 1, con), stage4(chunk->IfThenElse.outOfLine, vreg_state, n_vregs, @@ -1504,7 +1532,7 @@ HInstrSB* doRegisterAllocation( /* --- Stage 2. Scan the incoming instructions. --- */ stage2(first_chunk, vreg_state, n_vregs, n_rregs, 0, con); if (DEBUG_REGALLOC) { - vex_printf("Initial register allocator state:\n"); + vex_printf("\n\nInitial register allocator state:\n"); stage2_debug_vregs(vreg_state, n_vregs); stage2_debug_rregs(first_chunk, 0, con); } diff --git a/VEX/priv/host_generic_regs.h b/VEX/priv/host_generic_regs.h index e779204..4dad207 100644 --- a/VEX/priv/host_generic_regs.h +++ b/VEX/priv/host_generic_regs.h @@ -535,6 +535,7 @@ typedef void (*genSpill)(HInstr**, HInstr**, HReg, Int, Bool); void (*genReload)(HInstr**, HInstr**, HReg, Int, Bool); HInstr* (*genMove)(HReg from, HReg to, Bool); + HInstr* (*genHInstrITE)(HInstrIfThenElse*); HInstr* (*directReload)(HInstr*, HReg, Short); UInt guest_sizeB; diff --git a/VEX/priv/main_main.c b/VEX/priv/main_main.c index f2b8145..689c2e8 100644 --- a/VEX/priv/main_main.c +++ b/VEX/priv/main_main.c @@ -711,10 +711,11 @@ static void libvex_BackEnd ( const VexTranslateArgs *vta, Bool (*isMove) ( const HInstr*, HReg*, HReg* ); void (*getRegUsage) ( HRegUsage*, const HInstr*, Bool ); void (*mapRegs) ( HRegRemap*, HInstr*, Bool ); - HInstrIfThenElse* (*isIfThenElse)(const HInstr*); + HInstrIfThenElse* (*isIfThenElse)( const HInstr* ); void (*genSpill) ( HInstr**, HInstr**, HReg, Int, Bool ); void (*genReload) ( HInstr**, HInstr**, HReg, Int, Bool ); HInstr* (*genMove) ( HReg, HReg, Bool ); + HInstr* (*genHInstrITE) ( HInstrIfThenElse* ); HInstr* (*directReload) ( HInstr*, HReg, Short ); void (*ppInstr) ( const HInstr*, Bool ); void (*ppCondCode) ( HCondCode ); @@ -747,6 +748,7 @@ static void libvex_BackEnd ( const VexTranslateArgs *vta, genSpill = NULL; genReload = NULL; genMove = NULL; + genHInstrITE = NULL; directReload = NULL; ppInstr = NULL; ppCondCode = NULL; @@ -868,6 +870,7 @@ static void libvex_BackEnd ( const VexTranslateArgs *vta, genSpill = CAST_TO_TYPEOF(genSpill) X86FN(genSpill_X86); genReload = CAST_TO_TYPEOF(genReload) X86FN(genReload_X86); genMove = CAST_TO_TYPEOF(genMove) X86FN(genMove_X86); + genHInstrITE = CAST_TO_TYPEOF(genHInstrITE) X86FN(X86Instr_IfThenElse); directReload = CAST_TO_TYPEOF(directReload) X86FN(directReload_X86); ppInstr = CAST_TO_TYPEOF(ppInstr) X86FN(ppX86Instr); ppCondCode = CAST_TO_TYPEOF(ppCondCode) X86FN(ppX86CondCode); @@ -1084,9 +1087,10 @@ static void libvex_BackEnd ( const VexTranslateArgs *vta, RegAllocControl con = { .univ = rRegUniv, .isMove = isMove, .getRegUsage = getRegUsage, .mapRegs = mapRegs, .isIfThenElse = isIfThenElse, .genSpill = genSpill, - .genReload = genReload, .genMove = genMove, .directReload = directReload, - .guest_sizeB = guest_sizeB, .ppInstr = ppInstr, .ppCondCode = ppCondCode, - .ppReg = ppReg, .mode64 = mode64}; + .genReload = genReload, .genMove = genMove, .genHInstrITE = genHInstrITE, + .directReload = directReload, .guest_sizeB = guest_sizeB, + .ppInstr = ppInstr, .ppCondCode = ppCondCode, .ppReg = ppReg, + .mode64 = mode64}; rcode = doRegisterAllocation(vcode, &con); vexAllocSanityCheck(); |
|
From: Ivo R. <ir...@so...> - 2017-08-29 14:14:02
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=e1e59ebd7cdaa18a7a683c0db74f8f19abe3d0a5 commit e1e59ebd7cdaa18a7a683c0db74f8f19abe3d0a5 Author: Ivo Raisr <iv...@iv...> Date: Tue Aug 29 16:13:02 2017 +0200 Fix FMRI of built Solaris packages. Diff: --- solaris/build_solaris_package | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/solaris/build_solaris_package b/solaris/build_solaris_package index c4ca2c9..1978121 100755 --- a/solaris/build_solaris_package +++ b/solaris/build_solaris_package @@ -58,10 +58,11 @@ create_dirs() { } export_sources() { - printf "Exporting sources... " old_dir=$( pwd ) git_commit=$( cd $source_directory; git rev-parse HEAD ) + echo "Valgrind git commit: $git_commit." + printf "Exporting sources... " git clone ${GITREPO} ${SRCDIR} 2> $TMPDIR/git-clone-valgrind.log.stderr (( $? != 0 )) && fail "Failed to clone git repo from $source_directory." cd ${SRCDIR} @@ -72,12 +73,10 @@ export_sources() { } modify_ips_manifest() { - valgrind_commit=$( cd $source_directory; git rev-parse --short=11 HEAD ) - [[ -z $valgrind_commit ]] && fail "Failed to find Valgrind revision." - - echo "Valgrind commit: $valgrind_commit." + current_date=$( date '+%Y%m%d' ) + [[ -z $current_date ]] && fail "Failed to determine current date." - sed -i -e "s/VVVVV/${valgrind_commit}/" $SRCDIR/$IPS_MANIFEST + sed -i -e "s/VVVVV/${current_date}/" $SRCDIR/$IPS_MANIFEST } run_autogen() { |
|
From: Mark W. <ma...@so...> - 2017-08-29 09:17:00
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=79ca096ced94c941c9a72fb40f7c43f13be179ed commit 79ca096ced94c941c9a72fb40f7c43f13be179ed Author: Mark Wielaard <ma...@kl...> Date: Tue Aug 29 11:09:41 2017 +0200 Reduce lfedora1.sendmail diff lines. The mailinglist was rejecting the nightly emails because they were too big. Diff: --- nightly/conf/lfedora1.sendmail | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nightly/conf/lfedora1.sendmail b/nightly/conf/lfedora1.sendmail index 13298df..0ae9070 100755 --- a/nightly/conf/lfedora1.sendmail +++ b/nightly/conf/lfedora1.sendmail @@ -12,7 +12,7 @@ echo "Bcc: val...@wi..." >> $MAILFILE echo " " >> $MAILFILE cat "$summary" >> $MAILFILE echo " " >> $MAILFILE -cat "$diffs" >> $MAILFILE +cat "$diffs" | head -2000 >> $MAILFILE MAILLATEST="$HOME/valgrind-results/latest" rm -f $MAILLATEST |
|
From: Ivo R. <ir...@so...> - 2017-08-29 08:14:15
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=6a3b5325ccc8138c35413b573f734f5480f7b7d5 commit 6a3b5325ccc8138c35413b573f734f5480f7b7d5 Author: Ivo Raisr <iv...@iv...> Date: Tue Aug 29 10:13:20 2017 +0200 Fix building Solaris package from git SCM. Diff: --- solaris/build_solaris_package | 29 +++++++++++++++-------------- solaris/valgrind.p5m | 2 +- 2 files changed, 16 insertions(+), 15 deletions(-) diff --git a/solaris/build_solaris_package b/solaris/build_solaris_package index 78396c4..c4ca2c9 100755 --- a/solaris/build_solaris_package +++ b/solaris/build_solaris_package @@ -1,7 +1,7 @@ #!/usr/bin/ksh # # Builds a Solaris IPS package called "valgrind" from the source -# directory. The Valgrind and VEX revisions are taken from that +# directory. The Valgrind revision is taken from that # source directory and written to solaris/valgrind.p5m IPS manifest. # # Requires the following packages to be installed on Solaris 11: @@ -22,6 +22,7 @@ # - pkgrepo set -s $repo_uri publisher/prefix=valgrind # +GITREPO=git://sourceware.org/git/valgrind.git/ TMPDIR=/var/tmp/valgrind-build SRCDIR=$TMPDIR/sources INSTALLDIR=$TMPDIR/install @@ -58,25 +59,25 @@ create_dirs() { export_sources() { printf "Exporting sources... " - svn export --quiet --ignore-externals $source_directory $SRCDIR \ - 2> $TMPDIR/svn-export-valgrind.log.stderr - (( $? != 0 )) && fail "Failed to export working copy from $source_directory." - svn export --quiet --ignore-externals $source_directory/VEX $SRCDIR/VEX \ - 2> $TMPDIR/svn-export-vex.log.stderr - (( $? != 0 )) && fail "Failed to export working copy from $source_directory/VEX." + old_dir=$( pwd ) + git_commit=$( cd $source_directory; git rev-parse HEAD ) + + git clone ${GITREPO} ${SRCDIR} 2> $TMPDIR/git-clone-valgrind.log.stderr + (( $? != 0 )) && fail "Failed to clone git repo from $source_directory." + cd ${SRCDIR} + git checkout ${git_commit} 2> $TMPDIR/git-checkout-valgrind.log.stderr + (( $? != 0 )) && fail "Failed to checkout git commit ${git_commit}." + cd "$old_dir" printf "done.\n" } modify_ips_manifest() { - valgrind_rev=$( svn info $source_directory | grep Revision | sed -e 's/Revision: //' ) - vex_rev=$( svn info $source_directory/VEX | grep Revision | sed -e 's/Revision: //' ) + valgrind_commit=$( cd $source_directory; git rev-parse --short=11 HEAD ) + [[ -z $valgrind_commit ]] && fail "Failed to find Valgrind revision." - [[ -z $valgrind_rev ]] && fail "Failed to find Valgrind revision." - [[ -z $vex_rev ]] && fail "Failed to find VEX revision." + echo "Valgrind commit: $valgrind_commit." - echo "Valgrind revision: $valgrind_rev, VEX revision $vex_rev." - - sed -i -e "s/VVVVV-XXXX/${valgrind_rev}-${vex_rev}/" $SRCDIR/$IPS_MANIFEST + sed -i -e "s/VVVVV/${valgrind_commit}/" $SRCDIR/$IPS_MANIFEST } run_autogen() { diff --git a/solaris/valgrind.p5m b/solaris/valgrind.p5m index a5c8fc0..6670335 100644 --- a/solaris/valgrind.p5m +++ b/solaris/valgrind.p5m @@ -1,4 +1,4 @@ -set name=pkg.fmri value=developer/debug/valgrind@3.11.0,VVVVV-XXXX +set name=pkg.fmri value=developer/debug/valgrind@3.13.0,VVVVV set name=pkg.description value="valgrind: instrumentation framework and tools to detect memory and threading problems" set name=pkg.summary value="Valgrind is an award-winning instrumentation framework for building dynamic analysis tools. There are Valgrind tools that can automatically detect many memory management and threading bugs, and profile your programs in detail. You can also use Valgrind to build new tools. Currently x86 (32-bit) and amd64 (64-bit) platforms are supported." set name=variant.arch value=i386 |
|
From: Ivo R. <ir...@so...> - 2017-08-29 07:06:29
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=74b0936752953f71714fe936cab55261b67f1e7a commit 74b0936752953f71714fe936cab55261b67f1e7a Author: Ivo Raisr <iv...@iv...> Date: Mon Aug 28 08:00:12 2017 +0200 Mention AddrCheck at Memcheck's command line option --undef-value-errors=no Diff: --- NEWS | 1 + memcheck/docs/mc-manual.xml | 5 +++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/NEWS b/NEWS index 446a7fa..316beaf 100644 --- a/NEWS +++ b/NEWS @@ -48,6 +48,7 @@ where XXXXXX is the bug number as listed below. 382515 "Assertion 'di->have_dinfo' failed." on wine's dlls/mscoree/tests/mscoree.c 382998 xml-socket doesn't work 383275 massif valgrind: m_xarray.c:162 (ensureSpaceXA): Assertion '!xa->arr' failed +384096 Mention AddrCheck at Memcheck's command line option --undef-value-errors=no Release 3.13.0 (15 June 2017) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/memcheck/docs/mc-manual.xml b/memcheck/docs/mc-manual.xml index b6997ea..de8c2ea 100644 --- a/memcheck/docs/mc-manual.xml +++ b/memcheck/docs/mc-manual.xml @@ -941,8 +941,9 @@ is <option>--errors-for-leak-kinds=definite,possible</option> <para>Controls whether Memcheck reports uses of undefined value errors. Set this to <varname>no</varname> if you don't want to see undefined value - errors. It also has the side effect of speeding up - Memcheck somewhat. + errors. It also has the side effect of speeding up Memcheck somewhat. + AddrCheck (removed in Valgrind 3.1.0) functioned like Memcheck with + <option>--undef-value-errors=no</option>. </para> </listitem> </varlistentry> |