aboutsummaryrefslogtreecommitdiffstats
path: root/devel/mipsel-linux-binutils
diff options
context:
space:
mode:
authorsobomax <sobomax@FreeBSD.org>2001-11-06 01:29:13 +0800
committersobomax <sobomax@FreeBSD.org>2001-11-06 01:29:13 +0800
commit13e5879b69d5c7caf3b044907e14c0968dd61cdd (patch)
tree1937bf1a79852a5788094d6b52a773b4341e7805 /devel/mipsel-linux-binutils
parent958fd9179f03ae6e63ffcf94a448b493e5ef29ff (diff)
downloadfreebsd-ports-graphics-13e5879b69d5c7caf3b044907e14c0968dd61cdd.tar.gz
freebsd-ports-graphics-13e5879b69d5c7caf3b044907e14c0968dd61cdd.tar.zst
freebsd-ports-graphics-13e5879b69d5c7caf3b044907e14c0968dd61cdd.zip
Upgrade port to last SNOWed Agenda toolchain.
Now it is version 2.10.91. PR: 31407 Submitted by: maintainer
Diffstat (limited to 'devel/mipsel-linux-binutils')
-rw-r--r--devel/mipsel-linux-binutils/Makefile27
-rw-r--r--devel/mipsel-linux-binutils/distinfo2
-rw-r--r--devel/mipsel-linux-binutils/files/patch-aa-mips-1272
-rw-r--r--devel/mipsel-linux-binutils/files/patch-bb-mips-252
-rw-r--r--devel/mipsel-linux-binutils/files/patch-cc-loaddelay-2257
-rw-r--r--devel/mipsel-linux-binutils/pkg-comment2
-rw-r--r--devel/mipsel-linux-binutils/pkg-descr4
-rw-r--r--devel/mipsel-linux-binutils/pkg-plist62
8 files changed, 32 insertions, 646 deletions
diff --git a/devel/mipsel-linux-binutils/Makefile b/devel/mipsel-linux-binutils/Makefile
index fa7e3d26005..0bd21f754fb 100644
--- a/devel/mipsel-linux-binutils/Makefile
+++ b/devel/mipsel-linux-binutils/Makefile
@@ -6,15 +6,17 @@
#
PORTNAME= binutils
-PORTVERSION= 2.8.1
+PORTVERSION= 2.10.91
CATEGORIES= devel
-MASTER_SITES= ${MASTER_SITE_GNU}
+MASTER_SITES= ftp://ftp.agendacomputing.com/pub/dev/snow/snap-02212000/src/
MASTER_SITE_SUBDIR= binutils
PKGNAMEPREFIX= mipsel-linux-
+DISTNAME= binutils-CVS
MAINTAINER= lev@serebryakov.spb.ru
-PATCH_STRIP= -p1
+WRKSRC= ${WRKDIR}/binutils-CVS/src
+
USE_GMAKE= yes
CONFIGURE_ARGS= --target=${PKGNAMEPREFIX:S/-$//}
USE_LIBTOOL= yes
@@ -31,7 +33,7 @@ MAN1= ${PKGNAMEPREFIX}ar.1 ${PKGNAMEPREFIX}nm.1 \
PLIST_SUB+= BINUTILS_TARG=${PKGNAMEPREFIX:S/-$//}
BINARIES= addr2line ar as c++filt gasp ld nm objcopy objdump ranlib \
- size strings strip
+ readelf size strings strip
post-install:
.for F in ${BINARIES}
@@ -39,20 +41,7 @@ post-install:
@${LN} -f ${PREFIX}/bin/${PKGNAMEPREFIX}$F \
${PREFIX}/${PKGNAMEPREFIX:S/-$//}/bin/$F
.endfor
- @${MKDIR} ${PREFIX}/${PKGNAMEPREFIX:S/-$//}/lib
- @cd ${PREFIX}/lib ; ${MV} libiberty.a \
- ${PREFIX}/${PKGNAMEPREFIX:S/-$//}/lib
- @cd ${PREFIX}/lib ; ${MV} lib${PKGNAMEPREFIX}bfd.a \
- ${PREFIX}/${PKGNAMEPREFIX:S/-$//}/lib/libbfd.a
- @cd ${PREFIX}/lib ; ${MV} lib${PKGNAMEPREFIX}opcodes.a \
- ${PREFIX}/${PKGNAMEPREFIX:S/-$//}/lib/libopcodes.a
- @${MKDIR} ${PREFIX}/${PKGNAMEPREFIX:S/-$//}/include
- @cd ${PREFIX}/include ; ${MV} ansidecl.h bfd.h bfdlink.h \
- ${PREFIX}/${PKGNAMEPREFIX:S/-$//}/include
- @for F in ${PREFIX}/info/as.info* ${PREFIX}/info/bfd.info* \
- ${PREFIX}/info/binutils.info* ${PREFIX}/info/ld.info* \
- ${PREFIX}/info/gasp.info*; do \
- ${MV} $${F} `echo $${F} | ${SED} 's|info/|info/mipsel-linux-|'`; \
- done
+ @cd ${PREFIX}/lib ; ${MV} libbfd.a lib${PKGNAMEPREFIX}bfd.a
+ @cd ${PREFIX}/lib ; ${MV} libopcodes.a lib${PKGNAMEPREFIX}opcodes.a
.include <bsd.port.mk>
diff --git a/devel/mipsel-linux-binutils/distinfo b/devel/mipsel-linux-binutils/distinfo
index 7b3ae21178e..eac3018536a 100644
--- a/devel/mipsel-linux-binutils/distinfo
+++ b/devel/mipsel-linux-binutils/distinfo
@@ -1 +1 @@
-MD5 (binutils-2.8.1.tar.gz) = 787229d600b8bb58fe7e75ea30445e44
+MD5 (binutils-CVS.tar.gz) = 37f64d75bda4d952496c8ddcce8e3bd7
diff --git a/devel/mipsel-linux-binutils/files/patch-aa-mips-1 b/devel/mipsel-linux-binutils/files/patch-aa-mips-1
deleted file mode 100644
index 6e0c57212c1..00000000000
--- a/devel/mipsel-linux-binutils/files/patch-aa-mips-1
+++ /dev/null
@@ -1,272 +0,0 @@
-diff -urN binutils-2.8.1.orig/bfd/elf32-mips.c binutils-2.8.1/bfd/elf32-mips.c
---- binutils-2.8.1.orig/bfd/elf32-mips.c Mon May 26 19:34:03 1997
-+++ binutils-2.8.1/bfd/elf32-mips.c Sat Jun 5 12:43:09 1999
-@@ -5103,36 +5103,43 @@
- }
- else
- {
-- long indx;
--
-- if (h == NULL)
-- sec = local_sections[r_symndx];
-- else
-- {
-- BFD_ASSERT (h->root.type == bfd_link_hash_defined
-- || (h->root.type
-- == bfd_link_hash_defweak));
-- sec = h->root.u.def.section;
-- }
-- if (sec != NULL && bfd_is_abs_section (sec))
-- indx = 0;
-- else if (sec == NULL || sec->owner == NULL)
-+ if (r_type == R_MIPS_32)
- {
-- bfd_set_error (bfd_error_bad_value);
-- return false;
-+ outrel.r_info = ELF32_R_INFO (0, R_MIPS_REL32);
-+ addend += relocation;
- }
-- else
-- {
-- asection *osec;
-+ else
-+ {
-+ long indx;
-
-- osec = sec->output_section;
-- indx = elf_section_data (osec)->dynindx;
-- if (indx == 0)
-- abort ();
-- }
-+ if (h == NULL)
-+ sec = local_sections[r_symndx];
-+ else
-+ {
-+ BFD_ASSERT (h->root.type == bfd_link_hash_defined
-+ || (h->root.type
-+ == bfd_link_hash_defweak));
-+ sec = h->root.u.def.section;
-+ }
-+ if (sec != NULL && bfd_is_abs_section (sec))
-+ indx = 0;
-+ else if (sec == NULL || sec->owner == NULL)
-+ {
-+ bfd_set_error (bfd_error_bad_value);
-+ return false;
-+ }
-+ else
-+ {
-+ asection *osec;
-
-- outrel.r_info = ELF32_R_INFO (indx, R_MIPS_REL32);
-- addend += relocation;
-+ osec = sec->output_section;
-+ indx = elf_section_data (osec)->dynindx;
-+ if (indx == 0)
-+ abort ();
-+ }
-+ outrel.r_info = ELF32_R_INFO (indx, R_MIPS_REL32);
-+ addend += relocation;
-+ }
- }
-
- if (! skip)
-diff -urN binutils-2.8.1.orig/gas/ChangeLog binutils-2.8.1/gas/ChangeLog
---- binutils-2.8.1.orig/gas/ChangeLog Mon May 26 19:32:45 1997
-+++ binutils-2.8.1/gas/ChangeLog Sat Jun 5 12:43:09 1999
-@@ -1,3 +1,10 @@
-+Tue Oct 21 03:23:59 1997 Ralf Baechle <ralf@gnu.ai.mit.edu>
-+
-+ * config/tc-mips.c (macro): Only emit a BFD_RELOC_MIPS_LITERAL
-+ when the symbol is in the .lit section. Required for a.out
-+ support.
-+ (mips_ip): Fix %HI, %hi and %lo operators.
-+
- Mon May 26 13:24:25 1997 Ian Lance Taylor <ian@cygnus.com>
-
- * doc/as.texinfo: Don't use @value in section names or index
-diff -urN binutils-2.8.1.orig/gas/config/obj-elf.c binutils-2.8.1/gas/config/obj-elf.c
---- binutils-2.8.1.orig/gas/config/obj-elf.c Mon May 26 19:32:36 1997
-+++ binutils-2.8.1/gas/config/obj-elf.c Sat Jun 5 13:03:43 1999
-@@ -58,7 +58,6 @@
- void obj_elf_version PARAMS ((int));
- static void obj_elf_size PARAMS ((int));
- static void obj_elf_type PARAMS ((int));
--static void obj_elf_ident PARAMS ((int));
- static void obj_elf_weak PARAMS ((int));
- static void obj_elf_local PARAMS ((int));
- static void obj_elf_common PARAMS ((int));
-@@ -1132,7 +1131,7 @@
- demand_empty_rest_of_line ();
- }
-
--static void
-+void
- obj_elf_ident (ignore)
- int ignore;
- {
-diff -urN binutils-2.8.1.orig/gas/config/obj-elf.h binutils-2.8.1/gas/config/obj-elf.h
---- binutils-2.8.1.orig/gas/config/obj-elf.h Mon May 26 19:32:36 1997
-+++ binutils-2.8.1/gas/config/obj-elf.h Sat Jun 5 13:09:46 1999
-@@ -94,6 +94,8 @@
- #define obj_app_file elf_file_symbol
- extern void elf_file_symbol PARAMS ((char *));
-
-+extern void obj_elf_ident PARAMS ((int));
-+
- extern void obj_elf_section_change_hook PARAMS ((void));
-
- extern void obj_elf_section PARAMS ((int));
-diff -urN binutils-2.8.1.orig/gas/config/tc-mips.c binutils-2.8.1/gas/config/tc-mips.c
---- binutils-2.8.1.orig/gas/config/tc-mips.c Mon May 26 19:32:40 1997
-+++ binutils-2.8.1/gas/config/tc-mips.c Sat Jun 5 13:08:28 1999
-@@ -598,6 +598,7 @@
- static void s_align PARAMS ((int));
- static void s_change_sec PARAMS ((int));
- static void s_cons PARAMS ((int));
-+static void s_ident PARAMS ((int));
- static void s_float_cons PARAMS ((int));
- static void s_mips_globl PARAMS ((int));
- static void s_option PARAMS ((int));
-@@ -668,6 +669,7 @@
- {"globl", s_mips_globl, 0},
- {"global", s_mips_globl, 0},
- {"hword", s_cons, 1},
-+ {"ident", s_ident, 1},
- {"int", s_cons, 2},
- {"long", s_cons, 2},
- {"octa", s_cons, 4},
-@@ -4863,13 +4865,22 @@
- else
- {
- assert (offset_expr.X_op == O_symbol
-- && strcmp (segment_name (S_GET_SEGMENT
-- (offset_expr.X_add_symbol)),
-- ".lit4") == 0
- && offset_expr.X_add_number == 0);
-- macro_build ((char *) NULL, &icnt, &offset_expr, "lwc1", "T,o(b)",
-- treg, (int) BFD_RELOC_MIPS_LITERAL, GP);
-- return;
-+ s = segment_name (S_GET_SEGMENT (offset_expr.X_add_symbol));
-+ if (strcmp (s, ".lit4") == 0)
-+ {
-+ macro_build ((char *) NULL, &icnt, &offset_expr, "lwc1", "T,o(b)",
-+ treg, (int) BFD_RELOC_MIPS_LITERAL, GP);
-+ return;
-+ }
-+ else
-+ {
-+ /* FIXME: This won't work for a 64 bit address. */
-+ macro_build_lui ((char *) NULL, &icnt, &offset_expr, AT);
-+ macro_build ((char *) NULL, &icnt, &offset_expr, "lwc1", "T,o(b)",
-+ treg, (int) BFD_RELOC_LO16, AT);
-+ return;
-+ }
- }
-
- case M_LI_D:
-@@ -6965,11 +6976,23 @@
- c = my_getSmallExpression (&imm_expr, s);
- if (c != '\0')
- {
-- if (c != 'l')
-+ if (c == 'l')
- {
- if (imm_expr.X_op == O_constant)
-- imm_expr.X_add_number =
-- (imm_expr.X_add_number >> 16) & 0xffff;
-+ {
-+ imm_expr.X_add_number &= 0xffff;
-+ imm_reloc = BFD_RELOC_LO16;
-+ }
-+ }
-+ else
-+ {
-+ if (imm_expr.X_op == O_constant)
-+ {
-+ if (c == 'h' && (imm_expr.X_add_number & 0x8000))
-+ imm_expr.X_add_number += 0x1000;
-+ imm_expr.X_add_number =
-+ (imm_expr.X_add_number >> 16) & 0xffff;
-+ }
- else if (c == 'h')
- {
- imm_reloc = BFD_RELOC_HI16_S;
-@@ -7064,11 +7087,22 @@
- break;
-
- offset_reloc = BFD_RELOC_LO16;
-- if (c == 'h' || c == 'H')
-+ if (c)
- {
-- assert (offset_expr.X_op == O_constant);
-- offset_expr.X_add_number =
-- (offset_expr.X_add_number >> 16) & 0xffff;
-+ if (c != 'l')
-+ {
-+ if (offset_expr.X_op == O_constant)
-+ {
-+ if (c == 'h' && (offset_expr.X_add_number & 0x8000))
-+ offset_expr.X_add_number += 0x1000;
-+ offset_expr.X_add_number =
-+ (offset_expr.X_add_number >> 16) & 0xffff;
-+ }
-+ else if (c == 'h')
-+ offset_reloc = BFD_RELOC_HI16_S;
-+ else
-+ offset_reloc = BFD_RELOC_HI16;
-+ }
- }
- s = expr_end;
- continue;
-@@ -7081,10 +7115,13 @@
-
- case 'u': /* upper 16 bits */
- c = my_getSmallExpression (&imm_expr, s);
-- if (imm_expr.X_op == O_constant
-- && (imm_expr.X_add_number < 0
-- || imm_expr.X_add_number >= 0x10000))
-- as_bad ("lui expression not in range 0..65535");
-+ if (!c)
-+ {
-+ if (imm_expr.X_op == O_constant
-+ && (imm_expr.X_add_number < 0
-+ || imm_expr.X_add_number >= 0x10000))
-+ as_bad ("lui expression not in range 0..65535");
-+ }
- imm_reloc = BFD_RELOC_LO16;
- if (c)
- {
-@@ -9150,6 +9187,14 @@
- mips_enable_auto_align ()
- {
- auto_align = 1;
-+}
-+
-+static void
-+s_ident (ignore)
-+ int ignore;
-+{
-+ mips_emit_delays (true);
-+ obj_elf_ident(0);
- }
-
- static void
-diff -urN binutils-2.8.1.orig/opcodes/mips-opc.c binutils-2.8.1/opcodes/mips-opc.c
---- binutils-2.8.1.orig/opcodes/mips-opc.c Mon May 26 21:34:19 1997
-+++ binutils-2.8.1/opcodes/mips-opc.c Wed Oct 7 14:16:21 1998
-@@ -655,10 +655,10 @@
- {"tgeu", "s,t", 0x00000031, 0xfc00003f, RD_s|RD_t|I2|TRAP },
- {"tgeu", "s,j", 0x04090000, 0xfc1f0000, RD_s|I2|TRAP }, /* tgeiu */
- {"tgeu", "s,I", 2, (int) M_TGEU_I, INSN_MACRO },
--{"tlbp", "", 0x42000008, 0xffffffff, INSN_TLB },
--{"tlbr", "", 0x42000001, 0xffffffff, INSN_TLB },
--{"tlbwi", "", 0x42000002, 0xffffffff, INSN_TLB },
--{"tlbwr", "", 0x42000006, 0xffffffff, INSN_TLB },
-+{"tlbp", "", 0x42000008, 0xffffffff, INSN_TLB|INSN_COP|COD },
-+{"tlbr", "", 0x42000001, 0xffffffff, INSN_TLB|INSN_COP|COD },
-+{"tlbwi", "", 0x42000002, 0xffffffff, INSN_TLB|INSN_COP|COD },
-+{"tlbwr", "", 0x42000006, 0xffffffff, INSN_TLB|INSN_COP|COD },
- {"tlti", "s,j", 0x040a0000, 0xfc1f0000, RD_s|I2|TRAP },
- {"tlt", "s,t", 0x00000032, 0xfc00003f, RD_s|RD_t|I2|TRAP },
- {"tlt", "s,j", 0x040a0000, 0xfc1f0000, RD_s|I2|TRAP }, /* tlti */
diff --git a/devel/mipsel-linux-binutils/files/patch-bb-mips-2 b/devel/mipsel-linux-binutils/files/patch-bb-mips-2
deleted file mode 100644
index b58ca4520bc..00000000000
--- a/devel/mipsel-linux-binutils/files/patch-bb-mips-2
+++ /dev/null
@@ -1,52 +0,0 @@
-diff -rubN binutils-2.8.1-mips1/bfd/ChangeLog binutils-2.8.1-mips2/bfd/ChangeLog
---- binutils-2.8.1-mips1/bfd/ChangeLog Mon May 26 10:33:56 1997
-+++ binutils-2.8.1-mips2/bfd/ChangeLog Sat Dec 9 08:49:09 2000
-@@ -1,3 +1,8 @@
-+2000-11-30 Ralf Baechle <ralf@gnu.org>
-+
-+ * elf32-mips.c (elf32_mips_merge_private_bfd_data): Always permit
-+ BFDs containing no sections to be merged, regardless of their flags.
-+
- Fri May 16 12:10:52 1997 Ian Lance Taylor <ian@cygnus.com>
-
- * elflink.h (elf_link_add_object_symbols): Don't decrease the
-diff -rubN binutils-2.8.1-mips1/bfd/elf32-mips.c binutils-2.8.1-mips2/bfd/elf32-mips.c
---- binutils-2.8.1-mips1/bfd/elf32-mips.c Sat Dec 9 08:50:25 2000
-+++ binutils-2.8.1-mips2/bfd/elf32-mips.c Sat Dec 9 08:49:09 2000
-@@ -1964,6 +1964,8 @@
- flagword old_flags;
- flagword new_flags;
- boolean ok;
-+ boolean null_input_bfd = true;
-+ asection *sec;
-
- /* Check if we have the same endianess */
- if (ibfd->xvec->byteorder != obfd->xvec->byteorder
-@@ -2009,6 +2011,27 @@
- old_flags &= ~EF_MIPS_NOREORDER;
-
- if (new_flags == old_flags)
-+ return true;
-+
-+ /* Check to see if the input BFD actually contains any sections.
-+ If not, its flags may not have been initialised either, but it cannot
-+ actually cause any incompatibility. */
-+ for (sec = ibfd->sections; sec != NULL; sec = sec->next)
-+ {
-+ /* Ignore synthetic sections and empty .text, .data and .bss sections
-+ which are automatically generated by gas. */
-+ if (strcmp (sec->name, ".reginfo")
-+ && strcmp (sec->name, ".mdebug")
-+ && ((!strcmp (sec->name, ".text")
-+ || !strcmp (sec->name, ".data")
-+ || !strcmp (sec->name, ".bss"))
-+ && sec->_raw_size != 0))
-+ {
-+ null_input_bfd = false;
-+ break;
-+ }
-+ }
-+ if (null_input_bfd)
- return true;
-
- ok = true;
diff --git a/devel/mipsel-linux-binutils/files/patch-cc-loaddelay-2 b/devel/mipsel-linux-binutils/files/patch-cc-loaddelay-2
deleted file mode 100644
index e7d77c107ad..00000000000
--- a/devel/mipsel-linux-binutils/files/patch-cc-loaddelay-2
+++ /dev/null
@@ -1,257 +0,0 @@
---- ../cambridge-src/binutils-2.8.1/gas/config/tc-mips.c Thu Sep 9 00:09:29 1999
-+++ binutils-2.8.1/gas/config/tc-mips.c Fri Nov 10 20:28:11 2000
-@@ -3079,12 +3079,14 @@
- else if (mips_pic == SVR4_PIC && ! mips_big_got)
- {
- expressionS ex;
-+ /* If we're at mips2 or higher, we don't need nops after loads */
-+ int use_load_delay = mips_opts.isa < 2;
-
- /* If this is a reference to an external symbol, we want
- lw $reg,<sym>($gp) (BFD_RELOC_MIPS_GOT16)
- Otherwise we want
- lw $reg,<sym>($gp) (BFD_RELOC_MIPS_GOT16)
-- nop
-+ nop (if mips1)
- addiu $reg,$reg,<sym> (BFD_RELOC_LO16)
- If there is a constant, it must be added in after. */
- ex.X_add_number = ep->X_add_number;
-@@ -3093,9 +3095,11 @@
- macro_build ((char *) NULL, counter, ep,
- mips_opts.isa < 3 ? "lw" : "ld",
- "t,o(b)", reg, (int) BFD_RELOC_MIPS_GOT16, GP);
-- macro_build ((char *) NULL, counter, (expressionS *) NULL, "nop", "");
-+ if (use_load_delay)
-+ macro_build ((char *) NULL, counter, (expressionS *) NULL, "nop", "");
- p = frag_var (rs_machine_dependent, 4, 0,
-- RELAX_ENCODE (0, 4, -8, 0, 0, mips_opts.warn_about_macros),
-+ RELAX_ENCODE (0, 4, use_load_delay ? -8 : -4, 0, 0,
-+ mips_opts.warn_about_macros),
- ep->X_add_symbol, (offsetT) 0, (char *) NULL);
- macro_build (p, counter, ep,
- mips_opts.isa < 3 ? "addiu" : "daddiu",
-@@ -3955,13 +3959,13 @@
- lw $tempreg,<sym>($gp) (BFD_RELOC_MIPS_GOT16)
- For a local symbol, we want
- lw $tempreg,<sym>($gp) (BFD_RELOC_MIPS_GOT16)
-- nop
-+ nop (if mips1)
- addiu $tempreg,$tempreg,<sym> (BFD_RELOC_LO16)
-
- If we have a small constant, and this is a reference to
- an external symbol, we want
- lw $tempreg,<sym>($gp) (BFD_RELOC_MIPS_GOT16)
-- nop
-+ nop (if mips1)
- addiu $tempreg,$tempreg,<constant>
- For a local symbol, we want the same instruction
- sequence, but we output a BFD_RELOC_LO16 reloc on the
-@@ -3976,6 +3980,10 @@
- For a local symbol, we want the same instruction
- sequence, but we output a BFD_RELOC_LO16 reloc on the
- addiu instruction. */
-+
-+ /* If we're at mips2 or higher, we don't need nops after loads */
-+ int use_load_delay = mips_opts.isa < 2;
-+
- expr1.X_add_number = offset_expr.X_add_number;
- offset_expr.X_add_number = 0;
- frag_grow (32);
-@@ -3986,7 +3994,7 @@
- {
- int off;
-
-- if (breg == 0)
-+ if (breg == 0 || !use_load_delay)
- off = 0;
- else
- {
-@@ -3997,14 +4005,19 @@
- "nop", "");
- off = 4;
- }
-- p = frag_var (rs_machine_dependent, 8 - off, 0,
-- RELAX_ENCODE (0, 8 - off, -4 - off, 4 - off, 0,
-+ p = frag_var (rs_machine_dependent,
-+ (use_load_delay ? 8 : 4) - off, 0,
-+ RELAX_ENCODE (0,
-+ (use_load_delay ? 8 : 4) - off,
-+ -4 - off,
-+ (use_load_delay ? 4 : 0) - off,
-+ 0,
- (breg == 0
- ? mips_opts.warn_about_macros
- : 0)),
- offset_expr.X_add_symbol, (offsetT) 0,
- (char *) NULL);
-- if (breg == 0)
-+ if (breg == 0 && use_load_delay)
- {
- macro_build (p, &icnt, (expressionS *) NULL, "nop", "");
- p += 4;
-@@ -4019,13 +4032,14 @@
- else if (expr1.X_add_number >= -0x8000
- && expr1.X_add_number < 0x8000)
- {
-- macro_build ((char *) NULL, &icnt, (expressionS *) NULL,
-+ if (use_load_delay)
-+ macro_build ((char *) NULL, &icnt, (expressionS *) NULL,
- "nop", "");
- macro_build ((char *) NULL, &icnt, &expr1,
- mips_opts.isa < 3 ? "addiu" : "daddiu",
- "t,r,j", tempreg, tempreg, (int) BFD_RELOC_LO16);
- (void) frag_var (rs_machine_dependent, 0, 0,
-- RELAX_ENCODE (0, 0, -12, -4, 0, 0),
-+ RELAX_ENCODE (0, 0, (use_load_delay ? -12 : -8), -4, 0, 0),
- offset_expr.X_add_symbol, (offsetT) 0,
- (char *) NULL);
- }
-@@ -4044,14 +4058,19 @@
- off1 = 0;
- else
- {
-- macro_build ((char *) NULL, &icnt, (expressionS *) NULL,
-- "nop", "");
-+ off1 = 0;
-+ if (mips_opts.isa < 2)
-+ {
-+ macro_build ((char *) NULL, &icnt, (expressionS *) NULL,
-+ "nop", "");
-+ off1 -= 4;
-+ }
- macro_build ((char *) NULL, &icnt, (expressionS *) NULL,
- mips_opts.isa < 3 ? "addu" : "daddu",
- "d,v,t", treg, AT, breg);
-+ off1 -= 4;
- breg = 0;
- tempreg = treg;
-- off1 = -8;
- }
-
- /* Set mips_optimize around the lui instruction to avoid
-@@ -4355,7 +4374,7 @@
- /* If this is a reference to an external symbol, and we are
- using a small GOT, we want
- lw $25,<sym>($gp) (BFD_RELOC_MIPS_CALL16)
-- nop
-+ nop (if mips1)
- jalr $25
- nop
- lw $gp,cprestore($sp)
-@@ -4370,7 +4389,7 @@
- lw $gp,cprestore($sp)
- If the symbol is not external, we want
- lw $25,<sym>($gp) (BFD_RELOC_MIPS_GOT16)
-- nop
-+ nop (if mips1)
- addiu $25,$25,<sym> (BFD_RELOC_LO16)
- jalr $25
- nop
-@@ -4378,14 +4397,18 @@
- frag_grow (40);
- if (! mips_big_got)
- {
-+ int use_load_delay = mips_opts.isa < 2;
-+
- macro_build ((char *) NULL, &icnt, &offset_expr,
- mips_opts.isa < 3 ? "lw" : "ld",
- "t,o(b)", PIC_CALL_REG,
- (int) BFD_RELOC_MIPS_CALL16, GP);
-- macro_build ((char *) NULL, &icnt, (expressionS *) NULL,
-- "nop", "");
-+ if (use_load_delay)
-+ macro_build ((char *) NULL, &icnt, (expressionS *) NULL,
-+ "nop", "");
- p = frag_var (rs_machine_dependent, 4, 0,
-- RELAX_ENCODE (0, 4, -8, 0, 0, 0),
-+ RELAX_ENCODE (0, 4, use_load_delay ? -8 : -4,
-+ 0, 0, 0),
- offset_expr.X_add_symbol, (offsetT) 0,
- (char *) NULL);
- }
-@@ -4711,11 +4734,11 @@
- {
- /* If this is a reference to an external symbol, we want
- lw $tempreg,<sym>($gp) (BFD_RELOC_MIPS_GOT16)
-- nop
-+ nop (if mips1)
- <op> $treg,0($tempreg)
- Otherwise we want
- lw $tempreg,<sym>($gp) (BFD_RELOC_MIPS_GOT16)
-- nop
-+ nop (if mips1)
- addiu $tempreg,$tempreg,<sym> (BFD_RELOC_LO16)
- <op> $treg,0($tempreg)
- If there is a base register, we add it to $tempreg before
-@@ -4724,6 +4747,10 @@
- 16 bits, because we have no way to load the upper 16 bits
- (actually, we could handle them for the subset of cases
- in which we are not using $at). */
-+
-+ /* If we're at mips2 or higher, we don't need nops after loads */
-+ int use_load_delay = mips_opts.isa < 2;
-+
- assert (offset_expr.X_op == O_symbol);
- expr1.X_add_number = offset_expr.X_add_number;
- offset_expr.X_add_number = 0;
-@@ -4734,9 +4761,10 @@
- macro_build ((char *) NULL, &icnt, &offset_expr,
- mips_opts.isa < 3 ? "lw" : "ld",
- "t,o(b)", tempreg, (int) BFD_RELOC_MIPS_GOT16, GP);
-- macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "nop", "");
-+ if (use_load_delay)
-+ macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "nop", "");
- p = frag_var (rs_machine_dependent, 4, 0,
-- RELAX_ENCODE (0, 4, -8, 0, 0, 0),
-+ RELAX_ENCODE (0, 4, use_load_delay ? -8 : -4, 0, 0, 0),
- offset_expr.X_add_symbol, (offsetT) 0,
- (char *) NULL);
- macro_build (p, &icnt, &offset_expr,
-@@ -5184,15 +5212,17 @@
- else if (mips_pic == SVR4_PIC && ! mips_big_got)
- {
- int off;
-+ /* If we're at mips2 or higher, we don't need nops after loads */
-+ int use_load_delay = mips_opts.isa < 2;
-
- /* If this is a reference to an external symbol, we want
- lw $at,<sym>($gp) (BFD_RELOC_MIPS_GOT16)
-- nop
-+ nop (if mips1)
- <op> $treg,0($at)
- <op> $treg+1,4($at)
- Otherwise we want
- lw $at,<sym>($gp) (BFD_RELOC_MIPS_GOT16)
-- nop
-+ nop (if mips1)
- <op> $treg,<sym>($at) (BFD_RELOC_LO16)
- <op> $treg+1,<sym>+4($at) (BFD_RELOC_LO16)
- If there is a base register we add it to $at before the
-@@ -5204,7 +5234,7 @@
- if (expr1.X_add_number < -0x8000
- || expr1.X_add_number >= 0x8000 - 4)
- as_bad ("PIC code offset overflow (max 16 signed bits)");
-- if (breg == 0)
-+ if (breg == 0 || !use_load_delay)
- off = 0;
- else
- off = 4;
-@@ -5212,7 +5242,8 @@
- macro_build ((char *) NULL, &icnt, &offset_expr,
- mips_opts.isa < 3 ? "lw" : "ld",
- "t,o(b)", AT, (int) BFD_RELOC_MIPS_GOT16, GP);
-- macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "nop", "");
-+ if (use_load_delay)
-+ macro_build ((char *) NULL, &icnt, (expressionS *) NULL, "nop", "");
- if (breg != 0)
- macro_build ((char *) NULL, &icnt, (expressionS *) NULL,
- mips_opts.isa < 3 ? "addu" : "daddu",
-@@ -5234,7 +5265,7 @@
- mips_optimize = hold_mips_optimize;
-
- (void) frag_var (rs_machine_dependent, 0, 0,
-- RELAX_ENCODE (0, 0, -16 - off, -8, 1, 0),
-+ RELAX_ENCODE (0, 0, -16 - off, use_load_delay ? -8 : -4, 1, 0),
- offset_expr.X_add_symbol, (offsetT) 0,
- (char *) NULL);
- }
diff --git a/devel/mipsel-linux-binutils/pkg-comment b/devel/mipsel-linux-binutils/pkg-comment
index 5396362362b..c4028f1ceb4 100644
--- a/devel/mipsel-linux-binutils/pkg-comment
+++ b/devel/mipsel-linux-binutils/pkg-comment
@@ -1 +1 @@
-GNU binutils for mipsel-linux cross-development (with Linux VR patches)
+GNU binutils for mipsel-linux cross-development with SNOW ABI
diff --git a/devel/mipsel-linux-binutils/pkg-descr b/devel/mipsel-linux-binutils/pkg-descr
index 3570375c2c0..59eecf02fe0 100644
--- a/devel/mipsel-linux-binutils/pkg-descr
+++ b/devel/mipsel-linux-binutils/pkg-descr
@@ -2,9 +2,9 @@ GNU binutils for MIPS Little Endian Linux (mipsel-linux) cross-development
It is binutils for MIPS Little Endian Linux (mipsel-linux) target.
This target is, for example, Linux VR on NEC's VR-based PDAs (Agenda VR3
- and others), and includes Linux VR pathes.
+ and others).
-Hacked from official SRPMs for RedHat.
+ It is CVS-based version, official version of Agenda SNOW Toolchain.
http://dev.agendacomputing.org/ -- Agenda VR3 PDA
http://www.gnu.org/ -- Home page of GNU binutils
diff --git a/devel/mipsel-linux-binutils/pkg-plist b/devel/mipsel-linux-binutils/pkg-plist
index 990637482a6..946240afcc2 100644
--- a/devel/mipsel-linux-binutils/pkg-plist
+++ b/devel/mipsel-linux-binutils/pkg-plist
@@ -9,24 +9,25 @@
%%BINUTILS_TARG%%/bin/objcopy
%%BINUTILS_TARG%%/bin/objdump
%%BINUTILS_TARG%%/bin/ranlib
+%%BINUTILS_TARG%%/bin/readelf
%%BINUTILS_TARG%%/bin/strip
%%BINUTILS_TARG%%/bin/size
%%BINUTILS_TARG%%/bin/strings
-%%BINUTILS_TARG%%/include/ansidecl.h
-%%BINUTILS_TARG%%/include/bfd.h
-%%BINUTILS_TARG%%/include/bfdlink.h
-%%BINUTILS_TARG%%/lib/ldscripts/elf32bmip.x
-%%BINUTILS_TARG%%/lib/ldscripts/elf32bmip.xbn
-%%BINUTILS_TARG%%/lib/ldscripts/elf32bmip.xn
-%%BINUTILS_TARG%%/lib/ldscripts/elf32bmip.xr
-%%BINUTILS_TARG%%/lib/ldscripts/elf32bmip.xs
-%%BINUTILS_TARG%%/lib/ldscripts/elf32bmip.xu
-%%BINUTILS_TARG%%/lib/ldscripts/elf32lmip.x
-%%BINUTILS_TARG%%/lib/ldscripts/elf32lmip.xbn
-%%BINUTILS_TARG%%/lib/ldscripts/elf32lmip.xn
-%%BINUTILS_TARG%%/lib/ldscripts/elf32lmip.xr
-%%BINUTILS_TARG%%/lib/ldscripts/elf32lmip.xs
-%%BINUTILS_TARG%%/lib/ldscripts/elf32lmip.xu
+include/ansidecl.h
+include/bfd.h
+include/bfdlink.h
+%%BINUTILS_TARG%%/lib/ldscripts/elf32bsmip.x
+%%BINUTILS_TARG%%/lib/ldscripts/elf32bsmip.xbn
+%%BINUTILS_TARG%%/lib/ldscripts/elf32bsmip.xn
+%%BINUTILS_TARG%%/lib/ldscripts/elf32bsmip.xr
+%%BINUTILS_TARG%%/lib/ldscripts/elf32bsmip.xs
+%%BINUTILS_TARG%%/lib/ldscripts/elf32bsmip.xu
+%%BINUTILS_TARG%%/lib/ldscripts/elf32lsmip.x
+%%BINUTILS_TARG%%/lib/ldscripts/elf32lsmip.xbn
+%%BINUTILS_TARG%%/lib/ldscripts/elf32lsmip.xn
+%%BINUTILS_TARG%%/lib/ldscripts/elf32lsmip.xr
+%%BINUTILS_TARG%%/lib/ldscripts/elf32lsmip.xs
+%%BINUTILS_TARG%%/lib/ldscripts/elf32lsmip.xu
%%BINUTILS_TARG%%/lib/ldscripts/mipsbig.x
%%BINUTILS_TARG%%/lib/ldscripts/mipsbig.xbn
%%BINUTILS_TARG%%/lib/ldscripts/mipsbig.xn
@@ -37,9 +38,9 @@
%%BINUTILS_TARG%%/lib/ldscripts/mipslit.xn
%%BINUTILS_TARG%%/lib/ldscripts/mipslit.xr
%%BINUTILS_TARG%%/lib/ldscripts/mipslit.xu
-%%BINUTILS_TARG%%/lib/libiberty.a
-%%BINUTILS_TARG%%/lib/libbfd.a
-%%BINUTILS_TARG%%/lib/libopcodes.a
+lib/libiberty.a
+lib/lib%%BINUTILS_TARG%%-bfd.a
+lib/lib%%BINUTILS_TARG%%-opcodes.a
bin/%%BINUTILS_TARG%%-addr2line
bin/%%BINUTILS_TARG%%-ar
bin/%%BINUTILS_TARG%%-as
@@ -50,34 +51,11 @@ bin/%%BINUTILS_TARG%%-nm
bin/%%BINUTILS_TARG%%-objcopy
bin/%%BINUTILS_TARG%%-objdump
bin/%%BINUTILS_TARG%%-ranlib
+bin/%%BINUTILS_TARG%%-readelf
bin/%%BINUTILS_TARG%%-strip
bin/%%BINUTILS_TARG%%-size
bin/%%BINUTILS_TARG%%-strings
-info/%%BINUTILS_TARG%%-bfd.info
-info/%%BINUTILS_TARG%%-bfd.info-1
-info/%%BINUTILS_TARG%%-bfd.info-2
-info/%%BINUTILS_TARG%%-bfd.info-3
-info/%%BINUTILS_TARG%%-bfd.info-4
-info/%%BINUTILS_TARG%%-bfd.info-5
-info/%%BINUTILS_TARG%%-binutils.info
-info/%%BINUTILS_TARG%%-binutils.info-1
-info/%%BINUTILS_TARG%%-binutils.info-2
-info/%%BINUTILS_TARG%%-ld.info
-info/%%BINUTILS_TARG%%-ld.info-1
-info/%%BINUTILS_TARG%%-ld.info-2
-info/%%BINUTILS_TARG%%-ld.info-3
-info/%%BINUTILS_TARG%%-ld.info-4
-info/%%BINUTILS_TARG%%-as.info
-info/%%BINUTILS_TARG%%-as.info-1
-info/%%BINUTILS_TARG%%-as.info-2
-info/%%BINUTILS_TARG%%-as.info-3
-info/%%BINUTILS_TARG%%-as.info-4
-info/%%BINUTILS_TARG%%-as.info-5
-info/%%BINUTILS_TARG%%-as.info-6
-info/%%BINUTILS_TARG%%-as.info-7
-info/%%BINUTILS_TARG%%-gasp.info
@dirrm %%BINUTILS_TARG%%/bin
-@dirrm %%BINUTILS_TARG%%/include
@dirrm %%BINUTILS_TARG%%/lib/ldscripts
@dirrm %%BINUTILS_TARG%%/lib
@dirrm %%BINUTILS_TARG%%