summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog9
-rw-r--r--Makeconfig3
-rw-r--r--csu/Makefile11
-rw-r--r--csu/initfini.c15
-rw-r--r--stdio/vfscanf.c2
5 files changed, 18 insertions, 22 deletions
diff --git a/ChangeLog b/ChangeLog
index ac62c30f52..5313f8e306 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,14 @@
 Wed Jul 26 02:00:29 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
 
+	* stdio/vfscanf.c (conv_error): Simplify expression to avoid
+ 	"value computed is not used" warning.
+
+	* Makeconfig (+gccwarn): Removed -Wconversion.
+
+	* csu/initfini.c (GLOBAL): Macro removed.
+	(_init, _fini): Always define globally.
+	* csu/Makefile (crtstuff, initfini): Don't make crt[in]_s.o.
+
 	* asia, backward, europe, leapseconds, southamerica: New data from
 	ADO's 95e.
 
diff --git a/Makeconfig b/Makeconfig
index 90049e60b5..0ebe04392b 100644
--- a/Makeconfig
+++ b/Makeconfig
@@ -294,8 +294,7 @@ RANLIB = ranlib
 endif
 
 # Extra flags to pass to GCC.
-+gccwarn := -Wall -Wwrite-strings -Wno-parentheses -Winline \
-	    -Wbad-function-cast -Wconversion
++gccwarn := -Wall -Wwrite-strings -Wno-parentheses -Winline -Wbad-function-cast
 
 # This is the program that generates makefile
 # dependencies from C source files.
diff --git a/csu/Makefile b/csu/Makefile
index 4943087203..31b0f0ab7c 100644
--- a/csu/Makefile
+++ b/csu/Makefile
@@ -50,12 +50,9 @@ else
 start-installed-name = crt1.o
 
 # These are the special initializer/finalizer files.  They are always the
-# first and last file in the link.  crti.o ... crtn.o are used for normal
-# linking; they define the global "functions" _init and _fini to run the
-# .init and .fini sections.  crti_s.o ... crtn_s.o are for making shared
-# library objects; they put the prologue/epilogue code into the .init and
-# .fini sections, but define no global symbols.
-crtstuff = crti crtn crti_s crtn_s
+# first and last file in the link.  crti.o ... crtn.o define the global
+# "functions" _init and _fini to run the .init and .fini sections.
+crtstuff = crti crtn
 
 install-lib += $(crtstuff:=.o)
 extra-objs += $(crtstuff:=.o)
@@ -67,13 +64,11 @@ omit-deps += $(crtstuff)
 # disable emission of .size directives and debugging information, since
 # they will get confused by the splitting of the output we do.
 $(objpfx)cr%i.s $(objpfx)cr%n.s: initfini.c; $(initfini)
-$(objpfx)cr%i_s.s $(objpfx)cr%n_s.s: initfini.c; $(initfini)
 
 define initfini
 -rm -f $(objpfx)crtcommon.tmp
 (echo 'cat > crtcommon.tmp <<\EOF_common'; \
  $(CC) $< $(CPPFLAGS) $(CFLAGS) \
-       $(patsubst %,-DGLOBAL=static,$(filter %_s.s,$@)) \
        -finhibit-size-directive -g0 -S -o -; \
  echo 'EOF_common') | (cd $(@D); $(SHELL))
 cat $(objpfx)crtcommon.tmp >> $(objpfx)crti.s-new
diff --git a/csu/initfini.c b/csu/initfini.c
index bfd120b7ef..1da5e2721a 100644
--- a/csu/initfini.c
+++ b/csu/initfini.c
@@ -34,18 +34,11 @@ Cambridge, MA 02139, USA.  */
 
 #include <stdlib.h>
 
-/* We are compiled with -DGLOBAL=static to generate the versions used for
-   shared libraries' .init and .fini sections, which do not have entry
-   point symbols.  */
-#ifndef GLOBAL
-#define GLOBAL
-#endif
-
 /* These declarations make the functions go in the right sections when
    we define them below.  GCC syntax does not allow the attribute
    specifications to be in the function definitions themselves.  */
-GLOBAL void _init (void) __attribute__ ((section (".init")));
-GLOBAL void _fini (void) __attribute__ ((section (".fini")));
+void _init (void) __attribute__ ((section (".init")));
+void _fini (void) __attribute__ ((section (".fini")));
 
 /* End the here document containing the initial common code.
    Then move the output file crtcommon.tmp to crti.s-new and crtn.s-new.  */
@@ -55,7 +48,7 @@ cp -f crti.s-new crtn.s-new");
 
 /* Append the .init prologue to crti.s-new.  */
 asm ("cat >> crti.s-new <<\\EOF.crti.init");
-GLOBAL void
+void
 _init (void)
 {
   (void) &_init;		/* Don't optimize out the function! */
@@ -74,7 +67,7 @@ asm ("\nEOF.crtn.init\
 \n\
 cat >> crti.s-new <<\\EOF.crti.fini");
 
-GLOBAL void
+void
 _fini (void)
 {
   (void) &_fini;		/* Don't optimize out the function! */
diff --git a/stdio/vfscanf.c b/stdio/vfscanf.c
index cdfedc2485..6eacc2b309 100644
--- a/stdio/vfscanf.c
+++ b/stdio/vfscanf.c
@@ -36,7 +36,7 @@ Cambridge, MA 02139, USA.  */
 
 
 #define	inchar()	((c = getc(s)) == EOF ? EOF : (++read_in, c))
-#define	conv_error()	return ((c == EOF || ungetc(c, s)), done)
+#define	conv_error()	return (ungetc(c, s), done)
 #define input_error()	return (done == 0 ? EOF : done)
 #define	memory_error()	return ((errno = ENOMEM), EOF)