From owner-freebsd-ports Sun Oct 21 11:42:32 2001 Delivered-To: freebsd-ports@hub.freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id 1C1A337B407 for ; Sun, 21 Oct 2001 11:40:03 -0700 (PDT) Received: (from gnats@localhost) by freefall.freebsd.org (8.11.4/8.11.4) id f9LIe2u62003; Sun, 21 Oct 2001 11:40:02 -0700 (PDT) (envelope-from gnats) Received: from ftp.translate.ru (ftp.translate.ru [195.131.4.140]) by hub.freebsd.org (Postfix) with ESMTP id 94DC337B407 for ; Sun, 21 Oct 2001 11:36:04 -0700 (PDT) Received: (from lev@localhost) by ftp.translate.ru (8.11.2/8.11.2) id f9LIYhJ08133; Sun, 21 Oct 2001 22:34:43 +0400 (MSD) (envelope-from lev) Message-Id: <200110211834.f9LIYhJ08133@ftp.translate.ru> Date: Sun, 21 Oct 2001 22:34:43 +0400 (MSD) From: Lev Serebryakov Reply-To: Lev Serebryakov To: FreeBSD-gnats-submit@freebsd.org X-Send-Pr-Version: 3.2 Subject: ports/31407: Upgrade port: devel/mipsel-linux-binutils Sender: owner-freebsd-ports@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org >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 >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 --- 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 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 - + - + * 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 - - * 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 - + - + * 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 - - * 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,($gp) (BFD_RELOC_MIPS_GOT16) - Otherwise we want - lw $reg,($gp) (BFD_RELOC_MIPS_GOT16) - - nop - + nop (if mips1) - addiu $reg,$reg, (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,($gp) (BFD_RELOC_MIPS_GOT16) - For a local symbol, we want - lw $tempreg,($gp) (BFD_RELOC_MIPS_GOT16) - - nop - + nop (if mips1) - addiu $tempreg,$tempreg, (BFD_RELOC_LO16) - - If we have a small constant, and this is a reference to - an external symbol, we want - lw $tempreg,($gp) (BFD_RELOC_MIPS_GOT16) - - nop - + nop (if mips1) - addiu $tempreg,$tempreg, - 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,($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,($gp) (BFD_RELOC_MIPS_GOT16) - - nop - + nop (if mips1) - addiu $25,$25, (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,($gp) (BFD_RELOC_MIPS_GOT16) - - nop - + nop (if mips1) - $treg,0($tempreg) - Otherwise we want - lw $tempreg,($gp) (BFD_RELOC_MIPS_GOT16) - - nop - + nop (if mips1) - addiu $tempreg,$tempreg, (BFD_RELOC_LO16) - $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,($gp) (BFD_RELOC_MIPS_GOT16) - - nop - + nop (if mips1) - $treg,0($at) - $treg+1,4($at) - Otherwise we want - lw $at,($gp) (BFD_RELOC_MIPS_GOT16) - - nop - + nop (if mips1) - $treg,($at) (BFD_RELOC_LO16) - $treg+1,+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