Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 21 Oct 2001 22:34:43 +0400 (MSD)
From:      Lev Serebryakov <lev@serebryakov.spb.ru>
To:        FreeBSD-gnats-submit@freebsd.org
Subject:   ports/31407: Upgrade port: devel/mipsel-linux-binutils
Message-ID:  <200110211834.f9LIYhJ08133@ftp.translate.ru>

next in thread | raw e-mail | index | archive | help

>Number:         31407
>Category:       ports
>Synopsis:       Upgrade port: devel/mipsel-linux-binutils
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Sun Oct 21 11:40:02 PDT 2001
>Closed-Date:
>Last-Modified:
>Originator:     Lev Serebryakov <lev@serebryakov.spb.ru>
>Release:        FreeBSD 4.2-STABLE i386
>Organization:
>Environment:

	Ports collection from 21 Oct 2001

>Description:

	Upgrade port to last SNOWed Agenda toolchain.
	Now it is version 2.10.91.

>How-To-Repeat:

	

>Fix:
diff -crN mipsel-linux-binutils.old/Makefile mipsel-linux-binutils/Makefile
*** mipsel-linux-binutils.old/Makefile	Fri Oct 19 21:33:36 2001
--- mipsel-linux-binutils/Makefile	Sun Oct 21 03:08:42 2001
***************
*** 6,20 ****
  #
  
  PORTNAME=	binutils
! PORTVERSION=	2.8.1
  CATEGORIES=	devel
! MASTER_SITES=	${MASTER_SITE_GNU}
  MASTER_SITE_SUBDIR=	binutils
  PKGNAMEPREFIX=	mipsel-linux-
  
  MAINTAINER=	lev@serebryakov.spb.ru
  
! PATCH_STRIP=	-p1
  USE_GMAKE=	yes
  CONFIGURE_ARGS=	--target=${PKGNAMEPREFIX:S/-$//}
  USE_LIBTOOL=	yes
--- 6,22 ----
  #
  
  PORTNAME=	binutils
! PORTVERSION=	2.10.91
  CATEGORIES=	devel
! 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
  
! WRKSRC=		${WRKDIR}/binutils-CVS/src
! 
  USE_GMAKE=	yes
  CONFIGURE_ARGS=	--target=${PKGNAMEPREFIX:S/-$//}
  USE_LIBTOOL=	yes
***************
*** 31,37 ****
  PLIST_SUB+=	BINUTILS_TARG=${PKGNAMEPREFIX:S/-$//}
  
  BINARIES=	addr2line ar as c++filt gasp ld nm objcopy objdump ranlib \
! 		size strings strip
  
  post-install:
  .for F in ${BINARIES}
--- 33,39 ----
  PLIST_SUB+=	BINUTILS_TARG=${PKGNAMEPREFIX:S/-$//}
  
  BINARIES=	addr2line ar as c++filt gasp ld nm objcopy objdump ranlib \
! 		readelf size strings strip
  
  post-install:
  .for F in ${BINARIES}
***************
*** 39,58 ****
  	@${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
  
  .include <bsd.port.mk>
--- 41,47 ----
  	@${LN} -f ${PREFIX}/bin/${PKGNAMEPREFIX}$F \
  		${PREFIX}/${PKGNAMEPREFIX:S/-$//}/bin/$F
  .endfor
! 	@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 -crN mipsel-linux-binutils.old/distinfo mipsel-linux-binutils/distinfo
*** mipsel-linux-binutils.old/distinfo	Fri Oct 19 21:33:36 2001
--- mipsel-linux-binutils/distinfo	Fri Oct 19 21:45:51 2001
***************
*** 1 ****
! MD5 (binutils-2.8.1.tar.gz) = 787229d600b8bb58fe7e75ea30445e44
--- 1 ----
! MD5 (binutils-CVS.tar.gz) = 37f64d75bda4d952496c8ddcce8e3bd7
diff -crN mipsel-linux-binutils.old/files/patch-aa-mips-1 mipsel-linux-binutils/files/patch-aa-mips-1
*** mipsel-linux-binutils.old/files/patch-aa-mips-1	Fri Oct 19 21:33:36 2001
--- mipsel-linux-binutils/files/patch-aa-mips-1	Thu Jan  1 03:00:00 1970
***************
*** 1,272 ****
- 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 */
--- 0 ----
diff -crN mipsel-linux-binutils.old/files/patch-bb-mips-2 mipsel-linux-binutils/files/patch-bb-mips-2
*** mipsel-linux-binutils.old/files/patch-bb-mips-2	Fri Oct 19 21:33:36 2001
--- mipsel-linux-binutils/files/patch-bb-mips-2	Thu Jan  1 03:00:00 1970
***************
*** 1,52 ****
- 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;
--- 0 ----
diff -crN mipsel-linux-binutils.old/files/patch-cc-loaddelay-2 mipsel-linux-binutils/files/patch-cc-loaddelay-2
*** mipsel-linux-binutils.old/files/patch-cc-loaddelay-2	Fri Oct 19 21:33:36 2001
--- mipsel-linux-binutils/files/patch-cc-loaddelay-2	Thu Jan  1 03:00:00 1970
***************
*** 1,257 ****
- --- ../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);
-  	}
--- 0 ----
diff -crN mipsel-linux-binutils.old/pkg-comment mipsel-linux-binutils/pkg-comment
*** mipsel-linux-binutils.old/pkg-comment	Fri Oct 19 21:33:36 2001
--- mipsel-linux-binutils/pkg-comment	Fri Oct 19 22:32:35 2001
***************
*** 1 ****
! GNU binutils for mipsel-linux cross-development (with Linux VR patches)
--- 1 ----
! GNU binutils for mipsel-linux cross-development with SNOW ABI
diff -crN mipsel-linux-binutils.old/pkg-descr mipsel-linux-binutils/pkg-descr
*** mipsel-linux-binutils.old/pkg-descr	Fri Oct 19 21:33:36 2001
--- mipsel-linux-binutils/pkg-descr	Fri Oct 19 22:32:45 2001
***************
*** 2,10 ****
  
    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.
  
! Hacked from official SRPMs for RedHat.
  
  http://dev.agendacomputing.org/ -- Agenda VR3 PDA
  http://www.gnu.org/ -- Home page of GNU binutils 
--- 2,10 ----
  
    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).
  
!   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 -crN mipsel-linux-binutils.old/pkg-plist mipsel-linux-binutils/pkg-plist
*** mipsel-linux-binutils.old/pkg-plist	Fri Oct 19 21:33:36 2001
--- mipsel-linux-binutils/pkg-plist	Fri Oct 19 22:30:05 2001
***************
*** 9,32 ****
  %%BINUTILS_TARG%%/bin/objcopy
  %%BINUTILS_TARG%%/bin/objdump
  %%BINUTILS_TARG%%/bin/ranlib
  %%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
  %%BINUTILS_TARG%%/lib/ldscripts/mipsbig.x
  %%BINUTILS_TARG%%/lib/ldscripts/mipsbig.xbn
  %%BINUTILS_TARG%%/lib/ldscripts/mipsbig.xn
--- 9,33 ----
  %%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
! 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,45 ****
  %%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
  bin/%%BINUTILS_TARG%%-addr2line
  bin/%%BINUTILS_TARG%%-ar
  bin/%%BINUTILS_TARG%%-as
--- 38,46 ----
  %%BINUTILS_TARG%%/lib/ldscripts/mipslit.xn
  %%BINUTILS_TARG%%/lib/ldscripts/mipslit.xr
  %%BINUTILS_TARG%%/lib/ldscripts/mipslit.xu
! 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,83 ****
  bin/%%BINUTILS_TARG%%-objcopy
  bin/%%BINUTILS_TARG%%-objdump
  bin/%%BINUTILS_TARG%%-ranlib
  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%%
--- 51,61 ----
  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
  @dirrm %%BINUTILS_TARG%%/bin
  @dirrm %%BINUTILS_TARG%%/lib/ldscripts
  @dirrm %%BINUTILS_TARG%%/lib
  @dirrm %%BINUTILS_TARG%%
>Release-Note:
>Audit-Trail:
>Unformatted:

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-ports" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200110211834.f9LIYhJ08133>