From 8a962b3efdc146688075c1c6e36b6bad7597d1c2 Mon Sep 17 00:00:00 2001 From: "H. Peter Anvin" Date: Thu, 16 Jul 2009 22:32:33 -0400 Subject: [PATCH] BR 2822263: don't re-invoke ofmt->symdef() in pass2 unless "special" Before checkin aeb0e0e9f1e7e9b32a8f17f2259311f6e9207aa6 we would only invoke ofmt->symdef() for a common variable during pass 2 if that variable had "special" in the declaration. That checkin unintentionally changed that behavior. That doesn't mean that the pre-existing behavior is right, but this should at least fix the resulting regressions. This really warrants more investigation. Signed-off-by: H. Peter Anvin --- nasm.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/nasm.c b/nasm.c index a938aaae..8c7e271a 100644 --- a/nasm.c +++ b/nasm.c @@ -1368,7 +1368,8 @@ static void assemble_file(char *fname, StrList **depend_ptr) define_common(value, seg_alloc(), size, special, ofmt, report_error); } else if (pass0 == 2) { - ofmt->symdef(value, 0L, 0L, 3, special); + if (special) + ofmt->symdef(value, 0L, 0L, 3, special); } break; } -- 2.11.4.GIT