aboutsummaryrefslogtreecommitdiff
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 ac62c30..5313f8e 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 90049e6..0ebe043 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 4943087..31b0f0a 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 bfd120b..1da5e27 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 cdfedc2..6eacc2b 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)