From: Jason Thorpe Date: Sun, 9 Jun 2002 00:45:42 +0000 (+0000) Subject: 2002-06-08 Matt Thomas X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=7542c0f275dbb7217ddec0beea4985ba4a2f24b3;p=binutils-gdb.git 2002-06-08 Matt Thomas * configure.in (vax-*-netbsdelf*, vax-*-netbsdaout*) (vax-*-netbsd*): New targets. * configure: Regenerate. * config/aout_gnu.h (enum machine_type): Add M_VAX4K_NETBSD. * config/tc-vax.c: Add support for ELF and PIC. (flag_want_pic): New flag. (float_cons): Fix prototype. (md_apply_fix3): Adjust for BFD_ASSEMBLER. (md_assemble): Introduce a new is_absolute local, and use it rather than repeating the test. Make fatal errors actually fatal by using as_fatal as appropriate. Adjust for BFD_ASSEMBLER. Add support for ELF. Add support for PIC. (md_convert_frag): Adjust for BFD_ASSEMBLER. (tc_aout_fix_to_chars): Only include if OBJ_AOUT and not BFD_ASSEMBLER. (vax_reg_parse): Make the % register prefix mandatory for ELF, optional for a.out, and not allowed for VMS. Adjust all callers. (md_create_short_jump): Add ATTRIBUTE_UNUSED to unused arguments. (md_create_long_jump): Likewise. (md_undefined_symbol): Likewise. (md_section_align): Likewise. (md_shortopts): Allow -k and -K for ELF. (md_parse_option): Set flag_want_pic if -k or -K. (tc_headers_hook): New function if OBJ_AOUT and not BFD_ASSEMBLER. (tc_gen_reloc): New function if BFD_ASSEMBLER. * config/tc-vax.h (tc_headers_hook): Remove. (TARGET_FORMAT): Set according to object format and target environment. (BFD_ARCH, TARGET_ARCH): Define. (NO_RELOC): Adjust for BFD_ASSEMBLER. (TC_RELOC_RTSYM_LOC_FIXUP, TC_FIX_ADJUSTABLE) (tc_fix_adjustable): Define if BFD_ASSEMBLER. * config/vax-inst.h (VAX_JSB, VAX_CALLS, VAX_CALLG): Define. --- diff --git a/gas/ChangeLog b/gas/ChangeLog index 4d73f98cbfa..cde84e889ed 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,39 @@ +2002-06-08 Matt Thomas + + * configure.in (vax-*-netbsdelf*, vax-*-netbsdaout*) + (vax-*-netbsd*): New targets. + * configure: Regenerate. + * config/aout_gnu.h (enum machine_type): Add M_VAX4K_NETBSD. + * config/tc-vax.c: Add support for ELF and PIC. + (flag_want_pic): New flag. + (float_cons): Fix prototype. + (md_apply_fix3): Adjust for BFD_ASSEMBLER. + (md_assemble): Introduce a new is_absolute local, and use it + rather than repeating the test. Make fatal errors actually + fatal by using as_fatal as appropriate. Adjust for BFD_ASSEMBLER. + Add support for ELF. Add support for PIC. + (md_convert_frag): Adjust for BFD_ASSEMBLER. + (tc_aout_fix_to_chars): Only include if OBJ_AOUT and not + BFD_ASSEMBLER. + (vax_reg_parse): Make the % register prefix mandatory for ELF, + optional for a.out, and not allowed for VMS. Adjust all callers. + (md_create_short_jump): Add ATTRIBUTE_UNUSED to unused arguments. + (md_create_long_jump): Likewise. + (md_undefined_symbol): Likewise. + (md_section_align): Likewise. + (md_shortopts): Allow -k and -K for ELF. + (md_parse_option): Set flag_want_pic if -k or -K. + (tc_headers_hook): New function if OBJ_AOUT and not BFD_ASSEMBLER. + (tc_gen_reloc): New function if BFD_ASSEMBLER. + * config/tc-vax.h (tc_headers_hook): Remove. + (TARGET_FORMAT): Set according to object format and target + environment. + (BFD_ARCH, TARGET_ARCH): Define. + (NO_RELOC): Adjust for BFD_ASSEMBLER. + (TC_RELOC_RTSYM_LOC_FIXUP, TC_FIX_ADJUSTABLE) + (tc_fix_adjustable): Define if BFD_ASSEMBLER. + * config/vax-inst.h (VAX_JSB, VAX_CALLS, VAX_CALLG): Define. + 2002-06-08 Alan Modra * Makefile.am: Run "make dep-am". diff --git a/gas/config/aout_gnu.h b/gas/config/aout_gnu.h index 82d744bf320..0942fd34a9b 100644 --- a/gas/config/aout_gnu.h +++ b/gas/config/aout_gnu.h @@ -119,6 +119,7 @@ enum machine_type M_386 = 100, M_29K = 101, M_RS6000 = 102, /* IBM RS/6000 */ + M_VAX4K_NETBSD = 150, /* HP/BSD formats */ M_HP200 = 200, /* hp200 (68010) BSD binary */ M_HP300 = 300, /* hp300 (68020+68881) BSD binary */ diff --git a/gas/config/tc-vax.c b/gas/config/tc-vax.c index 7c647233c56..a2bae674957 100644 --- a/gas/config/tc-vax.c +++ b/gas/config/tc-vax.c @@ -23,6 +23,11 @@ #include "vax-inst.h" #include "obstack.h" /* For FRAG_APPEND_1_CHAR macro in "frags.h" */ +#include "subsegs.h" + +#ifdef OBJ_ELF +#include "elf/vax.h" +#endif /* These chars start a comment anywhere in a source file (except inside another comment */ @@ -58,10 +63,20 @@ LITTLENUM_TYPE big_operand_bits[VIT_MAX_OPERANDS][SIZE_OF_LARGE_NUMBER]; FLONUM_TYPE float_operand[VIT_MAX_OPERANDS]; /* Above is made to point into big_operand_bits by md_begin(). */ +#ifdef OBJ_ELF +#define GLOBAL_OFFSET_TABLE_NAME "_GLOBAL_OFFSET_TABLE_" +#define PROCEDURE_LINKAGE_TABLE_NAME "_PROCEDURE_LINKAGE_TABLE_" +symbolS *GOT_symbol; /* Pre-defined "_GLOBAL_OFFSET_TABLE_" */ +symbolS *PLT_symbol; /* Pre-defined "_PROCEDURE_LINKAGE_TABLE_" */ +#endif + int flag_hash_long_names; /* -+ */ int flag_one; /* -1 */ int flag_show_after_trunc; /* -H */ int flag_no_hash_mixed_case; /* -h NUM */ +#ifdef OBJ_ELF +int flag_want_pic; /* -k */ +#endif /* * For VAX, relative addresses of "just the right length" are easy. @@ -223,7 +238,7 @@ const relax_typeS md_relax_table[] = #undef WF #undef WB -void float_cons (); +void float_cons PARAMS ((int)); const pseudo_typeS md_pseudo_table[] = { @@ -231,7 +246,7 @@ const pseudo_typeS md_pseudo_table[] = {"ffloat", float_cons, 'f'}, {"gfloat", float_cons, 'g'}, {"hfloat", float_cons, 'h'}, - {0}, + {NULL, NULL, 0}, }; #define STATE_PC_RELATIVE (1) @@ -251,10 +266,13 @@ int flonum_gen2vax PARAMS ((char format_letter, FLONUM_TYPE * f, LITTLENUM_TYPE * words)); static const char *vip_begin PARAMS ((int, const char *, const char *, const char *)); +static void vip_op_1 PARAMS ((int, const char *)); static void vip_op_defaults PARAMS ((const char *, const char *, const char *)); static void vip_op PARAMS ((char *, struct vop *)); static void vip PARAMS ((struct vit *, char *)); +static int vax_reg_parse PARAMS ((char, char, char, char)); + void md_begin () { @@ -290,14 +308,19 @@ md_number_to_chars (con, value, nbytes) void /* Knows about order of bytes in address. */ md_apply_fix3 (fixP, valueP, seg) - fixS * fixP; - valueT * valueP; + fixS *fixP; + valueT *valueP; segT seg ATTRIBUTE_UNUSED; { valueT value = * valueP; - - number_to_chars_littleendian (fixP->fx_where + fixP->fx_frag->fr_literal, - value, fixP->fx_size); +#ifdef BFD_ASSEMBLER + if (((fixP->fx_addsy == NULL && fixP->fx_subsy == NULL) + && fixP->fx_r_type != BFD_RELOC_32_PLT_PCREL + && fixP->fx_r_type != BFD_RELOC_32_GOT_PCREL) + || fixP->fx_r_type == NO_RELOC) +#endif + number_to_chars_littleendian (fixP->fx_where + fixP->fx_frag->fr_literal, + value, fixP->fx_size); if (fixP->fx_addsy == NULL && fixP->fx_pcrel == 0) fixP->fx_done = 1; @@ -325,6 +348,8 @@ md_assemble (instruction_string) { /* Non-zero if operand expression's segment is not known yet. */ int is_undefined; + /* Non-zero if operand expression's segment is absolute. */ + int is_absolute; int length_code; char *p; @@ -375,7 +400,7 @@ md_assemble (instruction_string) */ if ((goofed = (*v.vit_error)) != 0) { - as_warn (_("Ignoring statement due to \"%s\""), v.vit_error); + as_fatal (_("Ignoring statement due to \"%s\""), v.vit_error); } /* * We need to use expression() and friends, which require us to diddle @@ -394,7 +419,7 @@ md_assemble (instruction_string) { /* for each operand */ if (operandP->vop_error) { - as_warn (_("Ignoring statement because \"%s\""), operandP->vop_error); + as_fatal (_("Aborting because statement has \"%s\""), operandP->vop_error); goofed = 1; } else @@ -441,7 +466,7 @@ md_assemble (instruction_string) * instruction operands. */ need_pass_2 = 1; - as_warn (_("Can't relocate expression")); + as_fatal (_("Can't relocate expression")); break; case O_big: @@ -619,7 +644,7 @@ md_assemble (instruction_string) } if (input_line_pointer != operandP->vop_expr_end + 1) { - as_warn ("Junk at end of expression \"%s\"", input_line_pointer); + as_fatal ("Junk at end of expression \"%s\"", input_line_pointer); goofed = 1; } operandP->vop_expr_end[1] = c_save; @@ -662,7 +687,13 @@ md_assemble (instruction_string) this_add_number = expP->X_add_number; this_add_symbol = expP->X_add_symbol; to_seg = *segP; +#ifdef BFD_ASSEMBLER + is_undefined = (to_seg == undefined_section); + is_absolute = (to_seg == absolute_section); +#else is_undefined = (to_seg == SEG_UNKNOWN); + is_absolute = (to_seg == SEG_ABSOLUTE); +#endif at = operandP->vop_mode & 1; length = (operandP->vop_short == 'b' ? 1 : (operandP->vop_short == 'w' @@ -731,16 +762,20 @@ md_assemble (instruction_string) /* * --- SEG FLOAT MAY APPEAR HERE ---- */ - if (to_seg == SEG_ABSOLUTE) + if (is_absolute) { if (nbytes) { know (!(opcode_as_number & VIT_OPCODE_SYNTHETIC)); p = frag_more (nbytes); /* Conventional relocation. */ - fix_new (frag_now, p - frag_now->fr_literal, - nbytes, &abs_symbol, this_add_number, - 1, NO_RELOC); + fix_new (frag_now, p - frag_now->fr_literal, nbytes, +#ifdef BFD_ASSEMBLER + section_symbol (absolute_section), +#else + &abs_symbol, +#endif + this_add_number, 1, NO_RELOC); } else { @@ -816,15 +851,19 @@ md_assemble (instruction_string) } else { - /* to_seg != now_seg && to_seg != SEG_UNKNOWN && to_Seg != SEG_ABSOLUTE */ + /* to_seg != now_seg && !is_undefinfed && !is_absolute */ if (nbytes > 0) { /* Pc-relative. Conventional relocation. */ know (!(opcode_as_number & VIT_OPCODE_SYNTHETIC)); p = frag_more (nbytes); - fix_new (frag_now, p - frag_now->fr_literal, - nbytes, &abs_symbol, this_add_number, - 1, NO_RELOC); + fix_new (frag_now, p - frag_now->fr_literal, nbytes, +#ifdef BFD_ASSEMBLER + section_symbol (absolute_section), +#else + &abs_symbol, +#endif + this_add_number, 1, NO_RELOC); } else { @@ -915,7 +954,7 @@ md_assemble (instruction_string) || operandP->vop_access == 'w'); if (operandP->vop_short == 's') { - if (to_seg == SEG_ABSOLUTE) + if (is_absolute) { if (this_add_number >= 64) { @@ -954,8 +993,14 @@ md_assemble (instruction_string) if (length == 0) { know (operandP->vop_short == ' '); + length_code = STATE_BYTE; +#ifdef OBJ_ELF + if (S_IS_EXTERNAL (this_add_symbol) + || S_IS_WEAK (this_add_symbol)) + length_code = STATE_UNDF; +#endif p = frag_var (rs_machine_dependent, 10, 2, - ENCODE_RELAX (STATE_PC_RELATIVE, STATE_BYTE), + ENCODE_RELAX (STATE_PC_RELATIVE, length_code), this_add_symbol, this_add_number, opcode_low_byteP); know (operandP->vop_mode == 10 + at); @@ -980,7 +1025,7 @@ md_assemble (instruction_string) { /* to_seg != now_seg */ if (this_add_symbol == NULL) { - know (to_seg == SEG_ABSOLUTE); + know (is_absolute); /* Do @#foo: simpler relocation than foo-.(pc) anyway. */ p = frag_more (5); p[0] = VAX_ABSOLUTE_MODE; /* @#... */ @@ -995,17 +1040,29 @@ md_assemble (instruction_string) /* {@}{q^}other_seg */ know ((length == 0 && operandP->vop_short == ' ') || (length > 0 && operandP->vop_short != ' ')); - if (is_undefined) + if (is_undefined +#ifdef OBJ_ELF + || S_IS_WEAK(this_add_symbol) + || S_IS_EXTERNAL(this_add_symbol) +#endif + ) { + switch (length) + { + default: length_code = STATE_UNDF; break; + case 1: length_code = STATE_BYTE; break; + case 2: length_code = STATE_WORD; break; + case 4: length_code = STATE_LONG; break; + } /* * We have a SEG_UNKNOWN symbol. It might * turn out to be in the same segment as * the instruction, permitting relaxation. */ p = frag_var (rs_machine_dependent, 5, 2, - ENCODE_RELAX (STATE_PC_RELATIVE, STATE_UNDF), + ENCODE_RELAX (STATE_PC_RELATIVE, length_code), this_add_symbol, this_add_number, - 0); + opcode_low_byteP); p[0] = at << 4; } else @@ -1043,7 +1100,7 @@ md_assemble (instruction_string) one case. */ } if (length == 0 - && to_seg == SEG_ABSOLUTE && (expP->X_op != O_big) + && is_absolute && (expP->X_op != O_big) && operandP->vop_mode == 8 /* No '@'. */ && this_add_number < 64) { @@ -1059,8 +1116,15 @@ md_assemble (instruction_string) know (nbytes); p = frag_more (nbytes + 1); know (operandP->vop_reg == 0xF); +#ifdef OBJ_ELF + if (flag_want_pic && operandP->vop_mode == 8 + && this_add_symbol != NULL) + { + as_warn (_("Symbol used as immediate operand in PIC mode.")); + } +#endif p[0] = (operandP->vop_mode << 4) | 0xF; - if ((to_seg == SEG_ABSOLUTE) && (expP->X_op != O_big)) + if ((is_absolute) && (expP->X_op != O_big)) { /* * If nbytes > 4, then we are scrod. We @@ -1115,7 +1179,7 @@ md_assemble (instruction_string) || (length > 0 && operandP->vop_short != ' ')); if (length == 0) { - if (to_seg == SEG_ABSOLUTE) + if (is_absolute) { long test; @@ -1137,7 +1201,7 @@ md_assemble (instruction_string) know (operandP->vop_reg >= 0); p[0] = operandP->vop_reg | ((at | "?\12\14?\16"[length]) << 4); - if (to_seg == SEG_ABSOLUTE) + if (is_absolute) { md_number_to_chars (p + 1, this_add_number, length); } @@ -1165,21 +1229,65 @@ md_estimate_size_before_relax (fragP, segment) { if (RELAX_LENGTH (fragP->fr_subtype) == STATE_UNDF) { - if (S_GET_SEGMENT (fragP->fr_symbol) != segment) + if (S_GET_SEGMENT (fragP->fr_symbol) != segment +#ifdef OBJ_ELF + || S_IS_WEAK (fragP->fr_symbol) + || S_IS_EXTERNAL (fragP->fr_symbol) +#endif + ) { /* Non-relaxable cases. */ + int reloc_type = NO_RELOC; char *p; int old_fr_fix; old_fr_fix = fragP->fr_fix; p = fragP->fr_literal + old_fr_fix; +#ifdef OBJ_ELF + /* + * If this is to undefined symbol, then if it's an indirect + * reference indicate that is can mutated into a GLOB_DAT + * by the loader. We restrict ourselves to no offset due to + * a limitation in the NetBSD linker. + */ + if (GOT_symbol == NULL) + GOT_symbol = symbol_find (GLOBAL_OFFSET_TABLE_NAME); + if (PLT_symbol == NULL) + PLT_symbol = symbol_find (PROCEDURE_LINKAGE_TABLE_NAME); + if ((GOT_symbol == NULL || fragP->fr_symbol != GOT_symbol) + && (PLT_symbol == NULL || fragP->fr_symbol != PLT_symbol) + && fragP->fr_symbol != NULL + && (!S_IS_DEFINED (fragP->fr_symbol) + || S_IS_WEAK (fragP->fr_symbol) + || S_IS_EXTERNAL (fragP->fr_symbol))) + { + if (p[0] & 0x10) + { + if (flag_want_pic) + as_fatal ("PIC reference to %s is indirect.\n", + S_GET_NAME (fragP->fr_symbol)); + } + else + { + + if (((unsigned char *) fragP->fr_opcode)[0] == VAX_CALLS + || ((unsigned char *) fragP->fr_opcode)[0] == VAX_CALLG + || ((unsigned char *) fragP->fr_opcode)[0] == VAX_JSB + || ((unsigned char *) fragP->fr_opcode)[0] == VAX_JMP + || S_IS_FUNCTION (fragP->fr_symbol)) + reloc_type = BFD_RELOC_32_PLT_PCREL; + else + reloc_type = BFD_RELOC_32_GOT_PCREL; + } + } +#endif switch (RELAX_STATE (fragP->fr_subtype)) { case STATE_PC_RELATIVE: p[0] |= VAX_PC_RELATIVE_MODE; /* Preserve @ bit. */ fragP->fr_fix += 1 + 4; fix_new (fragP, old_fr_fix + 1, 4, fragP->fr_symbol, - fragP->fr_offset, 1, NO_RELOC); + fragP->fr_offset, 1, reloc_type); break; case STATE_CONDITIONAL_BRANCH: @@ -1272,11 +1380,19 @@ md_estimate_size_before_relax (fragP, segment) * Out: Any fixSs and constants are set up. * Caller will turn frag into a ".space 0". */ +#ifdef BFD_ASSEMBLER void md_convert_frag (headers, seg, fragP) - object_headers *headers; - segT seg; + bfd *headers ATTRIBUTE_UNUSED; + segT seg ATTRIBUTE_UNUSED; + fragS *fragP; +#else +void +md_convert_frag (headers, seg, fragP) + object_headers *headers ATTRIBUTE_UNUSED; + segT seg ATTRIBUTE_UNUSED; fragS *fragP; +#endif { char *addressP; /* -> _var to change. */ char *opcodeP; /* -> opcode char(s) to change. */ @@ -1284,10 +1400,6 @@ md_convert_frag (headers, seg, fragP) /* Added to fr_fix: incl. ALL var chars. */ symbolS *symbolP; long where; - long address_of_var; - /* Where, in file space, is _var of *fragP? */ - long target_address = 0; - /* Where, in file space, does addr point? */ know (fragP->fr_type == rs_machine_dependent); where = fragP->fr_fix; @@ -1295,43 +1407,46 @@ md_convert_frag (headers, seg, fragP) opcodeP = fragP->fr_opcode; symbolP = fragP->fr_symbol; know (symbolP); - target_address = S_GET_VALUE (symbolP) + fragP->fr_offset; - address_of_var = fragP->fr_address + where; switch (fragP->fr_subtype) { case ENCODE_RELAX (STATE_PC_RELATIVE, STATE_BYTE): know (*addressP == 0 || *addressP == 0x10); /* '@' bit. */ - addressP[0] |= 0xAF; /* Byte displacement. */ - addressP[1] = target_address - (address_of_var + 2); + addressP[0] |= 0xAF; /* Byte displacement. */ + fix_new (fragP, fragP->fr_fix + 1, 1, fragP->fr_symbol, + fragP->fr_offset, 1, NO_RELOC); extension = 2; break; case ENCODE_RELAX (STATE_PC_RELATIVE, STATE_WORD): know (*addressP == 0 || *addressP == 0x10); /* '@' bit. */ - addressP[0] |= 0xCF; /* Word displacement. */ - md_number_to_chars (addressP + 1, target_address - (address_of_var + 3), 2); + addressP[0] |= 0xCF; /* Word displacement. */ + fix_new (fragP, fragP->fr_fix + 1, 2, fragP->fr_symbol, + fragP->fr_offset, 1, NO_RELOC); extension = 3; break; case ENCODE_RELAX (STATE_PC_RELATIVE, STATE_LONG): know (*addressP == 0 || *addressP == 0x10); /* '@' bit. */ - addressP[0] |= 0xEF; /* Long word displacement. */ - md_number_to_chars (addressP + 1, target_address - (address_of_var + 5), 4); + addressP[0] |= 0xEF; /* Long word displacement. */ + fix_new (fragP, fragP->fr_fix + 1, 4, fragP->fr_symbol, + fragP->fr_offset, 1, NO_RELOC); extension = 5; break; case ENCODE_RELAX (STATE_CONDITIONAL_BRANCH, STATE_BYTE): - addressP[0] = target_address - (address_of_var + 1); + fix_new (fragP, fragP->fr_fix, 1, fragP->fr_symbol, + fragP->fr_offset, 1, NO_RELOC); extension = 1; break; case ENCODE_RELAX (STATE_CONDITIONAL_BRANCH, STATE_WORD): opcodeP[0] ^= 1; /* Reverse sense of test. */ addressP[0] = 3; - addressP[1] = VAX_BRB + VAX_WIDEN_WORD; - md_number_to_chars (addressP + 2, target_address - (address_of_var + 4), 2); + addressP[1] = VAX_BRW; + fix_new (fragP, fragP->fr_fix + 2, 2, fragP->fr_symbol, + fragP->fr_offset, 1, NO_RELOC); extension = 4; break; @@ -1340,30 +1455,35 @@ md_convert_frag (headers, seg, fragP) addressP[0] = 6; addressP[1] = VAX_JMP; addressP[2] = VAX_PC_RELATIVE_MODE; - md_number_to_chars (addressP + 3, target_address - (address_of_var + 7), 4); + fix_new (fragP, fragP->fr_fix + 3, 4, fragP->fr_symbol, + fragP->fr_offset, 1, NO_RELOC); extension = 7; break; case ENCODE_RELAX (STATE_ALWAYS_BRANCH, STATE_BYTE): - addressP[0] = target_address - (address_of_var + 1); + fix_new (fragP, fragP->fr_fix, 1, fragP->fr_symbol, + fragP->fr_offset, 1, NO_RELOC); extension = 1; break; case ENCODE_RELAX (STATE_ALWAYS_BRANCH, STATE_WORD): opcodeP[0] += VAX_WIDEN_WORD; /* brb -> brw, bsbb -> bsbw */ - md_number_to_chars (addressP, target_address - (address_of_var + 2), 2); + fix_new (fragP, fragP->fr_fix, 2, fragP->fr_symbol, fragP->fr_offset, + 1, NO_RELOC); extension = 2; break; case ENCODE_RELAX (STATE_ALWAYS_BRANCH, STATE_LONG): opcodeP[0] += VAX_WIDEN_LONG; /* brb -> jmp, bsbb -> jsb */ addressP[0] = VAX_PC_RELATIVE_MODE; - md_number_to_chars (addressP + 1, target_address - (address_of_var + 5), 4); + fix_new (fragP, fragP->fr_fix + 1, 4, fragP->fr_symbol, + fragP->fr_offset, 1, NO_RELOC); extension = 5; break; case ENCODE_RELAX (STATE_COMPLEX_BRANCH, STATE_WORD): - md_number_to_chars (addressP, target_address - (address_of_var + 2), 2); + fix_new (fragP, fragP->fr_fix, 2, fragP->fr_symbol, + fragP->fr_offset, 1, NO_RELOC); extension = 2; break; @@ -1374,12 +1494,14 @@ md_convert_frag (headers, seg, fragP) addressP[3] = 6; addressP[4] = VAX_JMP; addressP[5] = VAX_PC_RELATIVE_MODE; - md_number_to_chars (addressP + 6, target_address - (address_of_var + 10), 4); + fix_new (fragP, fragP->fr_fix + 6, 4, fragP->fr_symbol, + fragP->fr_offset, 1, NO_RELOC); extension = 10; break; case ENCODE_RELAX (STATE_COMPLEX_HOP, STATE_BYTE): - addressP[0] = target_address - (address_of_var + 1); + fix_new (fragP, fragP->fr_fix, 1, fragP->fr_symbol, + fragP->fr_offset, 1, NO_RELOC); extension = 1; break; @@ -1388,7 +1510,8 @@ md_convert_frag (headers, seg, fragP) addressP[1] = VAX_BRB; addressP[2] = 3; addressP[3] = VAX_BRW; - md_number_to_chars (addressP + 4, target_address - (address_of_var + 6), 2); + fix_new (fragP, fragP->fr_fix + 4, 2, fragP->fr_symbol, + fragP->fr_offset, 1, NO_RELOC); extension = 6; break; @@ -1398,7 +1521,8 @@ md_convert_frag (headers, seg, fragP) addressP[2] = 6; addressP[3] = VAX_JMP; addressP[4] = VAX_PC_RELATIVE_MODE; - md_number_to_chars (addressP + 5, target_address - (address_of_var + 9), 4); + fix_new (fragP, fragP->fr_fix + 5, 4, fragP->fr_symbol, + fragP->fr_offset, 1, NO_RELOC); extension = 9; break; @@ -1433,6 +1557,8 @@ md_ri_to_chars (the_bytes, ri) #endif /* comment */ +#ifdef OBJ_AOUT +#ifndef BFD_ASSEMBLER void tc_aout_fix_to_chars (where, fixP, segment_address_in_file) char *where; @@ -1464,6 +1590,8 @@ tc_aout_fix_to_chars (where, fixP, segment_address_in_file) | ((nbytes_r_length[fixP->fx_size] << 1) & 0x06) | (((fixP->fx_pcrel << 0) & 0x01) & 0x0f)); } +#endif /* !BFD_ASSEMBLER */ +#endif /* OBJ_AOUT */ /* * BUGS, GRIPES, APOLOGIA, etc. @@ -1978,13 +2106,35 @@ main () #define PC (15) int /* return -1 or 0:15 */ -vax_reg_parse (c1, c2, c3) /* 3 chars of register name */ - char c1, c2, c3; /* c3 == 0 if 2-character reg name */ +vax_reg_parse (c1, c2, c3, c4) /* 3 chars of register name */ + char c1, c2, c3, c4; /* c3 == 0 if 2-character reg name */ { int retval; /* return -1:15 */ retval = -1; +#ifdef OBJ_ELF + if (c1 != '%') /* register prefixes are mandatory for ELF */ + return retval; + c1 = c2; + c2 = c3; + c3 = c4; +#endif +#ifdef OBJ_VMS + if (c4 != 0) /* register prefixes are not allowed under VMS */ + return retval; +#endif +#ifdef OBJ_AOUT + if (c1 == '%') /* register prefixes are optional under a.out */ + { + c1 = c2; + c2 = c3; + c3 = c4; + } + else if (c3 && c4) /* can't be 4 characters long. */ + return retval; +#endif + c1 = TOLOWER (c1); c2 = TOLOWER (c2); if (ISDIGIT (c2) && c1 == 'r') @@ -2388,9 +2538,11 @@ vip_op (optext, vopP) * name error. So again we don't need to check for early '\0'. */ if (q[3] == ']') - ndx = vax_reg_parse (q[1], q[2], 0); + ndx = vax_reg_parse (q[1], q[2], 0, 0); else if (q[4] == ']') - ndx = vax_reg_parse (q[1], q[2], q[3]); + ndx = vax_reg_parse (q[1], q[2], q[3], 0); + else if (q[5] == ']') + ndx = vax_reg_parse (q[1], q[2], q[3], q[4]); else ndx = -1; /* @@ -2443,9 +2595,11 @@ vip_op (optext, vopP) * name error. So again we don't need to check for early '\0'. */ if (q[3] == ')') - reg = vax_reg_parse (q[1], q[2], 0); + reg = vax_reg_parse (q[1], q[2], 0, 0); else if (q[4] == ')') - reg = vax_reg_parse (q[1], q[2], q[3]); + reg = vax_reg_parse (q[1], q[2], q[3], 0); + else if (q[5] == ')') + reg = vax_reg_parse (q[1], q[2], q[3], q[4]); else reg = -1; /* @@ -2515,8 +2669,11 @@ vip_op (optext, vopP) q--; /* reverse over whitespace, but don't */ /* run back over *p */ - if (q > p && q < p + 3) /* room for Rn or Rnn exactly? */ - reg = vax_reg_parse (p[0], p[1], q < p + 2 ? 0 : p[2]); + /* room for Rn or Rnn (include prefix) exactly? */ + if (q > p && q < p + 4) + reg = vax_reg_parse (p[0], p[1], + q < p + 2 ? 0 : p[2], + q < p + 3 ? 0 : p[3]); else reg = -1; /* always comes here if no register at all */ /* @@ -3065,9 +3222,10 @@ const int md_reloc_size = 8; /* Size of relocation record */ void md_create_short_jump (ptr, from_addr, to_addr, frag, to_symbol) char *ptr; - addressT from_addr, to_addr; - fragS *frag; - symbolS *to_symbol; + addressT from_addr; + addressT to_addr ATTRIBUTE_UNUSED; + fragS *frag ATTRIBUTE_UNUSED; + symbolS *to_symbol ATTRIBUTE_UNUSED; { valueT offset; @@ -3083,7 +3241,8 @@ md_create_short_jump (ptr, from_addr, to_addr, frag, to_symbol) void md_create_long_jump (ptr, from_addr, to_addr, frag, to_symbol) char *ptr; - addressT from_addr, to_addr; + addressT from_addr ATTRIBUTE_UNUSED; + addressT to_addr; fragS *frag; symbolS *to_symbol; { @@ -3098,6 +3257,8 @@ md_create_long_jump (ptr, from_addr, to_addr, frag, to_symbol) #ifdef OBJ_VMS const char *md_shortopts = "d:STt:V+1h:Hv::"; +#elif defined(OBJ_ELC) +const char *md_shortopts = "d:STt:VkK"; #else const char *md_shortopts = "d:STt:V"; #endif @@ -3164,6 +3325,13 @@ md_parse_option (c, arg) break; #endif +#ifdef OBJ_ELF + case 'K': + case 'k': + flag_want_pic = 1; + break; /* -pic, Position Independent Code */ +#endif + default: return 0; } @@ -3199,7 +3367,7 @@ VMS options:\n\ symbolS * md_undefined_symbol (name) - char *name; + char *name ATTRIBUTE_UNUSED; { return 0; } @@ -3207,7 +3375,7 @@ md_undefined_symbol (name) /* Round up a section size to the appropriate boundary. */ valueT md_section_align (segment, size) - segT segment; + segT segment ATTRIBUTE_UNUSED; valueT size; { return size; /* Byte alignment is fine */ @@ -3215,7 +3383,7 @@ md_section_align (segment, size) /* Exactly what point is a PC-relative offset relative TO? On the vax, they're relative to the address of the offset, plus - its size. (??? Is this right? FIXME-SOON) */ + its size. */ long md_pcrel_from (fixP) fixS *fixP; @@ -3223,4 +3391,96 @@ md_pcrel_from (fixP) return fixP->fx_size + fixP->fx_where + fixP->fx_frag->fr_address; } +#ifdef OBJ_AOUT +#ifndef BFD_ASSEMBLER +void +tc_headers_hook(headers) + object_headers *headers; +{ +#ifdef TE_NetBSD + N_SET_INFO(headers->header, OMAGIC, M_VAX4K_NETBSD, 0); + headers->header.a_info = htonl(headers->header.a_info); +#endif +} +#endif /* !BFD_ASSEMBLER */ +#endif /* OBJ_AOUT */ + +#ifdef BFD_ASSEMBLER +arelent * +tc_gen_reloc (section, fixp) + asection *section ATTRIBUTE_UNUSED; + fixS *fixp; +{ + arelent *reloc; + bfd_reloc_code_real_type code; + + if (fixp->fx_tcbit) + abort(); + + if (fixp->fx_r_type != BFD_RELOC_NONE) + { + code = fixp->fx_r_type; + + if (fixp->fx_pcrel) + { + switch (code) + { + case BFD_RELOC_8_PCREL: + case BFD_RELOC_16_PCREL: + case BFD_RELOC_32_PCREL: +#ifdef OBJ_ELF + case BFD_RELOC_8_GOT_PCREL: + case BFD_RELOC_16_GOT_PCREL: + case BFD_RELOC_32_GOT_PCREL: + case BFD_RELOC_8_PLT_PCREL: + case BFD_RELOC_16_PLT_PCREL: + case BFD_RELOC_32_PLT_PCREL: +#endif + break; + default: + as_bad_where (fixp->fx_file, fixp->fx_line, + _("Cannot make %s relocation PC relative"), + bfd_get_reloc_code_name (code)); + } + } + } + else + { +#define F(SZ,PCREL) (((SZ) << 1) + (PCREL)) + switch (F (fixp->fx_size, fixp->fx_pcrel)) + { +#define MAP(SZ,PCREL,TYPE) case F(SZ,PCREL): code = (TYPE); break + MAP (1, 0, BFD_RELOC_8); + MAP (2, 0, BFD_RELOC_16); + MAP (4, 0, BFD_RELOC_32); + MAP (1, 1, BFD_RELOC_8_PCREL); + MAP (2, 1, BFD_RELOC_16_PCREL); + MAP (4, 1, BFD_RELOC_32_PCREL); + default: + abort (); + } + } +#undef F +#undef MAP + + reloc = (arelent *) xmalloc (sizeof (arelent)); + reloc->sym_ptr_ptr = (asymbol **) xmalloc (sizeof (asymbol *)); + *reloc->sym_ptr_ptr = symbol_get_bfdsym (fixp->fx_addsy); + reloc->address = fixp->fx_frag->fr_address + fixp->fx_where; +#ifndef OBJ_ELF + if (fixp->fx_pcrel) + reloc->addend = fixp->fx_addnumber; + else + reloc->addend = 0; +#else + reloc->addend = fixp->fx_offset; +#endif + + reloc->howto = bfd_reloc_type_lookup (stdoutput, code); + assert (reloc->howto != 0); + + return reloc; +} +#endif /* BFD_ASSEMBLER */ + /* end of tc-vax.c */ diff --git a/gas/config/tc-vax.h b/gas/config/tc-vax.h index dbd8be1ad7a..4953ff4fc47 100644 --- a/gas/config/tc-vax.h +++ b/gas/config/tc-vax.h @@ -23,12 +23,35 @@ #define TARGET_BYTES_BIG_ENDIAN 0 -#define NO_RELOC 0 -#define NOP_OPCODE 0x01 +#ifdef OBJ_AOUT +#ifdef TE_NetBSD +#define TARGET_FORMAT "a.out-vax-netbsd" +#endif +#ifndef TARGET_FORMAT +#define TARGET_FORMAT "a.out-vax-bsd" +#endif +#endif + +#ifdef OBJ_VMS +#define TARGET_FORMAT "vms-vax" +#endif + +#ifdef OBJ_ELF +#define TARGET_FORMAT "elf32-vax" +#endif + +#define BFD_ARCH bfd_arch_vax /* for non-BFD_ASSEMBLER */ +#define TARGET_ARCH bfd_arch_vax /* BFD_ASSEMBLER */ + +#ifdef BFD_ASSEMBLER +#define NO_RELOC BFD_RELOC_NONE +#else +#define NO_RELOC 0 +#endif +#define NOP_OPCODE 0x01 #define tc_aout_pre_write_hook(x) {;} /* not used */ #define tc_crawl_symbol_chain(a) {;} /* not used */ -#define tc_headers_hook(a) {;} /* not used */ #define md_operand(x) long md_chars_to_number PARAMS ((unsigned char *, int)); @@ -36,6 +59,35 @@ long md_chars_to_number PARAMS ((unsigned char *, int)); extern const struct relax_type md_relax_table[]; #define TC_GENERIC_RELAX_TABLE md_relax_table +/* This expression evaluates to false if the relocation is for a local object + for which we still want to do the relocation at runtime. True if we + are willing to perform this relocation while building the .o file. If + the reloc is against an externally visible symbol, then the assembler + should never do the relocation. */ + +#ifdef BFD_ASSEMBLER +#define TC_RELOC_RTSYM_LOC_FIXUP(FIX) \ + ((FIX)->fx_addsy == NULL \ + || (! S_IS_EXTERNAL ((FIX)->fx_addsy) \ + && ! S_IS_WEAK ((FIX)->fx_addsy) \ + && S_IS_DEFINED ((FIX)->fx_addsy) \ + && ! S_IS_COMMON ((FIX)->fx_addsy))) +#define TC_FIX_ADJUSTABLE(FIX) \ + (!symbol_used_in_reloc_p ((FIX)) && tc_fix_adjustable ((FIX))) +#define tc_fix_adjustable(FIX) \ + ((FIX)->fx_r_type != BFD_RELOC_VTABLE_INHERIT \ + && (FIX)->fx_r_type != BFD_RELOC_32_PLT_PCREL \ + && (FIX)->fx_r_type != BFD_RELOC_32_GOT_PCREL \ + && (FIX)->fx_r_type != BFD_RELOC_VTABLE_ENTRY \ + && ! S_IS_EXTERNAL ((FIX)->fx_addsy) \ + && ! S_IS_WEAK ((FIX)->fx_addsy) \ + && ((FIX)->fx_pcrel \ + || ((FIX)->fx_subsy != NULL \ + && (S_GET_SEGMENT ((FIX)->fx_subsy) \ + == S_GET_SEGMENT ((FIX)->fx_addsy))) \ + || S_IS_LOCAL ((FIX)->fx_addsy))) +#endif + /* * Local Variables: * comment-column: 0 diff --git a/gas/config/vax-inst.h b/gas/config/vax-inst.h index 9debebe252f..269752688d4 100644 --- a/gas/config/vax-inst.h +++ b/gas/config/vax-inst.h @@ -54,11 +54,14 @@ typedef long vax_opcodeT; /* For initialising array of opcodes */ #define VAX_WIDTH_WORD_JUMP '!' /* and VIT_OPCODE_SYNTHETIC set. */ #define VAX_WIDTH_BYTE_JUMP ':' /* */ +#define VAX_JSB (0x16) /* Jump to subroutine */ #define VAX_JMP (0x17) /* Useful for branch optimising. Jump instr*/ #define VAX_PC_RELATIVE_MODE (0xef) /* Use it after VAX_JMP */ #define VAX_ABSOLUTE_MODE (0x9F)/* Use as @#... */ #define VAX_BRB (0x11) /* Canonical branch. */ #define VAX_BRW (0x31) /* Another canonical branch */ +#define VAX_CALLS (0xFB) /* Call with arg list on stack */ +#define VAX_CALLG (0xFA) /* Call with arg list in memory */ #define VAX_WIDEN_WORD (0x20) /* Add this to byte branch to get word br. */ #define VAX_WIDEN_LONG (0x6) /* Add this to byte branch to get long jmp.*/ /* Needs VAX_PC_RELATIVE_MODE byte after it*/ diff --git a/gas/configure b/gas/configure index 266a69cc26e..8c6c7e1090a 100755 --- a/gas/configure +++ b/gas/configure @@ -2635,6 +2635,9 @@ EOF v850e-*-*) fmt=elf bfd_gas=yes ;; v850ea-*-*) fmt=elf bfd_gas=yes ;; + vax-*-netbsdelf*) fmt=elf em=nbsd bfd_gas=yes ;; + vax-*-netbsdaout* | vax-*-netbsd*) + fmt=aout em=nbsd ;; vax-*-bsd* | vax-*-ultrix*) fmt=aout ;; vax-*-vms) fmt=vms ;; @@ -3150,7 +3153,7 @@ EOF # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3154: checking for $ac_word" >&5 +echo "configure:3157: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3180,7 +3183,7 @@ if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3184: checking for $ac_word" >&5 +echo "configure:3187: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3231,7 +3234,7 @@ fi # Extract the first word of "cl", so it can be a program name with args. set dummy cl; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3235: checking for $ac_word" >&5 +echo "configure:3238: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3263,7 +3266,7 @@ fi fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:3267: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 +echo "configure:3270: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 ac_ext=c # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. @@ -3274,12 +3277,12 @@ cross_compiling=$ac_cv_prog_cc_cross cat > conftest.$ac_ext << EOF -#line 3278 "configure" +#line 3281 "configure" #include "confdefs.h" main(){return(0);} EOF -if { (eval echo configure:3283: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3286: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ac_cv_prog_cc_works=yes # If we can't run a trivial program, we are probably using a cross compiler. if (./conftest; exit) 2>/dev/null; then @@ -3305,12 +3308,12 @@ if test $ac_cv_prog_cc_works = no; then { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; } fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6 -echo "configure:3309: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "configure:3312: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6 cross_compiling=$ac_cv_prog_cc_cross echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6 -echo "configure:3314: checking whether we are using GNU C" >&5 +echo "configure:3317: checking whether we are using GNU C" >&5 if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3319,7 +3322,7 @@ else yes; #endif EOF -if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:3323: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then +if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:3326: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then ac_cv_prog_gcc=yes else ac_cv_prog_gcc=no @@ -3338,7 +3341,7 @@ ac_test_CFLAGS="${CFLAGS+set}" ac_save_CFLAGS="$CFLAGS" CFLAGS= echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 -echo "configure:3342: checking whether ${CC-cc} accepts -g" >&5 +echo "configure:3345: checking whether ${CC-cc} accepts -g" >&5 if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3375,7 +3378,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3379: checking for $ac_word" >&5 +echo "configure:3382: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_YACC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3406,7 +3409,7 @@ done test -n "$YACC" || YACC="yacc" echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 -echo "configure:3410: checking how to run the C preprocessor" >&5 +echo "configure:3413: checking how to run the C preprocessor" >&5 # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= @@ -3421,13 +3424,13 @@ else # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3431: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3434: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : @@ -3438,13 +3441,13 @@ else rm -rf conftest* CPP="${CC-cc} -E -traditional-cpp" cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3448: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3451: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : @@ -3455,13 +3458,13 @@ else rm -rf conftest* CPP="${CC-cc} -nologo -E" cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3465: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3468: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : @@ -3491,7 +3494,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3495: checking for $ac_word" >&5 +echo "configure:3498: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_LEX'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3524,7 +3527,7 @@ test -n "$LEX" || LEX="$missing_dir/missing flex" # Extract the first word of "flex", so it can be a program name with args. set dummy flex; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3528: checking for $ac_word" >&5 +echo "configure:3531: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_LEX'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3558,7 +3561,7 @@ then *) ac_lib=l ;; esac echo $ac_n "checking for yywrap in -l$ac_lib""... $ac_c" 1>&6 -echo "configure:3562: checking for yywrap in -l$ac_lib" >&5 +echo "configure:3565: checking for yywrap in -l$ac_lib" >&5 ac_lib_var=`echo $ac_lib'_'yywrap | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -3566,7 +3569,7 @@ else ac_save_LIBS="$LIBS" LIBS="-l$ac_lib $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3584: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -3600,7 +3603,7 @@ fi fi echo $ac_n "checking lex output file root""... $ac_c" 1>&6 -echo "configure:3604: checking lex output file root" >&5 +echo "configure:3607: checking lex output file root" >&5 if eval "test \"`echo '$''{'ac_cv_prog_lex_root'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3621,7 +3624,7 @@ echo "$ac_t""$ac_cv_prog_lex_root" 1>&6 LEX_OUTPUT_ROOT=$ac_cv_prog_lex_root echo $ac_n "checking whether yytext is a pointer""... $ac_c" 1>&6 -echo "configure:3625: checking whether yytext is a pointer" >&5 +echo "configure:3628: checking whether yytext is a pointer" >&5 if eval "test \"`echo '$''{'ac_cv_prog_lex_yytext_pointer'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3633,14 +3636,14 @@ echo 'extern char *yytext;' >>$LEX_OUTPUT_ROOT.c ac_save_LIBS="$LIBS" LIBS="$LIBS $LEXLIB" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3647: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_prog_lex_yytext_pointer=yes else @@ -3666,7 +3669,7 @@ ALL_LINGUAS="fr tr es" # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3670: checking for $ac_word" >&5 +echo "configure:3673: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3694,12 +3697,12 @@ else fi echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 -echo "configure:3698: checking for ANSI C header files" >&5 +echo "configure:3701: checking for ANSI C header files" >&5 if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -3707,7 +3710,7 @@ else #include EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3711: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3714: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -3724,7 +3727,7 @@ rm -f conftest* if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat > conftest.$ac_ext < EOF @@ -3742,7 +3745,7 @@ fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat > conftest.$ac_ext < EOF @@ -3763,7 +3766,7 @@ if test "$cross_compiling" = yes; then : else cat > conftest.$ac_ext < #define ISLOWER(c) ('a' <= (c) && (c) <= 'z') @@ -3774,7 +3777,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2); exit (0); } EOF -if { (eval echo configure:3778: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:3781: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then : else @@ -3798,12 +3801,12 @@ EOF fi echo $ac_n "checking for working const""... $ac_c" 1>&6 -echo "configure:3802: checking for working const" >&5 +echo "configure:3805: checking for working const" >&5 if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3859: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_const=yes else @@ -3873,21 +3876,21 @@ EOF fi echo $ac_n "checking for inline""... $ac_c" 1>&6 -echo "configure:3877: checking for inline" >&5 +echo "configure:3880: checking for inline" >&5 if eval "test \"`echo '$''{'ac_cv_c_inline'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_cv_c_inline=no for ac_kw in inline __inline__ __inline; do cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3894: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_inline=$ac_kw; break else @@ -3913,12 +3916,12 @@ EOF esac echo $ac_n "checking for off_t""... $ac_c" 1>&6 -echo "configure:3917: checking for off_t" >&5 +echo "configure:3920: checking for off_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_off_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #if STDC_HEADERS @@ -3946,12 +3949,12 @@ EOF fi echo $ac_n "checking for size_t""... $ac_c" 1>&6 -echo "configure:3950: checking for size_t" >&5 +echo "configure:3953: checking for size_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #if STDC_HEADERS @@ -3981,19 +3984,19 @@ fi # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works # for constant arguments. Useless! echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6 -echo "configure:3985: checking for working alloca.h" >&5 +echo "configure:3988: checking for working alloca.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { char *p = alloca(2 * sizeof(int)); ; return 0; } EOF -if { (eval echo configure:3997: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4000: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_header_alloca_h=yes else @@ -4014,12 +4017,12 @@ EOF fi echo $ac_n "checking for alloca""... $ac_c" 1>&6 -echo "configure:4018: checking for alloca" >&5 +echo "configure:4021: checking for alloca" >&5 if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4054: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_func_alloca_works=yes else @@ -4079,12 +4082,12 @@ EOF echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6 -echo "configure:4083: checking whether alloca needs Cray hooks" >&5 +echo "configure:4086: checking whether alloca needs Cray hooks" >&5 if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 if test $ac_cv_os_cray = yes; then for ac_func in _getb67 GETB67 getb67; do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:4113: checking for $ac_func" >&5 +echo "configure:4116: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4144: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -4164,7 +4167,7 @@ done fi echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6 -echo "configure:4168: checking stack direction for C alloca" >&5 +echo "configure:4171: checking stack direction for C alloca" >&5 if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4172,7 +4175,7 @@ else ac_cv_c_stack_direction=0 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:4198: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_c_stack_direction=1 else @@ -4216,17 +4219,17 @@ for ac_hdr in unistd.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:4220: checking for $ac_hdr" >&5 +echo "configure:4223: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:4230: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4233: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -4255,12 +4258,12 @@ done for ac_func in getpagesize do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:4259: checking for $ac_func" >&5 +echo "configure:4262: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4290: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -4308,7 +4311,7 @@ fi done echo $ac_n "checking for working mmap""... $ac_c" 1>&6 -echo "configure:4312: checking for working mmap" >&5 +echo "configure:4315: checking for working mmap" >&5 if eval "test \"`echo '$''{'ac_cv_func_mmap_fixed_mapped'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4316,7 +4319,7 @@ else ac_cv_func_mmap_fixed_mapped=no else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:4463: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_func_mmap_fixed_mapped=yes else @@ -4484,17 +4487,17 @@ unistd.h values.h sys/param.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:4488: checking for $ac_hdr" >&5 +echo "configure:4491: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:4498: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4501: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -4524,12 +4527,12 @@ done __argz_count __argz_stringify __argz_next do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:4528: checking for $ac_func" >&5 +echo "configure:4531: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4559: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -4581,12 +4584,12 @@ done for ac_func in stpcpy do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:4585: checking for $ac_func" >&5 +echo "configure:4588: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4616: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -4643,19 +4646,19 @@ EOF if test $ac_cv_header_locale_h = yes; then echo $ac_n "checking for LC_MESSAGES""... $ac_c" 1>&6 -echo "configure:4647: checking for LC_MESSAGES" >&5 +echo "configure:4650: checking for LC_MESSAGES" >&5 if eval "test \"`echo '$''{'am_cv_val_LC_MESSAGES'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { return LC_MESSAGES ; return 0; } EOF -if { (eval echo configure:4659: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4662: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* am_cv_val_LC_MESSAGES=yes else @@ -4676,7 +4679,7 @@ EOF fi fi echo $ac_n "checking whether NLS is requested""... $ac_c" 1>&6 -echo "configure:4680: checking whether NLS is requested" >&5 +echo "configure:4683: checking whether NLS is requested" >&5 # Check whether --enable-nls or --disable-nls was given. if test "${enable_nls+set}" = set; then enableval="$enable_nls" @@ -4696,7 +4699,7 @@ fi EOF echo $ac_n "checking whether included gettext is requested""... $ac_c" 1>&6 -echo "configure:4700: checking whether included gettext is requested" >&5 +echo "configure:4703: checking whether included gettext is requested" >&5 # Check whether --with-included-gettext or --without-included-gettext was given. if test "${with_included_gettext+set}" = set; then withval="$with_included_gettext" @@ -4715,17 +4718,17 @@ fi ac_safe=`echo "libintl.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for libintl.h""... $ac_c" 1>&6 -echo "configure:4719: checking for libintl.h" >&5 +echo "configure:4722: checking for libintl.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:4729: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4732: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -4742,19 +4745,19 @@ fi if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then echo "$ac_t""yes" 1>&6 echo $ac_n "checking for gettext in libc""... $ac_c" 1>&6 -echo "configure:4746: checking for gettext in libc" >&5 +echo "configure:4749: checking for gettext in libc" >&5 if eval "test \"`echo '$''{'gt_cv_func_gettext_libc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { return (int) gettext ("") ; return 0; } EOF -if { (eval echo configure:4758: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4761: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* gt_cv_func_gettext_libc=yes else @@ -4770,7 +4773,7 @@ echo "$ac_t""$gt_cv_func_gettext_libc" 1>&6 if test "$gt_cv_func_gettext_libc" != "yes"; then echo $ac_n "checking for bindtextdomain in -lintl""... $ac_c" 1>&6 -echo "configure:4774: checking for bindtextdomain in -lintl" >&5 +echo "configure:4777: checking for bindtextdomain in -lintl" >&5 ac_lib_var=`echo intl'_'bindtextdomain | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4778,7 +4781,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lintl $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4796: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4805,19 +4808,19 @@ fi if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then echo "$ac_t""yes" 1>&6 echo $ac_n "checking for gettext in libintl""... $ac_c" 1>&6 -echo "configure:4809: checking for gettext in libintl" >&5 +echo "configure:4812: checking for gettext in libintl" >&5 if eval "test \"`echo '$''{'gt_cv_func_gettext_libintl'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4824: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* gt_cv_func_gettext_libintl=yes else @@ -4845,7 +4848,7 @@ EOF # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:4849: checking for $ac_word" >&5 +echo "configure:4852: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4879,12 +4882,12 @@ fi for ac_func in dcgettext do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:4883: checking for $ac_func" >&5 +echo "configure:4886: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4914: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -4934,7 +4937,7 @@ done # Extract the first word of "gmsgfmt", so it can be a program name with args. set dummy gmsgfmt; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:4938: checking for $ac_word" >&5 +echo "configure:4941: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4970,7 +4973,7 @@ fi # Extract the first word of "xgettext", so it can be a program name with args. set dummy xgettext; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:4974: checking for $ac_word" >&5 +echo "configure:4977: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -5002,7 +5005,7 @@ else fi cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5017: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* CATOBJEXT=.gmo DATADIRNAME=share @@ -5042,7 +5045,7 @@ fi # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:5046: checking for $ac_word" >&5 +echo "configure:5049: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -5076,7 +5079,7 @@ fi # Extract the first word of "gmsgfmt", so it can be a program name with args. set dummy gmsgfmt; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:5080: checking for $ac_word" >&5 +echo "configure:5083: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -5112,7 +5115,7 @@ fi # Extract the first word of "xgettext", so it can be a program name with args. set dummy xgettext; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:5116: checking for $ac_word" >&5 +echo "configure:5119: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -5202,7 +5205,7 @@ fi LINGUAS= else echo $ac_n "checking for catalogs to be installed""... $ac_c" 1>&6 -echo "configure:5206: checking for catalogs to be installed" >&5 +echo "configure:5209: checking for catalogs to be installed" >&5 NEW_LINGUAS= for lang in ${LINGUAS=$ALL_LINGUAS}; do case "$ALL_LINGUAS" in @@ -5230,17 +5233,17 @@ echo "configure:5206: checking for catalogs to be installed" >&5 if test "$CATOBJEXT" = ".cat"; then ac_safe=`echo "linux/version.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for linux/version.h""... $ac_c" 1>&6 -echo "configure:5234: checking for linux/version.h" >&5 +echo "configure:5237: checking for linux/version.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:5244: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:5247: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -5303,7 +5306,7 @@ fi echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6 -echo "configure:5307: checking whether to enable maintainer-specific portions of Makefiles" >&5 +echo "configure:5310: checking whether to enable maintainer-specific portions of Makefiles" >&5 # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given. if test "${enable_maintainer_mode+set}" = set; then enableval="$enable_maintainer_mode" @@ -5328,7 +5331,7 @@ fi echo $ac_n "checking for executable suffix""... $ac_c" 1>&6 -echo "configure:5332: checking for executable suffix" >&5 +echo "configure:5335: checking for executable suffix" >&5 if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -5338,7 +5341,7 @@ else rm -f conftest* echo 'int main () { return 0; }' > conftest.$ac_ext ac_cv_exeext= - if { (eval echo configure:5342: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then + if { (eval echo configure:5345: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then for file in conftest.*; do case $file in *.c | *.o | *.obj) ;; @@ -5363,17 +5366,17 @@ for ac_hdr in string.h stdlib.h memory.h strings.h unistd.h stdarg.h varargs.h e do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:5367: checking for $ac_hdr" >&5 +echo "configure:5370: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:5377: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:5380: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -5403,7 +5406,7 @@ done # Put this here so that autoconf's "cross-compiling" message doesn't confuse # people who are not cross-compiling but are compiling cross-assemblers. echo $ac_n "checking whether compiling a cross-assembler""... $ac_c" 1>&6 -echo "configure:5407: checking whether compiling a cross-assembler" >&5 +echo "configure:5410: checking whether compiling a cross-assembler" >&5 if test "${host}" = "${target}"; then cross_gas=no else @@ -5418,19 +5421,19 @@ echo "$ac_t""$cross_gas" 1>&6 # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works # for constant arguments. Useless! echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6 -echo "configure:5422: checking for working alloca.h" >&5 +echo "configure:5425: checking for working alloca.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { char *p = alloca(2 * sizeof(int)); ; return 0; } EOF -if { (eval echo configure:5434: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5437: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_header_alloca_h=yes else @@ -5451,12 +5454,12 @@ EOF fi echo $ac_n "checking for alloca""... $ac_c" 1>&6 -echo "configure:5455: checking for alloca" >&5 +echo "configure:5458: checking for alloca" >&5 if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5491: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_func_alloca_works=yes else @@ -5516,12 +5519,12 @@ EOF echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6 -echo "configure:5520: checking whether alloca needs Cray hooks" >&5 +echo "configure:5523: checking whether alloca needs Cray hooks" >&5 if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 if test $ac_cv_os_cray = yes; then for ac_func in _getb67 GETB67 getb67; do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:5550: checking for $ac_func" >&5 +echo "configure:5553: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5581: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -5601,7 +5604,7 @@ done fi echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6 -echo "configure:5605: checking stack direction for C alloca" >&5 +echo "configure:5608: checking stack direction for C alloca" >&5 if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -5609,7 +5612,7 @@ else ac_cv_c_stack_direction=0 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:5635: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_c_stack_direction=1 else @@ -5650,21 +5653,21 @@ EOF fi echo $ac_n "checking for inline""... $ac_c" 1>&6 -echo "configure:5654: checking for inline" >&5 +echo "configure:5657: checking for inline" >&5 if eval "test \"`echo '$''{'ac_cv_c_inline'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_cv_c_inline=no for ac_kw in inline __inline__ __inline; do cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5671: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_inline=$ac_kw; break else @@ -5694,12 +5697,12 @@ esac for ac_func in unlink remove do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:5698: checking for $ac_func" >&5 +echo "configure:5701: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5729: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -5751,12 +5754,12 @@ done for ac_func in sbrk do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:5755: checking for $ac_func" >&5 +echo "configure:5758: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5786: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -5814,7 +5817,7 @@ case $host in ;; *-ncr-sysv4.3*) echo $ac_n "checking for _mwvalidcheckl in -lmw""... $ac_c" 1>&6 -echo "configure:5818: checking for _mwvalidcheckl in -lmw" >&5 +echo "configure:5821: checking for _mwvalidcheckl in -lmw" >&5 ac_lib_var=`echo mw'_'_mwvalidcheckl | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -5822,7 +5825,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lmw $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5840: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5854,7 +5857,7 @@ else fi echo $ac_n "checking for main in -lm""... $ac_c" 1>&6 -echo "configure:5858: checking for main in -lm" >&5 +echo "configure:5861: checking for main in -lm" >&5 ac_lib_var=`echo m'_'main | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -5862,14 +5865,14 @@ else ac_save_LIBS="$LIBS" LIBS="-lm $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5876: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5892,7 +5895,7 @@ fi ;; *) echo $ac_n "checking for main in -lm""... $ac_c" 1>&6 -echo "configure:5896: checking for main in -lm" >&5 +echo "configure:5899: checking for main in -lm" >&5 ac_lib_var=`echo m'_'main | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -5900,14 +5903,14 @@ else ac_save_LIBS="$LIBS" LIBS="-lm $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5914: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5938,12 +5941,12 @@ esac # enough, but on some of those systems, the assert macro relies on requoting # working properly! echo $ac_n "checking for working assert macro""... $ac_c" 1>&6 -echo "configure:5942: checking for working assert macro" >&5 +echo "configure:5945: checking for working assert macro" >&5 if eval "test \"`echo '$''{'gas_cv_assert_ok'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -5959,7 +5962,7 @@ assert (a == b ; return 0; } EOF -if { (eval echo configure:5963: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5966: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* gas_cv_assert_ok=yes else @@ -6000,12 +6003,12 @@ gas_test_headers=" " echo $ac_n "checking whether declaration is required for strstr""... $ac_c" 1>&6 -echo "configure:6004: checking whether declaration is required for strstr" >&5 +echo "configure:6007: checking whether declaration is required for strstr" >&5 if eval "test \"`echo '$''{'gas_cv_decl_needed_strstr'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6023: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* gas_cv_decl_needed_strstr=no else @@ -6037,12 +6040,12 @@ fi echo $ac_n "checking whether declaration is required for malloc""... $ac_c" 1>&6 -echo "configure:6041: checking whether declaration is required for malloc" >&5 +echo "configure:6044: checking whether declaration is required for malloc" >&5 if eval "test \"`echo '$''{'gas_cv_decl_needed_malloc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6060: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* gas_cv_decl_needed_malloc=no else @@ -6074,12 +6077,12 @@ fi echo $ac_n "checking whether declaration is required for free""... $ac_c" 1>&6 -echo "configure:6078: checking whether declaration is required for free" >&5 +echo "configure:6081: checking whether declaration is required for free" >&5 if eval "test \"`echo '$''{'gas_cv_decl_needed_free'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6097: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* gas_cv_decl_needed_free=no else @@ -6111,12 +6114,12 @@ fi echo $ac_n "checking whether declaration is required for sbrk""... $ac_c" 1>&6 -echo "configure:6115: checking whether declaration is required for sbrk" >&5 +echo "configure:6118: checking whether declaration is required for sbrk" >&5 if eval "test \"`echo '$''{'gas_cv_decl_needed_sbrk'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6134: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* gas_cv_decl_needed_sbrk=no else @@ -6148,12 +6151,12 @@ fi echo $ac_n "checking whether declaration is required for environ""... $ac_c" 1>&6 -echo "configure:6152: checking whether declaration is required for environ" >&5 +echo "configure:6155: checking whether declaration is required for environ" >&5 if eval "test \"`echo '$''{'gas_cv_decl_needed_environ'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6171: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* gas_cv_decl_needed_environ=no else @@ -6188,12 +6191,12 @@ fi # for it? echo $ac_n "checking whether declaration is required for errno""... $ac_c" 1>&6 -echo "configure:6192: checking whether declaration is required for errno" >&5 +echo "configure:6195: checking whether declaration is required for errno" >&5 if eval "test \"`echo '$''{'gas_cv_decl_needed_errno'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6215: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* gas_cv_decl_needed_errno=no else diff --git a/gas/configure.in b/gas/configure.in index 14248430a0a..5f61af709bc 100644 --- a/gas/configure.in +++ b/gas/configure.in @@ -480,6 +480,9 @@ changequote([,])dnl v850e-*-*) fmt=elf bfd_gas=yes ;; v850ea-*-*) fmt=elf bfd_gas=yes ;; + vax-*-netbsdelf*) fmt=elf em=nbsd bfd_gas=yes ;; + vax-*-netbsdaout* | vax-*-netbsd*) + fmt=aout em=nbsd ;; vax-*-bsd* | vax-*-ultrix*) fmt=aout ;; vax-*-vms) fmt=vms ;;