Module Name:    src
Committed By:   rillig
Date:           Sun Aug  1 06:40:37 UTC 2021

Modified Files:
        src/usr.bin/xlint/lint1: cgram.y decl.c func.c lex.c main1.c

Log Message:
lint: add debug logging for symbol table, clean up debug logging

When I tried to fix msg_115, I quickly ran into a segmentation fault,
probably related to the symbol table.  To better understand this part,
log insertions and deletions.

The other debug log messages do not need to mention the current file
position anymore, this is what lex_next_line takes care of since scan.l
1.113 from 2021-01-05.


To generate a diff of this commit:
cvs rdiff -u -r1.352 -r1.353 src/usr.bin/xlint/lint1/cgram.y
cvs rdiff -u -r1.215 -r1.216 src/usr.bin/xlint/lint1/decl.c
cvs rdiff -u -r1.117 -r1.118 src/usr.bin/xlint/lint1/func.c
cvs rdiff -u -r1.58 -r1.59 src/usr.bin/xlint/lint1/lex.c
cvs rdiff -u -r1.50 -r1.51 src/usr.bin/xlint/lint1/main1.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/usr.bin/xlint/lint1/cgram.y
diff -u src/usr.bin/xlint/lint1/cgram.y:1.352 src/usr.bin/xlint/lint1/cgram.y:1.353
--- src/usr.bin/xlint/lint1/cgram.y:1.352	Sat Jul 31 17:09:21 2021
+++ src/usr.bin/xlint/lint1/cgram.y	Sun Aug  1 06:40:37 2021
@@ -1,5 +1,5 @@
 %{
-/* $NetBSD: cgram.y,v 1.352 2021/07/31 17:09:21 rillig Exp $ */
+/* $NetBSD: cgram.y,v 1.353 2021/08/01 06:40:37 rillig Exp $ */
 
 /*
  * Copyright (c) 1996 Christopher G. Demetriou.  All Rights Reserved.
@@ -35,7 +35,7 @@
 
 #include <sys/cdefs.h>
 #if defined(__RCSID) && !defined(lint)
-__RCSID("$NetBSD: cgram.y,v 1.352 2021/07/31 17:09:21 rillig Exp $");
+__RCSID("$NetBSD: cgram.y,v 1.353 2021/08/01 06:40:37 rillig Exp $");
 #endif
 
 #include <limits.h>
@@ -75,8 +75,7 @@ static	sym_t	*symbolrename(sym_t *, sbuf
 static void
 CLEAR_WARN_FLAGS(const char *file, size_t line)
 {
-	printf("%s:%d: %s:%zu: clearing flags\n",
-	    curr_pos.p_file, curr_pos.p_line, file, line);
+	printf("%s:%zu: clearing flags\n", file, line);
 	clear_warn_flags();
 	olwarn = LWARN_BAD;
 }
@@ -85,8 +84,7 @@ static void
 SAVE_WARN_FLAGS(const char *file, size_t line)
 {
 	lint_assert(olwarn == LWARN_BAD);
-	printf("%s:%d: %s:%zu: saving flags %d\n",
-	    curr_pos.p_file, curr_pos.p_line, file, line, lwarn);
+	printf("%s:%zu: saving flags %d\n", file, line, lwarn);
 	olwarn = lwarn;
 }
 
@@ -95,8 +93,7 @@ RESTORE_WARN_FLAGS(const char *file, siz
 {
 	if (olwarn != LWARN_BAD) {
 		lwarn = olwarn;
-		printf("%s:%d: %s:%zu: restoring flags %d\n",
-		    curr_pos.p_file, curr_pos.p_line, file, line, lwarn);
+		printf("%s:%zu: restoring flags %d\n", file, line, lwarn);
 		olwarn = LWARN_BAD;
 	} else
 		CLEAR_WARN_FLAGS(file, line);

Index: src/usr.bin/xlint/lint1/decl.c
diff -u src/usr.bin/xlint/lint1/decl.c:1.215 src/usr.bin/xlint/lint1/decl.c:1.216
--- src/usr.bin/xlint/lint1/decl.c:1.215	Sat Jul 31 19:52:44 2021
+++ src/usr.bin/xlint/lint1/decl.c	Sun Aug  1 06:40:37 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: decl.c,v 1.215 2021/07/31 19:52:44 rillig Exp $ */
+/* $NetBSD: decl.c,v 1.216 2021/08/01 06:40:37 rillig Exp $ */
 
 /*
  * Copyright (c) 1996 Christopher G. Demetriou.  All Rights Reserved.
@@ -38,7 +38,7 @@
 
 #include <sys/cdefs.h>
 #if defined(__RCSID) && !defined(lint)
-__RCSID("$NetBSD: decl.c,v 1.215 2021/07/31 19:52:44 rillig Exp $");
+__RCSID("$NetBSD: decl.c,v 1.216 2021/08/01 06:40:37 rillig Exp $");
 #endif
 
 #include <sys/param.h>
@@ -3015,13 +3015,11 @@ check_usage(dinfo_t *di)
 	mklwarn = lwarn;
 	lwarn = LWARN_ALL;
 
-	debug_step("%s, %d: >temp lwarn = %d",
-	    curr_pos.p_file, curr_pos.p_line, lwarn);
+	debug_step("begin lwarn %d", lwarn);
 	for (sym = di->d_dlsyms; sym != NULL; sym = sym->s_dlnxt)
 		check_usage_sym(di->d_asm, sym);
 	lwarn = mklwarn;
-	debug_step("%s, %d: <temp lwarn = %d",
-	    curr_pos.p_file, curr_pos.p_line, lwarn);
+	debug_step("end lwarn %d", lwarn);
 }
 
 /*

Index: src/usr.bin/xlint/lint1/func.c
diff -u src/usr.bin/xlint/lint1/func.c:1.117 src/usr.bin/xlint/lint1/func.c:1.118
--- src/usr.bin/xlint/lint1/func.c:1.117	Sat Jul 31 19:07:52 2021
+++ src/usr.bin/xlint/lint1/func.c	Sun Aug  1 06:40:37 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: func.c,v 1.117 2021/07/31 19:07:52 rillig Exp $	*/
+/*	$NetBSD: func.c,v 1.118 2021/08/01 06:40:37 rillig Exp $	*/
 
 /*
  * Copyright (c) 1994, 1995 Jochen Pohl
@@ -37,7 +37,7 @@
 
 #include <sys/cdefs.h>
 #if defined(__RCSID) && !defined(lint)
-__RCSID("$NetBSD: func.c,v 1.117 2021/07/31 19:07:52 rillig Exp $");
+__RCSID("$NetBSD: func.c,v 1.118 2021/08/01 06:40:37 rillig Exp $");
 #endif
 
 #include <stdlib.h>
@@ -192,8 +192,7 @@ end_control_statement(control_statement_
 static void
 set_reached(bool new_reached)
 {
-	debug_step("%s:%d: %s -> %s",
-	    curr_pos.p_file, curr_pos.p_line,
+	debug_step("%s -> %s",
 	    reached ? "reachable" : "unreachable",
 	    new_reached ? "reachable" : "unreachable");
 	reached = new_reached;
@@ -1327,8 +1326,7 @@ void
 linted(int n)
 {
 
-	debug_step("%s, %d: lwarn = %d",
-	    curr_pos.p_file, curr_pos.p_line, n);
+	debug_step("set lwarn %d", n);
 	lwarn = n;
 }
 

Index: src/usr.bin/xlint/lint1/lex.c
diff -u src/usr.bin/xlint/lint1/lex.c:1.58 src/usr.bin/xlint/lint1/lex.c:1.59
--- src/usr.bin/xlint/lint1/lex.c:1.58	Sat Jul 31 19:07:52 2021
+++ src/usr.bin/xlint/lint1/lex.c	Sun Aug  1 06:40:37 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: lex.c,v 1.58 2021/07/31 19:07:52 rillig Exp $ */
+/* $NetBSD: lex.c,v 1.59 2021/08/01 06:40:37 rillig Exp $ */
 
 /*
  * Copyright (c) 1996 Christopher G. Demetriou.  All Rights Reserved.
@@ -38,7 +38,7 @@
 
 #include <sys/cdefs.h>
 #if defined(__RCSID) && !defined(lint)
-__RCSID("$NetBSD: lex.c,v 1.58 2021/07/31 19:07:52 rillig Exp $");
+__RCSID("$NetBSD: lex.c,v 1.59 2021/08/01 06:40:37 rillig Exp $");
 #endif
 
 #include <ctype.h>
@@ -1506,6 +1506,8 @@ void
 rmsym(sym_t *sym)
 {
 
+	debug_step("rmsym '%s' %d '%s'",
+	    sym->s_name, (int)sym->s_kind, type_name(sym->s_type));
 	if ((*sym->s_rlink = sym->s_link) != NULL)
 		sym->s_link->s_rlink = sym->s_rlink;
 	sym->s_block_level = -1;
@@ -1523,6 +1525,9 @@ rmsyms(sym_t *syms)
 
 	for (sym = syms; sym != NULL; sym = sym->s_dlnxt) {
 		if (sym->s_block_level != -1) {
+			debug_step("rmsyms '%s' %d '%s'",
+			    sym->s_name, (int)sym->s_kind,
+			    type_name(sym->s_type));
 			if ((*sym->s_rlink = sym->s_link) != NULL)
 				sym->s_link->s_rlink = sym->s_rlink;
 			sym->s_link = NULL;
@@ -1539,6 +1544,8 @@ inssym(int bl, sym_t *sym)
 {
 	int	h;
 
+	debug_step("inssym '%s' %d '%s'",
+	    sym->s_name, sym->s_kind, type_name(sym->s_type));
 	h = hash(sym->s_name);
 	if ((sym->s_link = symtab[h]) != NULL)
 		symtab[h]->s_rlink = &sym->s_link;
@@ -1585,6 +1592,8 @@ pushdown(const sym_t *sym)
 	int	h;
 	sym_t	*nsym;
 
+	debug_step("pushdown '%s' %d '%s'",
+	    sym->s_name, (int)sym->s_kind, type_name(sym->s_type));
 	h = hash(sym->s_name);
 	nsym = getblk(sizeof(*nsym));
 	lint_assert(sym->s_block_level <= block_level);

Index: src/usr.bin/xlint/lint1/main1.c
diff -u src/usr.bin/xlint/lint1/main1.c:1.50 src/usr.bin/xlint/lint1/main1.c:1.51
--- src/usr.bin/xlint/lint1/main1.c:1.50	Sat Jul 31 19:07:52 2021
+++ src/usr.bin/xlint/lint1/main1.c	Sun Aug  1 06:40:37 2021
@@ -1,4 +1,4 @@
-/*	$NetBSD: main1.c,v 1.50 2021/07/31 19:07:52 rillig Exp $	*/
+/*	$NetBSD: main1.c,v 1.51 2021/08/01 06:40:37 rillig Exp $	*/
 
 /*
  * Copyright (c) 1994, 1995 Jochen Pohl
@@ -37,7 +37,7 @@
 
 #include <sys/cdefs.h>
 #if defined(__RCSID) && !defined(lint)
-__RCSID("$NetBSD: main1.c,v 1.50 2021/07/31 19:07:52 rillig Exp $");
+__RCSID("$NetBSD: main1.c,v 1.51 2021/08/01 06:40:37 rillig Exp $");
 #endif
 
 #include <sys/types.h>
@@ -284,8 +284,7 @@ main(int argc, char *argv[])
 
 	/* Following warnings cannot be suppressed by LINTED */
 	lwarn = LWARN_ALL;
-	debug_step("%s, %d: lwarn = %d",
-	    curr_pos.p_file, curr_pos.p_line, lwarn);
+	debug_step("main lwarn = %d", lwarn);
 
 	check_global_symbols();
 

Reply via email to