rpms/binutils/devel binutils-2.16.91.0.1-cdtest-libsupcxx.patch, NONE, 1.1 binutils-2.16.91.0.1-gas-msg.patch, NONE, 1.1 binutils-2.16.91.0.1-readelf-ia64-unwind.patch, NONE, 1.1 binutils.spec, 1.60, 1.61

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Thu Jul 21 08:12:07 UTC 2005


Author: jakub

Update of /cvs/dist/rpms/binutils/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv24512

Modified Files:
	binutils.spec 
Added Files:
	binutils-2.16.91.0.1-cdtest-libsupcxx.patch 
	binutils-2.16.91.0.1-gas-msg.patch 
	binutils-2.16.91.0.1-readelf-ia64-unwind.patch 
Log Message:
2.16.91.0.1-3


binutils-2.16.91.0.1-cdtest-libsupcxx.patch:
 cdtest.exp |   12 +++++++++---
 1 files changed, 9 insertions(+), 3 deletions(-)

--- NEW FILE binutils-2.16.91.0.1-cdtest-libsupcxx.patch ---
2005-07-21  Jakub Jelinek  <jakub at redhat.com>

	* ld-cdtest/cdtest.exp (libsupcxx): Set to the full path of libsupc++.a
	if needed.  Use it in ld_link lines.

--- ld/testsuite/ld-cdtest/cdtest.exp.jj	2005-05-13 23:44:38.000000000 +0200
+++ ld/testsuite/ld-cdtest/cdtest.exp	2005-07-21 10:06:07.000000000 +0200
@@ -1,5 +1,5 @@
 # Expect script for LD cdtest Tests
-#   Copyright 1993, 1994, 1995, 1997, 2001, 2004
+#   Copyright 1993, 1994, 1995, 1997, 2001, 2004, 2005
 #   Free Software Foundation, Inc.
 #
 # This file is free software; you can redistribute it and/or modify
@@ -36,6 +36,12 @@ if { [which $CXX] == 0 } {
     return
 }
 
+set libsupcxx_ret [catch "exec $CXX $CXXFLAGS -print-file-name=libsupc++.a" libsupcxx]
+if {   $libsupcxx_ret != 0
+    || [string match "libsupc\+\+.a" $libsupcxx] } {
+    set libsupcxx ""
+}
+
 if {   ![ld_compile "$CXX $CXXFLAGS -fno-exceptions" $srcdir/$subdir/cdtest-foo.cc tmpdir/cdtest-foo.o]
     || ![ld_compile "$CXX $CXXFLAGS -fno-exceptions" $srcdir/$subdir/cdtest-bar.cc tmpdir/cdtest-bar.o]
     || ![ld_compile "$CXX $CXXFLAGS -fno-exceptions" $srcdir/$subdir/cdtest-main.cc tmpdir/cdtest-main.o] } {
@@ -46,7 +52,7 @@ if {   ![ld_compile "$CXX $CXXFLAGS -fno
 
 set expected_output "$srcdir/$subdir/cdtest.dat"
 
-if ![ld_link $ld tmpdir/cdtest {tmpdir/cdtest-foo.o tmpdir/cdtest-bar.o tmpdir/cdtest-main.o}] {
+if ![ld_link $ld tmpdir/cdtest "tmpdir/cdtest-foo.o tmpdir/cdtest-bar.o tmpdir/cdtest-main.o $libsupcxx"] {
     fail $test1
 } else {
     send_log   "tmpdir/cdtest >tmpdir/cdtest.out\n"
@@ -93,7 +99,7 @@ if ![ld_link $ld tmpdir/cdtest {tmpdir/c
 if ![ld_relocate $ld tmpdir/cdtest.o {-Ur tmpdir/cdtest-foo.o tmpdir/cdtest-bar.o tmpdir/cdtest-main.o}] {
     fail $test2
 } else {
-    if ![ld_link $ld tmpdir/cdtest tmpdir/cdtest.o] {
+    if ![ld_link $ld tmpdir/cdtest "tmpdir/cdtest.o $libsupcxx"] {
 	fail $test2
     } else {
 	send_log   "tmpdir/cdtest >tmpdir/cdtest.out\n"

binutils-2.16.91.0.1-gas-msg.patch:
 messages.c |   16 ++++++++--------
 1 files changed, 8 insertions(+), 8 deletions(-)

--- NEW FILE binutils-2.16.91.0.1-gas-msg.patch ---
2005-07-20  Tavis Ormandy <taviso at gentoo.org>

	* messages.c: use vsnprintf instead of vsprintf.

--- gas/messages.c
+++ gas/messages.c
@@ -233,7 +233,7 @@
   if (!flag_no_warnings)
     {
       va_start (args, format);
-      vsprintf (buffer, format, args);
+      vsnprintf (buffer, sizeof (buffer), format, args);
       va_end (args);
       as_warn_internal ((char *) NULL, 0, buffer);
     }
@@ -250,7 +250,7 @@
   if (!flag_no_warnings)
     {
       va_start (args);
-      vsprintf (buffer, format, args);
+      vsnprintf (buffer, sizeof (buffer), format, args);
       va_end (args);
       as_warn_internal ((char *) NULL, 0, buffer);
     }
@@ -271,7 +271,7 @@
   if (!flag_no_warnings)
     {
       va_start (args, format);
-      vsprintf (buffer, format, args);
+      vsnprintf (buffer, sizeof (buffer), format, args);
       va_end (args);
       as_warn_internal (file, line, buffer);
     }
@@ -290,7 +290,7 @@
   if (!flag_no_warnings)
     {
       va_start (args);
-      vsprintf (buffer, format, args);
+      vsnprintf (buffer, sizeof (buffer), format, args);
       va_end (args);
       as_warn_internal (file, line, buffer);
     }
@@ -332,7 +332,7 @@
   char buffer[2000];
 
   va_start (args, format);
-  vsprintf (buffer, format, args);
+  vsnprintf (buffer, sizeof (buffer), format, args);
   va_end (args);
 
   as_bad_internal ((char *) NULL, 0, buffer);
@@ -348,7 +348,7 @@
   char buffer[2000];
 
   va_start (args);
-  vsprintf (buffer, format, args);
+  vsnprintf (buffer, sizeof (buffer), format, args);
   va_end (args);
 
   as_bad_internal ((char *) NULL, 0, buffer);
@@ -367,7 +367,7 @@
   char buffer[2000];
 
   va_start (args, format);
-  vsprintf (buffer, format, args);
+  vsnprintf (buffer, sizeof (buffer), format, args);
   va_end (args);
 
   as_bad_internal (file, line, buffer);
@@ -385,7 +385,7 @@
   char buffer[2000];
 
   va_start (args);
-  vsprintf (buffer, format, args);
+  vsnprintf (buffer, sizeof (buffer), format, args);
   va_end (args);
 
   as_bad_internal (file, line, buffer);

binutils-2.16.91.0.1-readelf-ia64-unwind.patch:
 unwind-ia64.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

--- NEW FILE binutils-2.16.91.0.1-readelf-ia64-unwind.patch ---
2005-07-21  Jakub Jelinek  <jakub at redhat.com>

	* unwind-ia64.c (UNW_DEC_SPILL_SPREL, UNW_DEC_SPILL_PSPREL,
	UNW_DEC_RESTORE, UNW_DEC_SPILL_REG): Increase {,ab,t}regname
	buffer sizes.

--- binutils/unwind-ia64.c.jj	2005-05-13 23:44:25.000000000 +0200
+++ binutils/unwind-ia64.c	2005-07-21 00:23:06.000000000 +0200
@@ -371,7 +371,7 @@ typedef bfd_vma unw_word;
 #define UNW_DEC_SPILL_SPREL(fmt, t, abreg, spoff, arg)				\
   do										\
     {										\
-      char regname[10];								\
+      char regname[20];								\
 										\
       unw_print_abreg (regname, abreg);						\
       printf ("\t%s:spill_sprel(reg=%s,t=%lu,spoff=0x%lx)\n",			\
@@ -382,7 +382,7 @@ typedef bfd_vma unw_word;
 #define UNW_DEC_SPILL_PSPREL(fmt, t, abreg, pspoff, arg)			\
   do										\
     {										\
-      char regname[10];								\
+      char regname[20];								\
 										\
       unw_print_abreg (regname, abreg);						\
       printf ("\t%s:spill_psprel(reg=%s,t=%lu,pspoff=0x10-0x%lx)\n",		\
@@ -393,7 +393,7 @@ typedef bfd_vma unw_word;
 #define UNW_DEC_RESTORE(fmt, t, abreg, arg)			\
   do								\
     {								\
-      char regname[10];						\
+      char regname[20];						\
 								\
       unw_print_abreg (regname, abreg);				\
       printf ("\t%s:restore(t=%lu,reg=%s)\n",			\
@@ -404,7 +404,7 @@ typedef bfd_vma unw_word;
 #define UNW_DEC_SPILL_REG(fmt, t, abreg, x, ytreg, arg)		\
   do								\
     {								\
-      char abregname[10], tregname[10];				\
+      char abregname[20], tregname[20];				\
 								\
       unw_print_abreg (abregname, abreg);			\
       unw_print_xyreg (tregname, x, ytreg);			\


Index: binutils.spec
===================================================================
RCS file: /cvs/dist/rpms/binutils/devel/binutils.spec,v
retrieving revision 1.60
retrieving revision 1.61
diff -u -r1.60 -r1.61
--- binutils.spec	20 Jul 2005 18:19:24 -0000	1.60
+++ binutils.spec	21 Jul 2005 08:12:04 -0000	1.61
@@ -1,7 +1,7 @@
 Summary: A GNU collection of binary utilities.
 Name: binutils
 Version: 2.16.91.0.1
-Release: 2
+Release: 3
 License: GPL
 Group: Development/Tools
 URL: http://sources.redhat.com/binutils
@@ -13,6 +13,9 @@
 Patch4: binutils-2.16.91.0.1-ia64-lib64.patch
 Patch5: binutils-2.16.91.0.1-elfvsb-test.patch
 Patch6: binutils-20050708-20050720.patch.bz2
+Patch7: binutils-2.16.91.0.1-cdtest-libsupcxx.patch
+Patch8: binutils-2.16.91.0.1-gas-msg.patch
+Patch9: binutils-2.16.91.0.1-readelf-ia64-unwind.patch
 
 Buildroot: %{_tmppath}/binutils-root
 BuildRequires: texinfo >= 4.0, dejagnu, gettext, flex, bison
@@ -49,6 +52,9 @@
 %endif
 %patch5 -p0 -b .elfvsb-test~
 %patch6 -p0 -E -b .20050708-20050720~
+%patch7 -p0 -b .cdtest-libsupcxx~
+%patch8 -p0 -b .gas-msg~
+%patch9 -p0 -b .readelf-ia64-unwind~
 # libtool sucks
 perl -pi -e 'm/LIBADD/ && s/(\.\.\/bfd\/libbfd.la)/-L\.\.\/bfd\/\.libs \1/' opcodes/Makefile.{am,in}
 # LTP sucks
@@ -157,6 +163,11 @@
 %{_infodir}/*info*
 
 %changelog
+* Thu Jul 21 2005 Jakub Jelinek <jakub at redhat.com> 2.16.91.0.1-3
+- fix buffer overflow in readelf ia64 unwind printing code
+- use vsnprintf rather than vsprintf in gas diagnostics (Tavis Ormandy)
+- fix ld-cdtest when CFLAGS contains -fexceptions
+
 * Wed Jul 20 2005 Jakub Jelinek <jakub at redhat.com> 2.16.91.0.1-2
 - update to 20050720 CVS
 




More information about the fedora-cvs-commits mailing list