diff options
| -rw-r--r-- | toolchain/binutils/patches/2.18/500-avr32.patch | 461 | 
1 files changed, 0 insertions, 461 deletions
| diff --git a/toolchain/binutils/patches/2.18/500-avr32.patch b/toolchain/binutils/patches/2.18/500-avr32.patch index bc0fb43f2..27b7044df 100644 --- a/toolchain/binutils/patches/2.18/500-avr32.patch +++ b/toolchain/binutils/patches/2.18/500-avr32.patch @@ -4362,311 +4362,6 @@     input_scrub_end (); ---- a/gas/config/bfin-aux.h -+++ b/gas/config/bfin-aux.h -@@ -1,151 +1,151 @@ --/* bfin-aux.h ADI Blackfin Header file for gas
 --   Copyright 2005, 2007
 --   Free Software Foundation, Inc.
 --
 --   This file is part of GAS, the GNU Assembler.
 --
 --   GAS is free software; you can redistribute it and/or modify
 --   it under the terms of the GNU General Public License as published by
 --   the Free Software Foundation; either version 3, or (at your option)
 --   any later version.
 --
 --   GAS is distributed in the hope that it will be useful,
 --   but WITHOUT ANY WARRANTY; without even the implied warranty of
 --   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 --   GNU General Public License for more details.
 --
 --   You should have received a copy of the GNU General Public License
 --   along with GAS; see the file COPYING.  If not, write to the Free
 --   Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA
 --   02110-1301, USA.  */
 --
 --#include "bfin-defs.h"
 --
 --#define REG_T Register *
 --
 --INSTR_T
 --bfin_gen_dsp32mac (int op1, int mm, int mmod, int w1, int p,
 --              int h01, int h11, int h00, int h10,
 --	      int op0, REG_T dst, REG_T src0, REG_T src1, int w0);
 --
 --INSTR_T
 --bfin_gen_dsp32mult (int op1, int mm, int mmod, int w1, int p,
 --               int h01, int h11, int h00, int h10,
 --	       int op0, REG_T dst, REG_T src0, REG_T src1, int w0);
 --
 --INSTR_T
 --bfin_gen_dsp32alu (int HL, int aopcde, int aop, int s, int x,
 --              REG_T dst0, REG_T dst1, REG_T src0, REG_T src1);
 --
 --INSTR_T
 --bfin_gen_dsp32shift (int sopcde, REG_T dst0, REG_T src0, REG_T src1,
 --                int sop, int hls);
 --
 --INSTR_T
 --bfin_gen_dsp32shiftimm (int sopcde, REG_T dst0, int immag, REG_T src1,
 --                   int sop, int hls);
 --
 --INSTR_T
 --bfin_gen_ldimmhalf (REG_T reg, int h, int s, int z, Expr_Node *hword,
 --               int reloc);
 --
 --INSTR_T
 --bfin_gen_ldstidxi (REG_T ptr, REG_T reg, int w, int sz, int z,
 --              Expr_Node *offset);
 --
 --INSTR_T
 --bfin_gen_ldst (REG_T ptr, REG_T reg, int aop, int sz, int z, int w);
 --
 --INSTR_T
 --bfin_gen_ldstii (REG_T ptr, REG_T reg, Expr_Node *offset, int w, int op);
 --
 --INSTR_T
 --bfin_gen_ldstiifp (REG_T reg, Expr_Node *offset, int w);
 --
 --INSTR_T
 --bfin_gen_ldstpmod (REG_T ptr, REG_T reg, int aop, int w, REG_T idx);
 --
 --INSTR_T
 --bfin_gen_dspldst (REG_T i, REG_T reg, int aop, int w, int m);
 --
 --INSTR_T
 --bfin_gen_alu2op (REG_T dst, REG_T src, int opc);
 --
 --INSTR_T
 --bfin_gen_compi2opd (REG_T dst, int src, int op);
 --
 --INSTR_T
 --bfin_gen_compi2opp (REG_T dst, int src, int op);
 --
 --INSTR_T
 --bfin_gen_dagmodik (REG_T i, int op);
 --
 --INSTR_T
 --bfin_gen_dagmodim (REG_T i, REG_T m, int op, int br);
 --
 --INSTR_T
 --bfin_gen_ptr2op (REG_T dst, REG_T src, int opc);
 --
 --INSTR_T
 --bfin_gen_logi2op (int dst, int src, int opc);
 --
 --INSTR_T
 --bfin_gen_comp3op (REG_T src0, REG_T src1, REG_T dst, int opc);
 --
 --INSTR_T
 --bfin_gen_ccmv (REG_T src, REG_T dst, int t);
 --
 --INSTR_T
 --bfin_gen_ccflag (REG_T x, int y, int opc, int i, int g);
 --
 --INSTR_T
 --bfin_gen_cc2stat (int cbit, int op, int d);
 --
 --INSTR_T
 --bfin_gen_regmv (REG_T src, REG_T dst);
 --
 --INSTR_T
 --bfin_gen_cc2dreg (int op, REG_T reg);
 --
 --INSTR_T
 --bfin_gen_brcc (int t, int b, Expr_Node *offset);
 --
 --INSTR_T
 --bfin_gen_ujump (Expr_Node *offset);
 --
 --INSTR_T
 --bfin_gen_cactrl (REG_T reg, int a, int op);
 --
 --INSTR_T
 --bfin_gen_progctrl (int prgfunc, int poprnd);
 --
 --INSTR_T
 --bfin_gen_loopsetup (Expr_Node *soffset, REG_T c, int rop,
 --               Expr_Node *eoffset, REG_T reg);
 --
 --INSTR_T
 --bfin_gen_loop (Expr_Node *expr, REG_T reg, int rop, REG_T preg);
 --
 --INSTR_T
 --bfin_gen_pushpopmultiple (int dr, int pr, int d, int p, int w);
 --
 --INSTR_T
 --bfin_gen_pushpopreg (REG_T reg, int w);
 --
 --INSTR_T
 --bfin_gen_calla (Expr_Node *addr, int s);
 --
 --INSTR_T
 --bfin_gen_linkage (int r, int framesize);
 --
 --INSTR_T
 --bfin_gen_pseudodbg (int fn, int reg, int grp);
 --
 --INSTR_T
 --bfin_gen_pseudodbg_assert (int dbgop, REG_T regtest, int expected);
 --
 --bfd_boolean
 --bfin_resource_conflict (INSTR_T dsp32, INSTR_T dsp16_grp1, INSTR_T dsp16_grp2);
 --
 --INSTR_T
 --bfin_gen_multi_instr (INSTR_T dsp32, INSTR_T dsp16_grp1, INSTR_T dsp16_grp2);
 -+/* bfin-aux.h ADI Blackfin Header file for gas -+   Copyright 2005, 2007 -+   Free Software Foundation, Inc. -+ -+   This file is part of GAS, the GNU Assembler. -+ -+   GAS is free software; you can redistribute it and/or modify -+   it under the terms of the GNU General Public License as published by -+   the Free Software Foundation; either version 3, or (at your option) -+   any later version. -+ -+   GAS is distributed in the hope that it will be useful, -+   but WITHOUT ANY WARRANTY; without even the implied warranty of -+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the -+   GNU General Public License for more details. -+ -+   You should have received a copy of the GNU General Public License -+   along with GAS; see the file COPYING.  If not, write to the Free -+   Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA -+   02110-1301, USA.  */ -+ -+#include "bfin-defs.h" -+ -+#define REG_T Register * -+ -+INSTR_T -+bfin_gen_dsp32mac (int op1, int mm, int mmod, int w1, int p, -+              int h01, int h11, int h00, int h10, -+	      int op0, REG_T dst, REG_T src0, REG_T src1, int w0); -+ -+INSTR_T -+bfin_gen_dsp32mult (int op1, int mm, int mmod, int w1, int p, -+               int h01, int h11, int h00, int h10, -+	       int op0, REG_T dst, REG_T src0, REG_T src1, int w0); -+ -+INSTR_T -+bfin_gen_dsp32alu (int HL, int aopcde, int aop, int s, int x, -+              REG_T dst0, REG_T dst1, REG_T src0, REG_T src1); -+ -+INSTR_T -+bfin_gen_dsp32shift (int sopcde, REG_T dst0, REG_T src0, REG_T src1, -+                int sop, int hls); -+ -+INSTR_T -+bfin_gen_dsp32shiftimm (int sopcde, REG_T dst0, int immag, REG_T src1, -+                   int sop, int hls); -+ -+INSTR_T -+bfin_gen_ldimmhalf (REG_T reg, int h, int s, int z, Expr_Node *hword, -+               int reloc); -+ -+INSTR_T -+bfin_gen_ldstidxi (REG_T ptr, REG_T reg, int w, int sz, int z, -+              Expr_Node *offset); -+ -+INSTR_T -+bfin_gen_ldst (REG_T ptr, REG_T reg, int aop, int sz, int z, int w); -+ -+INSTR_T -+bfin_gen_ldstii (REG_T ptr, REG_T reg, Expr_Node *offset, int w, int op); -+ -+INSTR_T -+bfin_gen_ldstiifp (REG_T reg, Expr_Node *offset, int w); -+ -+INSTR_T -+bfin_gen_ldstpmod (REG_T ptr, REG_T reg, int aop, int w, REG_T idx); -+ -+INSTR_T -+bfin_gen_dspldst (REG_T i, REG_T reg, int aop, int w, int m); -+ -+INSTR_T -+bfin_gen_alu2op (REG_T dst, REG_T src, int opc); -+ -+INSTR_T -+bfin_gen_compi2opd (REG_T dst, int src, int op); -+ -+INSTR_T -+bfin_gen_compi2opp (REG_T dst, int src, int op); -+ -+INSTR_T -+bfin_gen_dagmodik (REG_T i, int op); -+ -+INSTR_T -+bfin_gen_dagmodim (REG_T i, REG_T m, int op, int br); -+ -+INSTR_T -+bfin_gen_ptr2op (REG_T dst, REG_T src, int opc); -+ -+INSTR_T -+bfin_gen_logi2op (int dst, int src, int opc); -+ -+INSTR_T -+bfin_gen_comp3op (REG_T src0, REG_T src1, REG_T dst, int opc); -+ -+INSTR_T -+bfin_gen_ccmv (REG_T src, REG_T dst, int t); -+ -+INSTR_T -+bfin_gen_ccflag (REG_T x, int y, int opc, int i, int g); -+ -+INSTR_T -+bfin_gen_cc2stat (int cbit, int op, int d); -+ -+INSTR_T -+bfin_gen_regmv (REG_T src, REG_T dst); -+ -+INSTR_T -+bfin_gen_cc2dreg (int op, REG_T reg); -+ -+INSTR_T -+bfin_gen_brcc (int t, int b, Expr_Node *offset); -+ -+INSTR_T -+bfin_gen_ujump (Expr_Node *offset); -+ -+INSTR_T -+bfin_gen_cactrl (REG_T reg, int a, int op); -+ -+INSTR_T -+bfin_gen_progctrl (int prgfunc, int poprnd); -+ -+INSTR_T -+bfin_gen_loopsetup (Expr_Node *soffset, REG_T c, int rop, -+               Expr_Node *eoffset, REG_T reg); -+ -+INSTR_T -+bfin_gen_loop (Expr_Node *expr, REG_T reg, int rop, REG_T preg); -+ -+INSTR_T -+bfin_gen_pushpopmultiple (int dr, int pr, int d, int p, int w); -+ -+INSTR_T -+bfin_gen_pushpopreg (REG_T reg, int w); -+ -+INSTR_T -+bfin_gen_calla (Expr_Node *addr, int s); -+ -+INSTR_T -+bfin_gen_linkage (int r, int framesize); -+ -+INSTR_T -+bfin_gen_pseudodbg (int fn, int reg, int grp); -+ -+INSTR_T -+bfin_gen_pseudodbg_assert (int dbgop, REG_T regtest, int expected); -+ -+bfd_boolean -+bfin_resource_conflict (INSTR_T dsp32, INSTR_T dsp16_grp1, INSTR_T dsp16_grp2); -+ -+INSTR_T -+bfin_gen_multi_instr (INSTR_T dsp32, INSTR_T dsp16_grp1, INSTR_T dsp16_grp2);  --- /dev/null  +++ b/gas/config/tc-avr32.c  @@ -0,0 +1,4806 @@ @@ -19673,162 +19368,6 @@  +  ${RELOCATING+${STACKNOTE}}  +}  +EOF ---- a/ld/testsuite/ld-auto-import/client.c -+++ b/ld/testsuite/ld-auto-import/client.c -@@ -1,55 +1,55 @@ --#include <stdio.h>
 --
 --extern int var;
 --extern void (*func_ptr)(void);
 --extern void print_var (void);
 --extern void print_foo (void);
 --extern int foo;
 --extern int var2[2];
 --
 --typedef struct
 --{
 --  int *   var;
 --  void (* func_ptr)(void);
 --}
 --TEST;
 --
 --TEST xyz = { &var, print_var };
 --
 --int
 --main (void)
 --{
 --  print_var ();
 --
 --  printf ("We see var = %d\n", var);
 --  printf ("Setting var = 456\n");
 --
 --  var = 456;
 --
 --  print_var ();
 --  printf ("We see var = %d\n\n", var);
 --
 --  var = 90;
 --  print_var ();
 --  printf ("We see var = %d\n\n", var);
 --
 --  print_foo ();
 --  printf ("We see foo = %d\n", foo);
 --  printf ("Setting foo = 19\n");
 --  foo = 19;
 --  print_foo ();
 --  printf ("We see foo = %d\n\n", foo);
 --  fflush (stdout);
 --
 --  printf ("Calling dllimported function pointer\n");
 --  func_ptr ();
 --
 --  printf ("Calling functions using global structure\n"); 
 --  xyz.func_ptr ();
 --  * xyz.var = 40;
 --  xyz.func_ptr ();
 --
 --  printf ("We see var2[0] = %d\n\n", var2[0]);
 --
 --  return 0;
 --}
 -+#include <stdio.h> -+ -+extern int var; -+extern void (*func_ptr)(void); -+extern void print_var (void); -+extern void print_foo (void); -+extern int foo; -+extern int var2[2]; -+ -+typedef struct -+{ -+  int *   var; -+  void (* func_ptr)(void); -+} -+TEST; -+ -+TEST xyz = { &var, print_var }; -+ -+int -+main (void) -+{ -+  print_var (); -+ -+  printf ("We see var = %d\n", var); -+  printf ("Setting var = 456\n"); -+ -+  var = 456; -+ -+  print_var (); -+  printf ("We see var = %d\n\n", var); -+ -+  var = 90; -+  print_var (); -+  printf ("We see var = %d\n\n", var); -+ -+  print_foo (); -+  printf ("We see foo = %d\n", foo); -+  printf ("Setting foo = 19\n"); -+  foo = 19; -+  print_foo (); -+  printf ("We see foo = %d\n\n", foo); -+  fflush (stdout); -+ -+  printf ("Calling dllimported function pointer\n"); -+  func_ptr (); -+ -+  printf ("Calling functions using global structure\n");  -+  xyz.func_ptr (); -+  * xyz.var = 40; -+  xyz.func_ptr (); -+ -+  printf ("We see var2[0] = %d\n\n", var2[0]); -+ -+  return 0; -+} ---- a/ld/testsuite/ld-auto-import/dll.c -+++ b/ld/testsuite/ld-auto-import/dll.c -@@ -1,20 +1,20 @@ --int var = 123;
 --int foo = 121;
 --
 --int var2[2]= { 123, 456 };
 --
 --#include <stdio.h>
 --
 --void
 --print_var (void)
 --{
 --  printf ("DLL sees var = %d\n", var);
 --}
 --
 --void
 --print_foo (void)
 --{
 --  printf ("DLL sees foo = %d\n", foo);
 --}
 --
 --void (* func_ptr)(void) = print_foo;
 -+int var = 123; -+int foo = 121; -+ -+int var2[2]= { 123, 456 }; -+ -+#include <stdio.h> -+ -+void -+print_var (void) -+{ -+  printf ("DLL sees var = %d\n", var); -+} -+ -+void -+print_foo (void) -+{ -+  printf ("DLL sees foo = %d\n", foo); -+} -+ -+void (* func_ptr)(void) = print_foo;  --- /dev/null  +++ b/ld/testsuite/ld-avr32/avr32.exp  @@ -0,0 +1,25 @@ | 
