mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-09-10 23:57:03 +08:00
Add -m{,no-}regnames support; Add Solaris/linux support
This commit is contained in:
@ -1,3 +1,18 @@
|
|||||||
|
Tue Apr 16 10:25:42 1996 Michael Meissner <meissner@tiktok.cygnus.com>
|
||||||
|
|
||||||
|
* config/tc-ppc.c (register_name,reg_name_search): Move register
|
||||||
|
name lookup from PE specific code to all targets. Add support for
|
||||||
|
-mregnames/-mno-regnames to control whether register names are
|
||||||
|
expanded or not.
|
||||||
|
(md_assemble): Call register_name for all platforms.
|
||||||
|
(md_parse_option): Add support for -mregnames/-mno-regnames.
|
||||||
|
|
||||||
|
* configure.in (powerpcle*-*-solaris): Add support.
|
||||||
|
(powerpc*-*-linux): Ditto.
|
||||||
|
* configure: Regenerate.
|
||||||
|
|
||||||
|
* config/ppc-sol.mt: New config file for PowerPC Solaris.
|
||||||
|
|
||||||
Mon Apr 15 12:26:33 1996 Ian Lance Taylor <ian@cygnus.com>
|
Mon Apr 15 12:26:33 1996 Ian Lance Taylor <ian@cygnus.com>
|
||||||
|
|
||||||
* config/tc-mips.c (mips_frob_file): Permit multiple %hi relocs to
|
* config/tc-mips.c (mips_frob_file): Permit multiple %hi relocs to
|
||||||
|
@ -81,6 +81,7 @@ obj-vms.c
|
|||||||
obj-vms.h
|
obj-vms.h
|
||||||
ppc-big.mt
|
ppc-big.mt
|
||||||
ppc-lit.mt
|
ppc-lit.mt
|
||||||
|
ppc-sol.mt
|
||||||
sco5.mt
|
sco5.mt
|
||||||
tc-a29k.c
|
tc-a29k.c
|
||||||
tc-a29k.h
|
tc-a29k.h
|
||||||
|
1
gas/config/ppc-sol.mt
Normal file
1
gas/config/ppc-sol.mt
Normal file
@ -0,0 +1 @@
|
|||||||
|
TDEFINES=-DTARGET_BYTES_LITTLE_ENDIAN=1 -DTARGET_REG_NAMES_P=true
|
@ -41,6 +41,17 @@ extern int target_big_endian;
|
|||||||
/* Whether or not, we've set target_big_endian. */
|
/* Whether or not, we've set target_big_endian. */
|
||||||
static int set_target_endian = 0;
|
static int set_target_endian = 0;
|
||||||
|
|
||||||
|
/* Whether to use user friendly register names. */
|
||||||
|
#ifndef TARGET_REG_NAMES_P
|
||||||
|
#ifdef TE_PE
|
||||||
|
#define TARGET_REG_NAMES_P true
|
||||||
|
#else
|
||||||
|
#define TARGET_REG_NAMES_P false
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
static boolean reg_names_p = TARGET_REG_NAMES_P;
|
||||||
|
|
||||||
static void ppc_set_cpu PARAMS ((void));
|
static void ppc_set_cpu PARAMS ((void));
|
||||||
static unsigned long ppc_insert_operand
|
static unsigned long ppc_insert_operand
|
||||||
PARAMS ((unsigned long insn, const struct powerpc_operand *operand,
|
PARAMS ((unsigned long insn, const struct powerpc_operand *operand,
|
||||||
@ -178,9 +189,7 @@ const pseudo_typeS md_pseudo_table[] =
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
#ifdef TE_PE
|
/* Predefined register names if -mregnames (or default for Windows NT). */
|
||||||
/* The Windows NT PowerPC assembler uses predefined names. */
|
|
||||||
|
|
||||||
/* In general, there are lots of them, in an attempt to be compatible */
|
/* In general, there are lots of them, in an attempt to be compatible */
|
||||||
/* with a number of other Windows NT assemblers. */
|
/* with a number of other Windows NT assemblers. */
|
||||||
|
|
||||||
@ -437,7 +446,58 @@ reg_name_search (name)
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
/*
|
||||||
|
* Summary of register_name().
|
||||||
|
*
|
||||||
|
* in: Input_line_pointer points to 1st char of operand.
|
||||||
|
*
|
||||||
|
* out: A expressionS.
|
||||||
|
* The operand may have been a register: in this case, X_op == O_register,
|
||||||
|
* X_add_number is set to the register number, and truth is returned.
|
||||||
|
* Input_line_pointer->(next non-blank) char after operand, or is in its
|
||||||
|
* original state.
|
||||||
|
*/
|
||||||
|
|
||||||
|
static boolean
|
||||||
|
register_name (expressionP)
|
||||||
|
expressionS *expressionP;
|
||||||
|
{
|
||||||
|
int reg_number;
|
||||||
|
char *name;
|
||||||
|
char *start;
|
||||||
|
char c;
|
||||||
|
|
||||||
|
/* Find the spelling of the operand */
|
||||||
|
start = name = input_line_pointer;
|
||||||
|
if (name[0] == '%' && isalpha (name[1]))
|
||||||
|
name = ++input_line_pointer;
|
||||||
|
|
||||||
|
else if (!reg_names_p || !isalpha (name[0]))
|
||||||
|
return false;
|
||||||
|
|
||||||
|
c = get_symbol_end ();
|
||||||
|
reg_number = reg_name_search (name);
|
||||||
|
|
||||||
|
/* look to see if it's in the register table */
|
||||||
|
if (reg_number >= 0)
|
||||||
|
{
|
||||||
|
expressionP->X_op = O_register;
|
||||||
|
expressionP->X_add_number = reg_number;
|
||||||
|
|
||||||
|
/* make the rest nice */
|
||||||
|
expressionP->X_add_symbol = NULL;
|
||||||
|
expressionP->X_op_symbol = NULL;
|
||||||
|
*input_line_pointer = c; /* put back the delimiting char */
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
/* reset the line as if we had not done anything */
|
||||||
|
*input_line_pointer = c; /* put back the delimiting char */
|
||||||
|
input_line_pointer = start; /* reset input_line pointer */
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* Local variables. */
|
/* Local variables. */
|
||||||
@ -594,6 +654,12 @@ md_parse_option (c, arg)
|
|||||||
else if (strcmp (arg, "any") == 0)
|
else if (strcmp (arg, "any") == 0)
|
||||||
ppc_cpu = PPC_OPCODE_ANY;
|
ppc_cpu = PPC_OPCODE_ANY;
|
||||||
|
|
||||||
|
else if (strcmp (arg, "regnames") == 0)
|
||||||
|
reg_names_p = true;
|
||||||
|
|
||||||
|
else if (strcmp (arg, "no-regnames") == 0)
|
||||||
|
reg_names_p = false;
|
||||||
|
|
||||||
#ifdef OBJ_ELF
|
#ifdef OBJ_ELF
|
||||||
/* -mrelocatable/-mrelocatable-lib -- warn about initializations that require relocation */
|
/* -mrelocatable/-mrelocatable-lib -- warn about initializations that require relocation */
|
||||||
else if (strcmp (arg, "relocatable") == 0)
|
else if (strcmp (arg, "relocatable") == 0)
|
||||||
@ -665,7 +731,9 @@ PowerPC options:\n\
|
|||||||
generate code for Motorola PowerPC 603/604\n\
|
generate code for Motorola PowerPC 603/604\n\
|
||||||
-mppc64, -m620 generate code for Motorola PowerPC 620\n\
|
-mppc64, -m620 generate code for Motorola PowerPC 620\n\
|
||||||
-mcom generate code Power/PowerPC common instructions\n\
|
-mcom generate code Power/PowerPC common instructions\n\
|
||||||
-many generate code for any architecture (PWR/PWRX/PPC)\n");
|
-many generate code for any architecture (PWR/PWRX/PPC)\n\
|
||||||
|
-mregnames Allow symbolic names for registers\n\
|
||||||
|
-mno-regnames Do not allow symbolic names for registers\n");
|
||||||
#ifdef OBJ_ELF
|
#ifdef OBJ_ELF
|
||||||
fprintf(stream, "\
|
fprintf(stream, "\
|
||||||
-mrelocatable support for GCC's -mrelocatble option\n\
|
-mrelocatable support for GCC's -mrelocatble option\n\
|
||||||
@ -1054,51 +1122,6 @@ ppc_elf_validate_fix (fixp, seg)
|
|||||||
#endif /* OBJ_ELF */
|
#endif /* OBJ_ELF */
|
||||||
|
|
||||||
#ifdef TE_PE
|
#ifdef TE_PE
|
||||||
/*
|
|
||||||
* Summary of register_name().
|
|
||||||
*
|
|
||||||
* in: Input_line_pointer points to 1st char of operand.
|
|
||||||
*
|
|
||||||
* out: A expressionS.
|
|
||||||
* The operand may have been a register: in this case, X_op == O_register,
|
|
||||||
* X_add_number is set to the register number, and truth is returned.
|
|
||||||
* Input_line_pointer->(next non-blank) char after operand, or is in its
|
|
||||||
* original state.
|
|
||||||
*/
|
|
||||||
|
|
||||||
static int
|
|
||||||
register_name (expressionP)
|
|
||||||
expressionS *expressionP;
|
|
||||||
{
|
|
||||||
int reg_number;
|
|
||||||
char *name;
|
|
||||||
char c;
|
|
||||||
|
|
||||||
/* Find the spelling of the operand */
|
|
||||||
name = input_line_pointer;
|
|
||||||
c = get_symbol_end ();
|
|
||||||
reg_number = reg_name_search (name);
|
|
||||||
|
|
||||||
/* look to see if it's in the register table */
|
|
||||||
if (reg_number >= 0)
|
|
||||||
{
|
|
||||||
expressionP->X_op = O_register;
|
|
||||||
expressionP->X_add_number = reg_number;
|
|
||||||
|
|
||||||
/* make the rest nice */
|
|
||||||
expressionP->X_add_symbol = NULL;
|
|
||||||
expressionP->X_op_symbol = NULL;
|
|
||||||
*input_line_pointer = c; /* put back the delimiting char */
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
/* reset the line as if we had not done anything */
|
|
||||||
*input_line_pointer = c; /* put back the delimiting char */
|
|
||||||
input_line_pointer = name; /* reset input_line pointer */
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Summary of parse_toc_entry().
|
* Summary of parse_toc_entry().
|
||||||
@ -1463,26 +1486,24 @@ md_assemble (str)
|
|||||||
ex.X_add_symbol = NULL;
|
ex.X_add_symbol = NULL;
|
||||||
ex.X_op_symbol = NULL;
|
ex.X_op_symbol = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
else
|
else
|
||||||
{
|
#endif /* TE_PE */
|
||||||
if (!register_name(&ex))
|
if (!register_name(&ex))
|
||||||
{
|
expression (&ex);
|
||||||
expression (&ex);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
str = input_line_pointer;
|
str = input_line_pointer;
|
||||||
input_line_pointer = hold;
|
input_line_pointer = hold;
|
||||||
#else
|
|
||||||
expression (&ex);
|
|
||||||
str = input_line_pointer;
|
|
||||||
input_line_pointer = hold;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if (ex.X_op == O_illegal)
|
if (ex.X_op == O_illegal)
|
||||||
as_bad ("illegal operand");
|
as_bad ("illegal operand");
|
||||||
else if (ex.X_op == O_absent)
|
else if (ex.X_op == O_absent)
|
||||||
as_bad ("missing operand");
|
as_bad ("missing operand");
|
||||||
|
else if (ex.X_op == O_register)
|
||||||
|
{
|
||||||
|
insn = ppc_insert_operand (insn, operand, ex.X_add_number,
|
||||||
|
(char *) NULL, 0);
|
||||||
|
}
|
||||||
else if (ex.X_op == O_constant)
|
else if (ex.X_op == O_constant)
|
||||||
{
|
{
|
||||||
#ifdef OBJ_ELF
|
#ifdef OBJ_ELF
|
||||||
@ -1513,13 +1534,6 @@ md_assemble (str)
|
|||||||
insn = ppc_insert_operand (insn, operand, ex.X_add_number,
|
insn = ppc_insert_operand (insn, operand, ex.X_add_number,
|
||||||
(char *) NULL, 0);
|
(char *) NULL, 0);
|
||||||
}
|
}
|
||||||
#ifdef TE_PE
|
|
||||||
else if (ex.X_op == O_register)
|
|
||||||
{
|
|
||||||
insn = ppc_insert_operand (insn, operand, ex.X_add_number,
|
|
||||||
(char *) NULL, 0);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
#ifdef OBJ_ELF
|
#ifdef OBJ_ELF
|
||||||
else if ((reloc = ppc_elf_suffix (&str)) != BFD_RELOC_UNUSED)
|
else if ((reloc = ppc_elf_suffix (&str)) != BFD_RELOC_UNUSED)
|
||||||
{
|
{
|
||||||
@ -1626,6 +1640,8 @@ md_assemble (str)
|
|||||||
foo+100000@ha. */
|
foo+100000@ha. */
|
||||||
switch (fixups[i].reloc)
|
switch (fixups[i].reloc)
|
||||||
{
|
{
|
||||||
|
case BFD_RELOC_16_GOTOFF:
|
||||||
|
case BFD_RELOC_PPC_TOC16:
|
||||||
case BFD_RELOC_LO16:
|
case BFD_RELOC_LO16:
|
||||||
case BFD_RELOC_HI16:
|
case BFD_RELOC_HI16:
|
||||||
case BFD_RELOC_HI16_S:
|
case BFD_RELOC_HI16_S:
|
||||||
@ -4316,7 +4332,6 @@ md_apply_fix3 (fixp, valuep, seg)
|
|||||||
case BFD_RELOC_PPC_EMB_NADDR16_HI:
|
case BFD_RELOC_PPC_EMB_NADDR16_HI:
|
||||||
case BFD_RELOC_PPC_EMB_NADDR16_HA:
|
case BFD_RELOC_PPC_EMB_NADDR16_HA:
|
||||||
case BFD_RELOC_PPC_EMB_SDAI16:
|
case BFD_RELOC_PPC_EMB_SDAI16:
|
||||||
case BFD_RELOC_PPC_EMB_SDA21:
|
|
||||||
case BFD_RELOC_PPC_EMB_SDA2REL:
|
case BFD_RELOC_PPC_EMB_SDA2REL:
|
||||||
case BFD_RELOC_PPC_EMB_SDA2I16:
|
case BFD_RELOC_PPC_EMB_SDA2I16:
|
||||||
case BFD_RELOC_PPC_EMB_RELSEC16:
|
case BFD_RELOC_PPC_EMB_RELSEC16:
|
||||||
@ -4332,6 +4347,17 @@ md_apply_fix3 (fixp, valuep, seg)
|
|||||||
value, 2);
|
value, 2);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
/* Because SDA21 modifies the register field, the size is set to 4
|
||||||
|
bytes, rather than 2, so offset it here appropriately */
|
||||||
|
case BFD_RELOC_PPC_EMB_SDA21:
|
||||||
|
if (fixp->fx_pcrel)
|
||||||
|
abort ();
|
||||||
|
|
||||||
|
md_number_to_chars (fixp->fx_frag->fr_literal + fixp->fx_where
|
||||||
|
+ ((target_big_endian) ? 2 : 0),
|
||||||
|
value, 2);
|
||||||
|
break;
|
||||||
|
|
||||||
case BFD_RELOC_8:
|
case BFD_RELOC_8:
|
||||||
if (fixp->fx_pcrel)
|
if (fixp->fx_pcrel)
|
||||||
abort ();
|
abort ();
|
||||||
|
90
gas/configure
vendored
90
gas/configure
vendored
@ -541,9 +541,13 @@ fi
|
|||||||
if test "${enable_shared+set}" = set; then
|
if test "${enable_shared+set}" = set; then
|
||||||
enableval="$enable_shared"
|
enableval="$enable_shared"
|
||||||
case "${enableval}" in
|
case "${enableval}" in
|
||||||
yes) shared=true ;;
|
yes) shared=true shared_bfd=true shared_opcodes=true ;;
|
||||||
no) shared=false ;;
|
no) shared=false ;;
|
||||||
*) { echo "configure: error: bad value ${enableval} for BFD shared option" 1>&2; exit 1; } ;;
|
*bfd*opcodes*) shared=true shared_bfd=true shared_opcodes=true ;;
|
||||||
|
*opcodes*bfd*) shared=true shared_bfd=true shared_opcodes=true ;;
|
||||||
|
*bfd*) shared=true shared_bfd=true ;;
|
||||||
|
*opcodes*) shared=true shared_opcodes=true ;;
|
||||||
|
*) shared=false ;;
|
||||||
esac
|
esac
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -876,6 +880,18 @@ for this_target in $target $canon_targets ; do
|
|||||||
*) targ=ppc-lit ;;
|
*) targ=ppc-lit ;;
|
||||||
esac
|
esac
|
||||||
;;
|
;;
|
||||||
|
ppc-*-linux*) fmt=elf
|
||||||
|
case "$endian" in
|
||||||
|
big) targ=ppc-big ;;
|
||||||
|
*) { echo "configure: error: Linux must be configured big endian" 1>&2; exit 1; } ;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
ppc-*-solaris*) fmt=elf
|
||||||
|
case "$endian" in
|
||||||
|
big) { echo "configure: error: Solaris must be configured little endian" 1>&2; exit 1; } ;;
|
||||||
|
*) targ=ppc-sol ;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
ppc-*-macos* | ppc-*-mpw*)
|
ppc-*-macos* | ppc-*-mpw*)
|
||||||
fmt=coff em=macos ;;
|
fmt=coff em=macos ;;
|
||||||
ppc-*-netware*) fmt=elf em=ppcnw ;;
|
ppc-*-netware*) fmt=elf em=ppcnw ;;
|
||||||
@ -946,7 +962,7 @@ for this_target in $target $canon_targets ; do
|
|||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
need_opcodes=yes
|
need_opcodes=yes
|
||||||
if test "${shared}" = "true"; then
|
if test "${shared_opcodes}" = "true"; then
|
||||||
# A shared libopcodes must be linked against libbfd.
|
# A shared libopcodes must be linked against libbfd.
|
||||||
need_bfd=yes
|
need_bfd=yes
|
||||||
fi
|
fi
|
||||||
@ -1257,7 +1273,7 @@ case "${need_opcodes}" in
|
|||||||
OPCODES_LIB='-L../opcodes -lopcodes'
|
OPCODES_LIB='-L../opcodes -lopcodes'
|
||||||
|
|
||||||
# We need to handle some special cases if opcodes was built shared.
|
# We need to handle some special cases if opcodes was built shared.
|
||||||
if test "${shared}" = "true"; then
|
if test "${shared_opcodes}" = "true"; then
|
||||||
case "${host}" in
|
case "${host}" in
|
||||||
*-*-sunos*)
|
*-*-sunos*)
|
||||||
# On SunOS, we must link against the name we are going to install,
|
# On SunOS, we must link against the name we are going to install,
|
||||||
@ -1278,7 +1294,7 @@ case "${need_bfd}" in
|
|||||||
ALL_OBJ_DEPS="$ALL_OBJ_DEPS ../bfd/bfd.h"
|
ALL_OBJ_DEPS="$ALL_OBJ_DEPS ../bfd/bfd.h"
|
||||||
|
|
||||||
# We need to handle some special cases if BFD was built shared.
|
# We need to handle some special cases if BFD was built shared.
|
||||||
if test "${shared}" = "true"; then
|
if test "${shared_bfd}" = "true"; then
|
||||||
case "${host}" in
|
case "${host}" in
|
||||||
*-*-sunos*)
|
*-*-sunos*)
|
||||||
# On SunOS, we must link against the name we are going to install,
|
# On SunOS, we must link against the name we are going to install,
|
||||||
@ -1400,7 +1416,7 @@ else
|
|||||||
yes;
|
yes;
|
||||||
#endif
|
#endif
|
||||||
EOF
|
EOF
|
||||||
if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1404: \"$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:1420: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
|
||||||
ac_cv_prog_gcc=yes
|
ac_cv_prog_gcc=yes
|
||||||
else
|
else
|
||||||
ac_cv_prog_gcc=no
|
ac_cv_prog_gcc=no
|
||||||
@ -1512,13 +1528,13 @@ else
|
|||||||
# On the NeXT, cc -E runs the code through the compiler's parser,
|
# On the NeXT, cc -E runs the code through the compiler's parser,
|
||||||
# not just through cpp.
|
# not just through cpp.
|
||||||
cat > conftest.$ac_ext <<EOF
|
cat > conftest.$ac_ext <<EOF
|
||||||
#line 1516 "configure"
|
#line 1532 "configure"
|
||||||
#include "confdefs.h"
|
#include "confdefs.h"
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
Syntax Error
|
Syntax Error
|
||||||
EOF
|
EOF
|
||||||
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
|
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
|
||||||
{ (eval echo configure:1522: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
{ (eval echo configure:1538: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||||
ac_err=`grep -v '^ *+' conftest.out`
|
ac_err=`grep -v '^ *+' conftest.out`
|
||||||
if test -z "$ac_err"; then
|
if test -z "$ac_err"; then
|
||||||
:
|
:
|
||||||
@ -1527,13 +1543,13 @@ else
|
|||||||
rm -rf conftest*
|
rm -rf conftest*
|
||||||
CPP="${CC-cc} -E -traditional-cpp"
|
CPP="${CC-cc} -E -traditional-cpp"
|
||||||
cat > conftest.$ac_ext <<EOF
|
cat > conftest.$ac_ext <<EOF
|
||||||
#line 1531 "configure"
|
#line 1547 "configure"
|
||||||
#include "confdefs.h"
|
#include "confdefs.h"
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
Syntax Error
|
Syntax Error
|
||||||
EOF
|
EOF
|
||||||
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
|
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
|
||||||
{ (eval echo configure:1537: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
{ (eval echo configure:1553: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||||
ac_err=`grep -v '^ *+' conftest.out`
|
ac_err=`grep -v '^ *+' conftest.out`
|
||||||
if test -z "$ac_err"; then
|
if test -z "$ac_err"; then
|
||||||
:
|
:
|
||||||
@ -1561,12 +1577,12 @@ if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
|
|||||||
echo $ac_n "(cached) $ac_c" 1>&6
|
echo $ac_n "(cached) $ac_c" 1>&6
|
||||||
else
|
else
|
||||||
cat > conftest.$ac_ext <<EOF
|
cat > conftest.$ac_ext <<EOF
|
||||||
#line 1565 "configure"
|
#line 1581 "configure"
|
||||||
#include "confdefs.h"
|
#include "confdefs.h"
|
||||||
#include <$ac_hdr>
|
#include <$ac_hdr>
|
||||||
EOF
|
EOF
|
||||||
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
|
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
|
||||||
{ (eval echo configure:1570: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
{ (eval echo configure:1586: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
|
||||||
ac_err=`grep -v '^ *+' conftest.out`
|
ac_err=`grep -v '^ *+' conftest.out`
|
||||||
if test -z "$ac_err"; then
|
if test -z "$ac_err"; then
|
||||||
rm -rf conftest*
|
rm -rf conftest*
|
||||||
@ -1614,11 +1630,11 @@ else
|
|||||||
ac_cv_c_cross=yes
|
ac_cv_c_cross=yes
|
||||||
else
|
else
|
||||||
cat > conftest.$ac_ext <<EOF
|
cat > conftest.$ac_ext <<EOF
|
||||||
#line 1618 "configure"
|
#line 1634 "configure"
|
||||||
#include "confdefs.h"
|
#include "confdefs.h"
|
||||||
main(){return(0);}
|
main(){return(0);}
|
||||||
EOF
|
EOF
|
||||||
{ (eval echo configure:1622: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }
|
{ (eval echo configure:1638: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }
|
||||||
if test -s conftest && (./conftest; exit) 2>/dev/null; then
|
if test -s conftest && (./conftest; exit) 2>/dev/null; then
|
||||||
ac_cv_c_cross=no
|
ac_cv_c_cross=no
|
||||||
else
|
else
|
||||||
@ -1638,7 +1654,7 @@ if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then
|
|||||||
echo $ac_n "(cached) $ac_c" 1>&6
|
echo $ac_n "(cached) $ac_c" 1>&6
|
||||||
else
|
else
|
||||||
cat > conftest.$ac_ext <<EOF
|
cat > conftest.$ac_ext <<EOF
|
||||||
#line 1642 "configure"
|
#line 1658 "configure"
|
||||||
#include "confdefs.h"
|
#include "confdefs.h"
|
||||||
#include <alloca.h>
|
#include <alloca.h>
|
||||||
int main() { return 0; }
|
int main() { return 0; }
|
||||||
@ -1646,7 +1662,7 @@ int t() {
|
|||||||
char *p = alloca(2 * sizeof(int));
|
char *p = alloca(2 * sizeof(int));
|
||||||
; return 0; }
|
; return 0; }
|
||||||
EOF
|
EOF
|
||||||
if { (eval echo configure:1650: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
|
if { (eval echo configure:1666: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
|
||||||
rm -rf conftest*
|
rm -rf conftest*
|
||||||
ac_cv_header_alloca_h=yes
|
ac_cv_header_alloca_h=yes
|
||||||
else
|
else
|
||||||
@ -1670,7 +1686,7 @@ if eval "test \"`echo '$''{'ac_cv_func_alloca'+set}'`\" = set"; then
|
|||||||
echo $ac_n "(cached) $ac_c" 1>&6
|
echo $ac_n "(cached) $ac_c" 1>&6
|
||||||
else
|
else
|
||||||
cat > conftest.$ac_ext <<EOF
|
cat > conftest.$ac_ext <<EOF
|
||||||
#line 1674 "configure"
|
#line 1690 "configure"
|
||||||
#include "confdefs.h"
|
#include "confdefs.h"
|
||||||
|
|
||||||
#ifdef __GNUC__
|
#ifdef __GNUC__
|
||||||
@ -1694,7 +1710,7 @@ int t() {
|
|||||||
char *p = (char *) alloca(1);
|
char *p = (char *) alloca(1);
|
||||||
; return 0; }
|
; return 0; }
|
||||||
EOF
|
EOF
|
||||||
if { (eval echo configure:1698: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
|
if { (eval echo configure:1714: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
|
||||||
rm -rf conftest*
|
rm -rf conftest*
|
||||||
ac_cv_func_alloca=yes
|
ac_cv_func_alloca=yes
|
||||||
else
|
else
|
||||||
@ -1729,7 +1745,7 @@ if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then
|
|||||||
echo $ac_n "(cached) $ac_c" 1>&6
|
echo $ac_n "(cached) $ac_c" 1>&6
|
||||||
else
|
else
|
||||||
cat > conftest.$ac_ext <<EOF
|
cat > conftest.$ac_ext <<EOF
|
||||||
#line 1733 "configure"
|
#line 1749 "configure"
|
||||||
#include "confdefs.h"
|
#include "confdefs.h"
|
||||||
#if defined(CRAY) && ! defined(CRAY2)
|
#if defined(CRAY) && ! defined(CRAY2)
|
||||||
webecray
|
webecray
|
||||||
@ -1758,7 +1774,7 @@ if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
|
|||||||
echo $ac_n "(cached) $ac_c" 1>&6
|
echo $ac_n "(cached) $ac_c" 1>&6
|
||||||
else
|
else
|
||||||
cat > conftest.$ac_ext <<EOF
|
cat > conftest.$ac_ext <<EOF
|
||||||
#line 1762 "configure"
|
#line 1778 "configure"
|
||||||
#include "confdefs.h"
|
#include "confdefs.h"
|
||||||
/* System header to define __stub macros and hopefully few prototypes,
|
/* System header to define __stub macros and hopefully few prototypes,
|
||||||
which can conflict with char $ac_func(); below. */
|
which can conflict with char $ac_func(); below. */
|
||||||
@ -1780,7 +1796,7 @@ $ac_func();
|
|||||||
|
|
||||||
; return 0; }
|
; return 0; }
|
||||||
EOF
|
EOF
|
||||||
if { (eval echo configure:1784: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
|
if { (eval echo configure:1800: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
|
||||||
rm -rf conftest*
|
rm -rf conftest*
|
||||||
eval "ac_cv_func_$ac_func=yes"
|
eval "ac_cv_func_$ac_func=yes"
|
||||||
else
|
else
|
||||||
@ -1812,7 +1828,7 @@ else
|
|||||||
ac_cv_c_stack_direction=0
|
ac_cv_c_stack_direction=0
|
||||||
else
|
else
|
||||||
cat > conftest.$ac_ext <<EOF
|
cat > conftest.$ac_ext <<EOF
|
||||||
#line 1816 "configure"
|
#line 1832 "configure"
|
||||||
#include "confdefs.h"
|
#include "confdefs.h"
|
||||||
find_stack_direction ()
|
find_stack_direction ()
|
||||||
{
|
{
|
||||||
@ -1831,7 +1847,7 @@ main ()
|
|||||||
exit (find_stack_direction() < 0);
|
exit (find_stack_direction() < 0);
|
||||||
}
|
}
|
||||||
EOF
|
EOF
|
||||||
{ (eval echo configure:1835: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }
|
{ (eval echo configure:1851: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }
|
||||||
if test -s conftest && (./conftest; exit) 2>/dev/null; then
|
if test -s conftest && (./conftest; exit) 2>/dev/null; then
|
||||||
ac_cv_c_stack_direction=1
|
ac_cv_c_stack_direction=1
|
||||||
else
|
else
|
||||||
@ -1855,7 +1871,7 @@ else
|
|||||||
ac_cv_c_inline=no
|
ac_cv_c_inline=no
|
||||||
for ac_kw in inline __inline__ __inline; do
|
for ac_kw in inline __inline__ __inline; do
|
||||||
cat > conftest.$ac_ext <<EOF
|
cat > conftest.$ac_ext <<EOF
|
||||||
#line 1859 "configure"
|
#line 1875 "configure"
|
||||||
#include "confdefs.h"
|
#include "confdefs.h"
|
||||||
|
|
||||||
int main() { return 0; }
|
int main() { return 0; }
|
||||||
@ -1863,7 +1879,7 @@ int t() {
|
|||||||
} $ac_kw foo() {
|
} $ac_kw foo() {
|
||||||
; return 0; }
|
; return 0; }
|
||||||
EOF
|
EOF
|
||||||
if { (eval echo configure:1867: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
if { (eval echo configure:1883: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
|
||||||
rm -rf conftest*
|
rm -rf conftest*
|
||||||
ac_cv_c_inline=$ac_kw; break
|
ac_cv_c_inline=$ac_kw; break
|
||||||
fi
|
fi
|
||||||
@ -1895,7 +1911,7 @@ if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
|
|||||||
echo $ac_n "(cached) $ac_c" 1>&6
|
echo $ac_n "(cached) $ac_c" 1>&6
|
||||||
else
|
else
|
||||||
cat > conftest.$ac_ext <<EOF
|
cat > conftest.$ac_ext <<EOF
|
||||||
#line 1899 "configure"
|
#line 1915 "configure"
|
||||||
#include "confdefs.h"
|
#include "confdefs.h"
|
||||||
/* System header to define __stub macros and hopefully few prototypes,
|
/* System header to define __stub macros and hopefully few prototypes,
|
||||||
which can conflict with char $ac_func(); below. */
|
which can conflict with char $ac_func(); below. */
|
||||||
@ -1917,7 +1933,7 @@ $ac_func();
|
|||||||
|
|
||||||
; return 0; }
|
; return 0; }
|
||||||
EOF
|
EOF
|
||||||
if { (eval echo configure:1921: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
|
if { (eval echo configure:1937: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
|
||||||
rm -rf conftest*
|
rm -rf conftest*
|
||||||
eval "ac_cv_func_$ac_func=yes"
|
eval "ac_cv_func_$ac_func=yes"
|
||||||
else
|
else
|
||||||
@ -1948,7 +1964,7 @@ if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
|
|||||||
echo $ac_n "(cached) $ac_c" 1>&6
|
echo $ac_n "(cached) $ac_c" 1>&6
|
||||||
else
|
else
|
||||||
cat > conftest.$ac_ext <<EOF
|
cat > conftest.$ac_ext <<EOF
|
||||||
#line 1952 "configure"
|
#line 1968 "configure"
|
||||||
#include "confdefs.h"
|
#include "confdefs.h"
|
||||||
/* System header to define __stub macros and hopefully few prototypes,
|
/* System header to define __stub macros and hopefully few prototypes,
|
||||||
which can conflict with char $ac_func(); below. */
|
which can conflict with char $ac_func(); below. */
|
||||||
@ -1970,7 +1986,7 @@ $ac_func();
|
|||||||
|
|
||||||
; return 0; }
|
; return 0; }
|
||||||
EOF
|
EOF
|
||||||
if { (eval echo configure:1974: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
|
if { (eval echo configure:1990: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
|
||||||
rm -rf conftest*
|
rm -rf conftest*
|
||||||
eval "ac_cv_func_$ac_func=yes"
|
eval "ac_cv_func_$ac_func=yes"
|
||||||
else
|
else
|
||||||
@ -2001,7 +2017,7 @@ if eval "test \"`echo '$''{'gas_cv_assert_ok'+set}'`\" = set"; then
|
|||||||
echo $ac_n "(cached) $ac_c" 1>&6
|
echo $ac_n "(cached) $ac_c" 1>&6
|
||||||
else
|
else
|
||||||
cat > conftest.$ac_ext <<EOF
|
cat > conftest.$ac_ext <<EOF
|
||||||
#line 2005 "configure"
|
#line 2021 "configure"
|
||||||
#include "confdefs.h"
|
#include "confdefs.h"
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
@ -2018,7 +2034,7 @@ assert (a == b
|
|||||||
|
|
||||||
; return 0; }
|
; return 0; }
|
||||||
EOF
|
EOF
|
||||||
if { (eval echo configure:2022: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
|
if { (eval echo configure:2038: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
|
||||||
rm -rf conftest*
|
rm -rf conftest*
|
||||||
gas_cv_assert_ok=yes
|
gas_cv_assert_ok=yes
|
||||||
else
|
else
|
||||||
@ -2058,7 +2074,7 @@ if eval "test \"`echo '$''{'gas_cv_decl_needed_malloc'+set}'`\" = set"; then
|
|||||||
echo $ac_n "(cached) $ac_c" 1>&6
|
echo $ac_n "(cached) $ac_c" 1>&6
|
||||||
else
|
else
|
||||||
cat > conftest.$ac_ext <<EOF
|
cat > conftest.$ac_ext <<EOF
|
||||||
#line 2062 "configure"
|
#line 2078 "configure"
|
||||||
#include "confdefs.h"
|
#include "confdefs.h"
|
||||||
$gas_test_headers
|
$gas_test_headers
|
||||||
int main() { return 0; }
|
int main() { return 0; }
|
||||||
@ -2070,7 +2086,7 @@ x = (f) malloc;
|
|||||||
|
|
||||||
; return 0; }
|
; return 0; }
|
||||||
EOF
|
EOF
|
||||||
if { (eval echo configure:2074: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
|
if { (eval echo configure:2090: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
|
||||||
rm -rf conftest*
|
rm -rf conftest*
|
||||||
gas_cv_decl_needed_malloc=no
|
gas_cv_decl_needed_malloc=no
|
||||||
else
|
else
|
||||||
@ -2094,7 +2110,7 @@ if eval "test \"`echo '$''{'gas_cv_decl_needed_free'+set}'`\" = set"; then
|
|||||||
echo $ac_n "(cached) $ac_c" 1>&6
|
echo $ac_n "(cached) $ac_c" 1>&6
|
||||||
else
|
else
|
||||||
cat > conftest.$ac_ext <<EOF
|
cat > conftest.$ac_ext <<EOF
|
||||||
#line 2098 "configure"
|
#line 2114 "configure"
|
||||||
#include "confdefs.h"
|
#include "confdefs.h"
|
||||||
$gas_test_headers
|
$gas_test_headers
|
||||||
int main() { return 0; }
|
int main() { return 0; }
|
||||||
@ -2106,7 +2122,7 @@ x = (f) free;
|
|||||||
|
|
||||||
; return 0; }
|
; return 0; }
|
||||||
EOF
|
EOF
|
||||||
if { (eval echo configure:2110: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
|
if { (eval echo configure:2126: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
|
||||||
rm -rf conftest*
|
rm -rf conftest*
|
||||||
gas_cv_decl_needed_free=no
|
gas_cv_decl_needed_free=no
|
||||||
else
|
else
|
||||||
@ -2133,7 +2149,7 @@ if eval "test \"`echo '$''{'gas_cv_decl_needed_errno'+set}'`\" = set"; then
|
|||||||
echo $ac_n "(cached) $ac_c" 1>&6
|
echo $ac_n "(cached) $ac_c" 1>&6
|
||||||
else
|
else
|
||||||
cat > conftest.$ac_ext <<EOF
|
cat > conftest.$ac_ext <<EOF
|
||||||
#line 2137 "configure"
|
#line 2153 "configure"
|
||||||
#include "confdefs.h"
|
#include "confdefs.h"
|
||||||
|
|
||||||
#ifdef HAVE_ERRNO_H
|
#ifdef HAVE_ERRNO_H
|
||||||
@ -2149,7 +2165,7 @@ x = (f) errno;
|
|||||||
|
|
||||||
; return 0; }
|
; return 0; }
|
||||||
EOF
|
EOF
|
||||||
if { (eval echo configure:2153: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
|
if { (eval echo configure:2169: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
|
||||||
rm -rf conftest*
|
rm -rf conftest*
|
||||||
gas_cv_decl_needed_errno=no
|
gas_cv_decl_needed_errno=no
|
||||||
else
|
else
|
||||||
|
@ -26,9 +26,13 @@ esac])dnl
|
|||||||
AC_ARG_ENABLE(shared,
|
AC_ARG_ENABLE(shared,
|
||||||
[ --enable-shared build shared BFD library],
|
[ --enable-shared build shared BFD library],
|
||||||
[case "${enableval}" in
|
[case "${enableval}" in
|
||||||
yes) shared=true ;;
|
yes) shared=true shared_bfd=true shared_opcodes=true ;;
|
||||||
no) shared=false ;;
|
no) shared=false ;;
|
||||||
*) AC_MSG_ERROR([bad value ${enableval} for BFD shared option]) ;;
|
*bfd*opcodes*) shared=true shared_bfd=true shared_opcodes=true ;;
|
||||||
|
*opcodes*bfd*) shared=true shared_bfd=true shared_opcodes=true ;;
|
||||||
|
*bfd*) shared=true shared_bfd=true ;;
|
||||||
|
*opcodes*) shared=true shared_opcodes=true ;;
|
||||||
|
*) shared=false ;;
|
||||||
esac])dnl
|
esac])dnl
|
||||||
|
|
||||||
# Generate a header file -- gets more post-processing by Makefile later.
|
# Generate a header file -- gets more post-processing by Makefile later.
|
||||||
@ -230,6 +234,18 @@ changequote([,])dnl
|
|||||||
*) targ=ppc-lit ;;
|
*) targ=ppc-lit ;;
|
||||||
esac
|
esac
|
||||||
;;
|
;;
|
||||||
|
ppc-*-linux*) fmt=elf
|
||||||
|
case "$endian" in
|
||||||
|
big) targ=ppc-big ;;
|
||||||
|
*) AC_MSG_ERROR(Linux must be configured big endian) ;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
ppc-*-solaris*) fmt=elf
|
||||||
|
case "$endian" in
|
||||||
|
big) AC_MSG_ERROR(Solaris must be configured little endian) ;;
|
||||||
|
*) targ=ppc-sol ;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
ppc-*-macos* | ppc-*-mpw*)
|
ppc-*-macos* | ppc-*-mpw*)
|
||||||
fmt=coff em=macos ;;
|
fmt=coff em=macos ;;
|
||||||
ppc-*-netware*) fmt=elf em=ppcnw ;;
|
ppc-*-netware*) fmt=elf em=ppcnw ;;
|
||||||
@ -300,7 +316,7 @@ changequote([,])dnl
|
|||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
need_opcodes=yes
|
need_opcodes=yes
|
||||||
if test "${shared}" = "true"; then
|
if test "${shared_opcodes}" = "true"; then
|
||||||
# A shared libopcodes must be linked against libbfd.
|
# A shared libopcodes must be linked against libbfd.
|
||||||
need_bfd=yes
|
need_bfd=yes
|
||||||
fi
|
fi
|
||||||
@ -519,7 +535,7 @@ case "${need_opcodes}" in
|
|||||||
OPCODES_LIB='-L../opcodes -lopcodes'
|
OPCODES_LIB='-L../opcodes -lopcodes'
|
||||||
|
|
||||||
# We need to handle some special cases if opcodes was built shared.
|
# We need to handle some special cases if opcodes was built shared.
|
||||||
if test "${shared}" = "true"; then
|
if test "${shared_opcodes}" = "true"; then
|
||||||
case "${host}" in
|
case "${host}" in
|
||||||
*-*-sunos*)
|
*-*-sunos*)
|
||||||
# On SunOS, we must link against the name we are going to install,
|
# On SunOS, we must link against the name we are going to install,
|
||||||
@ -540,7 +556,7 @@ case "${need_bfd}" in
|
|||||||
ALL_OBJ_DEPS="$ALL_OBJ_DEPS ../bfd/bfd.h"
|
ALL_OBJ_DEPS="$ALL_OBJ_DEPS ../bfd/bfd.h"
|
||||||
|
|
||||||
# We need to handle some special cases if BFD was built shared.
|
# We need to handle some special cases if BFD was built shared.
|
||||||
if test "${shared}" = "true"; then
|
if test "${shared_bfd}" = "true"; then
|
||||||
case "${host}" in
|
case "${host}" in
|
||||||
*-*-sunos*)
|
*-*-sunos*)
|
||||||
# On SunOS, we must link against the name we are going to install,
|
# On SunOS, we must link against the name we are going to install,
|
||||||
|
Reference in New Issue
Block a user