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 bc0fb43f2a..27b7044df4 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 @@ |