bin/56492: [patch] Removal of stray semicolons after functions in elfdump

Stefan Farfeleder stefan at fafoe.narf.at
Fri Sep 5 08:10:16 PDT 2003


>Number:         56492
>Category:       bin
>Synopsis:       [patch] Removal of stray semicolons after functions in elfdump
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Fri Sep 05 08:10:13 PDT 2003
>Closed-Date:
>Last-Modified:
>Originator:     Stefan Farfeleder
>Release:        FreeBSD 5.1-CURRENT i386
>Organization:
>Environment:
System: FreeBSD frog.fafoe.narf.at 5.1-CURRENT FreeBSD 5.1-CURRENT #6: Thu Aug 28 12:17:45 CEST 2003 freebsd at frog.fafoe.narf.at:/freebsd/frog/obj/freebsd/frog/src/sys/FROG i386


	
>Description:
In src/usr.bin/elfdump/elfdump.c three functions are terminated by a
semicolon.  But a semicolon after a function actually constitutes an emtpy
declaration which violates a constraint in C89 and C99.
	
>How-To-Repeat:
Compile it with a compliant compiler:

$ c89 -c elfdump.c
[...]
elfdump.c:241: warning: ISO C does not allow extra `;' outside of a function
[...]
$ tcc -Ysystem -c elfdump.c
"elfdump.c", line 243: Error:
  [ISO 6.5]: Can't have empty declaration.
[...]
	
>Fix:

	

--- elfdump.diff begins here ---
Index: src/usr.bin/elfdump/elfdump.c
===================================================================
RCS file: /usr/home/ncvs/src/usr.bin/elfdump/elfdump.c,v
retrieving revision 1.9
diff -u -r1.9 elfdump.c
--- src/usr.bin/elfdump/elfdump.c	9 Aug 2003 01:55:37 -0000	1.9
+++ src/usr.bin/elfdump/elfdump.c	5 Sep 2003 14:41:25 -0000
@@ -238,7 +238,7 @@
 	case 0x7fffffff: return "DT_SUNW_FILTER";
 	default: return "ERROR: TAG NOT DEFINED";
 	}
-};
+}
 
 static const char *
 e_machines(u_int mach)
@@ -256,7 +256,7 @@
 	case EM_IA_64:	return "EM_IA_64";
 	}
 	return "(unknown machine)";
-};
+}
 
 const char *e_types[] = {
 	"ET_NONE", "ET_REL", "ET_EXEC", "ET_DYN", "ET_CORE"
@@ -327,7 +327,7 @@
 	/* 0x80000000 - 0xffffffff application programs */
 	default: return "ERROR: SHT NOT DEFINED";
 	}
-};
+}
 
 const char *sh_flags[] = {
 	"", "SHF_WRITE", "SHF_ALLOC", "SHF_WRITE|SHF_ALLOC", "SHF_EXECINSTR",
--- elfdump.diff ends here ---


>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list