From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2155) id 5D97E385277C; Mon, 18 Jul 2022 20:02:53 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 5D97E385277C To: cygwin-apps-cvs@sourceware.org Subject: [rebase - The rebase tool, core of the automatic rebase facility during postinstall] branch master, updated. b3d56e7ba1baf49b2ce71e858e7386037c4b4124 X-Git-Refname: refs/heads/master X-Git-Reftype: branch X-Git-Oldrev: c5aed51229dd75ded09e1972327921cbea293314 X-Git-Newrev: b3d56e7ba1baf49b2ce71e858e7386037c4b4124 Message-Id: <20220718200253.5D97E385277C@sourceware.org> Date: Mon, 18 Jul 2022 20:02:53 +0000 (GMT) From: Corinna Vinschen X-BeenThere: cygwin-apps-cvs@cygwin.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Cygwin-apps git logs List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 18 Jul 2022 20:02:53 -0000 https://sourceware.org/git/gitweb.cgi?p=cygwin-apps/rebase.git;h=b3d56e7ba1baf49b2ce71e858e7386037c4b4124 commit b3d56e7ba1baf49b2ce71e858e7386037c4b4124 Author: Christian Franke Date: Mon Jul 18 17:06:05 2022 +0200 Fix handling of newly added non-rebaseable DLLs Reset needs_rebasing flag to avoid that such a DLL is later removed from the list due to rebase failure. Add related verbose messages. Diff: --- rebase.c | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/rebase.c b/rebase.c index 39759a9..1f9f74b 100644 --- a/rebase.c +++ b/rebase.c @@ -705,6 +705,17 @@ merge_image_info () if (verbose) fprintf (stderr, "rebasing %s because not in database yet\n", img_info_list[i].name); } + else if (img_info_list[i].flag.needs_rebasing) + { + /* Not in database yet and not rebaseable. Add without rebasing or + skip if --oblivious is active. */ + img_info_list[i].flag.needs_rebasing = 0; + if (verbose) + fprintf (stderr, "not rebasing %s because file is not writable\n", + img_info_list[i].name); + /* FIXME: Overlaps of DLLs in the database with this DLL will + not be detected below. */ + } } } if (!img_info_rebase_start || force_rebase_flag) @@ -715,7 +726,12 @@ merge_image_info () { /* Test DLLs already in database for writability. */ if (i < img_info_rebase_start) - set_cannot_rebase (&img_info_list[i]); + { + set_cannot_rebase (&img_info_list[i]); + if (img_info_list[i].flag.cannot_rebase == 1 && verbose) + fprintf (stderr, "not rebasing %s because file is not writable\n", + img_info_list[i].name); + } if (!img_info_list[i].flag.cannot_rebase) { img_info_list[i].base = 0;