]> git.ipfire.org Git - thirdparty/coreutils.git/commitdiff
maint: fixes to support improved sc_tight_scope
authorPádraig Brady <P@draigBrady.com>
Sun, 18 Oct 2015 21:09:19 +0000 (22:09 +0100)
committerPádraig Brady <P@draigBrady.com>
Mon, 19 Oct 2015 09:25:14 +0000 (10:25 +0100)
The gnulib provided sc_tight_scope target was ineffective,
as it was checking against an invalid blank regular expression,
and thus ignoring any extern function issues.  This is now
fixed up in gnulib, and so we need to fix our scoping issues
before the next gnulib update.

* cfg.mk: Setup and document the tight_scope config variables
appropriately.
* src/selinux.h: Since declared in *_SOURCES, use the two line
form for the extern function declarations.
* src/set-fields.h: Add the extern declarations, and since declared
in noinst_HEADERS use the single line form.

cfg.mk
src/selinux.h
src/set-fields.h

diff --git a/cfg.mk b/cfg.mk
index bc5a1e8579fb3d7937e4882beba48725f7fb8c6d..010a903e1eb96dc49fa17895f492a09a6cb68b7e 100644 (file)
--- a/cfg.mk
+++ b/cfg.mk
@@ -766,12 +766,18 @@ gnulib-tests_CFLAGS = $(GNULIB_TEST_WARN_CFLAGS)
 
 # Configuration to make the tight-scope syntax-check rule work with
 # non-recursive make.
-export _gl_TS_headers = $(srcdir)/cfg.mk
-_gl_TS_dir = .
-_gl_TS_obj_files = src/*.$(OBJEXT)
+# Note _gl_TS_headers use _single line_ extern function declarations,
+# while *_SOURCES use the _two line_ form.
+export _gl_TS_headers = $(noinst_HEADERS)
+# Add exceptions for --enable-single-binary renamed functions.
+_gl_TS_unmarked_extern_functions = main usage
+_gl_TS_unmarked_extern_functions += single_binary_main_.* _usage_.*
+# Headers to search for single line extern _data_ declarations.
 _gl_TS_other_headers = $(srcdir)/src/*.h src/*.h
-
 # Tell the tight_scope rule about an exceptional "extern" variable.
 # Normally, the rule would detect its declaration, but that uses a
 # different name, __clz_tab.
 _gl_TS_unmarked_extern_vars = factor_clz_tab
+# Other tight_scope settings
+_gl_TS_dir = .
+_gl_TS_obj_files = src/*.$(OBJEXT)
index f9b3276822e171fec1bff4ed48113210d78bb0f8..ed060f9deb7c6d096962a5b3f278130089e13111 100644 (file)
@@ -29,8 +29,10 @@ ignorable_ctx_err (int err)
 
 # if HAVE_SELINUX_SELINUX_H
 
-extern bool restorecon (char const *path, bool recurse, bool preserve);
-extern int defaultcon (char const *path, mode_t mode);
+extern bool
+restorecon (char const *path, bool recurse, bool preserve);
+extern int
+defaultcon (char const *path, mode_t mode);
 
 # else
 
index 2c55c2984db0201ad089e0226afba34ff84321ba..216cdc4568b228accec0eb39c4334ba513c93ef3 100644 (file)
@@ -39,11 +39,9 @@ enum
 };
 
 /* allocates and initializes the FRP array and N_FRP count */
-void
-set_fields (const char *fieldstr, unsigned int options);
+extern void set_fields (const char *fieldstr, unsigned int options);
 
 /* frees memory allocated by set_fields() */
-void
-reset_fields (void);
+extern void reset_fields (void);
 
 #endif