]> git.pld-linux.org Git - packages/binutils.git/commitdiff
- updated to 2.23.51.0.1 auto/th/binutils-2.23.51.0.1-1
authorJakub Bogusz <qboosh@pld-linux.org>
Wed, 22 Aug 2012 18:40:47 +0000 (20:40 +0200)
committerJakub Bogusz <qboosh@pld-linux.org>
Wed, 22 Aug 2012 18:40:47 +0000 (20:40 +0200)
- updated gasp patch for new internal gas APIs
- removed obsolete bug-14319 patch

binutils-bug-14319.patch [deleted file]
binutils-gasp.patch
binutils.spec

diff --git a/binutils-bug-14319.patch b/binutils-bug-14319.patch
deleted file mode 100644 (file)
index 47ae1d5..0000000
+++ /dev/null
@@ -1,116 +0,0 @@
-From binutils-return-76086-listarch-binutils=sources dot redhat dot com at sourceware dot org Sat Jun 30 22:25:17 2012
-Return-Path: <binutils-return-76086-listarch-binutils=sources dot redhat dot com at sourceware dot org>
-Delivered-To: listarch-binutils at sources dot redhat dot com
-Received: (qmail 7394 invoked by alias); 30 Jun 2012 22:25:17 -0000
-Received: (qmail 7383 invoked by uid 22791); 30 Jun 2012 22:25:16 -0000
-X-SWARE-Spam-Status: No, hits=-4.2 required=5.0        tests=AWL,BAYES_00,FSL_FREEMAIL_1,KHOP_RCVD_UNTRUST,NO_DNS_FOR_FROM,RCVD_IN_DNSWL_HI,RCVD_IN_HOSTKARMA_W,T_RP_MATCHES_RCVD
-X-Spam-Check-By: sourceware.org
-Received: from mga09.intel.com (HELO mga09.intel.com) (134.134.136.24)    by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Sat, 30 Jun 2012 22:25:03 +0000
-Received: from orsmga002.jf.intel.com ([10.7.209.21])  by orsmga102.jf.intel.com with ESMTP; 30 Jun 2012 15:25:03 -0700
-X-ExtLoop1: 1
-Received: from gnu-6.sc.intel.com ([10.3.194.135])  by orsmga002.jf.intel.com with ESMTP; 30 Jun 2012 15:25:03 -0700
-Received: by gnu-6.sc.intel.com (Postfix, from userid 500)     id 1CD9D800CC; Sat, 30 Jun 2012 15:25:03 -0700 (PDT)
-Date: Sat, 30 Jun 2012 15:25:03 -0700
-From: "H dot J dot  Lu" <hongjiu dot lu at intel dot com>
-To: binutils at sourceware dot org
-Subject: PATCH: PR binutils/14319: unable to initialize commpress status for section .debug_line
-Message-ID: <20120630222503.GA2664@intel.com>
-Reply-To: "H dot J dot  Lu" <hjl dot tools at gmail dot com>
-MIME-Version: 1.0
-Content-Type: text/plain; charset=us-ascii
-Content-Disposition: inline
-User-Agent: Mutt/1.5.21 (2010-09-15)
-Mailing-List: contact binutils-help at sourceware dot org; run by ezmlm
-Precedence: bulk
-List-Id: <binutils.sourceware.org>
-List-Subscribe: <mailto:binutils-subscribe at sourceware dot org>
-List-Archive: <http://sourceware.org/ml/binutils/>
-List-Post: <mailto:binutils at sourceware dot org>
-List-Help: <mailto:binutils-help at sourceware dot org>, <http://sourceware dot org/ml/#faqs>
-Sender: binutils-owner at sourceware dot org
-Delivered-To: mailing list binutils at sourceware dot org
-
-Hi,
-
-This patch avoids compressing empty debug sections.  OK to install?
-
-Thanks.
-
-
-H.J.
-----
-bfd/
-
-2012-06-30  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR binutils/14319
-       * elf.c (_bfd_elf_make_section_from_shdr): Don't compress empty
-       debug section.
-
-binutils/testsuite/
-
-2012-06-30  H.J. Lu  <hongjiu.lu@intel.com>
-
-       PR binutils/14319
-       * binutils-all/compress.exp: Test compress empty debug sections.
-
-       * binutils-all/dw2-empty.S: New file.
-
-diff --git a/bfd/elf.c b/bfd/elf.c
-index ecbf727..8933c2c 100644
---- a/bfd/elf.c
-+++ b/bfd/elf.c
-@@ -1025,7 +1025,7 @@ _bfd_elf_make_section_from_shdr (bfd *abfd,
-       else
-       {
-         /* Normal section.  Check if we should compress.  */
--        if ((abfd->flags & BFD_COMPRESS))
-+        if ((abfd->flags & BFD_COMPRESS) && newsect->size != 0)
-           action = compress;
-       }
-diff --git a/binutils/testsuite/binutils-all/compress.exp b/binutils/testsuite/binutils-all/compress.exp
-index 91ed7e4..3b0b485 100644
---- a/binutils/testsuite/binutils-all/compress.exp
-+++ b/binutils/testsuite/binutils-all/compress.exp
-@@ -133,3 +133,32 @@ if ![string match "" $got] then {
-       pass "$testname"
-     }
- }
-+
-+set testfile tmpdir/dw2-emty.o
-+
-+if { ![binutils_assemble_flags $srcdir/$subdir/dw2-empty.S $testfile --nocompress-debug-sections] } then {
-+    unsupported "compressed debug sections"
-+    return
-+}
-+
-+set testname "objcopy compress empty debug sections"
-+set got [binutils_run $OBJCOPY "--compress-debug-sections $testfile ${copyfile}.o"]
-+if ![string match "" $got] then {
-+    fail "objcopy ($testname)"
-+} else {
-+    send_log "cmp $testfile ${copyfile}.o\n"
-+    verbose "cmp $testfile ${copyfile}.o"
-+    set src1 ${testfile}
-+    set src2 ${copyfile}.o
-+    set status [remote_exec build cmp "${src1} ${src2}"]
-+    set exec_output [lindex $status 1]
-+    set exec_output [prune_warnings $exec_output]
-+
-+    if [string match "" $exec_output] then {
-+      pass "objcopy ($testname)"
-+    } else {
-+      send_log "$exec_output\n"
-+      verbose "$exec_output" 1
-+      fail "objcopy ($testname)"
-+    }
-+}
-diff --git a/binutils/testsuite/binutils-all/dw2-empty.S b/binutils/testsuite/binutils-all/dw2-empty.S
-new file mode 100644
-index 0000000..63a2b90
---- /dev/null
-+++ b/binutils/testsuite/binutils-all/dw2-empty.S
-@@ -0,0 +1 @@
-+      .section .debug_line
-
index f38585062d4b6293a1e2081ed0bee4e32a4e9894..5cf941d2126593f3cc86fc421369046d613bed87 100644 (file)
@@ -35,7 +35,7 @@
        $(COMPILE) -c $< $(NO_WERROR)
  
 +gasp.o:gasp.c $(INCDIR)/getopt.h $(INCDIR)/safe-ctype.h \
-+      sb.h macro.h $(INCDIR)/xregex.h $(INCDIR)/xregex2.h
++      as.h sb.h macro.h $(INCDIR)/xregex.h $(INCDIR)/xregex2.h
 +
  # Disable -Werror, if it has been enabled, since old versions of bison/
  # yacc will produce working code which contain compile time warnings.
 +@bye
 --- binutils-2.17.50.0.2/gas/gasp.c.orig       1970-01-01 01:00:00.000000000 +0100
 +++ binutils-2.17.50.0.2/gas/gasp.c    2006-06-07 11:22:13.774440000 +0200
-@@ -0,0 +1,3999 @@
+@@ -0,0 +1,4011 @@
 +/* gasp.c - Gnu assembler preprocessor main program.
 +   Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
 +   Free Software Foundation, Inc.
 +extern char *malloc ();
 +#endif
 +
++#include "as.h"
 +#include "ansidecl.h"
 +#include "libiberty.h"
 +#include "safe-ctype.h"
 +static void hash_add_to_int_table PARAMS ((hash_table *, sb *, int));
 +static hash_entry *hash_lookup PARAMS ((hash_table *, sb *));
 +static void checkconst PARAMS ((int, exp_t *));
-+static int is_flonum PARAMS ((int, sb *));
-+static int chew_flonum PARAMS ((int, sb *, sb *));
-+static int sb_strtol PARAMS ((int, sb *, int, int *));
-+static int level_0 PARAMS ((int, sb *, exp_t *));
-+static int level_1 PARAMS ((int, sb *, exp_t *));
-+static int level_2 PARAMS ((int, sb *, exp_t *));
-+static int level_3 PARAMS ((int, sb *, exp_t *));
-+static int level_4 PARAMS ((int, sb *, exp_t *));
-+static int level_5 PARAMS ((int, sb *, exp_t *));
-+static int exp_parse PARAMS ((int, sb *, exp_t *));
++static int is_flonum PARAMS ((size_t, sb *));
++static int chew_flonum PARAMS ((size_t, sb *, sb *));
++static int sb_strtol PARAMS ((size_t, sb *, int, int *));
++static int level_0 PARAMS ((size_t, sb *, exp_t *));
++static int level_1 PARAMS ((size_t, sb *, exp_t *));
++static int level_2 PARAMS ((size_t, sb *, exp_t *));
++static int level_3 PARAMS ((size_t, sb *, exp_t *));
++static int level_4 PARAMS ((size_t, sb *, exp_t *));
++static int level_5 PARAMS ((size_t, sb *, exp_t *));
++static int exp_parse PARAMS ((size_t, sb *, exp_t *));
 +static void exp_string PARAMS ((exp_t *, sb *));
-+static int exp_get_abs PARAMS ((const char *, int, sb *, int *));
++static size_t exp_get_abs PARAMS ((const char *, size_t, sb *, offsetT *));
 +#if 0
 +static void strip_comments PARAMS ((sb *));
 +#endif
 +static void include_buf PARAMS ((sb *, sb *, include_type, int));
 +static void include_print_where_line PARAMS ((FILE *));
 +static void include_print_line PARAMS ((FILE *));
-+static int get_line PARAMS ((sb *));
++static size_t get_line PARAMS ((sb *));
 +static int grab_label PARAMS ((sb *, sb *));
-+static void change_base PARAMS ((int, sb *, sb *));
++static void change_base PARAMS ((size_t, sb *, sb *));
 +static void do_end PARAMS ((sb *));
-+static void do_assign PARAMS ((int, int, sb *));
++static void do_assign PARAMS ((int, size_t, sb *));
 +static void do_radix PARAMS ((sb *));
-+static int get_opsize PARAMS ((int, sb *, int *));
-+static int eol PARAMS ((int, sb *));
-+static void do_data PARAMS ((int, sb *, int));
-+static void do_datab PARAMS ((int, sb *));
-+static void do_align PARAMS ((int, sb *));
-+static void do_res PARAMS ((int, sb *, int));
++static int get_opsize PARAMS ((size_t, sb *, int *));
++static int eol PARAMS ((size_t, sb *));
++static void do_data PARAMS ((size_t, sb *, int));
++static void do_datab PARAMS ((size_t, sb *));
++static void do_align PARAMS ((size_t, sb *));
++static void do_res PARAMS ((size_t, sb *, int));
 +static void do_export PARAMS ((sb *));
-+static void do_print PARAMS ((int, sb *));
-+static void do_heading PARAMS ((int, sb *));
++static void do_print PARAMS ((size_t, sb *));
++static void do_heading PARAMS ((size_t, sb *));
 +static void do_page PARAMS ((void));
-+static void do_form PARAMS ((int, sb *));
-+static int get_any_string PARAMS ((int, sb *, sb *, int, int));
-+static int skip_openp PARAMS ((int, sb *));
-+static int skip_closep PARAMS ((int, sb *));
-+static int dolen PARAMS ((int, sb *, sb *));
-+static int doinstr PARAMS ((int, sb *, sb *));
-+static int dosubstr PARAMS ((int, sb *, sb *));
-+static void process_assigns PARAMS ((int, sb *, sb *));
-+static int get_and_process PARAMS ((int, sb *, sb *));
++static void do_form PARAMS ((size_t, sb *));
++static int get_any_string PARAMS ((size_t, sb *, sb *, int, int));
++static int skip_openp PARAMS ((size_t, sb *));
++static int skip_closep PARAMS ((size_t, sb *));
++static int dolen PARAMS ((size_t, sb *, sb *));
++static int doinstr PARAMS ((size_t, sb *, sb *));
++static int dosubstr PARAMS ((size_t, sb *, sb *));
++static void process_assigns PARAMS ((size_t, sb *, sb *));
++static int get_and_process PARAMS ((size_t, sb *, sb *));
 +static void process_file PARAMS ((void));
 +static void free_old_entry PARAMS ((hash_entry *));
-+static void do_assigna PARAMS ((int, sb *));
-+static void do_assignc PARAMS ((int, sb *));
-+static void do_reg PARAMS ((int, sb *));
-+static int condass_lookup_name PARAMS ((sb *, int, sb *, int));
-+static int whatcond PARAMS ((int, sb *, int *));
-+static int istrue PARAMS ((int, sb *));
-+static void do_aif PARAMS ((int, sb *));
++static void do_assigna PARAMS ((size_t, sb *));
++static void do_assignc PARAMS ((size_t, sb *));
++static void do_reg PARAMS ((size_t, sb *));
++static int condass_lookup_name PARAMS ((sb *, size_t, sb *, int));
++static int whatcond PARAMS ((size_t, sb *, int *));
++static int istrue PARAMS ((size_t, sb *));
++static void do_aif PARAMS ((size_t, sb *));
 +static void do_aelse PARAMS ((void));
 +static void do_aendi PARAMS ((void));
 +static int condass_on PARAMS ((void));
-+static void do_if PARAMS ((int, sb *, int));
-+static int get_mri_string PARAMS ((int, sb *, sb *, int));
-+static void do_ifc PARAMS ((int, sb *, int));
++static void do_if PARAMS ((size_t, sb *, int));
++static int get_mri_string PARAMS ((size_t, sb *, sb *, int));
++static void do_ifc PARAMS ((size_t, sb *, int));
 +static void do_aendr PARAMS ((void));
-+static void do_awhile PARAMS ((int, sb *));
++static void do_awhile PARAMS ((size_t, sb *));
 +static void do_aendw PARAMS ((void));
 +static void do_exitm PARAMS ((void));
-+static void do_arepeat PARAMS ((int, sb *));
++static void do_arepeat PARAMS ((size_t, sb *));
 +static void do_endm PARAMS ((void));
-+static void do_irp PARAMS ((int, sb *, int));
-+static void do_local PARAMS ((int, sb *));
-+static void do_macro PARAMS ((int, sb *));
-+static int macro_op PARAMS ((int, sb *));
-+static int getstring PARAMS ((int, sb *, sb *));
-+static void do_sdata PARAMS ((int, sb *, int));
-+static void do_sdatab PARAMS ((int, sb *));
++static void do_irp PARAMS ((size_t, sb *, int));
++static void do_local PARAMS ((size_t, sb *));
++static void do_macro PARAMS ((size_t, sb *));
++static int macro_op PARAMS ((size_t, sb *));
++static int getstring PARAMS ((size_t, sb *, sb *));
++static void do_sdata PARAMS ((size_t, sb *, int));
++static void do_sdatab PARAMS ((size_t, sb *));
 +static int new_file PARAMS ((const char *));
-+static void do_include PARAMS ((int, sb *));
++static void do_include PARAMS ((size_t, sb *));
 +static void include_pop PARAMS ((void));
 +static int get PARAMS ((void));
 +static int linecount PARAMS ((void));
 +static int include_next_index PARAMS ((void));
 +static void chartype_init PARAMS ((void));
-+static int process_pseudo_op PARAMS ((int, sb *, sb *));
++static int process_pseudo_op PARAMS ((size_t, sb *, sb *));
 +static void add_keyword PARAMS ((const char *, int));
 +static void process_init PARAMS ((void));
 +static void do_define PARAMS ((const char *));
 +/* print the sb at ptr to the output file */
 +
 +static void
-+sb_print (FILE *outfile, sb *ptr)
++sb_print (FILE *outfileP, sb *ptr)
 +{
-+  int i;
++  size_t i;
 +  int nc = 0;
 +
 +  for (i = 0; i < ptr->len; i++)
 +    {
 +      if (nc)
 +      {
-+        fprintf (outfile, ",");
++        fprintf (outfileP, ",");
 +      }
-+      fprintf (outfile, "%d", ptr->ptr[i]);
++      fprintf (outfileP, "%d", ptr->ptr[i]);
 +      nc = 1;
 +    }
 +}
 +/* print the sb at ptr to the output file */
 +
 +static void
-+sb_print_at (FILE *outfile, int idx, sb *ptr)
++sb_print_at (FILE *outfileP, size_t idx, sb *ptr)
 +{
-+  int i;
++  size_t i;
 +  for (i = idx; i < ptr->len; i++)
-+    putc (ptr->ptr[i], outfile);
++    putc (ptr->ptr[i], outfileP);
 +}
 +
 +#define FATAL(x)                              \
 +     sb *key;
 +{
 +  int k = 0x1234;
-+  int i;
++  size_t i;
 +  char *p = key->ptr;
 +  for (i = 0; i < key->len; i++)
 +    {
 +
 +static int
 +chew_flonum (idx, string, out)
-+     int idx;
++     size_t idx;
 +     sb *string;
 +     sb *out;
 +{
 +
 +static int
 +is_flonum (idx, string)
-+     int idx;
++     size_t idx;
 +     sb *string;
 +{
 +  sb buf;
 +
 +static int
 +sb_strtol (idx, string, base, ptr)
-+     int idx;
++     size_t idx;
 +     sb *string;
 +     int base;
 +     int *ptr;
 +
 +static int
 +level_0 (idx, string, lhs)
-+     int idx;
++     size_t idx;
 +     sb *string;
 +     exp_t *lhs;
 +{
 +
 +static int
 +level_1 (idx, string, lhs)
-+     int idx;
++     size_t idx;
 +     sb *string;
 +     exp_t *lhs;
 +{
 +
 +static int
 +level_2 (idx, string, lhs)
-+     int idx;
++     size_t idx;
 +     sb *string;
 +     exp_t *lhs;
 +{
 +
 +static int
 +level_3 (idx, string, lhs)
-+     int idx;
++     size_t idx;
 +     sb *string;
 +     exp_t *lhs;
 +{
 +
 +static int
 +level_4 (idx, string, lhs)
-+     int idx;
++     size_t idx;
 +     sb *string;
 +     exp_t *lhs;
 +{
 +
 +static int
 +level_5 (idx, string, lhs)
-+     int idx;
++     size_t idx;
 +     sb *string;
 +     exp_t *lhs;
 +{
 +
 +static int
 +exp_parse (idx, string, res)
-+     int idx;
++     size_t idx;
 +     sb *string;
 +     exp_t *res;
 +{
 +   val.  If the expression is not constant, give ERROR emsg.  Return
 +   the index of the first character past the end of the expression.  */
 +
-+static int
++static size_t
 +exp_get_abs (emsg, idx, in, val)
 +     const char *emsg;
-+     int idx;
++     size_t idx;
 +     sb *in;
-+     int *val;
++     offsetT *val;
 +{
 +  exp_t res;
 +  idx = exp_parse (idx, in, &res);
 +   and index.  */
 +
 +static void
-+include_buf (name, ptr, type, index)
++include_buf (name, ptr, type, indx)
 +     sb *name;
 +     sb *ptr;
 +     include_type type;
-+     int index;
++     int indx;
 +{
 +  sp++;
 +  if (sp - include_stack >= MAX_INCLUDES)
 +  sp->linecount = 1;
 +  sp->pushback_index = 0;
 +  sp->type = type;
-+  sp->index = index;
++  sp->index = indx;
 +  sb_new (&sp->pushback);
 +  sb_add_sb (&sp->pushback, ptr);
 +}
 +
 +/* Read a line from the top of the include stack into sb in.  */
 +
-+static int
++static size_t
 +get_line (in)
 +     sb *in;
 +{
 +     sb *in;
 +     sb *out;
 +{
-+  int i = 0;
++  size_t i = 0;
 +  sb_reset (out);
 +  if (ISFIRSTCHAR (in->ptr[i]) || in->ptr[i] == '\\')
 +    {
 +
 +static void
 +change_base (idx, in, out)
-+     int idx;
++     size_t idx;
 +     sb *in;
 +     sb *out;
 +{
 +static void
 +do_assign (again, idx, in)
 +     int again;
-+     int idx;
++     size_t idx;
 +     sb *in;
 +{
 +  /* Stick label in symbol table with following value.  */
 +do_radix (ptr)
 +     sb *ptr;
 +{
-+  int idx = sb_skip_white (0, ptr);
++  size_t idx = sb_skip_white (0, ptr);
 +  switch (ptr->ptr[idx])
 +    {
 +    case 'B':
 +
 +static int
 +get_opsize (idx, in, size)
-+     int idx;
++     size_t idx;
 +     sb *in;
 +     int *size;
 +{
 +
 +static int
 +eol (idx, line)
-+     int idx;
++     size_t idx;
 +     sb *line;
 +{
 +  idx = sb_skip_white (idx, line);
 +
 +static void
 +do_data (idx, in, size)
-+     int idx;
++     size_t idx;
 +     sb *in;
 +     int size;
 +{
 +      && idx < in->len
 +      && in->ptr[idx] == '"')
 +    {
-+      int i;
++      size_t i;
 +      idx = getstring (idx, in, &acc);
 +      for (i = 0; i < acc.len; i++)
 +      {
 +
 +static void
 +do_datab (idx, in)
-+     int idx;
++     size_t idx;
 +     sb *in;
 +{
 +  int opsize;
-+  int repeat;
-+  int fill;
++  offsetT repeat;
++  offsetT fill;
 +
 +  idx = get_opsize (idx, in, &opsize);
 +
 +  idx = sb_skip_comma (idx, in);
 +  idx = exp_get_abs (_("datab data must be absolute.\n"), idx, in, &fill);
 +
-+  fprintf (outfile, ".fill\t%d,%d,%d\n", repeat, opsize, fill);
++  fprintf (outfile, ".fill\t%ld,%d,%ld\n", repeat, opsize, fill);
 +}
 +
 +/* .align <size>  */
 +
 +static void
 +do_align (idx, in)
-+     int idx;
++     size_t idx;
 +     sb *in;
 +{
-+  int al, have_fill, fill;
++  int have_fill; offsetT al, fill;
 +
 +  idx = exp_get_abs (_("align needs absolute expression.\n"), idx, in, &al);
 +  idx = sb_skip_white (idx, in);
 +      have_fill = 1;
 +    }
 +
-+  fprintf (outfile, ".align   %d", al);
++  fprintf (outfile, ".align   %ld", al);
 +  if (have_fill)
-+    fprintf (outfile, ",%d", fill);
++    fprintf (outfile, ",%ld", fill);
 +  fprintf (outfile, "\n");
 +}
 +
 +
 +static void
 +do_res (idx, in, type)
-+     int idx;
++     size_t idx;
 +     sb *in;
 +     int type;
 +{
 +  int size = 4;
-+  int count = 0;
++  offsetT count = 0;
 +
 +  idx = get_opsize (idx, in, &size);
 +  while (!eol (idx, in))
 +      if (type == 'c' || type == 'z')
 +      count++;
 +
-+      fprintf (outfile, ".space       %d\n", count * size);
++      fprintf (outfile, ".space       %ld\n", count * size);
 +    }
 +}
 +
 +
 +static void
 +do_print (idx, in)
-+     int idx;
++     size_t idx;
 +     sb *in;
 +{
 +  idx = sb_skip_white (idx, in);
 +
 +static void
 +do_heading (idx, in)
-+     int idx;
++     size_t idx;
 +     sb *in;
 +{
 +  sb head;
 +
 +static void
 +do_form (idx, in)
-+     int idx;
++     size_t idx;
 +     sb *in;
 +{
-+  int lines = 60;
-+  int columns = 132;
++  offsetT lines = 60;
++  offsetT columns = 132;
 +  idx = sb_skip_white (idx, in);
 +
 +  while (idx < in->len)
 +
 +      idx++;
 +    }
-+  fprintf (outfile, ".psize %d,%d\n", lines, columns);
++  fprintf (outfile, ".psize %ld,%ld\n", lines, columns);
 +
 +}
 +
 +
 +static int
 +get_any_string (idx, in, out, expand, pretend_quoted)
-+     int idx;
++     size_t idx;
 +     sb *in;
 +     sb *out;
 +     int expand;
 +             && alternate
 +             && expand)
 +      {
-+        int val;
++        offsetT val;
 +        char buf[20];
 +        /* Turns the next expression into a string.  */
 +        /* xgettext: no-c-format */
 +                           idx + 1,
 +                           in,
 +                           &val);
-+        sprintf (buf, "%d", val);
++        sprintf (buf, "%ld", val);
 +        sb_add_string (out, buf);
 +      }
 +      else if (in->ptr[idx] == '"'
 +
 +static int
 +skip_openp (idx, in)
-+     int idx;
++     size_t idx;
 +     sb *in;
 +{
 +  idx = sb_skip_white (idx, in);
 +
 +static int
 +skip_closep (idx, in)
-+     int idx;
++     size_t idx;
 +     sb *in;
 +{
 +  idx = sb_skip_white (idx, in);
 +
 +static int
 +dolen (idx, in, out)
-+     int idx;
++     size_t idx;
 +     sb *in;
 +     sb *out;
 +{
 +
 +static int
 +doinstr (idx, in, out)
-+     int idx;
++     size_t idx;
 +     sb *in;
 +     sb *out;
 +{
 +  sb string;
 +  sb search;
-+  int i;
-+  int start;
++  size_t i;
++  offsetT start;
 +  int res;
 +  char buffer[10];
 +
 +
 +static int
 +dosubstr (idx, in, out)
-+     int idx;
++     size_t idx;
 +     sb *in;
 +     sb *out;
 +{
 +  sb string;
-+  int pos;
-+  int len;
++  offsetT pos;
++  offsetT len;
 +  sb_new (&string);
 +
 +  idx = skip_openp (idx, in);
 +
 +static void
 +process_assigns (idx, in, buf)
-+     int idx;
++     size_t idx;
 +     sb *in;
 +     sb *buf;
 +{
 +      {
 +        /* May be a simple name subsitution, see if we have a word.  */
 +        sb acc;
-+        int cur = idx + 1;
++        size_t cur = idx + 1;
 +        while (cur < in->len
 +               && (ISNEXTCHAR (in->ptr[cur])))
 +          cur++;
 +
 +static int
 +get_and_process (idx, in, out)
-+     int idx;
++     size_t idx;
 +     sb *in;
 +     sb *out;
 +{
 +  while (more)
 +    {
 +      /* Find any label and pseudo op that we're intested in.  */
-+      int l;
++      size_t l;
 +      if (line.len == 0)
 +      {
 +        if (condass_on ())
 +            if (l < line.len
 +                && (line.ptr[l] == '.' || alternate || mri))
 +              {
-+                int lx = l;
++                size_t lx = l;
 +
 +                if (line.ptr[lx] == '.')
 +                  ++lx;
 +
 +static void
 +do_assigna (idx, in)
-+     int idx;
++     size_t idx;
 +     sb *in;
 +{
 +  sb tmp;
-+  int val;
++  offsetT val;
 +  sb_new (&tmp);
 +
 +  process_assigns (idx, in, &tmp);
 +
 +static void
 +do_assignc (idx, in)
-+     int idx;
++     size_t idx;
 +     sb *in;
 +{
 +  sb acc;
 +
 +static void
 +do_reg (idx, in)
-+     int idx;
++     size_t idx;
 +     sb *in;
 +{
 +  /* Remove reg stuff from inside parens.  */
 +static int
 +condass_lookup_name (inbuf, idx, out, warn)
 +     sb *inbuf;
-+     int idx;
++     size_t idx;
 +     sb *out;
 +     int warn;
 +{
 +
 +static int
 +whatcond (idx, in, val)
-+     int idx;
++     size_t idx;
 +     sb *in;
 +     int *val;
 +{
 +
 +static int
 +istrue (idx, in)
-+     int idx;
++     size_t idx;
 +     sb *in;
 +{
 +  int res;
 +
 +  if (in->ptr[idx] == '"')
 +    {
-+      int cond;
++      int cond2;
 +      int same;
 +      /* This is a string comparision.  */
 +      idx = getstring (idx, in, &acc_a);
-+      idx = whatcond (idx, in, &cond);
++      idx = whatcond (idx, in, &cond2);
 +      idx = getstring (idx, in, &acc_b);
 +      same = acc_a.len == acc_b.len
 +      && (strncmp (acc_a.ptr, acc_b.ptr, acc_a.len) == 0);
 +
-+      if (cond != EQ && cond != NE)
++      if (cond2 != EQ && cond2 != NE)
 +      {
 +        ERROR ((stderr, _("Comparison operator for strings must be EQ or NE\n")));
 +        res = 0;
 +      }
 +      else
-+      res = (cond != EQ) ^ same;
++      res = (cond2 != EQ) ^ same;
 +    }
 +  else
 +    /* This is a numeric expression.  */
 +    {
-+      int vala;
-+      int valb;
-+      int cond;
++      offsetT vala;
++      offsetT valb;
++      int cond2;
 +      idx = exp_get_abs (_("Conditional operator must have absolute operands.\n"), idx, in, &vala);
-+      idx = whatcond (idx, in, &cond);
++      idx = whatcond (idx, in, &cond2);
 +      idx = sb_skip_white (idx, in);
 +      if (in->ptr[idx] == '"')
 +      {
 +      else
 +      {
 +        idx = exp_get_abs (_("Conditional operator must have absolute operands.\n"), idx, in, &valb);
-+        switch (cond)
++        switch (cond2)
 +          {
 +          default:
 +            res = 42;
 +
 +static void
 +do_aif (idx, in)
-+     int idx;
++     size_t idx;
 +     sb *in;
 +{
 +  if (ifi >= IFNESTING)
 +
 +static void
 +do_if (idx, in, cond)
-+     int idx;
++     size_t idx;
 +     sb *in;
 +     int cond;
 +{
-+  int val;
++  offsetT val;
 +  int res;
 +
 +  if (ifi >= IFNESTING)
 +
 +static int
 +get_mri_string (idx, in, val, terminator)
-+     int idx;
++     size_t idx;
 +     sb *in;
 +     sb *val;
 +     int terminator;
 +
 +static void
 +do_ifc (idx, in, ifnc)
-+     int idx;
++     size_t idx;
 +     sb *in;
 +     int ifnc;
 +{
 +
 +static void
 +do_awhile (idx, in)
-+     int idx;
++     size_t idx;
 +     sb *in;
 +{
 +  int line = linecount ();
 +
 +  if (doit)
 +    {
-+      int index = include_next_index ();
++      int indx = include_next_index ();
 +
 +      sb copy;
 +      sb_new (&copy);
 +      sb_add_sb (&copy, &sub);
 +      sb_add_string (&copy, "\t.AENDW\n");
 +      /* Push another WHILE.  */
-+      include_buf (&exp, &copy, include_while, index);
++      include_buf (&exp, &copy, include_while, indx);
 +      sb_kill (&copy);
 +    }
 +  sb_kill (&exp);
 +      || type == include_while
 +      || type == include_macro)
 +    {
-+      int index = sp->index;
++      int indx = sp->index;
 +      include_pop ();
-+      while (sp->index == index
++      while (sp->index == indx
 +           && sp->type == type)
 +      {
 +        include_pop ();
 +
 +static void
 +do_arepeat (idx, in)
-+     int idx;
++     size_t idx;
 +     sb *in;
 +{
 +  int line = linecount ();
 +  sb exp;                     /* Buffer with expression in it.  */
 +  sb copy;                    /* Expanded repeat block.  */
 +  sb sub;                     /* Contents of AREPEAT.  */
-+  int rc;
++  offsetT rc;
 +  int ret;
 +  char buffer[30];
 +
 +       foo
 +       .AENDR
 +      */
-+      int index = include_next_index ();
++      int indx = include_next_index ();
 +      sb_add_sb (&copy, &sub);
 +      if (rc > 1)
 +      {
 +        if (!mri)
-+          sprintf (buffer, "\t.AREPEAT        %d\n", rc - 1);
++          sprintf (buffer, "\t.AREPEAT        %ld\n", rc - 1);
 +        else
-+          sprintf (buffer, "\tREPT    %d\n", rc - 1);
++          sprintf (buffer, "\tREPT    %ld\n", rc - 1);
 +        sb_add_string (&copy, buffer);
 +        sb_add_sb (&copy, &sub);
 +        if (!mri)
 +          sb_add_string (&copy, "     ENDR\n");
 +      }
 +
-+      include_buf (&exp, &copy, include_repeat, index);
++      include_buf (&exp, &copy, include_repeat, indx);
 +    }
 +  sb_kill (&exp);
 +  sb_kill (&sub);
 +
 +static void
 +do_irp (idx, in, irpc)
-+     int idx;
++     size_t idx;
 +     sb *in;
 +     int irpc;
 +{
 +
 +static void
 +do_local (idx, line)
-+     int idx ATTRIBUTE_UNUSED;
++     size_t idx ATTRIBUTE_UNUSED;
 +     sb *line ATTRIBUTE_UNUSED;
 +{
 +  ERROR ((stderr, _("LOCAL outside of MACRO")));
 +
 +static void
 +do_macro (idx, in)
-+     int idx;
++     size_t idx;
 +     sb *in;
 +{
 +  const char *err;
 +
 +static int
 +macro_op (idx, in)
-+     int idx;
++     size_t idx;
 +     sb *in;
 +{
 +  const char *err;
 +
 +static int
 +getstring (idx, in, acc)
-+     int idx;
++     size_t idx;
 +     sb *in;
 +     sb *acc;
 +{
 +          }
 +        else
 +          {
-+            int code;
++            offsetT code;
 +            idx++;
 +            idx = exp_get_abs (_("Character code in string must be absolute expression.\n"),
 +                               idx, in, &code);
 +
 +static void
 +do_sdata (idx, in, type)
-+     int idx;
++     size_t idx;
 +     sb *in;
 +     int type;
 +{
 +
 +  while (!eol (idx, in))
 +    {
-+      int i;
++      size_t i;
 +      sb_reset (&acc);
 +      idx = sb_skip_white (idx, in);
 +      while (!eol (idx, in))
 +
 +static void
 +do_sdatab (idx, in)
-+     int idx;
++     size_t idx;
 +     sb *in;
 +{
-+  int repeat;
++  offsetT repeat;
 +  int i;
 +  sb acc;
 +  sb_new (&acc);
 +  idx = exp_get_abs (_("Must have absolute SDATAB repeat count.\n"), idx, in, &repeat);
 +  if (repeat <= 0)
 +    {
-+      ERROR ((stderr, _("Must have positive SDATAB repeat count (%d).\n"), repeat));
++      ERROR ((stderr, _("Must have positive SDATAB repeat count (%ld).\n"), repeat));
 +      repeat = 1;
 +    }
 +
 +
 +static void
 +do_include (idx, in)
-+     int idx;
++     size_t idx;
 +     sb *in;
 +{
 +  sb t;
 +static int
 +include_next_index ()
 +{
-+  static int index;
++  static int indx;
 +  if (!unreasonable
-+      && index > MAX_REASONABLE)
++      && indx > MAX_REASONABLE)
 +    FATAL ((stderr, _("Unreasonable expansion (-u turns off check).\n")));
-+  return ++index;
++  return ++indx;
 +}
 +
 +/* Initialize the chartype vector.  */
 +
 +static int
 +process_pseudo_op (idx, line, acc)
-+     int idx;
++     size_t idx;
 +     sb *line;
 +     sb *acc;
 +{
 +     const char *name;
 +     int code;
 +{
-+  sb label;
++  sb label2;
 +  int j;
 +
-+  sb_new (&label);
-+  sb_add_string (&label, name);
++  sb_new (&label2);
++  sb_add_string (&label2, name);
 +
-+  hash_add_to_int_table (&keyword_hash_table, &label, code);
++  hash_add_to_int_table (&keyword_hash_table, &label2, code);
 +
-+  sb_reset (&label);
++  sb_reset (&label2);
 +  for (j = 0; name[j]; j++)
-+    sb_add_char (&label, name[j] - 'A' + 'a');
-+  hash_add_to_int_table (&keyword_hash_table, &label, code);
++    sb_add_char (&label2, name[j] - 'A' + 'a');
++  hash_add_to_int_table (&keyword_hash_table, &label2, code);
 +
-+  sb_kill (&label);
++  sb_kill (&label2);
 +}
 +
 +/* Build the keyword hash table - put each keyword in the table twice,
 +do_define (string)
 +     const char *string;
 +{
-+  sb label;
-+  int res = 1;
++  sb label2;
++  offsetT res = 1;
 +  hash_entry *ptr;
-+  sb_new (&label);
++  sb_new (&label2);
 +
 +  while (*string)
 +    {
 +        sb_kill (&value);
 +        break;
 +      }
-+      sb_add_char (&label, *string);
++      sb_add_char (&label2, *string);
 +
 +      string++;
 +    }
 +
-+  ptr = hash_create (&vars, &label);
++  ptr = hash_create (&vars, &label2);
 +  free_old_entry (ptr);
 +  ptr->type = hash_integer;
 +  ptr->value.i = res;
-+  sb_kill (&label);
++  sb_kill (&label2);
 +}
 +
 +char *program_name;
 +};
 +
 +/* just a stub to satisfy unused function in sb.o */
-+int do_scrub_chars (int (*get) (char*, int), char *tostart, int tolen) {}
---- binutils-2.16.91.0.2.org/gas/macro.c       2005-05-10 22:46:44.000000000 +0000
-+++ binutils-2.16.91.0.2/gas/macro.c   2005-07-21 18:31:04.000000000 +0000
-@@ -754,7 +754,7 @@
++size_t do_scrub_chars (size_t (*getF) (char*, size_t), char *tostart, size_t tolen) { return 0; }
++/* required by sb.o; cut down from messages.c */
++void as_fatal(const char *format, ...)
++{
++  va_list args;
++  va_start (args, format);
++  fprintf (stderr, _("Fatal error: "));
++  vfprintf (stderr, format, args);
++  (void) putc ('\n', stderr);
++  va_end (args);
++  xexit (EXIT_FAILURE);
++}
+--- binutils-2.23.51.0.1/gas/macro.c.orig      2012-08-07 19:47:23.000000000 +0200
++++ binutils-2.23.51.0.1/gas/macro.c   2012-08-21 20:21:33.256276269 +0200
+@@ -770,7 +770,7 @@
  
  static const char *
  macro_expand_body (sb *in, sb *out, formal_entry *formals,
 +                 struct hash_control *formal_hash, const macro_entry *macro, int comment_char)
  {
    sb t;
-   int src = 0, inquote = 0, macro_line = 0;
-@@ -786,7 +786,14 @@
+   size_t src = 0;
+@@ -802,7 +802,14 @@
        else if (in->ptr[src] == '\\')
        {
          src++;
            {
              /* Sub in till the next ')' literally.  */
              src++;
-@@ -867,7 +874,7 @@
+@@ -885,7 +892,7 @@
          else
            {
              src = sb_skip_white (src + 5, in);
                {
                  const char *name;
                  formal_entry *f = new_formal ();
-@@ -903,6 +910,17 @@
+@@ -921,6 +928,17 @@
                }
            }
        }
        else if (in->ptr[src] == '"'
               || (macro_mri && in->ptr[src] == '\''))
        {
-@@ -984,7 +1002,7 @@
+@@ -1002,7 +1020,7 @@
     body.  */
  
  static const char *
--macro_expand (int idx, sb *in, macro_entry *m, sb *out)
-+macro_expand (int idx, sb *in, macro_entry *m, sb *out, int comment_char)
+-macro_expand (size_t idx, sb *in, macro_entry *m, sb *out)
++macro_expand (size_t idx, sb *in, macro_entry *m, sb *out, int comment_char)
  {
    sb t;
    formal_entry *ptr;
-@@ -1029,7 +1047,7 @@
+@@ -1047,7 +1065,7 @@
  
    /* Peel off the actuals and store them away in the hash tables' actuals.  */
    idx = sb_skip_white (idx, in);
 -  while (idx < in->len)
 +  while (idx < in->len && in->ptr[idx] != comment_char)
      {
-       int scan;
+       size_t scan;
  
-@@ -1156,7 +1174,7 @@
+@@ -1178,7 +1196,7 @@
          sb_add_string (&ptr->actual, buffer);
        }
  
      }
  
    /* Discard any unnamed formal arguments.  */
-@@ -1189,7 +1207,7 @@
+@@ -1211,7 +1229,7 @@
     *EXPAND.  Return 1 if a macro is found, 0 otherwise.  */
  
  int
             const char **error, macro_entry **info)
  {
    const char *s;
-@@ -1224,7 +1242,7 @@
+@@ -1246,7 +1264,7 @@
      sb_add_char (&line_sb, *s++);
  
    sb_new (expand);
  
    sb_kill (&line_sb);
  
-@@ -1285,7 +1303,7 @@
+@@ -1289,7 +1307,7 @@
     success, or an error message otherwise.  */
  
  const char *
--expand_irp (int irpc, int idx, sb *in, sb *out, int (*get_line) (sb *))
-+expand_irp (int irpc, int idx, sb *in, sb *out, int (*get_line) (sb *), int comment_char)
+-expand_irp (int irpc, size_t idx, sb *in, sb *out, size_t (*get_line) (sb *))
++expand_irp (int irpc, size_t idx, sb *in, sb *out, size_t (*get_line) (sb *), int comment_char)
  {
    sb sub;
    formal_entry f;
-@@ -1318,10 +1336,10 @@
+@@ -1322,10 +1340,10 @@
    sb_reset (out);
  
    idx = sb_skip_comma (idx, in);
      }
    else
      {
-@@ -1333,7 +1351,7 @@
+@@ -1337,7 +1355,7 @@
          ++idx;
        }
  
        {
          if (!irpc)
            idx = get_any_string (idx, in, &f.actual);
-@@ -1347,7 +1365,7 @@
+@@ -1351,7 +1369,7 @@
                    in_quotes = ! in_quotes;
          
                  nxt = sb_skip_white (idx + 1, in);
                    {
                      idx = nxt;
                      break;
-@@ -1358,7 +1376,7 @@
+@@ -1362,7 +1380,7 @@
              ++idx;
            }
  
          if (err != NULL)
            break;
          if (!irpc)
---- binutils-2.16.91.0.2.org/gas/macro.h       2005-05-10 22:46:44.000000000 +0000
-+++ binutils-2.16.91.0.2/gas/macro.h   2005-07-21 18:31:04.000000000 +0000
+--- binutils-2.23.51.0.1/gas/macro.h.orig      2012-08-07 19:47:23.000000000 +0200
++++ binutils-2.23.51.0.1/gas/macro.h   2012-08-21 20:20:59.152943647 +0200
 @@ -90,8 +90,8 @@
  extern void macro_mri_mode (int);
- extern const char *define_macro
-   (int, sb *, sb *, int (*) (sb *), char *, unsigned int, const char **);
+ extern const char *define_macro (size_t, sb *, sb *, size_t (*) (sb *),
+                                char *, unsigned int, const char **);
 -extern int check_macro (const char *, sb *, const char **, macro_entry **);
 +extern int check_macro (const char *, sb *, int, const char **, macro_entry **);
  extern void delete_macro (const char *);
--extern const char *expand_irp (int, int, sb *, sb *, int (*) (sb *));
-+extern const char *expand_irp (int, int, sb *, sb *, int (*) (sb *), int);
+-extern const char *expand_irp (int, size_t, sb *, sb *, size_t (*) (sb *));
++extern const char *expand_irp (int, size_t, sb *, sb *, size_t (*) (sb *), int);
  
  #endif
 --- binutils-2.16.91.0.2.org/gas/read.c        2005-06-22 20:53:34.000000000 +0000
index 46b90d8dfdd6a655437123c94dc497beb1121176..7bcbbb8e877f9f0cfffc616d917819fcbe2597cb 100644 (file)
@@ -22,15 +22,15 @@ Summary(ru.UTF-8):  Набор инструментов GNU для построе
 Summary(tr.UTF-8):     GNU geliştirme araçları
 Summary(uk.UTF-8):     Набір інструментів GNU для побудови виконуваних програм
 Name:          binutils
-Version:       2.22.52.0.4
-Release:       5
+Version:       2.23.51.0.1
+Release:       1
 Epoch:         3
 License:       GPL v3+
 Group:         Development/Tools
 # http://git.kernel.org/?p=linux/kernel/git/hjl/binutils.git;a=summary
 # git archive --prefix=binutils-2.22.51.0.1/ -o binutils-2.22.51.0.1.tar remotes/origin/linux/release/2.22.51.0.1
 Source0:       http://www.kernel.org/pub/linux/devel/binutils/%{name}-%{version}.tar.bz2
-# Source0-md5: 2a5beea06d6f3e21107365b91184e11c
+# Source0-md5: a6328eafc6bfc59fe555a4e50b3c3055
 Source1:       http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/%{name}-non-english-man-pages.tar.bz2
 # Source1-md5: a717d9707ec77d82acb6ec9078c472d6
 Patch0:                %{name}-gasp.patch
@@ -43,7 +43,6 @@ Patch7:               %{name}-libtool-m.patch
 Patch8:                %{name}-build-id.patch
 Patch9:                %{name}-tooldir.patch
 Patch10:       %{name}-sanity-check.patch
-Patch11:       binutils-bug-14319.patch
 URL:           http://sources.redhat.com/binutils/
 BuildRequires: autoconf >= 2.64
 BuildRequires: automake >= 1:1.11
@@ -169,7 +168,6 @@ niektórych pakietów.
 %patch8 -p0
 %patch9 -p1
 %patch10 -p1
-%patch11 -p1
 
 # file contains hacks for ac 2.59 only
 %{__rm} config/override.m4
This page took 0.276804 seconds and 4 git commands to generate.