URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
Compare Revisions
- This comparison shows the changes necessary to convert path
/openrisc/trunk/gnu-old/newlib-1.17.0/libgloss/mep
- from Rev 158 to Rev 816
- ↔ Reverse comparison
Rev 158 → Rev 816
/configure
0,0 → 1,3711
#! /bin/sh |
# Guess values for system-dependent variables and create Makefiles. |
# Generated by GNU Autoconf 2.61. |
# |
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, |
# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. |
# This configure script is free software; the Free Software Foundation |
# gives unlimited permission to copy, distribute and modify it. |
## --------------------- ## |
## M4sh Initialization. ## |
## --------------------- ## |
|
# Be more Bourne compatible |
DUALCASE=1; export DUALCASE # for MKS sh |
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then |
emulate sh |
NULLCMD=: |
# Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which |
# is contrary to our usage. Disable this feature. |
alias -g '${1+"$@"}'='"$@"' |
setopt NO_GLOB_SUBST |
else |
case `(set -o) 2>/dev/null` in |
*posix*) set -o posix ;; |
esac |
|
fi |
|
|
|
|
# PATH needs CR |
# Avoid depending upon Character Ranges. |
as_cr_letters='abcdefghijklmnopqrstuvwxyz' |
as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' |
as_cr_Letters=$as_cr_letters$as_cr_LETTERS |
as_cr_digits='0123456789' |
as_cr_alnum=$as_cr_Letters$as_cr_digits |
|
# The user is always right. |
if test "${PATH_SEPARATOR+set}" != set; then |
echo "#! /bin/sh" >conf$$.sh |
echo "exit 0" >>conf$$.sh |
chmod +x conf$$.sh |
if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then |
PATH_SEPARATOR=';' |
else |
PATH_SEPARATOR=: |
fi |
rm -f conf$$.sh |
fi |
|
# Support unset when possible. |
if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then |
as_unset=unset |
else |
as_unset=false |
fi |
|
|
# IFS |
# We need space, tab and new line, in precisely that order. Quoting is |
# there to prevent editors from complaining about space-tab. |
# (If _AS_PATH_WALK were called with IFS unset, it would disable word |
# splitting by setting IFS to empty value.) |
as_nl=' |
' |
IFS=" "" $as_nl" |
|
# Find who we are. Look in the path if we contain no directory separator. |
case $0 in |
*[\\/]* ) as_myself=$0 ;; |
*) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR |
for as_dir in $PATH |
do |
IFS=$as_save_IFS |
test -z "$as_dir" && as_dir=. |
test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break |
done |
IFS=$as_save_IFS |
|
;; |
esac |
# We did not find ourselves, most probably we were run as `sh COMMAND' |
# in which case we are not to be found in the path. |
if test "x$as_myself" = x; then |
as_myself=$0 |
fi |
if test ! -f "$as_myself"; then |
echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 |
{ (exit 1); exit 1; } |
fi |
|
# Work around bugs in pre-3.0 UWIN ksh. |
for as_var in ENV MAIL MAILPATH |
do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var |
done |
PS1='$ ' |
PS2='> ' |
PS4='+ ' |
|
# NLS nuisances. |
for as_var in \ |
LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ |
LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ |
LC_TELEPHONE LC_TIME |
do |
if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then |
eval $as_var=C; export $as_var |
else |
($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var |
fi |
done |
|
# Required to use basename. |
if expr a : '\(a\)' >/dev/null 2>&1 && |
test "X`expr 00001 : '.*\(...\)'`" = X001; then |
as_expr=expr |
else |
as_expr=false |
fi |
|
if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then |
as_basename=basename |
else |
as_basename=false |
fi |
|
|
# Name of the executable. |
as_me=`$as_basename -- "$0" || |
$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ |
X"$0" : 'X\(//\)$' \| \ |
X"$0" : 'X\(/\)' \| . 2>/dev/null || |
echo X/"$0" | |
sed '/^.*\/\([^/][^/]*\)\/*$/{ |
s//\1/ |
q |
} |
/^X\/\(\/\/\)$/{ |
s//\1/ |
q |
} |
/^X\/\(\/\).*/{ |
s//\1/ |
q |
} |
s/.*/./; q'` |
|
# CDPATH. |
$as_unset CDPATH |
|
|
if test "x$CONFIG_SHELL" = x; then |
if (eval ":") 2>/dev/null; then |
as_have_required=yes |
else |
as_have_required=no |
fi |
|
if test $as_have_required = yes && (eval ": |
(as_func_return () { |
(exit \$1) |
} |
as_func_success () { |
as_func_return 0 |
} |
as_func_failure () { |
as_func_return 1 |
} |
as_func_ret_success () { |
return 0 |
} |
as_func_ret_failure () { |
return 1 |
} |
|
exitcode=0 |
if as_func_success; then |
: |
else |
exitcode=1 |
echo as_func_success failed. |
fi |
|
if as_func_failure; then |
exitcode=1 |
echo as_func_failure succeeded. |
fi |
|
if as_func_ret_success; then |
: |
else |
exitcode=1 |
echo as_func_ret_success failed. |
fi |
|
if as_func_ret_failure; then |
exitcode=1 |
echo as_func_ret_failure succeeded. |
fi |
|
if ( set x; as_func_ret_success y && test x = \"\$1\" ); then |
: |
else |
exitcode=1 |
echo positional parameters were not saved. |
fi |
|
test \$exitcode = 0) || { (exit 1); exit 1; } |
|
( |
as_lineno_1=\$LINENO |
as_lineno_2=\$LINENO |
test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && |
test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } |
") 2> /dev/null; then |
: |
else |
as_candidate_shells= |
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR |
for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH |
do |
IFS=$as_save_IFS |
test -z "$as_dir" && as_dir=. |
case $as_dir in |
/*) |
for as_base in sh bash ksh sh5; do |
as_candidate_shells="$as_candidate_shells $as_dir/$as_base" |
done;; |
esac |
done |
IFS=$as_save_IFS |
|
|
for as_shell in $as_candidate_shells $SHELL; do |
# Try only shells that exist, to save several forks. |
if { test -f "$as_shell" || test -f "$as_shell.exe"; } && |
{ ("$as_shell") 2> /dev/null <<\_ASEOF |
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then |
emulate sh |
NULLCMD=: |
# Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which |
# is contrary to our usage. Disable this feature. |
alias -g '${1+"$@"}'='"$@"' |
setopt NO_GLOB_SUBST |
else |
case `(set -o) 2>/dev/null` in |
*posix*) set -o posix ;; |
esac |
|
fi |
|
|
: |
_ASEOF |
}; then |
CONFIG_SHELL=$as_shell |
as_have_required=yes |
if { "$as_shell" 2> /dev/null <<\_ASEOF |
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then |
emulate sh |
NULLCMD=: |
# Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which |
# is contrary to our usage. Disable this feature. |
alias -g '${1+"$@"}'='"$@"' |
setopt NO_GLOB_SUBST |
else |
case `(set -o) 2>/dev/null` in |
*posix*) set -o posix ;; |
esac |
|
fi |
|
|
: |
(as_func_return () { |
(exit $1) |
} |
as_func_success () { |
as_func_return 0 |
} |
as_func_failure () { |
as_func_return 1 |
} |
as_func_ret_success () { |
return 0 |
} |
as_func_ret_failure () { |
return 1 |
} |
|
exitcode=0 |
if as_func_success; then |
: |
else |
exitcode=1 |
echo as_func_success failed. |
fi |
|
if as_func_failure; then |
exitcode=1 |
echo as_func_failure succeeded. |
fi |
|
if as_func_ret_success; then |
: |
else |
exitcode=1 |
echo as_func_ret_success failed. |
fi |
|
if as_func_ret_failure; then |
exitcode=1 |
echo as_func_ret_failure succeeded. |
fi |
|
if ( set x; as_func_ret_success y && test x = "$1" ); then |
: |
else |
exitcode=1 |
echo positional parameters were not saved. |
fi |
|
test $exitcode = 0) || { (exit 1); exit 1; } |
|
( |
as_lineno_1=$LINENO |
as_lineno_2=$LINENO |
test "x$as_lineno_1" != "x$as_lineno_2" && |
test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; } |
|
_ASEOF |
}; then |
break |
fi |
|
fi |
|
done |
|
if test "x$CONFIG_SHELL" != x; then |
for as_var in BASH_ENV ENV |
do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var |
done |
export CONFIG_SHELL |
exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} |
fi |
|
|
if test $as_have_required = no; then |
echo This script requires a shell more modern than all the |
echo shells that I found on your system. Please install a |
echo modern shell, or manually run the script under such a |
echo shell if you do have one. |
{ (exit 1); exit 1; } |
fi |
|
|
fi |
|
fi |
|
|
|
(eval "as_func_return () { |
(exit \$1) |
} |
as_func_success () { |
as_func_return 0 |
} |
as_func_failure () { |
as_func_return 1 |
} |
as_func_ret_success () { |
return 0 |
} |
as_func_ret_failure () { |
return 1 |
} |
|
exitcode=0 |
if as_func_success; then |
: |
else |
exitcode=1 |
echo as_func_success failed. |
fi |
|
if as_func_failure; then |
exitcode=1 |
echo as_func_failure succeeded. |
fi |
|
if as_func_ret_success; then |
: |
else |
exitcode=1 |
echo as_func_ret_success failed. |
fi |
|
if as_func_ret_failure; then |
exitcode=1 |
echo as_func_ret_failure succeeded. |
fi |
|
if ( set x; as_func_ret_success y && test x = \"\$1\" ); then |
: |
else |
exitcode=1 |
echo positional parameters were not saved. |
fi |
|
test \$exitcode = 0") || { |
echo No shell found that supports shell functions. |
echo Please tell autoconf@gnu.org about your system, |
echo including any error possibly output before this |
echo message |
} |
|
|
|
as_lineno_1=$LINENO |
as_lineno_2=$LINENO |
test "x$as_lineno_1" != "x$as_lineno_2" && |
test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { |
|
# Create $as_me.lineno as a copy of $as_myself, but with $LINENO |
# uniformly replaced by the line number. The first 'sed' inserts a |
# line-number line after each line using $LINENO; the second 'sed' |
# does the real work. The second script uses 'N' to pair each |
# line-number line with the line containing $LINENO, and appends |
# trailing '-' during substitution so that $LINENO is not a special |
# case at line end. |
# (Raja R Harinath suggested sed '=', and Paul Eggert wrote the |
# scripts with optimization help from Paolo Bonzini. Blame Lee |
# E. McMahon (1931-1989) for sed's syntax. :-) |
sed -n ' |
p |
/[$]LINENO/= |
' <$as_myself | |
sed ' |
s/[$]LINENO.*/&-/ |
t lineno |
b |
:lineno |
N |
:loop |
s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ |
t loop |
s/-\n.*// |
' >$as_me.lineno && |
chmod +x "$as_me.lineno" || |
{ echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 |
{ (exit 1); exit 1; }; } |
|
# Don't try to exec as it changes $[0], causing all sort of problems |
# (the dirname of $[0] is not the place where we might find the |
# original and so on. Autoconf is especially sensitive to this). |
. "./$as_me.lineno" |
# Exit status is that of the last command. |
exit |
} |
|
|
if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then |
as_dirname=dirname |
else |
as_dirname=false |
fi |
|
ECHO_C= ECHO_N= ECHO_T= |
case `echo -n x` in |
-n*) |
case `echo 'x\c'` in |
*c*) ECHO_T=' ';; # ECHO_T is single tab character. |
*) ECHO_C='\c';; |
esac;; |
*) |
ECHO_N='-n';; |
esac |
|
if expr a : '\(a\)' >/dev/null 2>&1 && |
test "X`expr 00001 : '.*\(...\)'`" = X001; then |
as_expr=expr |
else |
as_expr=false |
fi |
|
rm -f conf$$ conf$$.exe conf$$.file |
if test -d conf$$.dir; then |
rm -f conf$$.dir/conf$$.file |
else |
rm -f conf$$.dir |
mkdir conf$$.dir |
fi |
echo >conf$$.file |
if ln -s conf$$.file conf$$ 2>/dev/null; then |
as_ln_s='ln -s' |
# ... but there are two gotchas: |
# 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. |
# 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. |
# In both cases, we have to default to `cp -p'. |
ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || |
as_ln_s='cp -p' |
elif ln conf$$.file conf$$ 2>/dev/null; then |
as_ln_s=ln |
else |
as_ln_s='cp -p' |
fi |
rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file |
rmdir conf$$.dir 2>/dev/null |
|
if mkdir -p . 2>/dev/null; then |
as_mkdir_p=: |
else |
test -d ./-p && rmdir ./-p |
as_mkdir_p=false |
fi |
|
if test -x / >/dev/null 2>&1; then |
as_test_x='test -x' |
else |
if ls -dL / >/dev/null 2>&1; then |
as_ls_L_option=L |
else |
as_ls_L_option= |
fi |
as_test_x=' |
eval sh -c '\'' |
if test -d "$1"; then |
test -d "$1/."; |
else |
case $1 in |
-*)set "./$1";; |
esac; |
case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in |
???[sx]*):;;*)false;;esac;fi |
'\'' sh |
' |
fi |
as_executable_p=$as_test_x |
|
# Sed expression to map a string onto a valid CPP name. |
as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" |
|
# Sed expression to map a string onto a valid variable name. |
as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" |
|
|
|
exec 7<&0 </dev/null 6>&1 |
|
# Name of the host. |
# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, |
# so uname gets run too. |
ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` |
|
# |
# Initializations. |
# |
ac_default_prefix=/usr/local |
ac_clean_files= |
ac_config_libobj_dir=. |
LIBOBJS= |
cross_compiling=no |
subdirs= |
MFLAGS= |
MAKEFLAGS= |
SHELL=${CONFIG_SHELL-/bin/sh} |
|
# Identity of this package. |
PACKAGE_NAME= |
PACKAGE_TARNAME= |
PACKAGE_VERSION= |
PACKAGE_STRING= |
PACKAGE_BUGREPORT= |
|
ac_unique_file="crt0.S" |
ac_subst_vars='SHELL |
PATH_SEPARATOR |
PACKAGE_NAME |
PACKAGE_TARNAME |
PACKAGE_VERSION |
PACKAGE_STRING |
PACKAGE_BUGREPORT |
exec_prefix |
prefix |
program_transform_name |
bindir |
sbindir |
libexecdir |
datarootdir |
datadir |
sysconfdir |
sharedstatedir |
localstatedir |
includedir |
oldincludedir |
docdir |
infodir |
htmldir |
dvidir |
pdfdir |
psdir |
libdir |
localedir |
mandir |
DEFS |
ECHO_C |
ECHO_N |
ECHO_T |
LIBS |
build_alias |
host_alias |
target_alias |
build |
build_cpu |
build_vendor |
build_os |
host |
host_cpu |
host_vendor |
host_os |
target |
target_cpu |
target_vendor |
target_os |
INSTALL_PROGRAM |
INSTALL_SCRIPT |
INSTALL_DATA |
CC |
am__leading_dot |
DEPDIR |
am__include |
am__quote |
AMDEP_TRUE |
AMDEP_FALSE |
AMDEPBACKSLASH |
CCDEPMODE |
am__fastdepCC_TRUE |
am__fastdepCC_FALSE |
AS |
AR |
LD |
RANLIB |
host_makefile_frag_path |
LIBOBJS |
LTLIBOBJS' |
ac_subst_files='host_makefile_frag' |
ac_precious_vars='build_alias |
host_alias |
target_alias' |
|
|
# Initialize some variables set by options. |
ac_init_help= |
ac_init_version=false |
# The variables have the same names as the options, with |
# dashes changed to underlines. |
cache_file=/dev/null |
exec_prefix=NONE |
no_create= |
no_recursion= |
prefix=NONE |
program_prefix=NONE |
program_suffix=NONE |
program_transform_name=s,x,x, |
silent= |
site= |
srcdir= |
verbose= |
x_includes=NONE |
x_libraries=NONE |
|
# Installation directory options. |
# These are left unexpanded so users can "make install exec_prefix=/foo" |
# and all the variables that are supposed to be based on exec_prefix |
# by default will actually change. |
# Use braces instead of parens because sh, perl, etc. also accept them. |
# (The list follows the same order as the GNU Coding Standards.) |
bindir='${exec_prefix}/bin' |
sbindir='${exec_prefix}/sbin' |
libexecdir='${exec_prefix}/libexec' |
datarootdir='${prefix}/share' |
datadir='${datarootdir}' |
sysconfdir='${prefix}/etc' |
sharedstatedir='${prefix}/com' |
localstatedir='${prefix}/var' |
includedir='${prefix}/include' |
oldincludedir='/usr/include' |
docdir='${datarootdir}/doc/${PACKAGE}' |
infodir='${datarootdir}/info' |
htmldir='${docdir}' |
dvidir='${docdir}' |
pdfdir='${docdir}' |
psdir='${docdir}' |
libdir='${exec_prefix}/lib' |
localedir='${datarootdir}/locale' |
mandir='${datarootdir}/man' |
|
ac_prev= |
ac_dashdash= |
for ac_option |
do |
# If the previous option needs an argument, assign it. |
if test -n "$ac_prev"; then |
eval $ac_prev=\$ac_option |
ac_prev= |
continue |
fi |
|
case $ac_option in |
*=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; |
*) ac_optarg=yes ;; |
esac |
|
# Accept the important Cygnus configure options, so we can diagnose typos. |
|
case $ac_dashdash$ac_option in |
--) |
ac_dashdash=yes ;; |
|
-bindir | --bindir | --bindi | --bind | --bin | --bi) |
ac_prev=bindir ;; |
-bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) |
bindir=$ac_optarg ;; |
|
-build | --build | --buil | --bui | --bu) |
ac_prev=build_alias ;; |
-build=* | --build=* | --buil=* | --bui=* | --bu=*) |
build_alias=$ac_optarg ;; |
|
-cache-file | --cache-file | --cache-fil | --cache-fi \ |
| --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) |
ac_prev=cache_file ;; |
-cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ |
| --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) |
cache_file=$ac_optarg ;; |
|
--config-cache | -C) |
cache_file=config.cache ;; |
|
-datadir | --datadir | --datadi | --datad) |
ac_prev=datadir ;; |
-datadir=* | --datadir=* | --datadi=* | --datad=*) |
datadir=$ac_optarg ;; |
|
-datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ |
| --dataroo | --dataro | --datar) |
ac_prev=datarootdir ;; |
-datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ |
| --dataroot=* | --dataroo=* | --dataro=* | --datar=*) |
datarootdir=$ac_optarg ;; |
|
-disable-* | --disable-*) |
ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` |
# Reject names that are not valid shell variable names. |
expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && |
{ echo "$as_me: error: invalid feature name: $ac_feature" >&2 |
{ (exit 1); exit 1; }; } |
ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` |
eval enable_$ac_feature=no ;; |
|
-docdir | --docdir | --docdi | --doc | --do) |
ac_prev=docdir ;; |
-docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) |
docdir=$ac_optarg ;; |
|
-dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) |
ac_prev=dvidir ;; |
-dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) |
dvidir=$ac_optarg ;; |
|
-enable-* | --enable-*) |
ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` |
# Reject names that are not valid shell variable names. |
expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && |
{ echo "$as_me: error: invalid feature name: $ac_feature" >&2 |
{ (exit 1); exit 1; }; } |
ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` |
eval enable_$ac_feature=\$ac_optarg ;; |
|
-exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ |
| --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ |
| --exec | --exe | --ex) |
ac_prev=exec_prefix ;; |
-exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ |
| --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ |
| --exec=* | --exe=* | --ex=*) |
exec_prefix=$ac_optarg ;; |
|
-gas | --gas | --ga | --g) |
# Obsolete; use --with-gas. |
with_gas=yes ;; |
|
-help | --help | --hel | --he | -h) |
ac_init_help=long ;; |
-help=r* | --help=r* | --hel=r* | --he=r* | -hr*) |
ac_init_help=recursive ;; |
-help=s* | --help=s* | --hel=s* | --he=s* | -hs*) |
ac_init_help=short ;; |
|
-host | --host | --hos | --ho) |
ac_prev=host_alias ;; |
-host=* | --host=* | --hos=* | --ho=*) |
host_alias=$ac_optarg ;; |
|
-htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) |
ac_prev=htmldir ;; |
-htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ |
| --ht=*) |
htmldir=$ac_optarg ;; |
|
-includedir | --includedir | --includedi | --included | --include \ |
| --includ | --inclu | --incl | --inc) |
ac_prev=includedir ;; |
-includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ |
| --includ=* | --inclu=* | --incl=* | --inc=*) |
includedir=$ac_optarg ;; |
|
-infodir | --infodir | --infodi | --infod | --info | --inf) |
ac_prev=infodir ;; |
-infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) |
infodir=$ac_optarg ;; |
|
-libdir | --libdir | --libdi | --libd) |
ac_prev=libdir ;; |
-libdir=* | --libdir=* | --libdi=* | --libd=*) |
libdir=$ac_optarg ;; |
|
-libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ |
| --libexe | --libex | --libe) |
ac_prev=libexecdir ;; |
-libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ |
| --libexe=* | --libex=* | --libe=*) |
libexecdir=$ac_optarg ;; |
|
-localedir | --localedir | --localedi | --localed | --locale) |
ac_prev=localedir ;; |
-localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) |
localedir=$ac_optarg ;; |
|
-localstatedir | --localstatedir | --localstatedi | --localstated \ |
| --localstate | --localstat | --localsta | --localst | --locals) |
ac_prev=localstatedir ;; |
-localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ |
| --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) |
localstatedir=$ac_optarg ;; |
|
-mandir | --mandir | --mandi | --mand | --man | --ma | --m) |
ac_prev=mandir ;; |
-mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) |
mandir=$ac_optarg ;; |
|
-nfp | --nfp | --nf) |
# Obsolete; use --without-fp. |
with_fp=no ;; |
|
-no-create | --no-create | --no-creat | --no-crea | --no-cre \ |
| --no-cr | --no-c | -n) |
no_create=yes ;; |
|
-no-recursion | --no-recursion | --no-recursio | --no-recursi \ |
| --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) |
no_recursion=yes ;; |
|
-oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ |
| --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ |
| --oldin | --oldi | --old | --ol | --o) |
ac_prev=oldincludedir ;; |
-oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ |
| --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ |
| --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) |
oldincludedir=$ac_optarg ;; |
|
-prefix | --prefix | --prefi | --pref | --pre | --pr | --p) |
ac_prev=prefix ;; |
-prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) |
prefix=$ac_optarg ;; |
|
-program-prefix | --program-prefix | --program-prefi | --program-pref \ |
| --program-pre | --program-pr | --program-p) |
ac_prev=program_prefix ;; |
-program-prefix=* | --program-prefix=* | --program-prefi=* \ |
| --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) |
program_prefix=$ac_optarg ;; |
|
-program-suffix | --program-suffix | --program-suffi | --program-suff \ |
| --program-suf | --program-su | --program-s) |
ac_prev=program_suffix ;; |
-program-suffix=* | --program-suffix=* | --program-suffi=* \ |
| --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) |
program_suffix=$ac_optarg ;; |
|
-program-transform-name | --program-transform-name \ |
| --program-transform-nam | --program-transform-na \ |
| --program-transform-n | --program-transform- \ |
| --program-transform | --program-transfor \ |
| --program-transfo | --program-transf \ |
| --program-trans | --program-tran \ |
| --progr-tra | --program-tr | --program-t) |
ac_prev=program_transform_name ;; |
-program-transform-name=* | --program-transform-name=* \ |
| --program-transform-nam=* | --program-transform-na=* \ |
| --program-transform-n=* | --program-transform-=* \ |
| --program-transform=* | --program-transfor=* \ |
| --program-transfo=* | --program-transf=* \ |
| --program-trans=* | --program-tran=* \ |
| --progr-tra=* | --program-tr=* | --program-t=*) |
program_transform_name=$ac_optarg ;; |
|
-pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) |
ac_prev=pdfdir ;; |
-pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) |
pdfdir=$ac_optarg ;; |
|
-psdir | --psdir | --psdi | --psd | --ps) |
ac_prev=psdir ;; |
-psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) |
psdir=$ac_optarg ;; |
|
-q | -quiet | --quiet | --quie | --qui | --qu | --q \ |
| -silent | --silent | --silen | --sile | --sil) |
silent=yes ;; |
|
-sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) |
ac_prev=sbindir ;; |
-sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ |
| --sbi=* | --sb=*) |
sbindir=$ac_optarg ;; |
|
-sharedstatedir | --sharedstatedir | --sharedstatedi \ |
| --sharedstated | --sharedstate | --sharedstat | --sharedsta \ |
| --sharedst | --shareds | --shared | --share | --shar \ |
| --sha | --sh) |
ac_prev=sharedstatedir ;; |
-sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ |
| --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ |
| --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ |
| --sha=* | --sh=*) |
sharedstatedir=$ac_optarg ;; |
|
-site | --site | --sit) |
ac_prev=site ;; |
-site=* | --site=* | --sit=*) |
site=$ac_optarg ;; |
|
-srcdir | --srcdir | --srcdi | --srcd | --src | --sr) |
ac_prev=srcdir ;; |
-srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) |
srcdir=$ac_optarg ;; |
|
-sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ |
| --syscon | --sysco | --sysc | --sys | --sy) |
ac_prev=sysconfdir ;; |
-sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ |
| --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) |
sysconfdir=$ac_optarg ;; |
|
-target | --target | --targe | --targ | --tar | --ta | --t) |
ac_prev=target_alias ;; |
-target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) |
target_alias=$ac_optarg ;; |
|
-v | -verbose | --verbose | --verbos | --verbo | --verb) |
verbose=yes ;; |
|
-version | --version | --versio | --versi | --vers | -V) |
ac_init_version=: ;; |
|
-with-* | --with-*) |
ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` |
# Reject names that are not valid shell variable names. |
expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && |
{ echo "$as_me: error: invalid package name: $ac_package" >&2 |
{ (exit 1); exit 1; }; } |
ac_package=`echo $ac_package | sed 's/[-.]/_/g'` |
eval with_$ac_package=\$ac_optarg ;; |
|
-without-* | --without-*) |
ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` |
# Reject names that are not valid shell variable names. |
expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && |
{ echo "$as_me: error: invalid package name: $ac_package" >&2 |
{ (exit 1); exit 1; }; } |
ac_package=`echo $ac_package | sed 's/[-.]/_/g'` |
eval with_$ac_package=no ;; |
|
--x) |
# Obsolete; use --with-x. |
with_x=yes ;; |
|
-x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ |
| --x-incl | --x-inc | --x-in | --x-i) |
ac_prev=x_includes ;; |
-x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ |
| --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) |
x_includes=$ac_optarg ;; |
|
-x-libraries | --x-libraries | --x-librarie | --x-librari \ |
| --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) |
ac_prev=x_libraries ;; |
-x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ |
| --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) |
x_libraries=$ac_optarg ;; |
|
-*) { echo "$as_me: error: unrecognized option: $ac_option |
Try \`$0 --help' for more information." >&2 |
{ (exit 1); exit 1; }; } |
;; |
|
*=*) |
ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` |
# Reject names that are not valid shell variable names. |
expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && |
{ echo "$as_me: error: invalid variable name: $ac_envvar" >&2 |
{ (exit 1); exit 1; }; } |
eval $ac_envvar=\$ac_optarg |
export $ac_envvar ;; |
|
*) |
# FIXME: should be removed in autoconf 3.0. |
echo "$as_me: WARNING: you should use --build, --host, --target" >&2 |
expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && |
echo "$as_me: WARNING: invalid host type: $ac_option" >&2 |
: ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} |
;; |
|
esac |
done |
|
if test -n "$ac_prev"; then |
ac_option=--`echo $ac_prev | sed 's/_/-/g'` |
{ echo "$as_me: error: missing argument to $ac_option" >&2 |
{ (exit 1); exit 1; }; } |
fi |
|
# Be sure to have absolute directory names. |
for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ |
datadir sysconfdir sharedstatedir localstatedir includedir \ |
oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ |
libdir localedir mandir |
do |
eval ac_val=\$$ac_var |
case $ac_val in |
[\\/$]* | ?:[\\/]* ) continue;; |
NONE | '' ) case $ac_var in *prefix ) continue;; esac;; |
esac |
{ echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 |
{ (exit 1); exit 1; }; } |
done |
|
# There might be people who depend on the old broken behavior: `$host' |
# used to hold the argument of --host etc. |
# FIXME: To remove some day. |
build=$build_alias |
host=$host_alias |
target=$target_alias |
|
# FIXME: To remove some day. |
if test "x$host_alias" != x; then |
if test "x$build_alias" = x; then |
cross_compiling=maybe |
echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. |
If a cross compiler is detected then cross compile mode will be used." >&2 |
elif test "x$build_alias" != "x$host_alias"; then |
cross_compiling=yes |
fi |
fi |
|
ac_tool_prefix= |
test -n "$host_alias" && ac_tool_prefix=$host_alias- |
|
test "$silent" = yes && exec 6>/dev/null |
|
|
ac_pwd=`pwd` && test -n "$ac_pwd" && |
ac_ls_di=`ls -di .` && |
ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || |
{ echo "$as_me: error: Working directory cannot be determined" >&2 |
{ (exit 1); exit 1; }; } |
test "X$ac_ls_di" = "X$ac_pwd_ls_di" || |
{ echo "$as_me: error: pwd does not report name of working directory" >&2 |
{ (exit 1); exit 1; }; } |
|
|
# Find the source files, if location was not specified. |
if test -z "$srcdir"; then |
ac_srcdir_defaulted=yes |
# Try the directory containing this script, then the parent directory. |
ac_confdir=`$as_dirname -- "$0" || |
$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ |
X"$0" : 'X\(//\)[^/]' \| \ |
X"$0" : 'X\(//\)$' \| \ |
X"$0" : 'X\(/\)' \| . 2>/dev/null || |
echo X"$0" | |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ |
s//\1/ |
q |
} |
/^X\(\/\/\)[^/].*/{ |
s//\1/ |
q |
} |
/^X\(\/\/\)$/{ |
s//\1/ |
q |
} |
/^X\(\/\).*/{ |
s//\1/ |
q |
} |
s/.*/./; q'` |
srcdir=$ac_confdir |
if test ! -r "$srcdir/$ac_unique_file"; then |
srcdir=.. |
fi |
else |
ac_srcdir_defaulted=no |
fi |
if test ! -r "$srcdir/$ac_unique_file"; then |
test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." |
{ echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 |
{ (exit 1); exit 1; }; } |
fi |
ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" |
ac_abs_confdir=`( |
cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2 |
{ (exit 1); exit 1; }; } |
pwd)` |
# When building in place, set srcdir=. |
if test "$ac_abs_confdir" = "$ac_pwd"; then |
srcdir=. |
fi |
# Remove unnecessary trailing slashes from srcdir. |
# Double slashes in file names in object file debugging info |
# mess up M-x gdb in Emacs. |
case $srcdir in |
*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; |
esac |
for ac_var in $ac_precious_vars; do |
eval ac_env_${ac_var}_set=\${${ac_var}+set} |
eval ac_env_${ac_var}_value=\$${ac_var} |
eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} |
eval ac_cv_env_${ac_var}_value=\$${ac_var} |
done |
|
# |
# Report the --help message. |
# |
if test "$ac_init_help" = "long"; then |
# Omit some internal or obsolete options to make the list less imposing. |
# This message is too long to be a string in the A/UX 3.1 sh. |
cat <<_ACEOF |
\`configure' configures this package to adapt to many kinds of systems. |
|
Usage: $0 [OPTION]... [VAR=VALUE]... |
|
To assign environment variables (e.g., CC, CFLAGS...), specify them as |
VAR=VALUE. See below for descriptions of some of the useful variables. |
|
Defaults for the options are specified in brackets. |
|
Configuration: |
-h, --help display this help and exit |
--help=short display options specific to this package |
--help=recursive display the short help of all the included packages |
-V, --version display version information and exit |
-q, --quiet, --silent do not print \`checking...' messages |
--cache-file=FILE cache test results in FILE [disabled] |
-C, --config-cache alias for \`--cache-file=config.cache' |
-n, --no-create do not create output files |
--srcdir=DIR find the sources in DIR [configure dir or \`..'] |
|
Installation directories: |
--prefix=PREFIX install architecture-independent files in PREFIX |
[$ac_default_prefix] |
--exec-prefix=EPREFIX install architecture-dependent files in EPREFIX |
[PREFIX] |
|
By default, \`make install' will install all the files in |
\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify |
an installation prefix other than \`$ac_default_prefix' using \`--prefix', |
for instance \`--prefix=\$HOME'. |
|
For better control, use the options below. |
|
Fine tuning of the installation directories: |
--bindir=DIR user executables [EPREFIX/bin] |
--sbindir=DIR system admin executables [EPREFIX/sbin] |
--libexecdir=DIR program executables [EPREFIX/libexec] |
--sysconfdir=DIR read-only single-machine data [PREFIX/etc] |
--sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] |
--localstatedir=DIR modifiable single-machine data [PREFIX/var] |
--libdir=DIR object code libraries [EPREFIX/lib] |
--includedir=DIR C header files [PREFIX/include] |
--oldincludedir=DIR C header files for non-gcc [/usr/include] |
--datarootdir=DIR read-only arch.-independent data root [PREFIX/share] |
--datadir=DIR read-only architecture-independent data [DATAROOTDIR] |
--infodir=DIR info documentation [DATAROOTDIR/info] |
--localedir=DIR locale-dependent data [DATAROOTDIR/locale] |
--mandir=DIR man documentation [DATAROOTDIR/man] |
--docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE] |
--htmldir=DIR html documentation [DOCDIR] |
--dvidir=DIR dvi documentation [DOCDIR] |
--pdfdir=DIR pdf documentation [DOCDIR] |
--psdir=DIR ps documentation [DOCDIR] |
_ACEOF |
|
cat <<\_ACEOF |
|
Program names: |
--program-prefix=PREFIX prepend PREFIX to installed program names |
--program-suffix=SUFFIX append SUFFIX to installed program names |
--program-transform-name=PROGRAM run sed PROGRAM on installed program names |
|
System types: |
--build=BUILD configure for building on BUILD [guessed] |
--host=HOST cross-compile to build programs to run on HOST [BUILD] |
--target=TARGET configure for building compilers for TARGET [HOST] |
_ACEOF |
fi |
|
if test -n "$ac_init_help"; then |
|
cat <<\_ACEOF |
|
Optional Features: |
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) |
--enable-FEATURE[=ARG] include FEATURE [ARG=yes] |
--disable-dependency-tracking speeds up one-time build |
--enable-dependency-tracking do not reject slow dependency extractors |
|
_ACEOF |
ac_status=$? |
fi |
|
if test "$ac_init_help" = "recursive"; then |
# If there are subdirs, report their specific --help. |
for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue |
test -d "$ac_dir" || continue |
ac_builddir=. |
|
case "$ac_dir" in |
.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; |
*) |
ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` |
# A ".." for each directory in $ac_dir_suffix. |
ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` |
case $ac_top_builddir_sub in |
"") ac_top_builddir_sub=. ac_top_build_prefix= ;; |
*) ac_top_build_prefix=$ac_top_builddir_sub/ ;; |
esac ;; |
esac |
ac_abs_top_builddir=$ac_pwd |
ac_abs_builddir=$ac_pwd$ac_dir_suffix |
# for backward compatibility: |
ac_top_builddir=$ac_top_build_prefix |
|
case $srcdir in |
.) # We are building in place. |
ac_srcdir=. |
ac_top_srcdir=$ac_top_builddir_sub |
ac_abs_top_srcdir=$ac_pwd ;; |
[\\/]* | ?:[\\/]* ) # Absolute name. |
ac_srcdir=$srcdir$ac_dir_suffix; |
ac_top_srcdir=$srcdir |
ac_abs_top_srcdir=$srcdir ;; |
*) # Relative name. |
ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix |
ac_top_srcdir=$ac_top_build_prefix$srcdir |
ac_abs_top_srcdir=$ac_pwd/$srcdir ;; |
esac |
ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix |
|
cd "$ac_dir" || { ac_status=$?; continue; } |
# Check for guested configure. |
if test -f "$ac_srcdir/configure.gnu"; then |
echo && |
$SHELL "$ac_srcdir/configure.gnu" --help=recursive |
elif test -f "$ac_srcdir/configure"; then |
echo && |
$SHELL "$ac_srcdir/configure" --help=recursive |
else |
echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 |
fi || ac_status=$? |
cd "$ac_pwd" || { ac_status=$?; break; } |
done |
fi |
|
test -n "$ac_init_help" && exit $ac_status |
if $ac_init_version; then |
cat <<\_ACEOF |
configure |
generated by GNU Autoconf 2.61 |
|
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, |
2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. |
This configure script is free software; the Free Software Foundation |
gives unlimited permission to copy, distribute and modify it. |
_ACEOF |
exit |
fi |
cat >config.log <<_ACEOF |
This file contains any messages produced by compilers while |
running configure, to aid debugging if configure makes a mistake. |
|
It was created by $as_me, which was |
generated by GNU Autoconf 2.61. Invocation command line was |
|
$ $0 $@ |
|
_ACEOF |
exec 5>>config.log |
{ |
cat <<_ASUNAME |
## --------- ## |
## Platform. ## |
## --------- ## |
|
hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` |
uname -m = `(uname -m) 2>/dev/null || echo unknown` |
uname -r = `(uname -r) 2>/dev/null || echo unknown` |
uname -s = `(uname -s) 2>/dev/null || echo unknown` |
uname -v = `(uname -v) 2>/dev/null || echo unknown` |
|
/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` |
/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` |
|
/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` |
/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` |
/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` |
/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` |
/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` |
/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` |
/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` |
|
_ASUNAME |
|
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR |
for as_dir in $PATH |
do |
IFS=$as_save_IFS |
test -z "$as_dir" && as_dir=. |
echo "PATH: $as_dir" |
done |
IFS=$as_save_IFS |
|
} >&5 |
|
cat >&5 <<_ACEOF |
|
|
## ----------- ## |
## Core tests. ## |
## ----------- ## |
|
_ACEOF |
|
|
# Keep a trace of the command line. |
# Strip out --no-create and --no-recursion so they do not pile up. |
# Strip out --silent because we don't want to record it for future runs. |
# Also quote any args containing shell meta-characters. |
# Make two passes to allow for proper duplicate-argument suppression. |
ac_configure_args= |
ac_configure_args0= |
ac_configure_args1= |
ac_must_keep_next=false |
for ac_pass in 1 2 |
do |
for ac_arg |
do |
case $ac_arg in |
-no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; |
-q | -quiet | --quiet | --quie | --qui | --qu | --q \ |
| -silent | --silent | --silen | --sile | --sil) |
continue ;; |
*\'*) |
ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; |
esac |
case $ac_pass in |
1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; |
2) |
ac_configure_args1="$ac_configure_args1 '$ac_arg'" |
if test $ac_must_keep_next = true; then |
ac_must_keep_next=false # Got value, back to normal. |
else |
case $ac_arg in |
*=* | --config-cache | -C | -disable-* | --disable-* \ |
| -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ |
| -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ |
| -with-* | --with-* | -without-* | --without-* | --x) |
case "$ac_configure_args0 " in |
"$ac_configure_args1"*" '$ac_arg' "* ) continue ;; |
esac |
;; |
-* ) ac_must_keep_next=true ;; |
esac |
fi |
ac_configure_args="$ac_configure_args '$ac_arg'" |
;; |
esac |
done |
done |
$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } |
$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } |
|
# When interrupted or exit'd, cleanup temporary files, and complete |
# config.log. We remove comments because anyway the quotes in there |
# would cause problems or look ugly. |
# WARNING: Use '\'' to represent an apostrophe within the trap. |
# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. |
trap 'exit_status=$? |
# Save into config.log some information that might help in debugging. |
{ |
echo |
|
cat <<\_ASBOX |
## ---------------- ## |
## Cache variables. ## |
## ---------------- ## |
_ASBOX |
echo |
# The following way of writing the cache mishandles newlines in values, |
( |
for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do |
eval ac_val=\$$ac_var |
case $ac_val in #( |
*${as_nl}*) |
case $ac_var in #( |
*_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 |
echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; |
esac |
case $ac_var in #( |
_ | IFS | as_nl) ;; #( |
*) $as_unset $ac_var ;; |
esac ;; |
esac |
done |
(set) 2>&1 | |
case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( |
*${as_nl}ac_space=\ *) |
sed -n \ |
"s/'\''/'\''\\\\'\'''\''/g; |
s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" |
;; #( |
*) |
sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" |
;; |
esac | |
sort |
) |
echo |
|
cat <<\_ASBOX |
## ----------------- ## |
## Output variables. ## |
## ----------------- ## |
_ASBOX |
echo |
for ac_var in $ac_subst_vars |
do |
eval ac_val=\$$ac_var |
case $ac_val in |
*\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; |
esac |
echo "$ac_var='\''$ac_val'\''" |
done | sort |
echo |
|
if test -n "$ac_subst_files"; then |
cat <<\_ASBOX |
## ------------------- ## |
## File substitutions. ## |
## ------------------- ## |
_ASBOX |
echo |
for ac_var in $ac_subst_files |
do |
eval ac_val=\$$ac_var |
case $ac_val in |
*\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; |
esac |
echo "$ac_var='\''$ac_val'\''" |
done | sort |
echo |
fi |
|
if test -s confdefs.h; then |
cat <<\_ASBOX |
## ----------- ## |
## confdefs.h. ## |
## ----------- ## |
_ASBOX |
echo |
cat confdefs.h |
echo |
fi |
test "$ac_signal" != 0 && |
echo "$as_me: caught signal $ac_signal" |
echo "$as_me: exit $exit_status" |
} >&5 |
rm -f core *.core core.conftest.* && |
rm -f -r conftest* confdefs* conf$$* $ac_clean_files && |
exit $exit_status |
' 0 |
for ac_signal in 1 2 13 15; do |
trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal |
done |
ac_signal=0 |
|
# confdefs.h avoids OS command line length limits that DEFS can exceed. |
rm -f -r conftest* confdefs.h |
|
# Predefined preprocessor variables. |
|
cat >>confdefs.h <<_ACEOF |
#define PACKAGE_NAME "$PACKAGE_NAME" |
_ACEOF |
|
|
cat >>confdefs.h <<_ACEOF |
#define PACKAGE_TARNAME "$PACKAGE_TARNAME" |
_ACEOF |
|
|
cat >>confdefs.h <<_ACEOF |
#define PACKAGE_VERSION "$PACKAGE_VERSION" |
_ACEOF |
|
|
cat >>confdefs.h <<_ACEOF |
#define PACKAGE_STRING "$PACKAGE_STRING" |
_ACEOF |
|
|
cat >>confdefs.h <<_ACEOF |
#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" |
_ACEOF |
|
|
# Let the site file select an alternate cache file if it wants to. |
# Prefer explicitly selected file to automatically selected ones. |
if test -n "$CONFIG_SITE"; then |
set x "$CONFIG_SITE" |
elif test "x$prefix" != xNONE; then |
set x "$prefix/share/config.site" "$prefix/etc/config.site" |
else |
set x "$ac_default_prefix/share/config.site" \ |
"$ac_default_prefix/etc/config.site" |
fi |
shift |
for ac_site_file |
do |
if test -r "$ac_site_file"; then |
{ echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 |
echo "$as_me: loading site script $ac_site_file" >&6;} |
sed 's/^/| /' "$ac_site_file" >&5 |
. "$ac_site_file" |
fi |
done |
|
if test -r "$cache_file"; then |
# Some versions of bash will fail to source /dev/null (special |
# files actually), so we avoid doing that. |
if test -f "$cache_file"; then |
{ echo "$as_me:$LINENO: loading cache $cache_file" >&5 |
echo "$as_me: loading cache $cache_file" >&6;} |
case $cache_file in |
[\\/]* | ?:[\\/]* ) . "$cache_file";; |
*) . "./$cache_file";; |
esac |
fi |
else |
{ echo "$as_me:$LINENO: creating cache $cache_file" >&5 |
echo "$as_me: creating cache $cache_file" >&6;} |
>$cache_file |
fi |
|
# Check that the precious variables saved in the cache have kept the same |
# value. |
ac_cache_corrupted=false |
for ac_var in $ac_precious_vars; do |
eval ac_old_set=\$ac_cv_env_${ac_var}_set |
eval ac_new_set=\$ac_env_${ac_var}_set |
eval ac_old_val=\$ac_cv_env_${ac_var}_value |
eval ac_new_val=\$ac_env_${ac_var}_value |
case $ac_old_set,$ac_new_set in |
set,) |
{ echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 |
echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} |
ac_cache_corrupted=: ;; |
,set) |
{ echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 |
echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} |
ac_cache_corrupted=: ;; |
,);; |
*) |
if test "x$ac_old_val" != "x$ac_new_val"; then |
{ echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 |
echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} |
{ echo "$as_me:$LINENO: former value: $ac_old_val" >&5 |
echo "$as_me: former value: $ac_old_val" >&2;} |
{ echo "$as_me:$LINENO: current value: $ac_new_val" >&5 |
echo "$as_me: current value: $ac_new_val" >&2;} |
ac_cache_corrupted=: |
fi;; |
esac |
# Pass precious variables to config.status. |
if test "$ac_new_set" = set; then |
case $ac_new_val in |
*\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; |
*) ac_arg=$ac_var=$ac_new_val ;; |
esac |
case " $ac_configure_args " in |
*" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. |
*) ac_configure_args="$ac_configure_args '$ac_arg'" ;; |
esac |
fi |
done |
if $ac_cache_corrupted; then |
{ echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 |
echo "$as_me: error: changes in the environment can compromise the build" >&2;} |
{ { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 |
echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} |
{ (exit 1); exit 1; }; } |
fi |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ac_ext=c |
ac_cpp='$CPP $CPPFLAGS' |
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' |
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' |
ac_compiler_gnu=$ac_cv_c_compiler_gnu |
|
|
|
if test "${enable_shared}" = "yes" ; then |
echo "Shared libraries not supported for cross compiling, ignored" |
fi |
|
if test "$srcdir" = "." ; then |
if test "${with_target_subdir}" != "." ; then |
libgloss_topdir="${srcdir}/${with_multisrctop}../../.." |
else |
libgloss_topdir="${srcdir}/${with_multisrctop}../.." |
fi |
else |
libgloss_topdir="${srcdir}/../.." |
fi |
ac_aux_dir= |
for ac_dir in $libgloss_topdir "$srcdir"/$libgloss_topdir; do |
if test -f "$ac_dir/install-sh"; then |
ac_aux_dir=$ac_dir |
ac_install_sh="$ac_aux_dir/install-sh -c" |
break |
elif test -f "$ac_dir/install.sh"; then |
ac_aux_dir=$ac_dir |
ac_install_sh="$ac_aux_dir/install.sh -c" |
break |
elif test -f "$ac_dir/shtool"; then |
ac_aux_dir=$ac_dir |
ac_install_sh="$ac_aux_dir/shtool install -c" |
break |
fi |
done |
if test -z "$ac_aux_dir"; then |
{ { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in $libgloss_topdir \"$srcdir\"/$libgloss_topdir" >&5 |
echo "$as_me: error: cannot find install-sh or install.sh in $libgloss_topdir \"$srcdir\"/$libgloss_topdir" >&2;} |
{ (exit 1); exit 1; }; } |
fi |
|
# These three variables are undocumented and unsupported, |
# and are intended to be withdrawn in a future Autoconf release. |
# They can cause serious problems if a builder's source tree is in a directory |
# whose full name contains unusual characters. |
ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. |
ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. |
ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. |
|
|
|
# Make sure we can run config.sub. |
$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || |
{ { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5 |
echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;} |
{ (exit 1); exit 1; }; } |
|
{ echo "$as_me:$LINENO: checking build system type" >&5 |
echo $ECHO_N "checking build system type... $ECHO_C" >&6; } |
if test "${ac_cv_build+set}" = set; then |
echo $ECHO_N "(cached) $ECHO_C" >&6 |
else |
ac_build_alias=$build_alias |
test "x$ac_build_alias" = x && |
ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` |
test "x$ac_build_alias" = x && |
{ { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 |
echo "$as_me: error: cannot guess build type; you must specify one" >&2;} |
{ (exit 1); exit 1; }; } |
ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || |
{ { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5 |
echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;} |
{ (exit 1); exit 1; }; } |
|
fi |
{ echo "$as_me:$LINENO: result: $ac_cv_build" >&5 |
echo "${ECHO_T}$ac_cv_build" >&6; } |
case $ac_cv_build in |
*-*-*) ;; |
*) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5 |
echo "$as_me: error: invalid value of canonical build" >&2;} |
{ (exit 1); exit 1; }; };; |
esac |
build=$ac_cv_build |
ac_save_IFS=$IFS; IFS='-' |
set x $ac_cv_build |
shift |
build_cpu=$1 |
build_vendor=$2 |
shift; shift |
# Remember, the first character of IFS is used to create $*, |
# except with old shells: |
build_os=$* |
IFS=$ac_save_IFS |
case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac |
|
|
{ echo "$as_me:$LINENO: checking host system type" >&5 |
echo $ECHO_N "checking host system type... $ECHO_C" >&6; } |
if test "${ac_cv_host+set}" = set; then |
echo $ECHO_N "(cached) $ECHO_C" >&6 |
else |
if test "x$host_alias" = x; then |
ac_cv_host=$ac_cv_build |
else |
ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || |
{ { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5 |
echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;} |
{ (exit 1); exit 1; }; } |
fi |
|
fi |
{ echo "$as_me:$LINENO: result: $ac_cv_host" >&5 |
echo "${ECHO_T}$ac_cv_host" >&6; } |
case $ac_cv_host in |
*-*-*) ;; |
*) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5 |
echo "$as_me: error: invalid value of canonical host" >&2;} |
{ (exit 1); exit 1; }; };; |
esac |
host=$ac_cv_host |
ac_save_IFS=$IFS; IFS='-' |
set x $ac_cv_host |
shift |
host_cpu=$1 |
host_vendor=$2 |
shift; shift |
# Remember, the first character of IFS is used to create $*, |
# except with old shells: |
host_os=$* |
IFS=$ac_save_IFS |
case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac |
|
|
{ echo "$as_me:$LINENO: checking target system type" >&5 |
echo $ECHO_N "checking target system type... $ECHO_C" >&6; } |
if test "${ac_cv_target+set}" = set; then |
echo $ECHO_N "(cached) $ECHO_C" >&6 |
else |
if test "x$target_alias" = x; then |
ac_cv_target=$ac_cv_host |
else |
ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` || |
{ { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $target_alias failed" >&5 |
echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $target_alias failed" >&2;} |
{ (exit 1); exit 1; }; } |
fi |
|
fi |
{ echo "$as_me:$LINENO: result: $ac_cv_target" >&5 |
echo "${ECHO_T}$ac_cv_target" >&6; } |
case $ac_cv_target in |
*-*-*) ;; |
*) { { echo "$as_me:$LINENO: error: invalid value of canonical target" >&5 |
echo "$as_me: error: invalid value of canonical target" >&2;} |
{ (exit 1); exit 1; }; };; |
esac |
target=$ac_cv_target |
ac_save_IFS=$IFS; IFS='-' |
set x $ac_cv_target |
shift |
target_cpu=$1 |
target_vendor=$2 |
shift; shift |
# Remember, the first character of IFS is used to create $*, |
# except with old shells: |
target_os=$* |
IFS=$ac_save_IFS |
case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac |
|
|
# The aliases save the names the user supplied, while $host etc. |
# will get canonicalized. |
test -n "$target_alias" && |
test "$program_prefix$program_suffix$program_transform_name" = \ |
NONENONEs,x,x, && |
program_prefix=${target_alias}- |
test "$program_prefix" != NONE && |
program_transform_name="s&^&$program_prefix&;$program_transform_name" |
# Use a double $ so make ignores it. |
test "$program_suffix" != NONE && |
program_transform_name="s&\$&$program_suffix&;$program_transform_name" |
# Double any \ or $. echo might interpret backslashes. |
# By default was `s,x,x', remove it if useless. |
cat <<\_ACEOF >conftest.sed |
s/[\\$]/&&/g;s/;s,x,x,$// |
_ACEOF |
program_transform_name=`echo $program_transform_name | sed -f conftest.sed` |
rm -f conftest.sed |
|
|
# Find a good install program. We prefer a C program (faster), |
# so one script is as good as another. But avoid the broken or |
# incompatible versions: |
# SysV /etc/install, /usr/sbin/install |
# SunOS /usr/etc/install |
# IRIX /sbin/install |
# AIX /bin/install |
# AmigaOS /C/install, which installs bootblocks on floppy discs |
# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag |
# AFS /usr/afsws/bin/install, which mishandles nonexistent args |
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" |
# OS/2's system install, which has a completely different semantic |
# ./install, which can be erroneously created by make from ./install.sh. |
{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 |
echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; } |
if test -z "$INSTALL"; then |
if test "${ac_cv_path_install+set}" = set; then |
echo $ECHO_N "(cached) $ECHO_C" >&6 |
else |
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR |
for as_dir in $PATH |
do |
IFS=$as_save_IFS |
test -z "$as_dir" && as_dir=. |
# Account for people who put trailing slashes in PATH elements. |
case $as_dir/ in |
./ | .// | /cC/* | \ |
/etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ |
?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ |
/usr/ucb/* ) ;; |
*) |
# OSF1 and SCO ODT 3.0 have their own names for install. |
# Don't use installbsd from OSF since it installs stuff as root |
# by default. |
for ac_prog in ginstall scoinst install; do |
for ac_exec_ext in '' $ac_executable_extensions; do |
if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then |
if test $ac_prog = install && |
grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then |
# AIX install. It has an incompatible calling convention. |
: |
elif test $ac_prog = install && |
grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then |
# program-specific install script used by HP pwplus--don't use. |
: |
else |
ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" |
break 3 |
fi |
fi |
done |
done |
;; |
esac |
done |
IFS=$as_save_IFS |
|
|
fi |
if test "${ac_cv_path_install+set}" = set; then |
INSTALL=$ac_cv_path_install |
else |
# As a last resort, use the slow shell script. Don't cache a |
# value for INSTALL within a source directory, because that will |
# break other packages using the cache if that directory is |
# removed, or if the value is a relative name. |
INSTALL=$ac_install_sh |
fi |
fi |
{ echo "$as_me:$LINENO: result: $INSTALL" >&5 |
echo "${ECHO_T}$INSTALL" >&6; } |
|
# Use test -z because SunOS4 sh mishandles braces in ${var-val}. |
# It thinks the first close brace ends the variable substitution. |
test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' |
|
test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' |
|
test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' |
|
|
rm -rf .tst 2>/dev/null |
mkdir .tst 2>/dev/null |
if test -d .tst; then |
am__leading_dot=. |
else |
am__leading_dot=_ |
fi |
rmdir .tst 2>/dev/null |
|
DEPDIR="${am__leading_dot}deps" |
|
ac_config_commands="$ac_config_commands depfiles" |
|
|
am_make=${MAKE-make} |
cat > confinc << 'END' |
am__doit: |
@echo done |
.PHONY: am__doit |
END |
# If we don't find an include directive, just comment out the code. |
{ echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 |
echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6; } |
am__include="#" |
am__quote= |
_am_result=none |
# First try GNU make style include. |
echo "include confinc" > confmf |
# We grep out `Entering directory' and `Leaving directory' |
# messages which can occur if `w' ends up in MAKEFLAGS. |
# In particular we don't look at `^make:' because GNU make might |
# be invoked under some other name (usually "gmake"), in which |
# case it prints its new name instead of `make'. |
if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then |
am__include=include |
am__quote= |
_am_result=GNU |
fi |
# Now try BSD make style include. |
if test "$am__include" = "#"; then |
echo '.include "confinc"' > confmf |
if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then |
am__include=.include |
am__quote="\"" |
_am_result=BSD |
fi |
fi |
|
|
{ echo "$as_me:$LINENO: result: $_am_result" >&5 |
echo "${ECHO_T}$_am_result" >&6; } |
rm -f confinc confmf |
|
# Check whether --enable-dependency-tracking was given. |
if test "${enable_dependency_tracking+set}" = set; then |
enableval=$enable_dependency_tracking; |
fi |
|
if test "x$enable_dependency_tracking" != xno; then |
am_depcomp="$ac_aux_dir/depcomp" |
AMDEPBACKSLASH='\' |
fi |
|
|
if test "x$enable_dependency_tracking" != xno; then |
AMDEP_TRUE= |
AMDEP_FALSE='#' |
else |
AMDEP_TRUE='#' |
AMDEP_FALSE= |
fi |
|
|
|
# Extract the first word of "gcc", so it can be a program name with args. |
set dummy gcc; ac_word=$2 |
{ echo "$as_me:$LINENO: checking for $ac_word" >&5 |
echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } |
if test "${ac_cv_prog_CC+set}" = set; then |
echo $ECHO_N "(cached) $ECHO_C" >&6 |
else |
if test -n "$CC"; then |
ac_cv_prog_CC="$CC" # Let the user override the test. |
else |
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR |
for as_dir in $PATH |
do |
IFS=$as_save_IFS |
test -z "$as_dir" && as_dir=. |
for ac_exec_ext in '' $ac_executable_extensions; do |
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then |
ac_cv_prog_CC="gcc" |
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 |
break 2 |
fi |
done |
done |
IFS=$as_save_IFS |
|
fi |
fi |
CC=$ac_cv_prog_CC |
if test -n "$CC"; then |
{ echo "$as_me:$LINENO: result: $CC" >&5 |
echo "${ECHO_T}$CC" >&6; } |
else |
{ echo "$as_me:$LINENO: result: no" >&5 |
echo "${ECHO_T}no" >&6; } |
fi |
|
|
|
depcc="$CC" am_compiler_list= |
|
{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 |
echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } |
if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then |
echo $ECHO_N "(cached) $ECHO_C" >&6 |
else |
if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then |
# We make a subdir and do the tests there. Otherwise we can end up |
# making bogus files that we don't know about and never remove. For |
# instance it was reported that on HP-UX the gcc test will end up |
# making a dummy file named `D' -- because `-MD' means `put the output |
# in D'. |
mkdir conftest.dir |
# Copy depcomp to subdir because otherwise we won't find it if we're |
# using a relative directory. |
cp "$am_depcomp" conftest.dir |
cd conftest.dir |
# We will build objects and dependencies in a subdirectory because |
# it helps to detect inapplicable dependency modes. For instance |
# both Tru64's cc and ICC support -MD to output dependencies as a |
# side effect of compilation, but ICC will put the dependencies in |
# the current directory while Tru64 will put them in the object |
# directory. |
mkdir sub |
|
am_cv_CC_dependencies_compiler_type=none |
if test "$am_compiler_list" = ""; then |
am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` |
fi |
for depmode in $am_compiler_list; do |
# Setup a source with many dependencies, because some compilers |
# like to wrap large dependency lists on column 80 (with \), and |
# we should not choose a depcomp mode which is confused by this. |
# |
# We need to recreate these files for each test, as the compiler may |
# overwrite some of them when testing with obscure command lines. |
# This happens at least with the AIX C compiler. |
: > sub/conftest.c |
for i in 1 2 3 4 5 6; do |
echo '#include "conftst'$i'.h"' >> sub/conftest.c |
# Using `: > sub/conftst$i.h' creates only sub/conftst1.h with |
# Solaris 8's {/usr,}/bin/sh. |
touch sub/conftst$i.h |
done |
echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf |
|
case $depmode in |
nosideeffect) |
# after this tag, mechanisms are not by side-effect, so they'll |
# only be used when explicitly requested |
if test "x$enable_dependency_tracking" = xyes; then |
continue |
else |
break |
fi |
;; |
none) break ;; |
esac |
# We check with `-c' and `-o' for the sake of the "dashmstdout" |
# mode. It turns out that the SunPro C++ compiler does not properly |
# handle `-M -o', and we need to detect this. |
if depmode=$depmode \ |
source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ |
depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ |
$SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ |
>/dev/null 2>conftest.err && |
grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && |
grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && |
${MAKE-make} -s -f confmf > /dev/null 2>&1; then |
# icc doesn't choke on unknown options, it will just issue warnings |
# or remarks (even with -Werror). So we grep stderr for any message |
# that says an option was ignored or not supported. |
# When given -MP, icc 7.0 and 7.1 complain thusly: |
# icc: Command line warning: ignoring option '-M'; no argument required |
# The diagnosis changed in icc 8.0: |
# icc: Command line remark: option '-MP' not supported |
if (grep 'ignoring option' conftest.err || |
grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else |
am_cv_CC_dependencies_compiler_type=$depmode |
break |
fi |
fi |
done |
|
cd .. |
rm -rf conftest.dir |
else |
am_cv_CC_dependencies_compiler_type=none |
fi |
|
fi |
{ echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 |
echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; } |
CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type |
|
|
|
if |
test "x$enable_dependency_tracking" != xno \ |
&& test "$am_cv_CC_dependencies_compiler_type" = gcc3; then |
am__fastdepCC_TRUE= |
am__fastdepCC_FALSE='#' |
else |
am__fastdepCC_TRUE='#' |
am__fastdepCC_FALSE= |
fi |
|
|
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 "$as_me:$LINENO: checking for $ac_word" >&5 |
echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } |
if test "${ac_cv_prog_CC+set}" = set; then |
echo $ECHO_N "(cached) $ECHO_C" >&6 |
else |
if test -n "$CC"; then |
ac_cv_prog_CC="$CC" # Let the user override the test. |
else |
ac_prog_rejected=no |
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR |
for as_dir in $PATH |
do |
IFS=$as_save_IFS |
test -z "$as_dir" && as_dir=. |
for ac_exec_ext in '' $ac_executable_extensions; do |
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then |
if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then |
ac_prog_rejected=yes |
continue |
fi |
ac_cv_prog_CC="cc" |
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 |
break 2 |
fi |
done |
done |
IFS=$as_save_IFS |
|
if test $ac_prog_rejected = yes; then |
# We found a bogon in the path, so make sure we never use it. |
set dummy $ac_cv_prog_CC |
shift |
if test $# != 0; then |
# We chose a different compiler from the bogus one. |
# However, it has the same basename, so the bogon will be chosen |
# first if we set CC to just the basename; use the full file name. |
shift |
ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" |
fi |
fi |
fi |
fi |
CC=$ac_cv_prog_CC |
if test -n "$CC"; then |
{ echo "$as_me:$LINENO: result: $CC" >&5 |
echo "${ECHO_T}$CC" >&6; } |
else |
{ echo "$as_me:$LINENO: result: no" >&5 |
echo "${ECHO_T}no" >&6; } |
fi |
|
|
test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable cc found in \$PATH" >&5 |
echo "$as_me: error: no acceptable cc found in \$PATH" >&2;} |
{ (exit 1); exit 1; }; } |
fi |
|
{ echo "$as_me:$LINENO: checking whether we are using GNU C" >&5 |
echo $ECHO_N "checking whether we are using GNU C... $ECHO_C" >&6; } |
if test "${ac_cv_c_compiler_gnu+set}" = set; then |
echo $ECHO_N "(cached) $ECHO_C" >&6 |
else |
cat > conftest.c <<EOF |
#ifdef __GNUC__ |
yes; |
#endif |
EOF |
if { ac_try='${CC-cc} -E conftest.c' |
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 |
(eval $ac_try) 2>&5 |
ac_status=$? |
echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
(exit $ac_status); }; } | egrep yes >/dev/null 2>&1; then |
ac_cv_c_compiler_gnu=yes |
else |
ac_cv_c_compiler_gnu=no |
fi |
fi |
{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 |
echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; } |
|
if test $ac_cv_c_compiler_gnu = yes; then |
GCC=yes |
ac_test_CFLAGS="${CFLAGS+set}" |
ac_save_CFLAGS="$CFLAGS" |
CFLAGS= |
ac_test_CFLAGS=${CFLAGS+set} |
ac_save_CFLAGS=$CFLAGS |
{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 |
echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; } |
if test "${ac_cv_prog_cc_g+set}" = set; then |
echo $ECHO_N "(cached) $ECHO_C" >&6 |
else |
ac_save_c_werror_flag=$ac_c_werror_flag |
ac_c_werror_flag=yes |
ac_cv_prog_cc_g=no |
CFLAGS="-g" |
cat >conftest.$ac_ext <<_ACEOF |
/* confdefs.h. */ |
_ACEOF |
cat confdefs.h >>conftest.$ac_ext |
cat >>conftest.$ac_ext <<_ACEOF |
/* end confdefs.h. */ |
|
int |
main () |
{ |
|
; |
return 0; |
} |
_ACEOF |
rm -f conftest.$ac_objext |
if { (ac_try="$ac_compile" |
case "(($ac_try" in |
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; |
*) ac_try_echo=$ac_try;; |
esac |
eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 |
(eval "$ac_compile") 2>conftest.er1 |
ac_status=$? |
grep -v '^ *+' conftest.er1 >conftest.err |
rm -f conftest.er1 |
cat conftest.err >&5 |
echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
(exit $ac_status); } && { |
test -z "$ac_c_werror_flag" || |
test ! -s conftest.err |
} && test -s conftest.$ac_objext; then |
ac_cv_prog_cc_g=yes |
else |
echo "$as_me: failed program was:" >&5 |
sed 's/^/| /' conftest.$ac_ext >&5 |
|
CFLAGS="" |
cat >conftest.$ac_ext <<_ACEOF |
/* confdefs.h. */ |
_ACEOF |
cat confdefs.h >>conftest.$ac_ext |
cat >>conftest.$ac_ext <<_ACEOF |
/* end confdefs.h. */ |
|
int |
main () |
{ |
|
; |
return 0; |
} |
_ACEOF |
rm -f conftest.$ac_objext |
if { (ac_try="$ac_compile" |
case "(($ac_try" in |
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; |
*) ac_try_echo=$ac_try;; |
esac |
eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 |
(eval "$ac_compile") 2>conftest.er1 |
ac_status=$? |
grep -v '^ *+' conftest.er1 >conftest.err |
rm -f conftest.er1 |
cat conftest.err >&5 |
echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
(exit $ac_status); } && { |
test -z "$ac_c_werror_flag" || |
test ! -s conftest.err |
} && test -s conftest.$ac_objext; then |
: |
else |
echo "$as_me: failed program was:" >&5 |
sed 's/^/| /' conftest.$ac_ext >&5 |
|
ac_c_werror_flag=$ac_save_c_werror_flag |
CFLAGS="-g" |
cat >conftest.$ac_ext <<_ACEOF |
/* confdefs.h. */ |
_ACEOF |
cat confdefs.h >>conftest.$ac_ext |
cat >>conftest.$ac_ext <<_ACEOF |
/* end confdefs.h. */ |
|
int |
main () |
{ |
|
; |
return 0; |
} |
_ACEOF |
rm -f conftest.$ac_objext |
if { (ac_try="$ac_compile" |
case "(($ac_try" in |
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; |
*) ac_try_echo=$ac_try;; |
esac |
eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 |
(eval "$ac_compile") 2>conftest.er1 |
ac_status=$? |
grep -v '^ *+' conftest.er1 >conftest.err |
rm -f conftest.er1 |
cat conftest.err >&5 |
echo "$as_me:$LINENO: \$? = $ac_status" >&5 |
(exit $ac_status); } && { |
test -z "$ac_c_werror_flag" || |
test ! -s conftest.err |
} && test -s conftest.$ac_objext; then |
ac_cv_prog_cc_g=yes |
else |
echo "$as_me: failed program was:" >&5 |
sed 's/^/| /' conftest.$ac_ext >&5 |
|
|
fi |
|
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
fi |
|
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
fi |
|
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
ac_c_werror_flag=$ac_save_c_werror_flag |
fi |
{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 |
echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; } |
if test "$ac_test_CFLAGS" = set; then |
CFLAGS=$ac_save_CFLAGS |
elif test $ac_cv_prog_cc_g = yes; then |
if test "$GCC" = yes; then |
CFLAGS="-g -O2" |
else |
CFLAGS="-g" |
fi |
else |
if test "$GCC" = yes; then |
CFLAGS="-O2" |
else |
CFLAGS= |
fi |
fi |
if test "$ac_test_CFLAGS" = set; then |
CFLAGS="$ac_save_CFLAGS" |
elif test $ac_cv_prog_cc_g = yes; then |
CFLAGS="-g -O2" |
else |
CFLAGS="-O2" |
fi |
else |
GCC= |
test "${CFLAGS+set}" = set || CFLAGS="-g" |
fi |
|
AS=${AS-as} |
|
AR=${AR-ar} |
|
LD=${LD-ld} |
|
if test -n "$ac_tool_prefix"; then |
# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. |
set dummy ${ac_tool_prefix}ranlib; ac_word=$2 |
{ echo "$as_me:$LINENO: checking for $ac_word" >&5 |
echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } |
if test "${ac_cv_prog_RANLIB+set}" = set; then |
echo $ECHO_N "(cached) $ECHO_C" >&6 |
else |
if test -n "$RANLIB"; then |
ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. |
else |
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR |
for as_dir in $PATH |
do |
IFS=$as_save_IFS |
test -z "$as_dir" && as_dir=. |
for ac_exec_ext in '' $ac_executable_extensions; do |
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then |
ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" |
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 |
break 2 |
fi |
done |
done |
IFS=$as_save_IFS |
|
fi |
fi |
RANLIB=$ac_cv_prog_RANLIB |
if test -n "$RANLIB"; then |
{ echo "$as_me:$LINENO: result: $RANLIB" >&5 |
echo "${ECHO_T}$RANLIB" >&6; } |
else |
{ echo "$as_me:$LINENO: result: no" >&5 |
echo "${ECHO_T}no" >&6; } |
fi |
|
|
fi |
if test -z "$ac_cv_prog_RANLIB"; then |
ac_ct_RANLIB=$RANLIB |
# Extract the first word of "ranlib", so it can be a program name with args. |
set dummy ranlib; ac_word=$2 |
{ echo "$as_me:$LINENO: checking for $ac_word" >&5 |
echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } |
if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then |
echo $ECHO_N "(cached) $ECHO_C" >&6 |
else |
if test -n "$ac_ct_RANLIB"; then |
ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. |
else |
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR |
for as_dir in $PATH |
do |
IFS=$as_save_IFS |
test -z "$as_dir" && as_dir=. |
for ac_exec_ext in '' $ac_executable_extensions; do |
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then |
ac_cv_prog_ac_ct_RANLIB="ranlib" |
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 |
break 2 |
fi |
done |
done |
IFS=$as_save_IFS |
|
fi |
fi |
ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB |
if test -n "$ac_ct_RANLIB"; then |
{ echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 |
echo "${ECHO_T}$ac_ct_RANLIB" >&6; } |
else |
{ echo "$as_me:$LINENO: result: no" >&5 |
echo "${ECHO_T}no" >&6; } |
fi |
|
if test "x$ac_ct_RANLIB" = x; then |
RANLIB=":" |
else |
case $cross_compiling:$ac_tool_warned in |
yes:) |
{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools |
whose name does not start with the host triplet. If you think this |
configuration is useful to you, please write to autoconf@gnu.org." >&5 |
echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools |
whose name does not start with the host triplet. If you think this |
configuration is useful to you, please write to autoconf@gnu.org." >&2;} |
ac_tool_warned=yes ;; |
esac |
RANLIB=$ac_ct_RANLIB |
fi |
else |
RANLIB="$ac_cv_prog_RANLIB" |
fi |
|
|
host_makefile_frag=${srcdir}/../config/default.mh |
|
host_makefile_frag_path=$host_makefile_frag |
|
|
|
ac_config_files="$ac_config_files Makefile" |
|
cat >confcache <<\_ACEOF |
# This file is a shell script that caches the results of configure |
# tests run on this system so they can be shared between configure |
# scripts and configure runs, see configure's option --config-cache. |
# It is not useful on other systems. If it contains results you don't |
# want to keep, you may remove or edit it. |
# |
# config.status only pays attention to the cache file if you give it |
# the --recheck option to rerun configure. |
# |
# `ac_cv_env_foo' variables (set or unset) will be overridden when |
# loading this file, other *unset* `ac_cv_foo' will be assigned the |
# following values. |
|
_ACEOF |
|
# The following way of writing the cache mishandles newlines in values, |
# but we know of no workaround that is simple, portable, and efficient. |
# So, we kill variables containing newlines. |
# Ultrix sh set writes to stderr and can't be redirected directly, |
# and sets the high bit in the cache file unless we assign to the vars. |
( |
for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do |
eval ac_val=\$$ac_var |
case $ac_val in #( |
*${as_nl}*) |
case $ac_var in #( |
*_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 |
echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; |
esac |
case $ac_var in #( |
_ | IFS | as_nl) ;; #( |
*) $as_unset $ac_var ;; |
esac ;; |
esac |
done |
|
(set) 2>&1 | |
case $as_nl`(ac_space=' '; set) 2>&1` in #( |
*${as_nl}ac_space=\ *) |
# `set' does not quote correctly, so add quotes (double-quote |
# substitution turns \\\\ into \\, and sed turns \\ into \). |
sed -n \ |
"s/'/'\\\\''/g; |
s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" |
;; #( |
*) |
# `set' quotes correctly as required by POSIX, so do not add quotes. |
sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" |
;; |
esac | |
sort |
) | |
sed ' |
/^ac_cv_env_/b end |
t clear |
:clear |
s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ |
t end |
s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ |
:end' >>confcache |
if diff "$cache_file" confcache >/dev/null 2>&1; then :; else |
if test -w "$cache_file"; then |
test "x$cache_file" != "x/dev/null" && |
{ echo "$as_me:$LINENO: updating cache $cache_file" >&5 |
echo "$as_me: updating cache $cache_file" >&6;} |
cat confcache >$cache_file |
else |
{ echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 |
echo "$as_me: not updating unwritable cache $cache_file" >&6;} |
fi |
fi |
rm -f confcache |
|
test "x$prefix" = xNONE && prefix=$ac_default_prefix |
# Let make expand exec_prefix. |
test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' |
|
# Transform confdefs.h into DEFS. |
# Protect against shell expansion while executing Makefile rules. |
# Protect against Makefile macro expansion. |
# |
# If the first sed substitution is executed (which looks for macros that |
# take arguments), then branch to the quote section. Otherwise, |
# look for a macro that doesn't take arguments. |
ac_script=' |
t clear |
:clear |
s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g |
t quote |
s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g |
t quote |
b any |
:quote |
s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g |
s/\[/\\&/g |
s/\]/\\&/g |
s/\$/$$/g |
H |
:any |
${ |
g |
s/^\n// |
s/\n/ /g |
p |
} |
' |
DEFS=`sed -n "$ac_script" confdefs.h` |
|
|
ac_libobjs= |
ac_ltlibobjs= |
for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue |
# 1. Remove the extension, and $U if already installed. |
ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' |
ac_i=`echo "$ac_i" | sed "$ac_script"` |
# 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR |
# will be set to the directory where LIBOBJS objects are built. |
ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" |
ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' |
done |
LIBOBJS=$ac_libobjs |
|
LTLIBOBJS=$ac_ltlibobjs |
|
|
if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then |
{ { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. |
Usually this means the macro was only invoked conditionally." >&5 |
echo "$as_me: error: conditional \"AMDEP\" was never defined. |
Usually this means the macro was only invoked conditionally." >&2;} |
{ (exit 1); exit 1; }; } |
fi |
if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then |
{ { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. |
Usually this means the macro was only invoked conditionally." >&5 |
echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. |
Usually this means the macro was only invoked conditionally." >&2;} |
{ (exit 1); exit 1; }; } |
fi |
|
: ${CONFIG_STATUS=./config.status} |
ac_clean_files_save=$ac_clean_files |
ac_clean_files="$ac_clean_files $CONFIG_STATUS" |
{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 |
echo "$as_me: creating $CONFIG_STATUS" >&6;} |
cat >$CONFIG_STATUS <<_ACEOF |
#! $SHELL |
# Generated by $as_me. |
# Run this file to recreate the current configuration. |
# Compiler output produced by configure, useful for debugging |
# configure, is in config.log if it exists. |
|
debug=false |
ac_cs_recheck=false |
ac_cs_silent=false |
SHELL=\${CONFIG_SHELL-$SHELL} |
_ACEOF |
|
cat >>$CONFIG_STATUS <<\_ACEOF |
## --------------------- ## |
## M4sh Initialization. ## |
## --------------------- ## |
|
# Be more Bourne compatible |
DUALCASE=1; export DUALCASE # for MKS sh |
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then |
emulate sh |
NULLCMD=: |
# Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which |
# is contrary to our usage. Disable this feature. |
alias -g '${1+"$@"}'='"$@"' |
setopt NO_GLOB_SUBST |
else |
case `(set -o) 2>/dev/null` in |
*posix*) set -o posix ;; |
esac |
|
fi |
|
|
|
|
# PATH needs CR |
# Avoid depending upon Character Ranges. |
as_cr_letters='abcdefghijklmnopqrstuvwxyz' |
as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' |
as_cr_Letters=$as_cr_letters$as_cr_LETTERS |
as_cr_digits='0123456789' |
as_cr_alnum=$as_cr_Letters$as_cr_digits |
|
# The user is always right. |
if test "${PATH_SEPARATOR+set}" != set; then |
echo "#! /bin/sh" >conf$$.sh |
echo "exit 0" >>conf$$.sh |
chmod +x conf$$.sh |
if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then |
PATH_SEPARATOR=';' |
else |
PATH_SEPARATOR=: |
fi |
rm -f conf$$.sh |
fi |
|
# Support unset when possible. |
if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then |
as_unset=unset |
else |
as_unset=false |
fi |
|
|
# IFS |
# We need space, tab and new line, in precisely that order. Quoting is |
# there to prevent editors from complaining about space-tab. |
# (If _AS_PATH_WALK were called with IFS unset, it would disable word |
# splitting by setting IFS to empty value.) |
as_nl=' |
' |
IFS=" "" $as_nl" |
|
# Find who we are. Look in the path if we contain no directory separator. |
case $0 in |
*[\\/]* ) as_myself=$0 ;; |
*) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR |
for as_dir in $PATH |
do |
IFS=$as_save_IFS |
test -z "$as_dir" && as_dir=. |
test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break |
done |
IFS=$as_save_IFS |
|
;; |
esac |
# We did not find ourselves, most probably we were run as `sh COMMAND' |
# in which case we are not to be found in the path. |
if test "x$as_myself" = x; then |
as_myself=$0 |
fi |
if test ! -f "$as_myself"; then |
echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 |
{ (exit 1); exit 1; } |
fi |
|
# Work around bugs in pre-3.0 UWIN ksh. |
for as_var in ENV MAIL MAILPATH |
do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var |
done |
PS1='$ ' |
PS2='> ' |
PS4='+ ' |
|
# NLS nuisances. |
for as_var in \ |
LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ |
LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ |
LC_TELEPHONE LC_TIME |
do |
if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then |
eval $as_var=C; export $as_var |
else |
($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var |
fi |
done |
|
# Required to use basename. |
if expr a : '\(a\)' >/dev/null 2>&1 && |
test "X`expr 00001 : '.*\(...\)'`" = X001; then |
as_expr=expr |
else |
as_expr=false |
fi |
|
if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then |
as_basename=basename |
else |
as_basename=false |
fi |
|
|
# Name of the executable. |
as_me=`$as_basename -- "$0" || |
$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ |
X"$0" : 'X\(//\)$' \| \ |
X"$0" : 'X\(/\)' \| . 2>/dev/null || |
echo X/"$0" | |
sed '/^.*\/\([^/][^/]*\)\/*$/{ |
s//\1/ |
q |
} |
/^X\/\(\/\/\)$/{ |
s//\1/ |
q |
} |
/^X\/\(\/\).*/{ |
s//\1/ |
q |
} |
s/.*/./; q'` |
|
# CDPATH. |
$as_unset CDPATH |
|
|
|
as_lineno_1=$LINENO |
as_lineno_2=$LINENO |
test "x$as_lineno_1" != "x$as_lineno_2" && |
test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { |
|
# Create $as_me.lineno as a copy of $as_myself, but with $LINENO |
# uniformly replaced by the line number. The first 'sed' inserts a |
# line-number line after each line using $LINENO; the second 'sed' |
# does the real work. The second script uses 'N' to pair each |
# line-number line with the line containing $LINENO, and appends |
# trailing '-' during substitution so that $LINENO is not a special |
# case at line end. |
# (Raja R Harinath suggested sed '=', and Paul Eggert wrote the |
# scripts with optimization help from Paolo Bonzini. Blame Lee |
# E. McMahon (1931-1989) for sed's syntax. :-) |
sed -n ' |
p |
/[$]LINENO/= |
' <$as_myself | |
sed ' |
s/[$]LINENO.*/&-/ |
t lineno |
b |
:lineno |
N |
:loop |
s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ |
t loop |
s/-\n.*// |
' >$as_me.lineno && |
chmod +x "$as_me.lineno" || |
{ echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 |
{ (exit 1); exit 1; }; } |
|
# Don't try to exec as it changes $[0], causing all sort of problems |
# (the dirname of $[0] is not the place where we might find the |
# original and so on. Autoconf is especially sensitive to this). |
. "./$as_me.lineno" |
# Exit status is that of the last command. |
exit |
} |
|
|
if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then |
as_dirname=dirname |
else |
as_dirname=false |
fi |
|
ECHO_C= ECHO_N= ECHO_T= |
case `echo -n x` in |
-n*) |
case `echo 'x\c'` in |
*c*) ECHO_T=' ';; # ECHO_T is single tab character. |
*) ECHO_C='\c';; |
esac;; |
*) |
ECHO_N='-n';; |
esac |
|
if expr a : '\(a\)' >/dev/null 2>&1 && |
test "X`expr 00001 : '.*\(...\)'`" = X001; then |
as_expr=expr |
else |
as_expr=false |
fi |
|
rm -f conf$$ conf$$.exe conf$$.file |
if test -d conf$$.dir; then |
rm -f conf$$.dir/conf$$.file |
else |
rm -f conf$$.dir |
mkdir conf$$.dir |
fi |
echo >conf$$.file |
if ln -s conf$$.file conf$$ 2>/dev/null; then |
as_ln_s='ln -s' |
# ... but there are two gotchas: |
# 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. |
# 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. |
# In both cases, we have to default to `cp -p'. |
ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || |
as_ln_s='cp -p' |
elif ln conf$$.file conf$$ 2>/dev/null; then |
as_ln_s=ln |
else |
as_ln_s='cp -p' |
fi |
rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file |
rmdir conf$$.dir 2>/dev/null |
|
if mkdir -p . 2>/dev/null; then |
as_mkdir_p=: |
else |
test -d ./-p && rmdir ./-p |
as_mkdir_p=false |
fi |
|
if test -x / >/dev/null 2>&1; then |
as_test_x='test -x' |
else |
if ls -dL / >/dev/null 2>&1; then |
as_ls_L_option=L |
else |
as_ls_L_option= |
fi |
as_test_x=' |
eval sh -c '\'' |
if test -d "$1"; then |
test -d "$1/."; |
else |
case $1 in |
-*)set "./$1";; |
esac; |
case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in |
???[sx]*):;;*)false;;esac;fi |
'\'' sh |
' |
fi |
as_executable_p=$as_test_x |
|
# Sed expression to map a string onto a valid CPP name. |
as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" |
|
# Sed expression to map a string onto a valid variable name. |
as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" |
|
|
exec 6>&1 |
|
# Save the log message, to keep $[0] and so on meaningful, and to |
# report actual input values of CONFIG_FILES etc. instead of their |
# values after options handling. |
ac_log=" |
This file was extended by $as_me, which was |
generated by GNU Autoconf 2.61. Invocation command line was |
|
CONFIG_FILES = $CONFIG_FILES |
CONFIG_HEADERS = $CONFIG_HEADERS |
CONFIG_LINKS = $CONFIG_LINKS |
CONFIG_COMMANDS = $CONFIG_COMMANDS |
$ $0 $@ |
|
on `(hostname || uname -n) 2>/dev/null | sed 1q` |
" |
|
_ACEOF |
|
cat >>$CONFIG_STATUS <<_ACEOF |
# Files that config.status was made for. |
config_files="$ac_config_files" |
config_commands="$ac_config_commands" |
|
_ACEOF |
|
cat >>$CONFIG_STATUS <<\_ACEOF |
ac_cs_usage="\ |
\`$as_me' instantiates files from templates according to the |
current configuration. |
|
Usage: $0 [OPTIONS] [FILE]... |
|
-h, --help print this help, then exit |
-V, --version print version number and configuration settings, then exit |
-q, --quiet do not print progress messages |
-d, --debug don't remove temporary files |
--recheck update $as_me by reconfiguring in the same conditions |
--file=FILE[:TEMPLATE] |
instantiate the configuration file FILE |
|
Configuration files: |
$config_files |
|
Configuration commands: |
$config_commands |
|
Report bugs to <bug-autoconf@gnu.org>." |
|
_ACEOF |
cat >>$CONFIG_STATUS <<_ACEOF |
ac_cs_version="\\ |
config.status |
configured by $0, generated by GNU Autoconf 2.61, |
with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" |
|
Copyright (C) 2006 Free Software Foundation, Inc. |
This config.status script is free software; the Free Software Foundation |
gives unlimited permission to copy, distribute and modify it." |
|
ac_pwd='$ac_pwd' |
srcdir='$srcdir' |
INSTALL='$INSTALL' |
_ACEOF |
|
cat >>$CONFIG_STATUS <<\_ACEOF |
# If no file are specified by the user, then we need to provide default |
# value. By we need to know if files were specified by the user. |
ac_need_defaults=: |
while test $# != 0 |
do |
case $1 in |
--*=*) |
ac_option=`expr "X$1" : 'X\([^=]*\)='` |
ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` |
ac_shift=: |
;; |
*) |
ac_option=$1 |
ac_optarg=$2 |
ac_shift=shift |
;; |
esac |
|
case $ac_option in |
# Handling of the options. |
-recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) |
ac_cs_recheck=: ;; |
--version | --versio | --versi | --vers | --ver | --ve | --v | -V ) |
echo "$ac_cs_version"; exit ;; |
--debug | --debu | --deb | --de | --d | -d ) |
debug=: ;; |
--file | --fil | --fi | --f ) |
$ac_shift |
CONFIG_FILES="$CONFIG_FILES $ac_optarg" |
ac_need_defaults=false;; |
--he | --h | --help | --hel | -h ) |
echo "$ac_cs_usage"; exit ;; |
-q | -quiet | --quiet | --quie | --qui | --qu | --q \ |
| -silent | --silent | --silen | --sile | --sil | --si | --s) |
ac_cs_silent=: ;; |
|
# This is an error. |
-*) { echo "$as_me: error: unrecognized option: $1 |
Try \`$0 --help' for more information." >&2 |
{ (exit 1); exit 1; }; } ;; |
|
*) ac_config_targets="$ac_config_targets $1" |
ac_need_defaults=false ;; |
|
esac |
shift |
done |
|
ac_configure_extra_args= |
|
if $ac_cs_silent; then |
exec 6>/dev/null |
ac_configure_extra_args="$ac_configure_extra_args --silent" |
fi |
|
_ACEOF |
cat >>$CONFIG_STATUS <<_ACEOF |
if \$ac_cs_recheck; then |
echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 |
CONFIG_SHELL=$SHELL |
export CONFIG_SHELL |
exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion |
fi |
|
_ACEOF |
cat >>$CONFIG_STATUS <<\_ACEOF |
exec 5>>config.log |
{ |
echo |
sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX |
## Running $as_me. ## |
_ASBOX |
echo "$ac_log" |
} >&5 |
|
_ACEOF |
cat >>$CONFIG_STATUS <<_ACEOF |
# |
# INIT-COMMANDS |
# |
AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" |
srcdir=${srcdir} |
target=${target} |
with_multisubdir=${with_multisubdir} |
ac_configure_args="${ac_configure_args} --enable-multilib" |
CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} |
libgloss_topdir=${libgloss_topdir} |
|
|
_ACEOF |
|
cat >>$CONFIG_STATUS <<\_ACEOF |
|
# Handling of arguments. |
for ac_config_target in $ac_config_targets |
do |
case $ac_config_target in |
"depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; |
"Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; |
|
*) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 |
echo "$as_me: error: invalid argument: $ac_config_target" >&2;} |
{ (exit 1); exit 1; }; };; |
esac |
done |
|
|
# If the user did not use the arguments to specify the items to instantiate, |
# then the envvar interface is used. Set only those that are not. |
# We use the long form for the default assignment because of an extremely |
# bizarre bug on SunOS 4.1.3. |
if $ac_need_defaults; then |
test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files |
test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands |
fi |
|
# Have a temporary directory for convenience. Make it in the build tree |
# simply because there is no reason against having it here, and in addition, |
# creating and moving files from /tmp can sometimes cause problems. |
# Hook for its removal unless debugging. |
# Note that there is a small window in which the directory will not be cleaned: |
# after its creation but before its name has been assigned to `$tmp'. |
$debug || |
{ |
tmp= |
trap 'exit_status=$? |
{ test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status |
' 0 |
trap '{ (exit 1); exit 1; }' 1 2 13 15 |
} |
# Create a (secure) tmp directory for tmp files. |
|
{ |
tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && |
test -n "$tmp" && test -d "$tmp" |
} || |
{ |
tmp=./conf$$-$RANDOM |
(umask 077 && mkdir "$tmp") |
} || |
{ |
echo "$me: cannot create a temporary directory in ." >&2 |
{ (exit 1); exit 1; } |
} |
|
# |
# Set up the sed scripts for CONFIG_FILES section. |
# |
|
# No need to generate the scripts if there are no CONFIG_FILES. |
# This happens for instance when ./config.status config.h |
if test -n "$CONFIG_FILES"; then |
|
_ACEOF |
|
# Create sed commands to just substitute file output variables. |
|
# Remaining file output variables are in a fragment that also has non-file |
# output varibles. |
|
|
|
ac_delim='%!_!# ' |
for ac_last_try in false false false false false :; do |
cat >conf$$subs.sed <<_ACEOF |
SHELL!$SHELL$ac_delim |
PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim |
PACKAGE_NAME!$PACKAGE_NAME$ac_delim |
PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim |
PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim |
PACKAGE_STRING!$PACKAGE_STRING$ac_delim |
PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim |
exec_prefix!$exec_prefix$ac_delim |
prefix!$prefix$ac_delim |
program_transform_name!$program_transform_name$ac_delim |
bindir!$bindir$ac_delim |
sbindir!$sbindir$ac_delim |
libexecdir!$libexecdir$ac_delim |
datarootdir!$datarootdir$ac_delim |
datadir!$datadir$ac_delim |
sysconfdir!$sysconfdir$ac_delim |
sharedstatedir!$sharedstatedir$ac_delim |
localstatedir!$localstatedir$ac_delim |
includedir!$includedir$ac_delim |
oldincludedir!$oldincludedir$ac_delim |
docdir!$docdir$ac_delim |
infodir!$infodir$ac_delim |
htmldir!$htmldir$ac_delim |
dvidir!$dvidir$ac_delim |
pdfdir!$pdfdir$ac_delim |
psdir!$psdir$ac_delim |
libdir!$libdir$ac_delim |
localedir!$localedir$ac_delim |
mandir!$mandir$ac_delim |
DEFS!$DEFS$ac_delim |
ECHO_C!$ECHO_C$ac_delim |
ECHO_N!$ECHO_N$ac_delim |
ECHO_T!$ECHO_T$ac_delim |
LIBS!$LIBS$ac_delim |
build_alias!$build_alias$ac_delim |
host_alias!$host_alias$ac_delim |
target_alias!$target_alias$ac_delim |
build!$build$ac_delim |
build_cpu!$build_cpu$ac_delim |
build_vendor!$build_vendor$ac_delim |
build_os!$build_os$ac_delim |
host!$host$ac_delim |
host_cpu!$host_cpu$ac_delim |
host_vendor!$host_vendor$ac_delim |
host_os!$host_os$ac_delim |
target!$target$ac_delim |
target_cpu!$target_cpu$ac_delim |
target_vendor!$target_vendor$ac_delim |
target_os!$target_os$ac_delim |
INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim |
INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim |
INSTALL_DATA!$INSTALL_DATA$ac_delim |
CC!$CC$ac_delim |
am__leading_dot!$am__leading_dot$ac_delim |
DEPDIR!$DEPDIR$ac_delim |
am__include!$am__include$ac_delim |
am__quote!$am__quote$ac_delim |
AMDEP_TRUE!$AMDEP_TRUE$ac_delim |
AMDEP_FALSE!$AMDEP_FALSE$ac_delim |
AMDEPBACKSLASH!$AMDEPBACKSLASH$ac_delim |
CCDEPMODE!$CCDEPMODE$ac_delim |
am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim |
am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim |
AS!$AS$ac_delim |
AR!$AR$ac_delim |
LD!$LD$ac_delim |
RANLIB!$RANLIB$ac_delim |
host_makefile_frag_path!$host_makefile_frag_path$ac_delim |
LIBOBJS!$LIBOBJS$ac_delim |
LTLIBOBJS!$LTLIBOBJS$ac_delim |
_ACEOF |
|
if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 70; then |
break |
elif $ac_last_try; then |
{ { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 |
echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} |
{ (exit 1); exit 1; }; } |
else |
ac_delim="$ac_delim!$ac_delim _$ac_delim!! " |
fi |
done |
|
ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` |
if test -n "$ac_eof"; then |
ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` |
ac_eof=`expr $ac_eof + 1` |
fi |
|
cat >>$CONFIG_STATUS <<_ACEOF |
cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof |
/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end |
/^[ ]*@host_makefile_frag@[ ]*$/{ |
r $host_makefile_frag |
d |
} |
_ACEOF |
sed ' |
s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g |
s/^/s,@/; s/!/@,|#_!!_#|/ |
:n |
t n |
s/'"$ac_delim"'$/,g/; t |
s/$/\\/; p |
N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n |
' >>$CONFIG_STATUS <conf$$subs.sed |
rm -f conf$$subs.sed |
cat >>$CONFIG_STATUS <<_ACEOF |
:end |
s/|#_!!_#|//g |
CEOF$ac_eof |
_ACEOF |
|
|
# VPATH may cause trouble with some makes, so we remove $(srcdir), |
# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and |
# trailing colons and then remove the whole line if VPATH becomes empty |
# (actually we leave an empty line to preserve line numbers). |
if test "x$srcdir" = x.; then |
ac_vpsub='/^[ ]*VPATH[ ]*=/{ |
s/:*\$(srcdir):*/:/ |
s/:*\${srcdir}:*/:/ |
s/:*@srcdir@:*/:/ |
s/^\([^=]*=[ ]*\):*/\1/ |
s/:*$// |
s/^[^=]*=[ ]*$// |
}' |
fi |
|
cat >>$CONFIG_STATUS <<\_ACEOF |
fi # test -n "$CONFIG_FILES" |
|
|
for ac_tag in :F $CONFIG_FILES :C $CONFIG_COMMANDS |
do |
case $ac_tag in |
:[FHLC]) ac_mode=$ac_tag; continue;; |
esac |
case $ac_mode$ac_tag in |
:[FHL]*:*);; |
:L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5 |
echo "$as_me: error: Invalid tag $ac_tag." >&2;} |
{ (exit 1); exit 1; }; };; |
:[FH]-) ac_tag=-:-;; |
:[FH]*) ac_tag=$ac_tag:$ac_tag.in;; |
esac |
ac_save_IFS=$IFS |
IFS=: |
set x $ac_tag |
IFS=$ac_save_IFS |
shift |
ac_file=$1 |
shift |
|
case $ac_mode in |
:L) ac_source=$1;; |
:[FH]) |
ac_file_inputs= |
for ac_f |
do |
case $ac_f in |
-) ac_f="$tmp/stdin";; |
*) # Look for the file first in the build tree, then in the source tree |
# (if the path is not absolute). The absolute path cannot be DOS-style, |
# because $ac_f cannot contain `:'. |
test -f "$ac_f" || |
case $ac_f in |
[\\/$]*) false;; |
*) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; |
esac || |
{ { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 |
echo "$as_me: error: cannot find input file: $ac_f" >&2;} |
{ (exit 1); exit 1; }; };; |
esac |
ac_file_inputs="$ac_file_inputs $ac_f" |
done |
|
# Let's still pretend it is `configure' which instantiates (i.e., don't |
# use $as_me), people would be surprised to read: |
# /* config.h. Generated by config.status. */ |
configure_input="Generated from "`IFS=: |
echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure." |
if test x"$ac_file" != x-; then |
configure_input="$ac_file. $configure_input" |
{ echo "$as_me:$LINENO: creating $ac_file" >&5 |
echo "$as_me: creating $ac_file" >&6;} |
fi |
|
case $ac_tag in |
*:-:* | *:-) cat >"$tmp/stdin";; |
esac |
;; |
esac |
|
ac_dir=`$as_dirname -- "$ac_file" || |
$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ |
X"$ac_file" : 'X\(//\)[^/]' \| \ |
X"$ac_file" : 'X\(//\)$' \| \ |
X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || |
echo X"$ac_file" | |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ |
s//\1/ |
q |
} |
/^X\(\/\/\)[^/].*/{ |
s//\1/ |
q |
} |
/^X\(\/\/\)$/{ |
s//\1/ |
q |
} |
/^X\(\/\).*/{ |
s//\1/ |
q |
} |
s/.*/./; q'` |
{ as_dir="$ac_dir" |
case $as_dir in #( |
-*) as_dir=./$as_dir;; |
esac |
test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { |
as_dirs= |
while :; do |
case $as_dir in #( |
*\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( |
*) as_qdir=$as_dir;; |
esac |
as_dirs="'$as_qdir' $as_dirs" |
as_dir=`$as_dirname -- "$as_dir" || |
$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ |
X"$as_dir" : 'X\(//\)[^/]' \| \ |
X"$as_dir" : 'X\(//\)$' \| \ |
X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || |
echo X"$as_dir" | |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ |
s//\1/ |
q |
} |
/^X\(\/\/\)[^/].*/{ |
s//\1/ |
q |
} |
/^X\(\/\/\)$/{ |
s//\1/ |
q |
} |
/^X\(\/\).*/{ |
s//\1/ |
q |
} |
s/.*/./; q'` |
test -d "$as_dir" && break |
done |
test -z "$as_dirs" || eval "mkdir $as_dirs" |
} || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 |
echo "$as_me: error: cannot create directory $as_dir" >&2;} |
{ (exit 1); exit 1; }; }; } |
ac_builddir=. |
|
case "$ac_dir" in |
.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; |
*) |
ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` |
# A ".." for each directory in $ac_dir_suffix. |
ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` |
case $ac_top_builddir_sub in |
"") ac_top_builddir_sub=. ac_top_build_prefix= ;; |
*) ac_top_build_prefix=$ac_top_builddir_sub/ ;; |
esac ;; |
esac |
ac_abs_top_builddir=$ac_pwd |
ac_abs_builddir=$ac_pwd$ac_dir_suffix |
# for backward compatibility: |
ac_top_builddir=$ac_top_build_prefix |
|
case $srcdir in |
.) # We are building in place. |
ac_srcdir=. |
ac_top_srcdir=$ac_top_builddir_sub |
ac_abs_top_srcdir=$ac_pwd ;; |
[\\/]* | ?:[\\/]* ) # Absolute name. |
ac_srcdir=$srcdir$ac_dir_suffix; |
ac_top_srcdir=$srcdir |
ac_abs_top_srcdir=$srcdir ;; |
*) # Relative name. |
ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix |
ac_top_srcdir=$ac_top_build_prefix$srcdir |
ac_abs_top_srcdir=$ac_pwd/$srcdir ;; |
esac |
ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix |
|
|
case $ac_mode in |
:F) |
# |
# CONFIG_FILE |
# |
|
case $INSTALL in |
[\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; |
*) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; |
esac |
_ACEOF |
|
cat >>$CONFIG_STATUS <<\_ACEOF |
# If the template does not know about datarootdir, expand it. |
# FIXME: This hack should be removed a few years after 2.60. |
ac_datarootdir_hack=; ac_datarootdir_seen= |
|
case `sed -n '/datarootdir/ { |
p |
q |
} |
/@datadir@/p |
/@docdir@/p |
/@infodir@/p |
/@localedir@/p |
/@mandir@/p |
' $ac_file_inputs` in |
*datarootdir*) ac_datarootdir_seen=yes;; |
*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) |
{ echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 |
echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} |
_ACEOF |
cat >>$CONFIG_STATUS <<_ACEOF |
ac_datarootdir_hack=' |
s&@datadir@&$datadir&g |
s&@docdir@&$docdir&g |
s&@infodir@&$infodir&g |
s&@localedir@&$localedir&g |
s&@mandir@&$mandir&g |
s&\\\${datarootdir}&$datarootdir&g' ;; |
esac |
_ACEOF |
|
# Neutralize VPATH when `$srcdir' = `.'. |
# Shell code in configure.ac might set extrasub. |
# FIXME: do we really want to maintain this feature? |
cat >>$CONFIG_STATUS <<_ACEOF |
sed "$ac_vpsub |
$extrasub |
_ACEOF |
cat >>$CONFIG_STATUS <<\_ACEOF |
:t |
/@[a-zA-Z_][a-zA-Z_0-9]*@/!b |
s&@configure_input@&$configure_input&;t t |
s&@top_builddir@&$ac_top_builddir_sub&;t t |
s&@srcdir@&$ac_srcdir&;t t |
s&@abs_srcdir@&$ac_abs_srcdir&;t t |
s&@top_srcdir@&$ac_top_srcdir&;t t |
s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t |
s&@builddir@&$ac_builddir&;t t |
s&@abs_builddir@&$ac_abs_builddir&;t t |
s&@abs_top_builddir@&$ac_abs_top_builddir&;t t |
s&@INSTALL@&$ac_INSTALL&;t t |
$ac_datarootdir_hack |
" $ac_file_inputs | sed -f "$tmp/subs-1.sed" >$tmp/out |
|
test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && |
{ ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && |
{ ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && |
{ echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' |
which seems to be undefined. Please make sure it is defined." >&5 |
echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' |
which seems to be undefined. Please make sure it is defined." >&2;} |
|
rm -f "$tmp/stdin" |
case $ac_file in |
-) cat "$tmp/out"; rm -f "$tmp/out";; |
*) rm -f "$ac_file"; mv "$tmp/out" $ac_file;; |
esac |
;; |
|
|
:C) { echo "$as_me:$LINENO: executing $ac_file commands" >&5 |
echo "$as_me: executing $ac_file commands" >&6;} |
;; |
esac |
|
|
case $ac_file$ac_mode in |
"depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do |
# Strip MF so we end up with the name of the file. |
mf=`echo "$mf" | sed -e 's/:.*$//'` |
# Check whether this is an Automake generated Makefile or not. |
# We used to match only the files named `Makefile.in', but |
# some people rename them; so instead we look at the file content. |
# Grep'ing the first line is not enough: some people post-process |
# each Makefile.in and add a new line on top of each file to say so. |
# So let's grep whole file. |
if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then |
dirpart=`$as_dirname -- "$mf" || |
$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ |
X"$mf" : 'X\(//\)[^/]' \| \ |
X"$mf" : 'X\(//\)$' \| \ |
X"$mf" : 'X\(/\)' \| . 2>/dev/null || |
echo X"$mf" | |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ |
s//\1/ |
q |
} |
/^X\(\/\/\)[^/].*/{ |
s//\1/ |
q |
} |
/^X\(\/\/\)$/{ |
s//\1/ |
q |
} |
/^X\(\/\).*/{ |
s//\1/ |
q |
} |
s/.*/./; q'` |
else |
continue |
fi |
# Extract the definition of DEPDIR, am__include, and am__quote |
# from the Makefile without running `make'. |
DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` |
test -z "$DEPDIR" && continue |
am__include=`sed -n 's/^am__include = //p' < "$mf"` |
test -z "am__include" && continue |
am__quote=`sed -n 's/^am__quote = //p' < "$mf"` |
# When using ansi2knr, U may be empty or an underscore; expand it |
U=`sed -n 's/^U = //p' < "$mf"` |
# Find all dependency output files, they are included files with |
# $(DEPDIR) in their names. We invoke sed twice because it is the |
# simplest approach to changing $(DEPDIR) to its actual value in the |
# expansion. |
for file in `sed -n " |
s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ |
sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do |
# Make sure the directory exists. |
test -f "$dirpart/$file" && continue |
fdir=`$as_dirname -- "$file" || |
$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ |
X"$file" : 'X\(//\)[^/]' \| \ |
X"$file" : 'X\(//\)$' \| \ |
X"$file" : 'X\(/\)' \| . 2>/dev/null || |
echo X"$file" | |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ |
s//\1/ |
q |
} |
/^X\(\/\/\)[^/].*/{ |
s//\1/ |
q |
} |
/^X\(\/\/\)$/{ |
s//\1/ |
q |
} |
/^X\(\/\).*/{ |
s//\1/ |
q |
} |
s/.*/./; q'` |
{ as_dir=$dirpart/$fdir |
case $as_dir in #( |
-*) as_dir=./$as_dir;; |
esac |
test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { |
as_dirs= |
while :; do |
case $as_dir in #( |
*\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( |
*) as_qdir=$as_dir;; |
esac |
as_dirs="'$as_qdir' $as_dirs" |
as_dir=`$as_dirname -- "$as_dir" || |
$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ |
X"$as_dir" : 'X\(//\)[^/]' \| \ |
X"$as_dir" : 'X\(//\)$' \| \ |
X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || |
echo X"$as_dir" | |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ |
s//\1/ |
q |
} |
/^X\(\/\/\)[^/].*/{ |
s//\1/ |
q |
} |
/^X\(\/\/\)$/{ |
s//\1/ |
q |
} |
/^X\(\/\).*/{ |
s//\1/ |
q |
} |
s/.*/./; q'` |
test -d "$as_dir" && break |
done |
test -z "$as_dirs" || eval "mkdir $as_dirs" |
} || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 |
echo "$as_me: error: cannot create directory $as_dir" >&2;} |
{ (exit 1); exit 1; }; }; } |
# echo "creating $dirpart/$file" |
echo '# dummy' > "$dirpart/$file" |
done |
done |
;; |
"Makefile":F) . ${libgloss_topdir}/config-ml.in ;; |
|
esac |
done # for ac_tag |
|
|
{ (exit 0); exit 0; } |
_ACEOF |
chmod +x $CONFIG_STATUS |
ac_clean_files=$ac_clean_files_save |
|
|
# configure is writing to config.log, and then calls config.status. |
# config.status does its own redirection, appending to config.log. |
# Unfortunately, on DOS this fails, as config.log is still kept open |
# by configure, so config.status won't be able to write to it; its |
# output is simply discarded. So we exec the FD to /dev/null, |
# effectively closing config.log, so it can be properly (re)opened and |
# appended to by config.status. When coming back to configure, we |
# need to make the FD available again. |
if test "$no_create" != yes; then |
ac_cs_success=: |
ac_config_status_args= |
test "$silent" = yes && |
ac_config_status_args="$ac_config_status_args --quiet" |
exec 5>/dev/null |
$SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false |
exec 5>>config.log |
# Use ||, not &&, to avoid exiting from the if with $? = 1, which |
# would make configure fail if this is the last instruction. |
$ac_cs_success || { (exit 1); exit 1; } |
fi |
|
configure
Property changes :
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: handlers.c
===================================================================
--- handlers.c (nonexistent)
+++ handlers.c (revision 816)
@@ -0,0 +1,297 @@
+/* handlers.c -- Setup default handlers.
+ *
+ * Copyright (c) 2004 Red Hat, Inc. All rights reserved.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the BSD
+ * License. This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY expressed or implied, including the implied
+ * warranties of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. A copy
+ * of this license is available at http://www.opensource.org/licenses. Any
+ * Red Hat trademarks that are incorporated in the source code or documentation
+ * are not subject to the BSD License and may only be used or replicated with
+ * the express permission of Red Hat, Inc.
+ */
+
+#pragma weak _handler_NMI
+
+void __interrupt
+_handler_NMI ()
+{
+}
+
+#pragma weak _handler_RI
+
+void __interrupt
+_handler_RI ()
+{
+}
+
+#pragma weak _handler_ZDIV
+
+void __interrupt
+_handler_ZDIV ()
+{
+}
+
+#pragma weak _handler_BRK
+
+void __interrupt
+_handler_BRK ()
+{
+}
+
+#pragma weak _handler_SWI
+
+void __interrupt
+_handler_SWI ()
+{
+}
+
+#pragma weak _handler_DEBUG
+
+void __interrupt
+_handler_DEBUG ()
+{
+}
+
+#pragma weak _handler_DSP
+
+void __interrupt
+_handler_DSP ()
+{
+}
+
+#pragma weak _handler_COP
+
+void __interrupt
+_handler_COP ()
+{
+}
+
+/* hardware interrupt */
+
+
+#pragma weak _handler_INT0
+
+void __interrupt
+_handler_INT0 ()
+{
+}
+
+#pragma weak _handler_INT1
+
+void __interrupt
+_handler_INT1 ()
+{
+}
+
+#pragma weak _handler_INT2
+
+void __interrupt
+_handler_INT2 ()
+{
+}
+
+#pragma weak _handler_INT3
+
+void __interrupt
+_handler_INT3 ()
+{
+}
+
+#pragma weak _handler_INT4
+
+void __interrupt
+_handler_INT4 ()
+{
+}
+
+#pragma weak _handler_INT5
+
+void __interrupt
+_handler_INT5 ()
+{
+}
+
+#pragma weak _handler_INT6
+
+void __interrupt
+_handler_INT6 ()
+{
+}
+
+#pragma weak _handler_INT7
+
+void __interrupt
+_handler_INT7 ()
+{
+}
+
+#pragma weak _handler_INT8
+
+void __interrupt
+_handler_INT8 ()
+{
+}
+
+#pragma weak _handler_INT9
+
+void __interrupt
+_handler_INT9 ()
+{
+}
+
+#pragma weak _handler_INT10
+
+void __interrupt
+_handler_INT10 ()
+{
+}
+
+#pragma weak _handler_INT11
+
+void __interrupt
+_handler_INT11 ()
+{
+}
+
+#pragma weak _handler_INT12
+
+void __interrupt
+_handler_INT12 ()
+{
+}
+
+#pragma weak _handler_INT13
+
+void __interrupt
+_handler_INT13 ()
+{
+}
+
+#pragma weak _handler_INT14
+
+void __interrupt
+_handler_INT14 ()
+{
+}
+
+#pragma weak _handler_INT15
+
+void __interrupt
+_handler_INT15 ()
+{
+}
+
+#pragma weak _handler_INT16
+
+void __interrupt
+_handler_INT16 ()
+{
+}
+
+#pragma weak _handler_INT17
+
+void __interrupt
+_handler_INT17 ()
+{
+}
+
+#pragma weak _handler_INT18
+
+void __interrupt
+_handler_INT18 ()
+{
+}
+
+#pragma weak _handler_INT19
+
+void __interrupt
+_handler_INT19 ()
+{
+}
+
+#pragma weak _handler_INT20
+
+void __interrupt
+_handler_INT20 ()
+{
+}
+
+#pragma weak _handler_INT21
+
+void __interrupt
+_handler_INT21 ()
+{
+}
+
+#pragma weak _handler_INT22
+
+void __interrupt
+_handler_INT22 ()
+{
+}
+
+#pragma weak _handler_INT23
+
+void __interrupt
+_handler_INT23 ()
+{
+}
+
+#pragma weak _handler_INT24
+
+void __interrupt
+_handler_INT24 ()
+{
+}
+
+#pragma weak _handler_INT25
+
+void __interrupt
+_handler_INT25 ()
+{
+}
+
+#pragma weak _handler_INT26
+
+void __interrupt
+_handler_INT26 ()
+{
+}
+
+#pragma weak _handler_INT27
+
+void __interrupt
+_handler_INT27 ()
+{
+}
+
+#pragma weak _handler_INT28
+
+void __interrupt
+_handler_INT28 ()
+{
+}
+
+#pragma weak _handler_INT29
+
+void __interrupt
+_handler_INT29 ()
+{
+}
+
+#pragma weak _handler_INT30
+
+void __interrupt
+_handler_INT30 ()
+{
+}
+
+#pragma weak _handler_INT31
+
+void __interrupt
+_handler_INT31 ()
+{
+}
handlers.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: min.ld
===================================================================
--- min.ld (nonexistent)
+++ min.ld (revision 816)
@@ -0,0 +1,196 @@
+/*
+ * Copyright (c) 2000 Red Hat, Inc. All rights reserved.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the BSD
+ * License. This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY expressed or implied, including the implied
+ * warranties of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. A copy
+ * of this license is available at http://www.opensource.org/licenses. Any
+ * Red Hat trademarks that are incorporated in the source code or documentation
+ * are not subject to the BSD License and may only be used or replicated with
+ * the express permission of Red Hat, Inc.
+ */
+OUTPUT_FORMAT("elf32-mep", "elf32-mep",
+ "elf32-mep")
+OUTPUT_ARCH(mep)
+ENTRY(_start)
+SECTIONS
+{
+ /* Read-only sections, merged into text segment: */
+ . = 0x0080000;
+ .gnu.version : { *(.gnu.version) }
+ .gnu.version_d : { *(.gnu.version_d) }
+ .gnu.version_r : { *(.gnu.version_r) }
+ .init :
+ {
+ KEEP (*(.init))
+ } =0
+ .plt : { *(.plt) }
+ .text :
+ {
+ *(.text)
+ *(.text.*)
+ *(.stub)
+ /* .gnu.warning sections are handled specially by elf32.em. */
+ *(.gnu.warning)
+ *(.gnu.linkonce.t.*)
+ *(.ftext) *(.ftext.*) *(.gnu.linkonce.ft.*)
+ . = ALIGN(8);
+ *(.vftext) *(.vftext.*) *(.gnu.linkonce.vf.*)
+ *(.frodata) *(.frodata.*) *(.gnu.linkonce.frd.*)
+ } =0
+ .fini :
+ {
+ KEEP (*(.fini))
+ } =0
+ PROVIDE (__etext = .);
+ PROVIDE (_etext = .);
+ PROVIDE (etext = .);
+ .rodata : { *(.rodata) *(.rodata.*) *(.gnu.linkonce.r.*) }
+ .rodata1 : { *(.rodata1) }
+
+ __stack_size = 0x100000;
+ __stack0 = (__stack - (0 * (__stack_size / 1)) + 15) / 16 * 16;
+
+ .rostacktab :
+ {
+ /* Emit a table describing the location of the different stacks.
+ Only 1 processor in the default configuration. */
+ . = ALIGN(4);
+ __stack_table = .;
+ LONG (__stack0);
+ }
+
+ .sdata2 : { *(.sdata2) *(.sdata2.*) *(.gnu.linkonce.s2.*) }
+ .sbss2 : { *(.sbss2) *(.sbss2.*) *(.gnu.linkonce.sb2.*) }
+ /* Adjust the address for the data segment. We want to adjust up to
+ the same address within the page on the next page up. */
+ . = ALIGN(256) + (. & (256 - 1));
+ .data :
+ {
+ __data_start = . ;
+ *(.data)
+ *(.data.*)
+ *(.gnu.linkonce.d.*)
+ SORT(CONSTRUCTORS)
+ }
+ .data1 : { *(.data1) }
+ .eh_frame : { KEEP (*(.eh_frame)) }
+ .gcc_except_table : { *(.gcc_except_table) *(.gcc_except_table.*) }
+ . = ALIGN(4);
+ __tpbase = .;
+ .based : { *(.based) *(.based.*) *(.gnu.linkonce.based.*) }
+ .far : { *(.far) *(.far.*) *(.gnu.linkonce.far.*) }
+ .dynamic : { *(.dynamic) }
+ .ctors :
+ {
+ /* gcc uses crtbegin.o to find the start of
+ the constructors, so we make sure it is
+ first. Because this is a wildcard, it
+ doesn't matter if the user does not
+ actually link against crtbegin.o; the
+ linker won't look for a file to match a
+ wildcard. The wildcard also means that it
+ doesn't matter which directory crtbegin.o
+ is in. */
+ KEEP (*crtbegin.o(.ctors))
+ /* We don't want to include the .ctor section from
+ from the crtend.o file until after the sorted ctors.
+ The .ctor section from the crtend file contains the
+ end of ctors marker and it must be last */
+ KEEP (*(EXCLUDE_FILE (*crtend.o ) .ctors))
+ KEEP (*(SORT(.ctors.*)))
+ KEEP (*(.ctors))
+ }
+ .dtors :
+ {
+ KEEP (*crtbegin.o(.dtors))
+ KEEP (*(EXCLUDE_FILE (*crtend.o ) .dtors))
+ KEEP (*(SORT(.dtors.*)))
+ KEEP (*(.dtors))
+ }
+ . = ALIGN(4);
+ __sdabase = . + 0x8000;
+ .got : { *(.got.plt) *(.got) }
+ /* We want the small data sections together, so single-instruction offsets
+ can access them all, and initialized data all before uninitialized, so
+ we can shorten the on-disk segment size. */
+ .srodata : { *(.srodata) *(.srodata.*) *(.gnu.linkonce.srd.*) }
+ .sdata :
+ {
+ *(.sdata)
+ *(.sdata.*)
+ *(.gnu.linkonce.s.*)
+ }
+ _edata = .;
+ PROVIDE (edata = .);
+ __bss_start = .;
+ .sbss :
+ {
+ PROVIDE (__sbss_start = .);
+ PROVIDE (___sbss_start = .);
+ *(.dynsbss)
+ *(.sbss)
+ *(.sbss.*)
+ *(.gnu.linkonce.sb.*)
+ *(.scommon)
+ PROVIDE (__sbss_end = .);
+ PROVIDE (___sbss_end = .);
+ }
+ .bss :
+ {
+ *(.dynbss)
+ *(.bss)
+ *(.bss.*)
+ *(.gnu.linkonce.b.*)
+ *(COMMON)
+ /* Align here to ensure that the .bss section occupies space up to
+ _end. Align after .bss to ensure correct alignment even if the
+ .bss section disappears because there are no input sections. */
+ . = ALIGN(32 / 8);
+ }
+ .farbss : { PROVIDE (__farbss_start = .); *(.farbss) *(.farbss.*) PROVIDE (__farbss_end = .); }
+ . = ALIGN(32 / 8);
+ _end = .;
+ PROVIDE (end = .);
+
+ __stack = 0x00effff0;
+ PROVIDE (__heap = 0x00f00000);
+
+ /* Stabs debugging sections. */
+ .stab 0 : { *(.stab) }
+ .stabstr 0 : { *(.stabstr) }
+ .stab.excl 0 : { *(.stab.excl) }
+ .stab.exclstr 0 : { *(.stab.exclstr) }
+ .stab.index 0 : { *(.stab.index) }
+ .stab.indexstr 0 : { *(.stab.indexstr) }
+ .comment 0 : { *(.comment) }
+ /* DWARF debug sections.
+ Symbols in the DWARF debugging sections are relative to the beginning
+ of the section so we begin them at 0. */
+ /* DWARF 1 */
+ .debug 0 : { *(.debug) }
+ .line 0 : { *(.line) }
+ /* GNU DWARF 1 extensions */
+ .debug_srcinfo 0 : { *(.debug_srcinfo) }
+ .debug_sfnames 0 : { *(.debug_sfnames) }
+ /* DWARF 1.1 and DWARF 2 */
+ .debug_aranges 0 : { *(.debug_aranges) }
+ .debug_pubnames 0 : { *(.debug_pubnames) }
+ /* DWARF 2 */
+ .debug_info 0 : { *(.debug_info) *(.gnu.linkonce.wi.*) }
+ .debug_abbrev 0 : { *(.debug_abbrev) }
+ .debug_line 0 : { *(.debug_line) }
+ .debug_frame 0 : { *(.debug_frame) }
+ .debug_str 0 : { *(.debug_str) }
+ .debug_loc 0 : { *(.debug_loc) }
+ .debug_macinfo 0 : { *(.debug_macinfo) }
+ .debug_ranges 0 : { *(.debug_ranges) }
+ /* SGI/MIPS DWARF 2 extensions */
+ .debug_weaknames 0 : { *(.debug_weaknames) }
+ .debug_funcnames 0 : { *(.debug_funcnames) }
+ .debug_typenames 0 : { *(.debug_typenames) }
+ .debug_varnames 0 : { *(.debug_varnames) }
+ /* These must appear regardless of . */
+}
Index: sbrk.c
===================================================================
--- sbrk.c (nonexistent)
+++ sbrk.c (revision 816)
@@ -0,0 +1,59 @@
+/*
+ * Copyright (c) 2003 Red Hat, Inc. All rights reserved.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the BSD
+ * License. This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY expressed or implied, including the implied
+ * warranties of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. A copy
+ * of this license is available at http://www.opensource.org/licenses. Any
+ * Red Hat trademarks that are incorporated in the source code or documentation
+ * are not subject to the BSD License and may only be used or replicated with
+ * the express permission of Red Hat, Inc.
+ */
+
+#include
+
+extern int __heap __far; /* beginning of heap */
+extern int __heap_end __far; /* if at address 0, use stack pointer as limit */
+
+static char *the_break = (char *)(& __heap);
+
+int
+is_addr_0 (int address)
+{
+ return address ? 0 : 1;
+}
+
+void *
+sbrk(int inc)
+{
+ char *current_heap_limit = (char *) (& __heap_end);
+
+ /* is_addr_0 avoids optimizing out this block. */
+ if (is_addr_0 ((int) current_heap_limit))
+ {
+ int something;
+ int margin = 4096;
+ current_heap_limit = (char *) (& something) - margin;
+ }
+
+ if ((the_break + inc) < current_heap_limit)
+ {
+ void *rv = (void *) the_break;
+ the_break += inc;
+ return rv;
+ }
+ else
+ {
+ errno = ENOMEM;
+ return (void *) -1;
+ }
+}
+
+int
+brk (void *ptr)
+{
+ the_break = ptr;
+ return 0;
+}
sbrk.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: Makefile.in
===================================================================
--- Makefile.in (nonexistent)
+++ Makefile.in (revision 816)
@@ -0,0 +1,126 @@
+# Copyright (c) 1999, 2001, 2003 Red Hat Inc
+#
+# The authors hereby grant permission to use, copy, modify, distribute,
+# and license this software and its documentation for any purpose, provided
+# that existing copyright notices are retained in all copies and that this
+# notice is included verbatim in any distributions. No written agreement,
+# license, or royalty fee is required for any of the authorized uses.
+# Modifications to this software may be copyrighted by their authors
+# and need not follow the licensing terms described here, provided that
+# the new terms are clearly indicated on the first page of each file where
+# they apply.
+
+# Makefile for libgloss/mep. We only support the simulator at the
+# moment.
+
+VPATH = @srcdir@ @srcdir@/..
+srcdir = @srcdir@
+objdir = .
+srcroot = $(srcdir)/../..
+objroot = $(objdir)/../..
+
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+host_alias = @host_alias@
+target_alias = @target_alias@
+
+bindir = @bindir@
+libdir = @libdir@
+tooldir = $(exec_prefix)/$(target_alias)
+
+# Multilib support variables.
+# TOP is used instead of MULTI{BUILD,SRC}TOP.
+MULTIDIRS =
+MULTISUBDIR =
+MULTIDO = true
+MULTICLEAN = true
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_DATA = @INSTALL_DATA@
+
+SHELL = /bin/sh
+
+CC = @CC@
+
+AS = @AS@
+AR = @AR@
+LD = @LD@
+RANLIB = @RANLIB@
+AR_FLAGS = rc
+
+OBJDUMP = `if [ -f ${objroot}/../binutils/objdump ] ; \
+ then echo ${objroot}/../binutils/objdump ; \
+ else t='$(program_transform_name)'; echo objdump | sed -e $$t ; fi`
+OBJCOPY = `if [ -f ${objroot}/../binutils/objcopy ] ; \
+ then echo ${objroot}/../binutils/objcopy ; \
+ else t='$(program_transform_name)'; echo objcopy | sed -e $$t ; fi`
+
+SCRIPTS = min.ld simple.ld fmax.ld
+CRT = crt0.o sdram-crt0.o sim-crt0.o simnovec-crt0.o simsdram-crt0.o crtn.o sim-crtn.o
+SIM_BSP = libsim.a
+LIBNOSYS = ../libnosys/libnosys.a
+SIM_OBJS = \
+ isatty.o \
+ sbrk.o \
+ syscalls.o \
+ mep-gmon.o \
+ mep-bb.o \
+ handlers.o \
+ h_reset.o \
+ read.o \
+ write.o
+
+#### Host specific Makefile fragment comes in here.
+@host_makefile_frag@
+
+
+# Override .S.o rule to pass assembler debugging flags
+.S.o:
+ $(CC) -Wa,-gdwarf2 -Wa,-I$(srcdir) $(CFLAGS_FOR_TARGET) $(INCLUDES) $(CFLAGS) -c $<
+
+all: $(CRT) $(SIM_BSP)
+
+$(SIM_BSP): $(SIM_OBJS)
+ $(AR) $(ARFLAGS) $@ $?
+ $(RANLIB) $@
+ $(AR) $(ARFLAGS) $(LIBNOSYS) handlers.o h_reset.o
+ $(RANLIB) $(LIBNOSYS)
+
+syscalls.o: $(srcdir)/syscalls.S
+sbrk.o: $(srcdir)/sbrk.c
+crt0.o: $(srcdir)/crt0.S $(srcdir)/sim-crt0.S
+sdram-crt0.o: $(srcdir)/sdram-crt0.S $(srcdir)/sim-crt0.S
+sim-crt0.o: $(srcdir)/sim-crt0.S
+simsdram-crt0.o: $(srcdir)/simsdram-crt0.S $(srcdir)/sim-crt0.S
+simnovec-crt0.o: $(srcdir)/simnovec-crt0.S $(srcdir)/sim-crt0.S
+crtn.o: $(srcdir)/crtn.S $(srcdir)/sim-crtn.S
+
+install: $(CRT) $(SIM_BSP)
+ for c in $(CRT) $(SIM_BSP); do \
+ $(INSTALL_DATA) $$c $(tooldir)/lib${MULTISUBDIR}/$$c ;\
+ done
+ if test -z "$(MULTISUBDIR)"; then \
+ for c in $(SCRIPTS); do \
+ $(INSTALL_DATA) $(srcdir)/$$c $(tooldir)/lib${MULTISUBDIR}/$$c ;\
+ done; \
+ $(INSTALL_DATA) $(srcdir)/gmap_default.ld $(tooldir)/lib/gmap_default.tmpl; \
+ else true; fi
+
+clean mostlyclean:
+ rm -f *.o *.a
+
+distclean maintainer-clean realclean: clean
+ rm -f Makefile config.cache config.log config.status
+
+.PHONY: info dvi doc install-info clean-info
+info doc dvi:
+install-info:
+clean-info:
+
+Makefile: Makefile.in config.status @host_makefile_frag_path@
+ $(SHELL) config.status
+
+config.status: configure
+ $(SHELL) config.status --recheck
Index: mep-bb.c
===================================================================
--- mep-bb.c (nonexistent)
+++ mep-bb.c (revision 816)
@@ -0,0 +1,1071 @@
+/*
+ * Copyright (c) 2000-2001 Red Hat, Inc. All rights reserved.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the BSD
+ * License. This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY expressed or implied, including the implied
+ * warranties of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. A copy
+ * of this license is available at http://www.opensource.org/licenses. Any
+ * Red Hat trademarks that are incorporated in the source code or documentation
+ * are not subject to the BSD License and may only be used or replicated with
+ * the express permission of Red Hat, Inc.
+ */
+
+/* Structure emitted by -a */
+struct bb
+{
+ long zero_word;
+ const char *filename;
+ long *counts;
+ long ncounts;
+ struct bb *next;
+ const unsigned long *addresses;
+
+ /* Older GCC's did not emit these fields. */
+ long nwords;
+ const char **functions;
+ const long *line_nums;
+ const char **filenames;
+ char *flags;
+};
+
+/* Simple minded basic block profiling output dumper for
+ systems that don't provide tcov support. At present,
+ it requires atexit and stdio. */
+
+#undef NULL /* Avoid errors if stdio.h and our stddef.h mismatch. */
+#include
+#include
+char *ctime (const time_t *);
+
+/*#include "gbl-ctors.h"*/
+#include "gcov-io.h"
+#include
+
+static struct bb *bb_head;
+
+static int num_digits (long value, int base) __attribute__ ((const));
+
+/* Return the number of digits needed to print a value */
+/* __inline__ */ static int num_digits (long value, int base)
+{
+ int minus = (value < 0 && base != 16);
+ unsigned long v = (minus) ? -value : value;
+ int ret = minus;
+
+ do
+ {
+ v /= base;
+ ret++;
+ }
+ while (v);
+
+ return ret;
+}
+
+void
+__bb_exit_func (void)
+{
+ FILE *da_file, *file;
+ long time_value;
+ int i;
+
+ if (bb_head == 0)
+ return;
+
+ i = strlen (bb_head->filename) - 3;
+
+ if (!strcmp (bb_head->filename+i, ".da"))
+ {
+ /* Must be -fprofile-arcs not -a.
+ Dump data in a form that gcov expects. */
+
+ struct bb *ptr;
+
+ for (ptr = bb_head; ptr != (struct bb *) 0; ptr = ptr->next)
+ {
+ int firstchar;
+
+ /* Make sure the output file exists -
+ but don't clobber exiting data. */
+ if ((da_file = fopen (ptr->filename, "a")) != 0)
+ fclose (da_file);
+
+ /* Need to re-open in order to be able to write from the start. */
+ da_file = fopen (ptr->filename, "r+b");
+ /* Some old systems might not allow the 'b' mode modifier.
+ Therefore, try to open without it. This can lead to a race
+ condition so that when you delete and re-create the file, the
+ file might be opened in text mode, but then, you shouldn't
+ delete the file in the first place. */
+ if (da_file == 0)
+ da_file = fopen (ptr->filename, "r+");
+ if (da_file == 0)
+ {
+ fprintf (stderr, "arc profiling: Can't open output file %s.\n",
+ ptr->filename);
+ continue;
+ }
+
+ /* After a fork, another process might try to read and/or write
+ the same file simultanously. So if we can, lock the file to
+ avoid race conditions. */
+
+ /* If the file is not empty, and the number of counts in it is the
+ same, then merge them in. */
+ firstchar = fgetc (da_file);
+ if (firstchar == EOF)
+ {
+ if (ferror (da_file))
+ {
+ fprintf (stderr, "arc profiling: Can't read output file ");
+ perror (ptr->filename);
+ }
+ }
+ else
+ {
+ long n_counts = 0;
+
+ if (ungetc (firstchar, da_file) == EOF)
+ rewind (da_file);
+ if (__read_long (&n_counts, da_file, 8) != 0)
+ {
+ fprintf (stderr, "arc profiling: Can't read output file %s.\n",
+ ptr->filename);
+ continue;
+ }
+
+ if (n_counts == ptr->ncounts)
+ {
+ int i;
+
+ for (i = 0; i < n_counts; i++)
+ {
+ long v = 0;
+
+ if (__read_long (&v, da_file, 8) != 0)
+ {
+ fprintf (stderr, "arc profiling: Can't read output file %s.\n",
+ ptr->filename);
+ break;
+ }
+ ptr->counts[i] += v;
+ }
+ }
+
+ }
+
+ rewind (da_file);
+
+ /* ??? Should first write a header to the file. Preferably, a 4 byte
+ magic number, 4 bytes containing the time the program was
+ compiled, 4 bytes containing the last modification time of the
+ source file, and 4 bytes indicating the compiler options used.
+
+ That way we can easily verify that the proper source/executable/
+ data file combination is being used from gcov. */
+
+ if (__write_long (ptr->ncounts, da_file, 8) != 0)
+ {
+
+ fprintf (stderr, "arc profiling: Error writing output file %s.\n",
+ ptr->filename);
+ }
+ else
+ {
+ int j;
+ long *count_ptr = ptr->counts;
+ int ret = 0;
+ for (j = ptr->ncounts; j > 0; j--)
+ {
+ if (__write_long (*count_ptr, da_file, 8) != 0)
+ {
+ ret=1;
+ break;
+ }
+ count_ptr++;
+ }
+ if (ret)
+ fprintf (stderr, "arc profiling: Error writing output file %s.\n",
+ ptr->filename);
+ }
+
+ if (fclose (da_file) == EOF)
+ fprintf (stderr, "arc profiling: Error closing output file %s.\n",
+ ptr->filename);
+ }
+
+ return;
+ }
+
+ /* Must be basic block profiling. Emit a human readable output file. */
+
+ file = fopen ("bb.out", "a");
+
+ if (!file)
+ perror ("bb.out");
+
+ else
+ {
+ struct bb *ptr;
+
+ /* This is somewhat type incorrect, but it avoids worrying about
+ exactly where time.h is included from. It should be ok unless
+ a void * differs from other pointer formats, or if sizeof (long)
+ is < sizeof (time_t). It would be nice if we could assume the
+ use of rationale standards here. */
+
+ time ((void *) &time_value);
+ fprintf (file, "Basic block profiling finished on %s\n", ctime ((void *) &time_value));
+
+ /* We check the length field explicitly in order to allow compatibility
+ with older GCC's which did not provide it. */
+
+ for (ptr = bb_head; ptr != (struct bb *) 0; ptr = ptr->next)
+ {
+ int i;
+ int func_p = (ptr->nwords >= (long) sizeof (struct bb)
+ && ptr->nwords <= 1000
+ && ptr->functions);
+ int line_p = (func_p && ptr->line_nums);
+ int file_p = (func_p && ptr->filenames);
+ int addr_p = (ptr->addresses != 0);
+ long ncounts = ptr->ncounts;
+ long cnt_max = 0;
+ long line_max = 0;
+ long addr_max = 0;
+ int file_len = 0;
+ int func_len = 0;
+ int blk_len = num_digits (ncounts, 10);
+ int cnt_len;
+ int line_len;
+ int addr_len;
+
+ fprintf (file, "File %s, %ld basic blocks \n\n",
+ ptr->filename, ncounts);
+
+ /* Get max values for each field. */
+ for (i = 0; i < ncounts; i++)
+ {
+ const char *p;
+ int len;
+
+ if (cnt_max < ptr->counts[i])
+ cnt_max = ptr->counts[i];
+
+ if (addr_p && (unsigned long) addr_max < ptr->addresses[i])
+ addr_max = ptr->addresses[i];
+
+ if (line_p && line_max < ptr->line_nums[i])
+ line_max = ptr->line_nums[i];
+
+ if (func_p)
+ {
+ p = (ptr->functions[i]) ? (ptr->functions[i]) : "";
+ len = strlen (p);
+ if (func_len < len)
+ func_len = len;
+ }
+
+ if (file_p)
+ {
+ p = (ptr->filenames[i]) ? (ptr->filenames[i]) : "";
+ len = strlen (p);
+ if (file_len < len)
+ file_len = len;
+ }
+ }
+
+ addr_len = num_digits (addr_max, 16);
+ cnt_len = num_digits (cnt_max, 10);
+ line_len = num_digits (line_max, 10);
+
+ /* Now print out the basic block information. */
+ for (i = 0; i < ncounts; i++)
+ {
+ fprintf (file,
+ " Block #%*d: executed %*ld time(s)",
+ blk_len, i+1,
+ cnt_len, ptr->counts[i]);
+
+ if (addr_p)
+ fprintf (file, " address= 0x%.*lx", addr_len,
+ ptr->addresses[i]);
+
+ if (func_p)
+ fprintf (file, " function= %-*s", func_len,
+ (ptr->functions[i]) ? ptr->functions[i] : "");
+
+ if (line_p)
+ fprintf (file, " line= %*ld", line_len, ptr->line_nums[i]);
+
+ if (file_p)
+ fprintf (file, " file= %s",
+ (ptr->filenames[i]) ? ptr->filenames[i] : "");
+
+ fprintf (file, "\n");
+ }
+
+ fprintf (file, "\n");
+ fflush (file);
+ }
+
+ fprintf (file, "\n\n");
+ fclose (file);
+ }
+}
+
+void
+__bb_init_func (struct bb *blocks)
+{
+ /* User is supposed to check whether the first word is non-0,
+ but just in case.... */
+
+ if (blocks->zero_word)
+ return;
+
+ /* Initialize destructor. */
+ if (!bb_head)
+ atexit (__bb_exit_func);
+
+ /* Set up linked list. */
+ blocks->zero_word = 1;
+ blocks->next = bb_head;
+ bb_head = blocks;
+}
+
+/* Called before fork or exec - write out profile information gathered so
+ far and reset it to zero. This avoids duplication or loss of the
+ profile information gathered so far. */
+void
+__bb_fork_func (void)
+{
+ struct bb *ptr;
+
+ __bb_exit_func ();
+ for (ptr = bb_head; ptr != (struct bb *) 0; ptr = ptr->next)
+ {
+ long i;
+ for (i = ptr->ncounts - 1; i >= 0; i--)
+ ptr->counts[i] = 0;
+ }
+}
+
+#ifndef MACHINE_STATE_SAVE
+#define MACHINE_STATE_SAVE(ID)
+#endif
+#ifndef MACHINE_STATE_RESTORE
+#define MACHINE_STATE_RESTORE(ID)
+#endif
+
+/* Number of buckets in hashtable of basic block addresses. */
+
+#define BB_BUCKETS 311
+
+/* Maximum length of string in file bb.in. */
+
+#define BBINBUFSIZE 500
+
+struct bb_edge
+{
+ struct bb_edge *next;
+ unsigned long src_addr;
+ unsigned long dst_addr;
+ unsigned long count;
+};
+
+enum bb_func_mode
+{
+ TRACE_KEEP = 0, TRACE_ON = 1, TRACE_OFF = 2
+};
+
+struct bb_func
+{
+ struct bb_func *next;
+ char *funcname;
+ char *filename;
+ enum bb_func_mode mode;
+};
+
+/* This is the connection to the outside world.
+ The BLOCK_PROFILER macro must set __bb.blocks
+ and __bb.blockno. */
+
+struct {
+ unsigned long blockno;
+ struct bb *blocks;
+} __bb;
+
+/* Vars to store addrs of source and destination basic blocks
+ of a jump. */
+
+static unsigned long bb_src = 0;
+static unsigned long bb_dst = 0;
+
+static FILE *bb_tracefile = (FILE *) 0;
+static struct bb_edge **bb_hashbuckets = (struct bb_edge **) 0;
+static struct bb_func *bb_func_head = (struct bb_func *) 0;
+static unsigned long bb_callcount = 0;
+static int bb_mode = 0;
+
+static unsigned long *bb_stack = (unsigned long *) 0;
+static size_t bb_stacksize = 0;
+
+static int reported = 0;
+
+/* Trace modes:
+Always : Print execution frequencies of basic blocks
+ to file bb.out.
+bb_mode & 1 != 0 : Dump trace of basic blocks to file bbtrace[.gz]
+bb_mode & 2 != 0 : Print jump frequencies to file bb.out.
+bb_mode & 4 != 0 : Cut call instructions from basic block flow.
+bb_mode & 8 != 0 : Insert return instructions in basic block flow.
+*/
+
+#ifdef HAVE_POPEN
+
+/*#include */
+#include
+/*#include */
+
+/* Commands executed by gopen. */
+
+#define GOPENDECOMPRESS "gzip -cd "
+#define GOPENCOMPRESS "gzip -c >"
+
+/* Like fopen but pipes through gzip. mode may only be "r" or "w".
+ If it does not compile, simply replace gopen by fopen and delete
+ '.gz' from any first parameter to gopen. */
+
+static FILE *
+gopen (char *fn, char *mode)
+{
+ int use_gzip;
+ char *p;
+
+ if (mode[1])
+ return (FILE *) 0;
+
+ if (mode[0] != 'r' && mode[0] != 'w')
+ return (FILE *) 0;
+
+ p = fn + strlen (fn)-1;
+ use_gzip = ((p[-1] == '.' && (p[0] == 'Z' || p[0] == 'z'))
+ || (p[-2] == '.' && p[-1] == 'g' && p[0] == 'z'));
+
+ if (use_gzip)
+ {
+ if (mode[0]=='r')
+ {
+ FILE *f;
+ char *s = (char *) malloc (sizeof (char) * strlen (fn)
+ + sizeof (GOPENDECOMPRESS));
+ strcpy (s, GOPENDECOMPRESS);
+ strcpy (s + (sizeof (GOPENDECOMPRESS)-1), fn);
+ f = popen (s, mode);
+ free (s);
+ return f;
+ }
+
+ else
+ {
+ FILE *f;
+ char *s = (char *) malloc (sizeof (char) * strlen (fn)
+ + sizeof (GOPENCOMPRESS));
+ strcpy (s, GOPENCOMPRESS);
+ strcpy (s + (sizeof (GOPENCOMPRESS)-1), fn);
+ if (!(f = popen (s, mode)))
+ f = fopen (s, mode);
+ free (s);
+ return f;
+ }
+ }
+
+ else
+ return fopen (fn, mode);
+}
+
+static int
+gclose (FILE *f)
+{
+ struct stat buf;
+
+ if (f != 0)
+ {
+ if (!fstat (fileno (f), &buf) && S_ISFIFO (buf.st_mode))
+ return pclose (f);
+
+ return fclose (f);
+ }
+ return 0;
+}
+
+#endif /* HAVE_POPEN */
+
+/* Called once per program. */
+
+static void
+__bb_exit_trace_func (void)
+{
+ FILE *file = fopen ("bb.out", "a");
+ struct bb_func *f;
+ struct bb *b;
+
+ if (!file)
+ perror ("bb.out");
+
+ if (bb_mode & 1)
+ {
+ if (!bb_tracefile)
+ perror ("bbtrace");
+ else
+#ifdef HAVE_POPEN
+ gclose (bb_tracefile);
+#else
+ fclose (bb_tracefile);
+#endif /* HAVE_POPEN */
+ }
+
+ /* Check functions in `bb.in'. */
+
+ if (file)
+ {
+ long time_value;
+ const struct bb_func *p;
+ int printed_something = 0;
+ struct bb *ptr;
+ long blk;
+
+ /* This is somewhat type incorrect. */
+ time ((void *) &time_value);
+
+ for (p = bb_func_head; p != (struct bb_func *) 0; p = p->next)
+ {
+ for (ptr = bb_head; ptr != (struct bb *) 0; ptr = ptr->next)
+ {
+ if (!ptr->filename || (p->filename != (char *) 0 && strcmp (p->filename, ptr->filename)))
+ continue;
+ for (blk = 0; blk < ptr->ncounts; blk++)
+ {
+ if (!strcmp (p->funcname, ptr->functions[blk]))
+ goto found;
+ }
+ }
+
+ if (!printed_something)
+ {
+ fprintf (file, "Functions in `bb.in' not executed during basic block profiling on %s\n", ctime ((void *) &time_value));
+ printed_something = 1;
+ }
+
+ fprintf (file, "\tFunction %s", p->funcname);
+ if (p->filename)
+ fprintf (file, " of file %s", p->filename);
+ fprintf (file, "\n" );
+
+found: ;
+ }
+
+ if (printed_something)
+ fprintf (file, "\n");
+
+ }
+
+ if (bb_mode & 2)
+ {
+ if (!bb_hashbuckets)
+ {
+ if (!reported)
+ {
+ fprintf (stderr, "Profiler: out of memory\n");
+ reported = 1;
+ }
+ return;
+ }
+
+ else if (file)
+ {
+ long time_value;
+ int i;
+ unsigned long addr_max = 0;
+ unsigned long cnt_max = 0;
+ int cnt_len;
+ int addr_len;
+
+ /* This is somewhat type incorrect, but it avoids worrying about
+ exactly where time.h is included from. It should be ok unless
+ a void * differs from other pointer formats, or if sizeof (long)
+ is < sizeof (time_t). It would be nice if we could assume the
+ use of rationale standards here. */
+
+ time ((void *) &time_value);
+ fprintf (file, "Basic block jump tracing");
+
+ switch (bb_mode & 12)
+ {
+ case 0:
+ fprintf (file, " (with call)");
+ break;
+
+ case 4:
+ /* Print nothing. */
+ break;
+
+ case 8:
+ fprintf (file, " (with call & ret)");
+ break;
+
+ case 12:
+ fprintf (file, " (with ret)");
+ break;
+ }
+
+ fprintf (file, " finished on %s\n", ctime ((void *) &time_value));
+
+ for (i = 0; i < BB_BUCKETS; i++)
+ {
+ struct bb_edge *bucket = bb_hashbuckets[i];
+ for ( ; bucket; bucket = bucket->next )
+ {
+ if (addr_max < bucket->src_addr)
+ addr_max = bucket->src_addr;
+ if (addr_max < bucket->dst_addr)
+ addr_max = bucket->dst_addr;
+ if (cnt_max < bucket->count)
+ cnt_max = bucket->count;
+ }
+ }
+ addr_len = num_digits (addr_max, 16);
+ cnt_len = num_digits (cnt_max, 10);
+
+ for ( i = 0; i < BB_BUCKETS; i++)
+ {
+ struct bb_edge *bucket = bb_hashbuckets[i];
+ for ( ; bucket; bucket = bucket->next )
+ {
+ fprintf (file,
+ "Jump from block 0x%.*lx to block 0x%.*lx executed %*lu time(s)\n",
+ addr_len, bucket->src_addr,
+ addr_len, bucket->dst_addr,
+ cnt_len, bucket->count);
+ }
+ }
+
+ fprintf (file, "\n");
+
+ }
+ }
+
+ if (file)
+ fclose (file);
+
+ /* Free allocated memory. */
+
+ f = bb_func_head;
+ while (f)
+ {
+ struct bb_func *old = f;
+
+ f = f->next;
+ if (old->funcname) free (old->funcname);
+ if (old->filename) free (old->filename);
+ free (old);
+ }
+
+ if (bb_stack)
+ free (bb_stack);
+
+ if (bb_hashbuckets)
+ {
+ int i;
+
+ for (i = 0; i < BB_BUCKETS; i++)
+ {
+ struct bb_edge *old, *bucket = bb_hashbuckets[i];
+
+ while (bucket)
+ {
+ old = bucket;
+ bucket = bucket->next;
+ free (old);
+ }
+ }
+ free (bb_hashbuckets);
+ }
+
+ for (b = bb_head; b; b = b->next)
+ if (b->flags) free (b->flags);
+}
+
+/* Called once per program. */
+
+static void
+__bb_init_prg (void)
+{
+ FILE *file;
+ char buf[BBINBUFSIZE];
+ const char *p;
+ const char *pos;
+ enum bb_func_mode m;
+ int i;
+
+ /* Initialize destructor. */
+ atexit (__bb_exit_func);
+
+ if (!(file = fopen ("bb.in", "r")))
+ return;
+
+ while(fgets (buf, BBINBUFSIZE, file) != 0)
+ {
+ i = strlen (buf);
+ if (buf[i-1] == '\n')
+ buf[--i] = '\0';
+
+ p = buf;
+ if (*p == '-')
+ {
+ m = TRACE_OFF;
+ p++;
+ }
+ else
+ {
+ m = TRACE_ON;
+ }
+ if (!strcmp (p, "__bb_trace__"))
+ bb_mode |= 1;
+ else if (!strcmp (p, "__bb_jumps__"))
+ bb_mode |= 2;
+ else if (!strcmp (p, "__bb_hidecall__"))
+ bb_mode |= 4;
+ else if (!strcmp (p, "__bb_showret__"))
+ bb_mode |= 8;
+ else
+ {
+ struct bb_func *f = (struct bb_func *) malloc (sizeof (struct bb_func));
+ if (f)
+ {
+ unsigned long l;
+ f->next = bb_func_head;
+ if ((pos = strchr (p, ':')))
+ {
+ if (!(f->funcname = (char *) malloc (strlen (pos+1)+1)))
+ continue;
+ strcpy (f->funcname, pos+1);
+ l = pos-p;
+ if ((f->filename = (char *) malloc (l+1)))
+ {
+ strncpy (f->filename, p, l);
+ f->filename[l] = '\0';
+ }
+ else
+ f->filename = (char *) 0;
+ }
+ else
+ {
+ if (!(f->funcname = (char *) malloc (strlen (p)+1)))
+ continue;
+ strcpy (f->funcname, p);
+ f->filename = (char *) 0;
+ }
+ f->mode = m;
+ bb_func_head = f;
+ }
+ }
+ }
+ fclose (file);
+
+#ifdef HAVE_POPEN
+
+ if (bb_mode & 1)
+ bb_tracefile = gopen ("bbtrace.gz", "w");
+
+#else
+
+ if (bb_mode & 1)
+ bb_tracefile = fopen ("bbtrace", "w");
+
+#endif /* HAVE_POPEN */
+
+ if (bb_mode & 2)
+ {
+ bb_hashbuckets = (struct bb_edge **)
+ malloc (BB_BUCKETS * sizeof (struct bb_edge *));
+ if (bb_hashbuckets)
+ /* Use a loop here rather than calling bzero to avoid having to
+ conditionalize its existance. */
+ for (i = 0; i < BB_BUCKETS; i++)
+ bb_hashbuckets[i] = 0;
+ }
+
+ if (bb_mode & 12)
+ {
+ bb_stacksize = 10;
+ bb_stack = (unsigned long *) malloc (bb_stacksize * sizeof (*bb_stack));
+ }
+
+ /* Initialize destructor. */
+ atexit (__bb_exit_trace_func);
+}
+
+/* Called upon entering a basic block. */
+
+void
+__bb_trace_func (void)
+{
+ struct bb_edge *bucket;
+
+ MACHINE_STATE_SAVE("1")
+
+ if (!bb_callcount || (__bb.blocks->flags && (__bb.blocks->flags[__bb.blockno] & TRACE_OFF)))
+ goto skip;
+
+ bb_dst = __bb.blocks->addresses[__bb.blockno];
+ __bb.blocks->counts[__bb.blockno]++;
+
+ if (bb_tracefile)
+ {
+ fwrite (&bb_dst, sizeof (unsigned long), 1, bb_tracefile);
+ }
+
+ if (bb_hashbuckets)
+ {
+ struct bb_edge **startbucket, **oldnext;
+
+ oldnext = startbucket
+ = & bb_hashbuckets[ (((int) bb_src*8) ^ (int) bb_dst) % BB_BUCKETS ];
+ bucket = *startbucket;
+
+ for (bucket = *startbucket; bucket;
+ oldnext = &(bucket->next), bucket = *oldnext)
+ {
+ if (bucket->src_addr == bb_src
+ && bucket->dst_addr == bb_dst)
+ {
+ bucket->count++;
+ *oldnext = bucket->next;
+ bucket->next = *startbucket;
+ *startbucket = bucket;
+ goto ret;
+ }
+ }
+
+ bucket = (struct bb_edge *) malloc (sizeof (struct bb_edge));
+
+ if (!bucket)
+ {
+ if (!reported)
+ {
+ fprintf (stderr, "Profiler: out of memory\n");
+ reported = 1;
+ }
+ }
+
+ else
+ {
+ bucket->src_addr = bb_src;
+ bucket->dst_addr = bb_dst;
+ bucket->next = *startbucket;
+ *startbucket = bucket;
+ bucket->count = 1;
+ }
+ }
+
+ret:
+ bb_src = bb_dst;
+
+skip:
+ ;
+
+ MACHINE_STATE_RESTORE("1")
+
+}
+
+/* Called when returning from a function and `__bb_showret__' is set. */
+
+static void
+__bb_trace_func_ret (void)
+{
+ struct bb_edge *bucket;
+
+ if (!bb_callcount || (__bb.blocks->flags && (__bb.blocks->flags[__bb.blockno] & TRACE_OFF)))
+ goto skip;
+
+ if (bb_hashbuckets)
+ {
+ struct bb_edge **startbucket, **oldnext;
+
+ oldnext = startbucket
+ = & bb_hashbuckets[ (((int) bb_dst * 8) ^ (int) bb_src) % BB_BUCKETS ];
+ bucket = *startbucket;
+
+ for (bucket = *startbucket; bucket;
+ oldnext = &(bucket->next), bucket = *oldnext)
+ {
+ if (bucket->src_addr == bb_dst
+ && bucket->dst_addr == bb_src)
+ {
+ bucket->count++;
+ *oldnext = bucket->next;
+ bucket->next = *startbucket;
+ *startbucket = bucket;
+ goto ret;
+ }
+ }
+
+ bucket = (struct bb_edge *) malloc (sizeof (struct bb_edge));
+
+ if (!bucket)
+ {
+ if (!reported)
+ {
+ fprintf (stderr, "Profiler: out of memory\n");
+ reported = 1;
+ }
+ }
+
+ else
+ {
+ bucket->src_addr = bb_dst;
+ bucket->dst_addr = bb_src;
+ bucket->next = *startbucket;
+ *startbucket = bucket;
+ bucket->count = 1;
+ }
+ }
+
+ret:
+ bb_dst = bb_src;
+
+skip:
+ ;
+
+}
+
+/* Called upon entering the first function of a file. */
+
+static void
+__bb_init_file (struct bb *blocks)
+{
+
+ const struct bb_func *p;
+ long blk, ncounts = blocks->ncounts;
+ const char **functions = blocks->functions;
+
+ /* Set up linked list. */
+ blocks->zero_word = 1;
+ blocks->next = bb_head;
+ bb_head = blocks;
+
+ blocks->flags = 0;
+ if (!bb_func_head
+ || !(blocks->flags = (char *) malloc (sizeof (char) * blocks->ncounts)))
+ return;
+
+ for (blk = 0; blk < ncounts; blk++)
+ blocks->flags[blk] = 0;
+
+ for (blk = 0; blk < ncounts; blk++)
+ {
+ for (p = bb_func_head; p; p = p->next)
+ {
+ if (!strcmp (p->funcname, functions[blk])
+ && (!p->filename || !strcmp (p->filename, blocks->filename)))
+ {
+ blocks->flags[blk] |= p->mode;
+ }
+ }
+ }
+
+}
+
+/* Called when exiting from a function. */
+
+void
+__bb_trace_ret (void)
+{
+
+ MACHINE_STATE_SAVE("2")
+
+ if (bb_callcount)
+ {
+ if ((bb_mode & 12) && bb_stacksize > bb_callcount)
+ {
+ bb_src = bb_stack[bb_callcount];
+ if (bb_mode & 8)
+ __bb_trace_func_ret ();
+ }
+
+ bb_callcount -= 1;
+ }
+
+ MACHINE_STATE_RESTORE("2")
+
+}
+
+/* Called when entering a function. */
+
+void
+__bb_init_trace_func (struct bb *blocks, unsigned long blockno)
+{
+ static int trace_init = 0;
+
+ MACHINE_STATE_SAVE("3")
+
+ if (!blocks->zero_word)
+ {
+ if (!trace_init)
+ {
+ trace_init = 1;
+ __bb_init_prg ();
+ }
+ __bb_init_file (blocks);
+ }
+
+ if (bb_callcount)
+ {
+
+ bb_callcount += 1;
+
+ if (bb_mode & 12)
+ {
+ if (bb_callcount >= bb_stacksize)
+ {
+ size_t newsize = bb_callcount + 100;
+
+ bb_stack = (unsigned long *) realloc (bb_stack, newsize);
+ if (! bb_stack)
+ {
+ if (!reported)
+ {
+ fprintf (stderr, "Profiler: out of memory\n");
+ reported = 1;
+ }
+ bb_stacksize = 0;
+ goto stack_overflow;
+ }
+ bb_stacksize = newsize;
+ }
+ bb_stack[bb_callcount] = bb_src;
+
+ if (bb_mode & 4)
+ bb_src = 0;
+
+ }
+
+stack_overflow:;
+
+ }
+
+ else if (blocks->flags && (blocks->flags[blockno] & TRACE_ON))
+ {
+ bb_callcount = 1;
+ bb_src = 0;
+
+ if (bb_stack)
+ bb_stack[bb_callcount] = bb_src;
+ }
+
+ MACHINE_STATE_RESTORE("3")
+}
+
mep-bb.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: simsdram-crt0.S
===================================================================
--- simsdram-crt0.S (nonexistent)
+++ simsdram-crt0.S (revision 816)
@@ -0,0 +1,19 @@
+# Copyright (c) 2003 Red Hat, Inc. All rights reserved.
+#
+# This copyrighted material is made available to anyone wishing to use, modify,
+# copy, or redistribute it subject to the terms and conditions of the BSD
+# License. This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY expressed or implied, including the implied
+# warranties of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. A copy
+# of this license is available at http://www.opensource.org/licenses. Any
+# Red Hat trademarks that are incorporated in the source code or documentation
+# are not subject to the BSD License and may only be used or replicated with
+# the express permission of Red Hat, Inc.
+#
+# Toshiba Media Processor startup file (simsdram-crt0.S)
+#
+# Designed for user programs which put interrupt/exception vectors in sdram.
+#
+
+#define UseSDRAM
+#include "sim-crt0.S"
simsdram-crt0.S
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: configure.in
===================================================================
--- configure.in (nonexistent)
+++ configure.in (revision 816)
@@ -0,0 +1,66 @@
+dnl Copyright (c) 2000-2007 Red Hat, Inc. All rights reserved.
+dnl
+dnl This copyrighted material is made available to anyone wishing to use,
+dnl modify, copy, or redistribute it subject to the terms and conditions of
+dnl the BSD License. This program is distributed in the hope that
+dnl it will be useful, but WITHOUT ANY WARRANTY expressed or implied,
+dnl including the implied warranties of MERCHANTABILITY or FITNESS FOR A
+dnl PARTICULAR PURPOSE. A copy of this license is available at
+dnl http://www.opensource.org/licenses. Any Red Hat trademarks that are
+dnl incorporated in the source code or documentation are not subject to the
+dnl BSD License and may only be used or replicated with the express permission
+dnl of Red Hat, Inc.
+
+dnl Process this file with autoconf to produce a configure script.
+AC_PREREQ(2.59)
+AC_INIT(crt0.S)
+
+if test "${enable_shared}" = "yes" ; then
+ echo "Shared libraries not supported for cross compiling, ignored"
+fi
+
+if test "$srcdir" = "." ; then
+ if test "${with_target_subdir}" != "." ; then
+ libgloss_topdir="${srcdir}/${with_multisrctop}../../.."
+ else
+ libgloss_topdir="${srcdir}/${with_multisrctop}../.."
+ fi
+else
+ libgloss_topdir="${srcdir}/../.."
+fi
+AC_CONFIG_AUX_DIR($libgloss_topdir)
+
+AC_CANONICAL_SYSTEM
+AC_ARG_PROGRAM
+
+AC_PROG_INSTALL
+
+LIB_AC_PROG_CC
+AS=${AS-as}
+AC_SUBST(AS)
+AR=${AR-ar}
+AC_SUBST(AR)
+LD=${LD-ld}
+AC_SUBST(LD)
+AC_PROG_RANLIB
+
+host_makefile_frag=${srcdir}/../config/default.mh
+
+dnl We have to assign the same value to other variables because autoconf
+dnl doesn't provide a mechanism to substitute a replacement keyword with
+dnl arbitrary data or pathnames.
+dnl
+host_makefile_frag_path=$host_makefile_frag
+AC_SUBST(host_makefile_frag_path)
+AC_SUBST_FILE(host_makefile_frag)
+
+AC_CONFIG_FILES([Makefile],
+. ${libgloss_topdir}/config-ml.in,
+srcdir=${srcdir}
+target=${target}
+with_multisubdir=${with_multisubdir}
+ac_configure_args="${ac_configure_args} --enable-multilib"
+CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
+libgloss_topdir=${libgloss_topdir}
+)
+AC_OUTPUT
configure.in
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: gmap_default.ld
===================================================================
--- gmap_default.ld (nonexistent)
+++ gmap_default.ld (revision 816)
@@ -0,0 +1,280 @@
+/******************************************************************************
+begin-header
+
+ Copyright (c) 2000-2007 Red Hat, Inc. All rights reserved.
+
+ This copyrighted material is made available to anyone wishing to use, modify,
+ copy, or redistribute it subject to the terms and conditions of the BSD
+ License. This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY expressed or implied, including the implied
+ warranties of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. A copy
+ of this license is available at http://www.opensource.org/licenses. Any
+ Red Hat trademarks that are incorporated in the source code or documentation
+ are not subject to the BSD License and may only be used or replicated with
+ the express permission of Red Hat, Inc.
+
+ Default linker script for use with the Configuration Tool for
+ Toshiba Media Processor.
+
+ When generating a configuration for a media module, M, the
+ configuration tool will copy this file into a custom linker script
+ M.ld, and customize the script with settings from the media
+ module's global map file.
+
+end-header
+*******************************************************************************/
+
+OUTPUT_FORMAT("elf32-mep", "elf32-mep",
+ "elf32-mep")
+OUTPUT_ARCH(mep)
+ENTRY(_reset)
+
+MEMORY
+{
+/* begin-memory */
+ VEC (r) : ORIGIN = 0x00000000, LENGTH = 0x000000b8
+ ROM (r) : ORIGIN = 0x000000b8, LENGTH = 0x001fff48
+ RAM (w) : ORIGIN = 0x00800000, LENGTH = 0x00800000
+/* end-memory */
+}
+
+SECTIONS
+{
+ /* Sections to be placed in the vec area. */
+ .vec : { *(.vec) } >VEC /* VEC-section */
+
+ /* Sections to be placed in the HWINIT area. */
+ .hwinit : { *(.hwinit) } >HWINIT /* HWINIT-section */
+
+ /* Sections to be placed in the ROM area. */
+ .gnu.version : { *(.gnu.version) } >ROM /* ROM-section */
+ .gnu.version_d : { *(.gnu.version_d) } >ROM /* ROM-section */
+ .gnu.version_r : { *(.gnu.version_r) } >ROM /* ROM-section */
+
+ /* Sections to be placed in the romdata.s area. */
+ .srodata :
+ {
+ __sdabase = . + 0x8000;
+ *(.srodata) *(.srodata.*) *(.gnu.linkonce.srd.*)
+ } >RAM /* DATA-section */
+
+ /* Sections to be placed in the data.s area. */
+ .sdata :
+ {
+ *(.sdata)
+ *(.sdata.*)
+ *(.gnu.linkonce.s.*)
+ } >RAM /* DATA-section */
+ .sbss :
+ {
+ PROVIDE (__sbss_start = .);
+ PROVIDE (___sbss_start = .);
+ *(.dynsbss)
+ *(.sbss)
+ *(.sbss.*)
+ *(.gnu.linkonce.sb.*)
+ *(.scommon)
+ PROVIDE (__sbss_end = .);
+ PROVIDE (___sbss_end = .);
+ /* Assert maximum size */
+ __assert_tiny_size = ASSERT ((. < __sdabase) || ((. - __sdabase) <= 0x8000),
+ "tiny section overflow");
+ } >RAM /* DATA-section */
+
+ /* Sections to be placed in the data.m area. */
+ .data :
+ {
+ __data_start = . ;
+ *(.data)
+ *(.data.*)
+ *(.gnu.linkonce.d.*)
+ SORT(CONSTRUCTORS)
+ } >RAM /* DATA-section */
+ .data1 : { *(.data1) } >RAM /* DATA-section */
+ .eh_frame : { KEEP (*(.eh_frame))} >RAM /* DATA-section */
+ .gcc_except_table : { *(.gcc_except_table) *(.gcc_except_table.*) } >RAM /* DATA-section */
+ .dynamic : { *(.dynamic) } >RAM /* DATA-section */
+ .ctors :
+ {
+ /* gcc uses crtbegin.o to find the start of
+ the constructors, so we make sure it is
+ first. Because this is a wildcard, it
+ doesn't matter if the user does not
+ actually link against crtbegin.o; the
+ linker won't look for a file to match a
+ wildcard. The wildcard also means that it
+ doesn't matter which directory crtbegin.o
+ is in. */
+ KEEP (*crtbegin.o(.ctors))
+ /* We don't want to include the .ctor section from
+ from the crtend.o file until after the sorted ctors.
+ The .ctor section from the crtend file contains the
+ end of ctors marker and it must be last */
+ KEEP (*(EXCLUDE_FILE (*crtend.o ) .ctors))
+ KEEP (*(SORT(.ctors.*)))
+ KEEP (*(.ctors))
+ } >RAM /* DATA-section */
+ .dtors :
+ {
+ KEEP (*crtbegin.o(.dtors))
+ KEEP (*(EXCLUDE_FILE (*crtend.o ) .dtors))
+ KEEP (*(SORT(.dtors.*)))
+ KEEP (*(.dtors))
+ } >RAM /* DATA-section */
+ .jcr :
+ {
+ . = ALIGN(4);
+ *(.jcr)
+ } >RAM /* DATA-section */
+ .got :
+ {
+ *(.got.plt) *(.got)
+ _edata = .;
+ PROVIDE (edata = .);
+ } >RAM /* DATA-section */
+ .based :
+ {
+ __tpbase = .;
+ *(.based) *(.based.*) *(.gnu.linkonce.based.*)
+ /* Assert maximum size */
+ __assert_based_size = ASSERT ((. - __tpbase) <= 0x80,
+ "based section overflow");
+ } >RAM /* DATA-section */
+
+ .bss :
+ {
+ __bss_start = .;
+ *(.dynbss)
+ *(.bss)
+ *(.bss.*)
+ *(.gnu.linkonce.b.*)
+ *(COMMON)
+ /* Align here to ensure that the .bss section occupies space up to
+ _end. Align after .bss to ensure correct alignment even if the
+ .bss section disappears because there are no input sections. */
+ . = ALIGN(32 / 8);
+ _end = .;
+ PROVIDE (end = .);
+ } >RAM /* DATA-section */
+
+ /* Sections to be placed in the code.m area. */
+ .init :
+ {
+ KEEP (*(.init))
+ } >RAM /* CODE-section */
+ .plt : { *(.plt) } >RAM /* DATA-section */
+ .text :
+ {
+ *(.text)
+ *(.text.*)
+ *(.stub)
+ /* .gnu.warning sections are handled specially by elf32.em. */
+ *(.gnu.warning)
+ *(.gnu.linkonce.t.*)
+ } >RAM /* CODE-section */ =0
+ .vtext ALIGN(8) :
+ {
+ *(.vtext)
+ } >RAM /* CODE-section */
+ .fini :
+ {
+ KEEP (*(.fini))
+ PROVIDE (__etext = .);
+ PROVIDE (_etext = .);
+ PROVIDE (etext = .);
+ } >RAM /* CODE-section */ =0
+
+ /* Sections to be placed in the romdata.m area. */
+ .rodata : { *(.rodata) *(.rodata.*) *(.gnu.linkonce.r.*) } >RAM /* DATA-section */
+ .rodata1 : { *(.rodata1) } >RAM /* DATA-section */
+
+ /* Sections to be placed in the code.l area. */
+ .ftext : { *(.ftext) *(.ftext.*) *(.gnu.linkonce.ft.*) } >RAM /* CODE-section */
+ .vftext ALIGN(8) :
+ {
+ *(.vftext) *(.vftext.*) *(.gnu.linkonce.vf.*)
+ } >RAM /* CODE-section */
+
+ /* Sections to be placed in the romdata.l area. */
+ .frodata :
+ {
+ *(.frodata) *(.frodata.*) *(.gnu.linkonce.frd.*)
+ __assert_near_size = ASSERT (. <= 0x1000000, "near section overflow");
+ } >RAM /* DATA-section */
+
+ /* Sections to be placed in the data.l area. */
+ .far : { *(.far) *(.far.*) *(.gnu.linkonce.far.*) } >RAM /* DATA-section */
+ .farbss :
+ { PROVIDE (__farbss_start = .);
+ *(.farbss) *(.farbss.*)
+ PROVIDE (__farbss_end = .);
+ } >RAM /* DATA-section */
+
+ /* END-mep-sections */
+
+ /* begin-stack-table */
+ __stack0 = (__stack - (0 * (__stack_size / 1)) + 15) / 16 * 16;
+
+ .rostacktab :
+ {
+ /* Emit a table describing the location of the different stacks.
+ Only 1 processor in the default configuration. */
+ . = ALIGN(4);
+ __stack_table = .;
+ LONG (__stack0);
+ __stack_end = .;
+ } >RAM
+ /* end-stack-table */
+
+ /* begin-heap */
+ /* End of DATA is 0x00800000 + 0x00800000. That's where the heap will end. */
+ __heap_end = 0x00800000 + 0x00800000 - 1;
+ /* end-heap */
+
+ /* Default stack size is 1M. That's where the heap will start if there's
+ room. If there's not enough room, allocate half of the remaining space
+ for stack and half for heap. Align the heap on a 16 byte boundary. */
+ __stack_size = (__stack_end + 0x100000 <= __heap_end + 1
+ ? 0x100000
+ : ((__heap_end + 1 - __stack_end) / 2));
+ __heap = (__stack_end + __stack_size + 15) / 16 * 16;
+
+ /* Leave 16 bytes between the stack and the heap. */
+ __stack = __heap - 0x10;
+
+ /* Stabs debugging sections. */
+ .stab 0 : { *(.stab) }
+ .stabstr 0 : { *(.stabstr) }
+ .stab.excl 0 : { *(.stab.excl) }
+ .stab.exclstr 0 : { *(.stab.exclstr) }
+ .stab.index 0 : { *(.stab.index) }
+ .stab.indexstr 0 : { *(.stab.indexstr) }
+ .comment 0 : { *(.comment) }
+ /* DWARF debug sections.
+ Symbols in the DWARF debugging sections are relative to the beginning
+ of the section so we begin them at 0. */
+ /* DWARF 1 */
+ .debug 0 : { *(.debug) }
+ .line 0 : { *(.line) }
+ /* GNU DWARF 1 extensions */
+ .debug_srcinfo 0 : { *(.debug_srcinfo) }
+ .debug_sfnames 0 : { *(.debug_sfnames) }
+ /* DWARF 1.1 and DWARF 2 */
+ .debug_aranges 0 : { *(.debug_aranges) }
+ .debug_pubnames 0 : { *(.debug_pubnames) }
+ /* DWARF 2 */
+ .debug_info 0 : { *(.debug_info) *(.gnu.linkonce.wi.*) }
+ .debug_abbrev 0 : { *(.debug_abbrev) }
+ .debug_line 0 : { *(.debug_line) }
+ .debug_frame 0 : { *(.debug_frame) }
+ .debug_str 0 : { *(.debug_str) }
+ .debug_loc 0 : { *(.debug_loc) }
+ .debug_macinfo 0 : { *(.debug_macinfo) }
+ .debug_ranges 0 : { *(.debug_ranges) }
+ /* SGI/MIPS DWARF 2 extensions */
+ .debug_weaknames 0 : { *(.debug_weaknames) }
+ .debug_funcnames 0 : { *(.debug_funcnames) }
+ .debug_typenames 0 : { *(.debug_typenames) }
+ .debug_varnames 0 : { *(.debug_varnames) }
+ /* These must appear regardless of . */
+}
Index: simple.ld
===================================================================
--- simple.ld (nonexistent)
+++ simple.ld (revision 816)
@@ -0,0 +1,279 @@
+/******************************************************************************
+begin-header
+
+ DO NOT EDIT. THIS FILE IS MACHINE-GENERATED
+ FROM THE TEMPLATE FILE gmap_default.ld.
+ ALL EDITS WILL BE ERASED WITH NEXT MeP-Integrator RUN.
+
+ Custom linker script for the MeP Module simple.
+end-header
+*******************************************************************************/
+
+OUTPUT_FORMAT("elf32-mep", "elf32-mep",
+ "elf32-mep")
+OUTPUT_ARCH(mep)
+ENTRY(_reset)
+
+MEMORY
+{
+/* begin-memory */
+ VEC (r) : ORIGIN = 0x00000000, LENGTH = 0x000000b8
+ VEC_WARM (w) : ORIGIN = 0x00800000, LENGTH = 0x000000b8
+ HWINIT (r) : ORIGIN = 0x000000b8, LENGTH = 0x00000148
+ ROM (r) : ORIGIN = 0x00000200, LENGTH = 0x001ffe00
+ RAM1 (w) : ORIGIN = 0x008000b8, LENGTH = 0x007fff48
+/*RAM2 (w) : ORIGIN = 0x80800000, LENGTH = 0x00800000 */
+/* end-memory */
+}
+
+SECTIONS
+{
+ /* Sections to be placed in the vec area. */
+ .vec : { *(.vec) } >VEC /* VEC-section */
+
+ /* Sections to be placed in the HWINIT area. */
+ .hwinit : { *(.hwinit) } >HWINIT /* HWINIT-section */
+
+ /* Sections to be placed in the ROM area. */
+ .gnu.version : { *(.gnu.version) } >ROM /* ROM-section */
+ .gnu.version_d : { *(.gnu.version_d) } >ROM /* ROM-section */
+ .gnu.version_r : { *(.gnu.version_r) } >ROM /* ROM-section */
+
+ /* Sections to be placed in the romdata.s area. */
+ .srodata :
+ {
+ __sdabase = . + 0x8000;
+ *(.srodata) *(.srodata.*) *(.gnu.linkonce.srd.*)
+ } >RAM1 /* DATA-section */
+
+ /* Sections to be placed in the data.s area. */
+ .sdata :
+ {
+ *(.sdata)
+ *(.sdata.*)
+ *(.gnu.linkonce.s.*)
+ } >RAM1 /* DATA-section */
+ .sbss :
+ {
+ PROVIDE (__sbss_start = .);
+ PROVIDE (___sbss_start = .);
+ *(.dynsbss)
+ *(.sbss)
+ *(.sbss.*)
+ *(.gnu.linkonce.sb.*)
+ *(.scommon)
+ PROVIDE (__sbss_end = .);
+ PROVIDE (___sbss_end = .);
+ /* Assert maximum size */
+ __assert_tiny_size = ASSERT ((. < __sdabase) || ((. - __sdabase) <= 0x8000),
+ "tiny section overflow");
+ } >RAM1 /* DATA-section */
+
+ /* Sections to be placed in the data.m area. */
+ .data :
+ {
+ __data_start = . ;
+ *(.data)
+ *(.data.*)
+ *(.gnu.linkonce.d.*)
+ SORT(CONSTRUCTORS)
+ } >RAM1 /* DATA-section */
+ .data1 : { *(.data1) } >RAM1 /* DATA-section */
+ .eh_frame : { KEEP (*(.eh_frame))} >RAM1 /* DATA-section */
+ .gcc_except_table : { *(.gcc_except_table) *(.gcc_except_table.*) } >RAM1 /* DATA-section */
+ .dynamic : { *(.dynamic) } >RAM1 /* DATA-section */
+ .ctors :
+ {
+ /* gcc uses crtbegin.o to find the start of
+ the constructors, so we make sure it is
+ first. Because this is a wildcard, it
+ doesn't matter if the user does not
+ actually link against crtbegin.o; the
+ linker won't look for a file to match a
+ wildcard. The wildcard also means that it
+ doesn't matter which directory crtbegin.o
+ is in. */
+ KEEP (*crtbegin.o(.ctors))
+ /* We don't want to include the .ctor section from
+ from the crtend.o file until after the sorted ctors.
+ The .ctor section from the crtend file contains the
+ end of ctors marker and it must be last */
+ KEEP (*(EXCLUDE_FILE (*crtend.o ) .ctors))
+ KEEP (*(SORT(.ctors.*)))
+ KEEP (*(.ctors))
+ } >RAM1 /* DATA-section */
+ .dtors :
+ {
+ KEEP (*crtbegin.o(.dtors))
+ KEEP (*(EXCLUDE_FILE (*crtend.o ) .dtors))
+ KEEP (*(SORT(.dtors.*)))
+ KEEP (*(.dtors))
+ } >RAM1 /* DATA-section */
+ .jcr :
+ {
+ . = ALIGN(4);
+ *(.jcr)
+ } >RAM1 /* DATA-section */
+ .got :
+ {
+ *(.got.plt) *(.got)
+ _edata = .;
+ PROVIDE (edata = .);
+ } >RAM1 /* DATA-section */
+ .based :
+ {
+ __tpbase = .;
+ *(.based) *(.based.*) *(.gnu.linkonce.based.*)
+ /* Assert maximum size */
+ __assert_based_size = ASSERT ((. - __tpbase) <= 0x80,
+ "based section overflow");
+ } >RAM1 /* DATA-section */
+
+ .bss :
+ {
+ __bss_start = .;
+ *(.dynbss)
+ *(.bss)
+ *(.bss.*)
+ *(.gnu.linkonce.b.*)
+ *(COMMON)
+ /* Align here to ensure that the .bss section occupies space up to
+ _end. Align after .bss to ensure correct alignment even if the
+ .bss section disappears because there are no input sections. */
+ . = ALIGN(32 / 8);
+ _end = .;
+ PROVIDE (end = .);
+ } >RAM1 /* DATA-section */
+
+ /* Sections to be placed in the code.m area. */
+ .init :
+ {
+ KEEP (*(.init))
+ } >RAM1 /* CODE-section */
+ .plt : { *(.plt) } >RAM1 /* DATA-section */
+ .text :
+ {
+ *(.text)
+ *(.text.*)
+ *(.stub)
+ /* .gnu.warning sections are handled specially by elf32.em. */
+ *(.gnu.warning)
+ *(.gnu.linkonce.t.*)
+ } >RAM1 /* CODE-section */ =0
+ .vtext ALIGN(8) :
+ {
+ *(.vtext)
+ } >RAM1 /* CODE-section */
+ .fini :
+ {
+ KEEP (*(.fini))
+ PROVIDE (__etext = .);
+ PROVIDE (_etext = .);
+ PROVIDE (etext = .);
+ } >RAM1 /* CODE-section */ =0
+
+ /* Sections to be placed in the romdata.m area. */
+ .rodata : { *(.rodata) *(.rodata.*) *(.gnu.linkonce.r.*) } >RAM1 /* DATA-section */
+ .rodata1 : { *(.rodata1) } >RAM1 /* DATA-section */
+
+ /* Sections to be placed in the code.l area. */
+ .ftext : { *(.ftext) *(.ftext.*) *(.gnu.linkonce.ft.*) } >RAM1 /* CODE-section */
+ .vftext ALIGN(8) :
+ {
+ *(.vftext) *(.vftext.*) *(.gnu.linkonce.vf.*)
+ } >RAM1 /* CODE-section */
+
+ /* Sections to be placed in the romdata.l area. */
+ .frodata :
+ {
+ *(.frodata) *(.frodata.*) *(.gnu.linkonce.frd.*)
+ __assert_near_size = ASSERT (. <= 0x1000000, "near section overflow");
+ } >RAM1 /* DATA-section */
+
+ /* Sections to be placed in the data.l area. */
+ .far : { *(.far) *(.far.*) *(.gnu.linkonce.far.*) } >RAM1 /* DATA-section */
+ .farbss :
+ { PROVIDE (__farbss_start = .);
+ *(.farbss) *(.farbss.*)
+ PROVIDE (__farbss_end = .);
+ } >RAM1 /* DATA-section */
+
+ /* END-mep-sections */
+
+ .vec_warm :
+ {
+ /* vec_warm is a place for the startup code to write the interrupt
+ vectors. Allow 0xb8 bytes of space aligned on a 4 byte boundary. */
+ . = ALIGN(4);
+ vec_warm = .;
+ . += 0xb8;
+ } >VEC_WARM
+
+ /* begin-stack-table */
+ __stack1 = (__stack - (0 * (__stack_size / 2)) + 15) / 16 * 16;
+ __stack2 = (__stack - (1 * (__stack_size / 2)) + 15) / 16 * 16;
+
+ .rostacktab :
+ {
+ /* Emit a table describing the location of the different stacks. */
+ . = ALIGN(4);
+ __stack_table = .;
+ LONG (__stack2);
+ LONG (__stack1);
+ LONG (__stack2);
+ __stack_end = .;
+ } >RAM1
+ /* end-stack-table */
+
+ /* begin-heap */
+ /* End of DATA is 0x008000b8 + 0x007fff48. That's where the heap will end. */
+ __heap_end = 0x008000b8 + 0x007fff48 - 1;
+ /* end-heap */
+
+ /* Default stack size is 1M. That's where the heap will start if there's
+ room. If there's not enough room, allocate half of the remaining space
+ for stack and half for heap. Align the heap on a 16 byte boundary. */
+ __stack_size = (__stack_end + 0x100000 <= __heap_end + 1
+ ? 0x100000
+ : ((__heap_end + 1 - __stack_end) / 2));
+ __heap = (__stack_end + __stack_size + 15) / 16 * 16;
+
+ /* Leave 16 bytes between the stack and the heap. */
+ __stack = __heap - 0x10;
+
+ /* Stabs debugging sections. */
+ .stab 0 : { *(.stab) }
+ .stabstr 0 : { *(.stabstr) }
+ .stab.excl 0 : { *(.stab.excl) }
+ .stab.exclstr 0 : { *(.stab.exclstr) }
+ .stab.index 0 : { *(.stab.index) }
+ .stab.indexstr 0 : { *(.stab.indexstr) }
+ .comment 0 : { *(.comment) }
+ /* DWARF debug sections.
+ Symbols in the DWARF debugging sections are relative to the beginning
+ of the section so we begin them at 0. */
+ /* DWARF 1 */
+ .debug 0 : { *(.debug) }
+ .line 0 : { *(.line) }
+ /* GNU DWARF 1 extensions */
+ .debug_srcinfo 0 : { *(.debug_srcinfo) }
+ .debug_sfnames 0 : { *(.debug_sfnames) }
+ /* DWARF 1.1 and DWARF 2 */
+ .debug_aranges 0 : { *(.debug_aranges) }
+ .debug_pubnames 0 : { *(.debug_pubnames) }
+ /* DWARF 2 */
+ .debug_info 0 : { *(.debug_info) *(.gnu.linkonce.wi.*) }
+ .debug_abbrev 0 : { *(.debug_abbrev) }
+ .debug_line 0 : { *(.debug_line) }
+ .debug_frame 0 : { *(.debug_frame) }
+ .debug_str 0 : { *(.debug_str) }
+ .debug_loc 0 : { *(.debug_loc) }
+ .debug_macinfo 0 : { *(.debug_macinfo) }
+ .debug_ranges 0 : { *(.debug_ranges) }
+ /* SGI/MIPS DWARF 2 extensions */
+ .debug_weaknames 0 : { *(.debug_weaknames) }
+ .debug_funcnames 0 : { *(.debug_funcnames) }
+ .debug_typenames 0 : { *(.debug_typenames) }
+ .debug_varnames 0 : { *(.debug_varnames) }
+ /* These must appear regardless of . */
+}
Index: fmax.ld
===================================================================
--- fmax.ld (nonexistent)
+++ fmax.ld (revision 816)
@@ -0,0 +1,270 @@
+/******************************************************************************
+begin-header
+
+ DO NOT EDIT. THIS FILE IS MACHINE-GENERATED
+ FROM THE TEMPLATE FILE gmap_default.ld.
+ ALL EDITS WILL BE ERASED WITH NEXT MeP-Integrator RUN.
+
+ Custom linker script for the MeP Module fmax.
+end-header
+*******************************************************************************/
+
+OUTPUT_FORMAT("elf32-mep", "elf32-mep",
+ "elf32-mep")
+OUTPUT_ARCH(mep)
+ENTRY(_reset)
+
+MEMORY
+{
+/* begin-memory */
+ VEC (r) : ORIGIN = 0x00000000, LENGTH = 0x000000b8
+ HWINIT (r) : ORIGIN = 0x000000b8, LENGTH = 0x00000148
+ ROM (r) : ORIGIN = 0x00000200, LENGTH = 0x001ffe00
+ RAM1 (w) : ORIGIN = 0x008000b8, LENGTH = 0x007fff48
+/*VEC_WARM (w) : ORIGIN = 0x00800000, LENGTH = 0x000000b8 */
+/*RAM2 (w) : ORIGIN = 0x80800000, LENGTH = 0x00800000 */
+/* end-memory */
+}
+
+SECTIONS
+{
+ /* Sections to be placed in the vec area. */
+ .vec : { *(.vec) } >VEC /* VEC-section */
+
+ /* Sections to be placed in the HWINIT area. */
+ .hwinit : { *(.hwinit) } >HWINIT /* HWINIT-section */
+
+ /* Sections to be placed in the ROM area. */
+ .gnu.version : { *(.gnu.version) } >ROM /* ROM-section */
+ .gnu.version_d : { *(.gnu.version_d) } >ROM /* ROM-section */
+ .gnu.version_r : { *(.gnu.version_r) } >ROM /* ROM-section */
+
+ /* Sections to be placed in the romdata.s area. */
+ .srodata :
+ {
+ __sdabase = . + 0x8000;
+ *(.srodata) *(.srodata.*) *(.gnu.linkonce.srd.*)
+ } >RAM1 /* DATA-section */
+
+ /* Sections to be placed in the data.s area. */
+ .sdata :
+ {
+ *(.sdata)
+ *(.sdata.*)
+ *(.gnu.linkonce.s.*)
+ } >RAM1 /* DATA-section */
+ .sbss :
+ {
+ PROVIDE (__sbss_start = .);
+ PROVIDE (___sbss_start = .);
+ *(.dynsbss)
+ *(.sbss)
+ *(.sbss.*)
+ *(.gnu.linkonce.sb.*)
+ *(.scommon)
+ PROVIDE (__sbss_end = .);
+ PROVIDE (___sbss_end = .);
+ /* Assert maximum size */
+ __assert_tiny_size = ASSERT ((. < __sdabase) || ((. - __sdabase) <= 0x8000),
+ "tiny section overflow");
+ } >RAM1 /* DATA-section */
+
+ /* Sections to be placed in the data.m area. */
+ .data :
+ {
+ __data_start = . ;
+ *(.data)
+ *(.data.*)
+ *(.gnu.linkonce.d.*)
+ SORT(CONSTRUCTORS)
+ } >RAM1 /* DATA-section */
+ .data1 : { *(.data1) } >RAM1 /* DATA-section */
+ .eh_frame : { KEEP (*(.eh_frame))} >RAM1 /* DATA-section */
+ .gcc_except_table : { *(.gcc_except_table) *(.gcc_except_table.*) } >RAM1 /* DATA-section */
+ .dynamic : { *(.dynamic) } >RAM1 /* DATA-section */
+ .ctors :
+ {
+ /* gcc uses crtbegin.o to find the start of
+ the constructors, so we make sure it is
+ first. Because this is a wildcard, it
+ doesn't matter if the user does not
+ actually link against crtbegin.o; the
+ linker won't look for a file to match a
+ wildcard. The wildcard also means that it
+ doesn't matter which directory crtbegin.o
+ is in. */
+ KEEP (*crtbegin.o(.ctors))
+ /* We don't want to include the .ctor section from
+ from the crtend.o file until after the sorted ctors.
+ The .ctor section from the crtend file contains the
+ end of ctors marker and it must be last */
+ KEEP (*(EXCLUDE_FILE (*crtend.o ) .ctors))
+ KEEP (*(SORT(.ctors.*)))
+ KEEP (*(.ctors))
+ } >RAM1 /* DATA-section */
+ .dtors :
+ {
+ KEEP (*crtbegin.o(.dtors))
+ KEEP (*(EXCLUDE_FILE (*crtend.o ) .dtors))
+ KEEP (*(SORT(.dtors.*)))
+ KEEP (*(.dtors))
+ } >RAM1 /* DATA-section */
+ .jcr :
+ {
+ . = ALIGN(4);
+ *(.jcr)
+ } >RAM1 /* DATA-section */
+ .got :
+ {
+ *(.got.plt) *(.got)
+ _edata = .;
+ PROVIDE (edata = .);
+ } >RAM1 /* DATA-section */
+ .based :
+ {
+ __tpbase = .;
+ *(.based) *(.based.*) *(.gnu.linkonce.based.*)
+ /* Assert maximum size */
+ __assert_based_size = ASSERT ((. - __tpbase) <= 0x80,
+ "based section overflow");
+ } >RAM1 /* DATA-section */
+
+ .bss :
+ {
+ __bss_start = .;
+ *(.dynbss)
+ *(.bss)
+ *(.bss.*)
+ *(.gnu.linkonce.b.*)
+ *(COMMON)
+ /* Align here to ensure that the .bss section occupies space up to
+ _end. Align after .bss to ensure correct alignment even if the
+ .bss section disappears because there are no input sections. */
+ . = ALIGN(32 / 8);
+ _end = .;
+ PROVIDE (end = .);
+ } >RAM1 /* DATA-section */
+
+ /* Sections to be placed in the code.m area. */
+ .init :
+ {
+ KEEP (*(.init))
+ } >RAM1 /* CODE-section */
+ .plt : { *(.plt) } >RAM1 /* DATA-section */
+ .text :
+ {
+ *(.text)
+ *(.text.*)
+ *(.stub)
+ /* .gnu.warning sections are handled specially by elf32.em. */
+ *(.gnu.warning)
+ *(.gnu.linkonce.t.*)
+ } >RAM1 /* CODE-section */ =0
+ .vtext ALIGN(8) :
+ {
+ *(.vtext)
+ } >RAM1 /* CODE-section */
+ .fini :
+ {
+ KEEP (*(.fini))
+ PROVIDE (__etext = .);
+ PROVIDE (_etext = .);
+ PROVIDE (etext = .);
+ } >RAM1 /* CODE-section */ =0
+
+ /* Sections to be placed in the romdata.m area. */
+ .rodata : { *(.rodata) *(.rodata.*) *(.gnu.linkonce.r.*) } >RAM1 /* DATA-section */
+ .rodata1 : { *(.rodata1) } >RAM1 /* DATA-section */
+
+ /* Sections to be placed in the code.l area. */
+ .ftext : { *(.ftext) *(.ftext.*) *(.gnu.linkonce.ft.*) } >RAM1 /* CODE-section */
+ .vftext ALIGN(8) :
+ {
+ *(.vftext) *(.vftext.*) *(.gnu.linkonce.vf.*)
+ } >RAM1 /* CODE-section */
+
+ /* Sections to be placed in the romdata.l area. */
+ .frodata :
+ {
+ *(.frodata) *(.frodata.*) *(.gnu.linkonce.frd.*)
+ __assert_near_size = ASSERT (. <= 0x1000000, "near section overflow");
+ } >RAM1 /* DATA-section */
+
+ /* Sections to be placed in the data.l area. */
+ .far : { *(.far) *(.far.*) *(.gnu.linkonce.far.*) } >RAM1 /* DATA-section */
+ .farbss :
+ { PROVIDE (__farbss_start = .);
+ *(.farbss) *(.farbss.*)
+ PROVIDE (__farbss_end = .);
+ } >RAM1 /* DATA-section */
+
+ /* END-mep-sections */
+
+ /* begin-stack-table */
+ __stack1 = (__stack - (0 * (__stack_size / 2)) + 15) / 16 * 16;
+ __stack2 = (__stack - (1 * (__stack_size / 2)) + 15) / 16 * 16;
+
+ .rostacktab :
+ {
+ /* Emit a table describing the location of the different stacks. */
+ . = ALIGN(4);
+ __stack_table = .;
+ LONG (__stack2);
+ LONG (__stack1);
+ LONG (__stack2);
+ __stack_end = .;
+ } >RAM1
+ /* end-stack-table */
+
+ /* begin-heap */
+ /* End of DATA is 0x008000b8 + 0x007fff48. That's where the heap will end. */
+ __heap_end = 0x008000b8 + 0x007fff48 - 1;
+ /* end-heap */
+
+ /* Default stack size is 1M. That's where the heap will start if there's
+ room. If there's not enough room, allocate half of the remaining space
+ for stack and half for heap. Align the heap on a 16 byte boundary. */
+ __stack_size = (__stack_end + 0x100000 <= __heap_end + 1
+ ? 0x100000
+ : ((__heap_end + 1 - __stack_end) / 2));
+ __heap = (__stack_end + __stack_size + 15) / 16 * 16;
+
+ /* Leave 16 bytes between the stack and the heap. */
+ __stack = __heap - 0x10;
+
+ /* Stabs debugging sections. */
+ .stab 0 : { *(.stab) }
+ .stabstr 0 : { *(.stabstr) }
+ .stab.excl 0 : { *(.stab.excl) }
+ .stab.exclstr 0 : { *(.stab.exclstr) }
+ .stab.index 0 : { *(.stab.index) }
+ .stab.indexstr 0 : { *(.stab.indexstr) }
+ .comment 0 : { *(.comment) }
+ /* DWARF debug sections.
+ Symbols in the DWARF debugging sections are relative to the beginning
+ of the section so we begin them at 0. */
+ /* DWARF 1 */
+ .debug 0 : { *(.debug) }
+ .line 0 : { *(.line) }
+ /* GNU DWARF 1 extensions */
+ .debug_srcinfo 0 : { *(.debug_srcinfo) }
+ .debug_sfnames 0 : { *(.debug_sfnames) }
+ /* DWARF 1.1 and DWARF 2 */
+ .debug_aranges 0 : { *(.debug_aranges) }
+ .debug_pubnames 0 : { *(.debug_pubnames) }
+ /* DWARF 2 */
+ .debug_info 0 : { *(.debug_info) *(.gnu.linkonce.wi.*) }
+ .debug_abbrev 0 : { *(.debug_abbrev) }
+ .debug_line 0 : { *(.debug_line) }
+ .debug_frame 0 : { *(.debug_frame) }
+ .debug_str 0 : { *(.debug_str) }
+ .debug_loc 0 : { *(.debug_loc) }
+ .debug_macinfo 0 : { *(.debug_macinfo) }
+ .debug_ranges 0 : { *(.debug_ranges) }
+ /* SGI/MIPS DWARF 2 extensions */
+ .debug_weaknames 0 : { *(.debug_weaknames) }
+ .debug_funcnames 0 : { *(.debug_funcnames) }
+ .debug_typenames 0 : { *(.debug_typenames) }
+ .debug_varnames 0 : { *(.debug_varnames) }
+ /* These must appear regardless of . */
+}
Index: gcov-io.h
===================================================================
--- gcov-io.h (nonexistent)
+++ gcov-io.h (revision 816)
@@ -0,0 +1,137 @@
+/* Machine-independent I/O routines for gcov.
+
+ Copyright (c) 2000 Red Hat, Inc. All rights reserved.
+
+ This copyrighted material is made available to anyone wishing to use, modify,
+ copy, or redistribute it subject to the terms and conditions of the BSD
+ License. This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY expressed or implied, including the implied
+ warranties of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. A copy of
+ this license is available at http://www.opensource.org/licenses. Any Red Hat
+ trademarks that are incorporated in the source code or documentation are not
+ subject to the BSD License and may only be used or replicated with the
+ express permission of Red Hat, Inc.
+*/
+
+
+#ifndef GCC_GCOV_IO_H
+#define GCC_GCOV_IO_H
+#include
+#include
+
+static int __fetch_long (long *, char *, size_t);
+static int __store_long (long, char *, size_t);
+static int __read_long (long *, FILE *, size_t);
+static int __write_long (long, FILE *, size_t);
+
+/* These routines only work for signed values. */
+
+/* Store a portable representation of VALUE in DEST using BYTES*8-1 bits.
+ Return a non-zero value if VALUE requires more than BYTES*8-1 bits
+ to store. */
+
+static int
+__store_long (value, dest, bytes)
+ long value;
+ char *dest;
+ size_t bytes;
+{
+ int upper_bit = (value < 0 ? 128 : 0);
+ size_t i;
+
+ if (value < 0)
+ {
+ long oldvalue = value;
+ value = -value;
+ if (oldvalue != -value)
+ return 1;
+ }
+
+ for(i = 0 ; i < (sizeof (value) < bytes ? sizeof (value) : bytes) ; i++) {
+ dest[i] = value & (i == (bytes - 1) ? 127 : 255);
+ value = value / 256;
+ }
+
+ if (value && value != -1)
+ return 1;
+
+ for(; i < bytes ; i++)
+ dest[i] = 0;
+ dest[bytes - 1] |= upper_bit;
+ return 0;
+}
+
+/* Retrieve a quantity containing BYTES*8-1 bits from SOURCE and store
+ the result in DEST. Returns a non-zero value if the value in SOURCE
+ will not fit in DEST. */
+
+static int
+__fetch_long (dest, source, bytes)
+ long *dest;
+ char *source;
+ size_t bytes;
+{
+ long value = 0;
+ int i;
+
+ for (i = bytes - 1; (size_t) i > (sizeof (*dest) - 1); i--)
+ if (source[i] & ((size_t) i == (bytes - 1) ? 127 : 255 ))
+ return 1;
+
+ for (; i >= 0; i--)
+ value = value * 256 + (source[i] & ((size_t)i == (bytes - 1) ? 127 : 255));
+
+ if ((source[bytes - 1] & 128) && (value > 0))
+ value = - value;
+
+ *dest = value;
+ return 0;
+}
+
+/* Write a BYTES*8-bit quantity to FILE, portably. Returns a non-zero
+ value if the write fails, or if VALUE can't be stored in BYTES*8
+ bits.
+
+ Note that VALUE may not actually be large enough to hold BYTES*8
+ bits, but BYTES characters will be written anyway.
+
+ BYTES may be a maximum of 10. */
+
+static int
+__write_long (value, file, bytes)
+ long value;
+ FILE *file;
+ size_t bytes;
+{
+ char c[10];
+
+ if (bytes > 10 || __store_long (value, c, bytes))
+ return 1;
+ else
+ return fwrite(c, 1, bytes, file) != bytes;
+}
+
+/* Read a quantity containing BYTES bytes from FILE, portably. Return
+ a non-zero value if the read fails or if the value will not fit
+ in DEST.
+
+ Note that DEST may not be large enough to hold all of the requested
+ data, but the function will read BYTES characters anyway.
+
+ BYTES may be a maximum of 10. */
+
+static int
+__read_long (dest, file, bytes)
+ long *dest;
+ FILE *file;
+ size_t bytes;
+{
+ char c[10];
+
+ if (bytes > 10 || fread(c, 1, bytes, file) != bytes)
+ return 1;
+ else
+ return __fetch_long (dest, c, bytes);
+}
+
+#endif /* ! GCC_GCOV_IO_H */
gcov-io.h
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: simnovec-crt0.S
===================================================================
--- simnovec-crt0.S (nonexistent)
+++ simnovec-crt0.S (revision 816)
@@ -0,0 +1,19 @@
+# Copyright (c) 2003 Red Hat, Inc. All rights reserved.
+#
+# This copyrighted material is made available to anyone wishing to use, modify,
+# copy, or redistribute it subject to the terms and conditions of the BSD
+# License. This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY expressed or implied, including the implied
+# warranties of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. A copy
+# of this license is available at http://www.opensource.org/licenses. Any
+# Red Hat trademarks that are incorporated in the source code or documentation
+# are not subject to the BSD License and may only be used or replicated with
+# the express permission of Red Hat, Inc.
+#
+# Toshiba Media Processor startup file (simnovec-crt0.S)
+#
+# Designed for user programs which create their own interrupt/exception vectors.
+#
+
+#define NOVEC
+#include "sim-crt0.S"
simnovec-crt0.S
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: read.c
===================================================================
--- read.c (nonexistent)
+++ read.c (revision 816)
@@ -0,0 +1,36 @@
+/* read.c -- read characters from file, with hook.
+ *
+ * Copyright (c) 2003 Red Hat, Inc. All rights reserved.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the BSD
+ * License. This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY expressed or implied, including the implied
+ * warranties of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. A copy
+ * of this license is available at http://www.opensource.org/licenses. Any
+ * Red Hat trademarks that are incorporated in the source code or documentation
+ * are not subject to the BSD License and may only be used or replicated with
+ * the express permission of Red Hat, Inc.
+ */
+
+extern int __mep_read(int, unsigned char *, int);
+extern int _ioIn(void) __attribute__((weak));
+
+int
+read(int fd, unsigned char *buf, int count)
+{
+ if (fd == 0 && &_ioIn)
+ {
+ int c = 0;
+ while (c < count)
+ {
+ int ch = _ioIn();
+ *buf++ = ch;
+ if (ch == -1)
+ break;
+ c ++;
+ }
+ return c;
+ }
+ return __mep_read(fd, buf, count);
+}
read.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: sim-crtn.S
===================================================================
--- sim-crtn.S (nonexistent)
+++ sim-crtn.S (revision 816)
@@ -0,0 +1,23 @@
+# Copyright (c) 2003 Red Hat, Inc. All rights reserved.
+#
+# This copyrighted material is made available to anyone wishing to use, modify,
+# copy, or redistribute it subject to the terms and conditions of the BSD
+# License. This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY expressed or implied, including the implied
+# warranties of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. A copy of
+# this license is available at http://www.opensource.org/licenses. Any Red Hat
+# trademarks that are incorporated in the source code or documentation are not
+# subject to the BSD License and may only be used or replicated with the express
+# permission of Red Hat, Inc.
+
+ .section .init
+ lw $1, ($sp)
+ stc $1, $lp
+ add $sp, 4
+ ret
+
+ .section .fini
+ lw $1, ($sp)
+ stc $1, $lp
+ add $sp, 4
+ ret
sim-crtn.S
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: isatty.c
===================================================================
--- isatty.c (nonexistent)
+++ isatty.c (revision 816)
@@ -0,0 +1,19 @@
+/*
+ * Copyright (c) 2004 Red Hat, Inc. All rights reserved.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the BSD
+ * License. This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY expressed or implied, including the implied
+ * warranties of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. A copy
+ * of this license is available at http://www.opensource.org/licenses. Any
+ * Red Hat trademarks that are incorporated in the source code or documentation
+ * are not subject to the BSD License and may only be used or replicated with
+ * the express permission of Red Hat, Inc.
+ */
+
+isatty (fd)
+ int fd;
+{
+ return 1;
+}
isatty.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: syscalls.S
===================================================================
--- syscalls.S (nonexistent)
+++ syscalls.S (revision 816)
@@ -0,0 +1,66 @@
+/*
+ * Copyright (c) 2003 Red Hat, Inc. All rights reserved.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the BSD
+ * License. This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY expressed or implied, including the implied
+ * warranties of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. A copy
+ * of this license is available at http://www.opensource.org/licenses. Any
+ * Red Hat trademarks that are incorporated in the source code or documentation
+ * are not subject to the BSD License and may only be used or replicated with
+ * the express permission of Red Hat, Inc.
+ */
+#include "syscall.h"
+
+/* Return ABI: $1 is errno, $0 is return value. */
+
+#define S(n) \
+ .global n ; .weak n ; n: ; \
+ .2byte 0x7800 | ((SYS_##n & 0xe) << 7) | ((SYS_##n & 1) << 4) ; bra sysret
+
+ .text
+
+#define SYS___mep_write SYS_write
+#define SYS___mep_read SYS_read
+#define SYS__Sid_config SYS_reconfig
+
+S(open)
+S(close)
+S(__mep_read)
+S(__mep_write)
+S(lseek)
+S(unlink)
+S(getpid)
+S(kill)
+S(fstat)
+
+/* ARGV support. */
+S(argvlen)
+S(argv)
+
+/* These are extras added for one reason or another. */
+S(chdir)
+S(stat)
+S(chmod)
+S(utime)
+S(time)
+S(gettimeofday)
+S(times)
+S(link)
+S(_Sid_config)
+
+sysret:
+ add3 $sp, $sp, -12
+ sw $0, 0($sp)
+ sw $1, 4($sp)
+ ldc $2, $lp
+ sw $2, 8($sp)
+ bsr __errno
+ lw $1, 4($sp)
+ sw $1, ($0)
+ lw $0, 0($sp)
+ lw $2, 8($sp)
+ stc $2, $lp
+ add3 $sp, $sp, 12
+ ret
syscalls.S
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: sim-crt0.S
===================================================================
--- sim-crt0.S (nonexistent)
+++ sim-crt0.S (revision 816)
@@ -0,0 +1,496 @@
+# Copyright (c) 2003 Red Hat, Inc. All rights reserved.
+#
+# This copyrighted material is made available to anyone wishing to use, modify,
+# copy, or redistribute it subject to the terms and conditions of the BSD
+# License. This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY expressed or implied, including the implied
+# warranties of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. A copy of
+# this license is available at http://www.opensource.org/licenses. Any Red Hat
+# trademarks that are incorporated in the source code or documentation are not
+# subject to the BSD License and may only be used or replicated with the express
+# permission of Red Hat, Inc.
+#
+# Toshiba Media Processor startup file (crt0.S)
+#
+# Designed for user programs running in the 0-2Mb startup section.
+# Designed for the simulator by default.
+#
+# Exception/Interrupt Handler Locations
+# CFG.EVM CFG.EVA CFG.IVA Exception INTn
+## 0 - - 0x0000_0000 0x0000_0030 rom
+## 1 0 0 0x0020_0000 0x0020_0030 local RAM / local RAM
+## 1 1 0 0x0080_0000 0x0020_0000 ext RAM / local RAM
+## 1 0 1 0x0020_0000 0x0080_0000 local RAM / ext RAM
+## 1 1 1 0x0080_0000 0x0080_0030 ext RAM / ext RAM
+#
+# Exceptions
+# Reset 0x0000_0000
+# NMI 0x0000_0000+4
+# RI (Base Address) +0x08
+# ZDIV (Base Address) +0x0C
+# BRK (Base Address) +0x10
+# SWI (Base Address) +0x14
+# DSP (Base Address) +0x1C
+# COP (Base Address) +0x20
+
+ .set _local_ram_base, 0x00200000
+ .set _ext_ram_base, 0x00800000
+ .set _int_base_offset, 0x30
+
+#include "syscall.h"
+
+.macro if_bitfield_zero reg, start, length, label
+ ldc $0, \reg
+ srl $0, \start
+ and3 $0, $0, (1 << \length) - 1
+ beqz $0,\label
+.endm
+
+.macro if_bitfield_notN reg, start, length, N, label
+ ldc $0, \reg
+ srl $0, \start
+ and3 $0, $0, (1 << \length) - 1
+ bnei $0,\N, \label
+.endm
+
+.macro if_bitfield_eqN reg, start, length, N, label
+ ldc $0, \reg
+ srl $0, \start
+ and3 $0, $0, (1 << \length) - 1
+ beqi $0,\N, \label
+.endm
+
+.macro if_bitfield_ltN reg, start, length, N, label
+ ldc $0, \reg
+ srl $0, \start
+ and3 $0, $0, (1 << \length) - 1
+ blti $0,\N, \label
+.endm
+
+ .section .hwinit, "ax"
+ # CCFG.ICSZ
+ if_bitfield_zero reg=$ccfg, start=16, length=7, label=.Lend_enable_icache
+__enable_icache:
+ # set ICE(cfg[1])
+ ldc $1,$cfg
+ or3 $1,$1,2
+ stc $1,$cfg
+ nop
+ nop
+ nop
+ nop
+ nop
+.Lend_enable_icache:
+ ret
+
+__enable_dcache:
+ # CCFG.DCSZ
+ if_bitfield_zero reg=$ccfg, start=0, length=7, label=.Lend_enable_dcache
+ # set DCE(cfg[0])
+ ldc $1,$cfg
+ or3 $1,$1,1
+ stc $1,$cfg
+ nop
+ nop
+ nop
+ nop
+ nop
+ ret
+.Lend_enable_dcache:
+
+ .text
+
+#ifdef NOVEC
+ .global _reset
+_reset:
+#endif
+
+ .global _start
+_start:
+ mov $fp, 0 # for unwinding
+
+ # $sp set
+ movh $sp, %uhi(__stack_table)
+ or3 $sp, $sp, %lo(__stack_table)
+
+#ifndef NOVEC
+ # copy exception vector table
+
+ # RCFG.IRSZ
+ if_bitfield_zero reg=$rcfg, start=16, length=7, label=.Lend_ev_imem
+ # handle imem
+ movh $11,%uhi(_local_ram_base)
+ or3 $11,$11,%lo(_local_ram_base)
+ # clear CFG.EVA ([23])
+ ldc $0,$cfg
+ movh $1, %uhi(0xff7fffff)
+ or3 $1, $1, %lo(0xff7fffff)
+ and $0,$1
+ stc $0,$cfg
+ bra .Ldo_repeat_ev
+.Lend_ev_imem:
+#ifdef UseSDRAM
+ movh $11,%uhi(_ext_ram_base)
+ or3 $11,$11,%lo(_ext_ram_base)
+ # set CFG.EVA ([23])
+ ldc $0,$cfg
+ movh $1,%uhi(1<<23)
+ or3 $1,$1,%lo(1<<23)
+ or $0,$1
+ stc $0,$cfg
+#else
+ # handle ROM
+ bra .Lend_ev
+#endif
+.Ldo_repeat_ev:
+ # set CFG.EVM ([4])
+ ldc $0,$cfg
+ or3 $0,$0,(1<<4)
+ stc $0,$cfg
+ # copy _exception_table to $11
+ movh $12,%uhi(_exception_table)
+ or3 $12,$12,%lo(_exception_table)
+ mov $13,8
+ repeat $13,.Lrepeat_ev
+ lw $1,0($12)
+ add $12,4
+.Lrepeat_ev:
+ sw $1,0($11)
+ add $11,4
+.Lend_ev:
+
+ # copy interrupt vector table
+ # RCFG.IRSZ
+ if_bitfield_zero reg=$rcfg, start=16, length=7, label=.Lend_iv_imem
+ # handle imem
+ movh $11,%uhi(_local_ram_base)
+ or3 $11,$11,%lo(_int_base_offset)
+ # clear CFG.IVA ([22])
+ ldc $0,$cfg
+ movh $1,%uhi(0xffbfffff) # ~(1<<22)
+ or3 $1,$1,%lo(0xffbfffff)
+ and $0,$1
+ stc $0,$cfg
+ bra .Ldo_repeat_iv
+.Lend_iv_imem:
+#ifdef UseSDRAM
+ movh $11,%uhi(_ext_ram_base)
+ or3 $11,$11,%lo(_int_base_offset)
+ # set CFG. IVA ([22])
+ ldc $0,$cfg
+ movh $1,%uhi(1<<22)
+ or3 $1,$1,%lo(1<<22)
+ or $0,$1
+ stc $0,$cfg
+#else
+ # handle ROM
+ bra .Lend_iv
+#endif
+.Ldo_repeat_iv:
+ # set CFG.IVM ([3])
+ ldc $0,$cfg
+ or3 $0,$0,(1<<3)
+ stc $0,$cfg
+ # copy _interrupt_table to $11
+ movh $12,%uhi(_interrupt_table)
+ or3 $12,$12,%lo(_interrupt_table)
+ mov $13,32
+ add $13,-1
+ and3 $13,$13,127
+ repeat $13,.Lrepeat_iv
+ lw $1,0($12)
+ add $12,4
+.Lrepeat_iv:
+ sw $1,0($11)
+ add $11,4
+.Lend_iv:
+
+ # initialize instruction cache
+ # Icache Size CCFG.ICSZ ([22..16]) KByte
+ if_bitfield_zero reg=$ccfg, start=16, length=7, label=.Lend_ic
+ mov $3,$0 # cache size in KB
+ # ID.ID
+ if_bitfield_ltN reg=$ID, start=8, length=8, N=3, label=.Lend_mepc3_ic
+ # Line Size CCFG.ICSZ ([26..24]) Byte
+ if_bitfield_ltN reg=$ccfg, start=24, length=3, N=2, label=.Lend_ic
+ bgei $0,5,.Lend_ic
+
+ add3 $1,$0,3 # bit width of line size
+ mov $0,$3
+ # clear tag
+ mov $2,10
+ sub $2,$1
+ sll $0,$2 # *KByte/(line size)
+ add $0,-1
+ mov $2,1
+ sll $2,$1 # line size
+ bra .Ldo_repeat_icache
+.Lend_mepc3_ic:
+ # ICache: $0 KByte
+ mov $0,$3
+ # clear tag
+ sll $0,(10-5) # *KByte/(32byte=linesize)
+ add $0,-1
+ mov $2,32
+.Ldo_repeat_icache:
+ mov $1,0
+ bra 0f
+ # Align this code on an 8 byte boundary in order to keep the repeat
+ # loop entirely within the instruction fetch buffer.
+ .p2align 3
+0:
+ movh $3,%hi(0x00310000) # for tag
+ repeat $0,.Lrepeat_icache
+ add $0,-1
+.Lrepeat_icache:
+ sw $1,0($3)
+ add3 $3,$3,$2
+.Lenable_icache:
+ movh $1,%hi(__enable_icache)
+ add3 $1,$1,%lo(__enable_icache)
+ jsr $1
+.Lend_ic:
+
+ # initialize data cache
+ # Dcache Size CCFG.DCSZ ([6..0]) KByte
+ if_bitfield_zero reg=$ccfg, start=0, length=7, label=.Lend_dc
+ mov $3,$0 # cache size in KB
+ # ID.ID
+ if_bitfield_ltN reg=$ID, start=8, length=8, N=3, label=.Lend_mepc3_dc
+ # Line Size CCFG.DCSZ ([10..8]) Byte
+ if_bitfield_ltN reg=$ccfg, start=8, length=3, N=2, label=.Lend_dc
+ bgei $0,5,.Lend_dc
+
+ add3 $1,$0,3 # bit width of line size
+ mov $0,$3
+ # clear tag
+ mov $2,10
+ sub $2,$1
+ sll $0,$2 # *KByte/(line size)
+ add $0,-1
+ mov $2,1
+ sll $2,$1 # line size
+ bra .Ldo_repeat_dcache
+.Lend_mepc3_dc:
+ # DCache: $0 KByte
+ mov $0,$3
+ # clear tag
+ sll $0,(10-5) # *KByte/(32byte=linesize)
+ add $0,-1
+ mov $2,32
+.Ldo_repeat_dcache:
+ mov $1,0
+ movh $3,%hi(0x00330000) # for tag
+
+ repeat $0,.Lrepeat_dcache
+ add $0,-1
+.Lrepeat_dcache:
+ sw $1,0($3)
+ add3 $3,$3,$2
+.Lenable_dcache:
+ movh $1,%hi(__enable_dcache)
+ add3 $1,$1,%lo(__enable_dcache)
+ jsr $1
+.Lend_dc:
+ # NOVEC
+#endif
+ # initialize sp, gp, tp
+ # get CPU ID
+ ldc $0, $id
+ srl $0, 16
+
+ # load ID-specific stack pointer
+ sl2ad3 $0, $0, $sp # $0 = ($0 << 2) + $sp
+ lw $sp,($0) # $sp = *($0)
+ mov $0, 0
+
+ movh $gp, %uhi(__sdabase)
+ or3 $gp, $gp, %lo(__sdabase)
+
+ movh $tp, %uhi(__tpbase)
+ or3 $tp, $tp, %lo(__tpbase)
+
+ # zero out BSS
+ movh $1, %uhi(__bss_start)
+ or3 $1, $1, %lo(__bss_start)
+ mov $2, 0
+ movh $3, %uhi(_end)
+ or3 $3, $3, %lo(_end)
+ sub $3, $1
+ bsr memset
+
+ movh $1, %uhi(__sbss_start)
+ or3 $1, $1, %lo(__sbss_start)
+ mov $2, 0
+ movh $3, %uhi(__sbss_end)
+ or3 $3, $3, %lo(__sbss_end)
+ sub $3, $1
+ bsr memset
+
+ movh $1, %uhi(__farbss_start)
+ or3 $1, $1, %lo(__farbss_start)
+ mov $2, 0
+ movh $3, %uhi(__farbss_end)
+ or3 $3, $3, %lo(__farbss_end)
+ sub $3, $1
+ bsr memset
+
+ # enable interrupts
+ ei
+
+ # construct global class variables
+ bsr __invoke_init_section
+
+ # invoke main
+ mov $1, 0 # argc, argv, envp
+ mov $2, 0
+ mov $3, 0
+ bsr main
+ mov $1, $0
+ bsr exit
+
+ .global _exit
+_exit:
+ # Prevent _exit recursion
+ movh $3, %uhi(_exit_in_progress)
+ or3 $3, $3, %lo(_exit_in_progress)
+ lw $5, ($3)
+ bnez $5, _skip_fini
+ mov $5, 1
+ sw $5, ($3)
+
+ # We don't need to preserve $5 because we're going to exit anyway.
+ mov $5,$1
+
+ # destruct global class variables
+ bsr __invoke_fini_section
+ mov $1,$5
+
+_skip_fini:
+
+#ifdef NOSIM
+_exit_loop:
+ bra _exit_loop
+#else
+ .2byte 0x7800 | ((SYS_exit & 0xe) << 7) | ((SYS_exit & 1) << 4)
+ ret
+#endif
+
+ .data
+_exit_in_progress: .word 0
+
+
+
+# For these two, the epilogue is in crtn.S
+
+ .section .init
+__invoke_init_section:
+ add $sp, -4
+ ldc $0, $lp
+ sw $0, ($sp)
+
+ .section .fini
+__invoke_fini_section:
+ add $sp, -4
+ ldc $0, $lp
+ sw $0, ($sp)
+
+#ifndef NOVEC
+ .section .vec, "ax"
+ .core
+ .org 0x0, 0
+ .global _exception_table
+.type _exception_table,@function
+_exception_table:
+ .p2align 2
+ .org 0x0000, 0
+ .global _reset
+_reset:
+ jmp _handler_RESET
+ .org 0x0004, 0
+ jmp _handler_NMI
+ .org 0x0008, 0
+ jmp _handler_RI
+ .org 0x000c, 0
+ jmp _handler_ZDIV
+ .org 0x0010, 0
+ jmp _handler_BRK
+ .org 0x0014, 0
+ jmp _handler_SWI
+ .org 0x0018, 0
+ jmp _handler_DEBUG
+ .org 0x001c, 0
+ jmp _handler_DSP
+ .org 0x0020, 0
+ jmp _handler_COP
+
+ .org 0x30, 0
+ .global _interrupt_table
+.type _interrupt_table,@function
+_interrupt_table:
+ .org 0x0030
+ jmp _handler_INT0
+ .org 0x0034
+ jmp _handler_INT1
+ .org 0x0038
+ jmp _handler_INT2
+ .org 0x003c
+ jmp _handler_INT3
+ .org 0x0040
+ jmp _handler_INT4
+ .org 0x0044
+ jmp _handler_INT5
+ .org 0x0048
+ jmp _handler_INT6
+ .org 0x004c
+ jmp _handler_INT7
+ .org 0x0050
+ jmp _handler_INT8
+ .org 0x0054
+ jmp _handler_INT9
+ .org 0x0058
+ jmp _handler_INT10
+ .org 0x005c
+ jmp _handler_INT11
+ .org 0x0060
+ jmp _handler_INT12
+ .org 0x0064
+ jmp _handler_INT13
+ .org 0x0068
+ jmp _handler_INT14
+ .org 0x006c
+ jmp _handler_INT15
+ .org 0x0070
+ jmp _handler_INT16
+ .org 0x0074
+ jmp _handler_INT17
+ .org 0x0078
+ jmp _handler_INT18
+ .org 0x007c
+ jmp _handler_INT19
+ .org 0x0080
+ jmp _handler_INT20
+ .org 0x0084
+ jmp _handler_INT21
+ .org 0x0088
+ jmp _handler_INT22
+ .org 0x008c
+ jmp _handler_INT23
+ .org 0x0090
+ jmp _handler_INT24
+ .org 0x0094
+ jmp _handler_INT25
+ .org 0x0098
+ jmp _handler_INT26
+ .org 0x009c
+ jmp _handler_INT27
+ .org 0x00a0
+ jmp _handler_INT28
+ .org 0x00a4
+ jmp _handler_INT29
+ .org 0x00a8
+ jmp _handler_INT30
+ .org 0x00ac
+ jmp _handler_INT31
+ # NOVEC
+#endif
sim-crt0.S
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: mep-gmon.c
===================================================================
--- mep-gmon.c (nonexistent)
+++ mep-gmon.c (revision 816)
@@ -0,0 +1,411 @@
+/*-
+ * Copyright (c) 1991, 1998, 2001 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. [rescinded 22 July 1999]
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#ifndef lint
+static char sccsid[] = "@(#)gmon.c 5.3 (Berkeley) 5/22/91";
+#endif /* not lint */
+
+#include
+#include
+#include
+#include
+
+#define GMON_PTR_SIZE 4
+
+struct phdr
+ {
+ char *lpc; /* base pc address of sample buffer */
+ char *hpc; /* max pc address of sampled buffer */
+ int ncnt; /* size of sample buffer (plus this header) */
+
+ char version[4]; /* version number */
+ char profrate[4]; /* profiling clock rate */
+ char spare[3*4]; /* reserved */
+ };
+
+#define GMONVERSION 0x00051879
+
+/*
+ * Histogram counters are unsigned shorts:
+ */
+#define HISTCOUNTER unsigned short
+
+/*
+ * Fraction of text space to allocate for histogram counters here, 1/2:
+ */
+#define HISTFRACTION 2
+
+/*
+ * Fraction of text space to allocate for from hash buckets. The
+ * value of HASHFRACTION is based on the minimum number of bytes of
+ * separation between two subroutine call points in the object code.
+ * Given MIN_SUBR_SEPARATION bytes of separation the value of
+ * HASHFRACTION is calculated as:
+ *
+ * HASHFRACTION = MIN_SUBR_SEPARATION / (2 * sizeof(short) - 1);
+ *
+ * For the VAX, the shortest two call sequence is:
+ *
+ * calls $0,(r0)
+ * calls $0,(r0)
+ *
+ * which is separated by only three bytes, thus HASHFRACTION is
+ * calculated as:
+ *
+ * HASHFRACTION = 3 / (2 * 2 - 1) = 1
+ *
+ * Note that the division above rounds down, thus if MIN_SUBR_FRACTION
+ * is less than three, this algorithm will not work!
+ */
+#define HASHFRACTION 1
+
+/*
+ * Percent of text space to allocate for tostructs with a minimum:
+ */
+#define ARCDENSITY 2
+#define MINARCS 50
+
+struct tostruct
+ {
+ char *selfpc;
+ int count;
+ unsigned short link;
+ };
+
+/*
+ * A raw arc, with pointers to the calling site and the called site
+ * and a count. Everything is defined in terms of characters so
+ * as to get a packed representation (otherwise, different compilers
+ * might introduce different padding):
+ */
+struct rawarc
+ {
+ unsigned long raw_frompc;
+ unsigned long raw_selfpc;
+ int raw_count;
+ };
+
+/*
+ * General rounding functions:
+ */
+#define ROUNDDOWN(x,y) (((x)/(y))*(y))
+#define ROUNDUP(x,y) ((((x)+(y)-1)/(y))*(y))
+
+
+#ifdef __alpha
+extern char *sbrk ();
+#endif
+
+ /*
+ * froms is actually a bunch of unsigned shorts indexing tos
+ */
+static int profiling = 3;
+static unsigned short *froms;
+static struct tostruct *tos = 0;
+static long tolimit = 0;
+static char *s_lowpc = 0;
+static char *s_highpc = 0;
+static unsigned long s_textsize = 0;
+
+static int ssiz;
+static char *sbuf;
+static int s_scale;
+ /* see profil(2) where this is describe (incorrectly) */
+#define SCALE_1_TO_1 0x10000L
+
+#define MSG "No space for profiling buffer(s)\n"
+
+#ifndef O_BINARY
+#define O_BINARY 0
+#endif
+
+static void
+moncleanup ()
+{
+ int fd;
+ int fromindex;
+ int endfrom;
+ char *frompc;
+ int toindex;
+ struct rawarc rawarc;
+
+ profiling = 1;
+ fd = open ("gmon.out", O_WRONLY|O_TRUNC|O_CREAT|O_BINARY, 0666);
+ if (fd < 0)
+ {
+ perror ("mcount: gmon.out");
+ return;
+ }
+#ifdef DEBUG
+ fprintf (stderr, "[mcleanup] sbuf 0x%x ssiz %d\n", sbuf, ssiz);
+#endif /* DEBUG */
+ write (fd, sbuf, ssiz);
+ endfrom = s_textsize / (HASHFRACTION * sizeof (*froms));
+ for (fromindex = 0; fromindex < endfrom; fromindex++)
+ {
+ if (froms[fromindex] == 0)
+ {
+ continue;
+ }
+ frompc = s_lowpc + (fromindex * HASHFRACTION * sizeof (*froms));
+ for (toindex = froms[fromindex]; toindex != 0;
+ toindex = tos[toindex].link)
+ {
+#ifdef DEBUG
+ fprintf (stderr,
+ "[mcleanup] frompc 0x%x selfpc 0x%x count %d\n",
+ frompc, tos[toindex].selfpc, tos[toindex].count);
+#endif /* DEBUG */
+ rawarc.raw_frompc = (unsigned long) frompc;
+ rawarc.raw_selfpc = (unsigned long) tos[toindex].selfpc;
+ rawarc.raw_count = tos[toindex].count;
+ write (fd, &rawarc, sizeof rawarc);
+ }
+ }
+ close (fd);
+}
+
+static void
+monstartup (lowpc, highpc)
+ char *lowpc;
+ char *highpc;
+{
+ int monsize;
+ char *buffer;
+ register int o;
+
+ atexit (moncleanup);
+
+ /*
+ * round lowpc and highpc to multiples of the density we're using
+ * so the rest of the scaling (here and in gprof) stays in ints.
+ */
+ lowpc = (char *)
+ ROUNDDOWN ((unsigned) lowpc, HISTFRACTION * sizeof (HISTCOUNTER));
+ s_lowpc = lowpc;
+ highpc = (char *)
+ ROUNDUP ((unsigned) highpc, HISTFRACTION * sizeof (HISTCOUNTER));
+ s_highpc = highpc;
+ s_textsize = highpc - lowpc;
+ monsize = (s_textsize / HISTFRACTION) + sizeof (struct phdr);
+ buffer = sbrk (monsize);
+ if (buffer == (char *) -1)
+ {
+ write (2, MSG, sizeof (MSG));
+ return;
+ }
+ froms = (unsigned short *) sbrk (s_textsize / HASHFRACTION);
+ if (froms == (unsigned short *) -1)
+ {
+ write (2, MSG, sizeof (MSG));
+ froms = 0;
+ return;
+ }
+ tolimit = s_textsize * ARCDENSITY / 100;
+ if (tolimit < MINARCS)
+ {
+ tolimit = MINARCS;
+ }
+ else if (tolimit > 65534)
+ {
+ tolimit = 65534;
+ }
+ tos = (struct tostruct *) sbrk (tolimit * sizeof (struct tostruct));
+ if (tos == (struct tostruct *) -1)
+ {
+ write (2, MSG, sizeof (MSG));
+ froms = 0;
+ tos = 0;
+ return;
+ }
+ tos[0].link = 0;
+ sbuf = buffer;
+ ssiz = monsize;
+ ((struct phdr *) buffer)->lpc = lowpc;
+ ((struct phdr *) buffer)->hpc = highpc;
+ ((struct phdr *) buffer)->ncnt = ssiz;
+ monsize -= sizeof (struct phdr);
+ if (monsize <= 0)
+ return;
+ o = highpc - lowpc;
+ if (monsize < o)
+#if 0
+ s_scale = ((float) monsize / o) * SCALE_1_TO_1;
+#else /* avoid floating point */
+ {
+ int quot = o / monsize;
+
+ if (quot >= 0x10000)
+ s_scale = 1;
+ else if (quot >= 0x100)
+ s_scale = 0x10000 / quot;
+ else if (o >= 0x800000)
+ s_scale = 0x1000000 / (o / (monsize >> 8));
+ else
+ s_scale = 0x1000000 / ((o << 8) / monsize);
+ }
+#endif
+ else
+ s_scale = SCALE_1_TO_1;
+ profiling = 0;
+}
+
+/* These happen to be in the right place because of how crt0 works */
+extern char __attribute__((far)) _start;
+extern char __attribute__((far)) _etext;
+
+void
+__mep_mcount_2 (selfpc, frompcindex)
+ char *selfpc;
+ unsigned short *frompcindex;
+{
+ struct tostruct *top;
+ struct tostruct *prevtop;
+ long toindex;
+ static int initialized = 0;
+
+ if (!initialized)
+ {
+ initialized = 1;
+ monstartup (&_start, &_etext);
+ }
+
+ /*
+ * check that we are profiling
+ * and that we aren't recursively invoked.
+ */
+ if (profiling)
+ {
+ goto out;
+ }
+ profiling++;
+ /*
+ * check that frompcindex is a reasonable pc value.
+ * for example: signal catchers get called from the stack,
+ * not from text space. too bad.
+ */
+ frompcindex = (unsigned short *) ((long) frompcindex - (long) s_lowpc);
+ if ((unsigned long) frompcindex > s_textsize)
+ {
+ goto done;
+ }
+ frompcindex =
+ &froms[((long) frompcindex) / (HASHFRACTION * sizeof (*froms))];
+ toindex = *frompcindex;
+ if (toindex == 0)
+ {
+ /*
+ * first time traversing this arc
+ */
+ toindex = ++tos[0].link;
+ if (toindex >= tolimit)
+ {
+ goto overflow;
+ }
+ *frompcindex = toindex;
+ top = &tos[toindex];
+ top->selfpc = selfpc;
+ top->count = 1;
+ top->link = 0;
+ goto done;
+ }
+ top = &tos[toindex];
+ if (top->selfpc == selfpc)
+ {
+ /*
+ * arc at front of chain; usual case.
+ */
+ top->count++;
+ goto done;
+ }
+ /*
+ * have to go looking down chain for it.
+ * top points to what we are looking at,
+ * prevtop points to previous top.
+ * we know it is not at the head of the chain.
+ */
+ for (; /* goto done */ ;)
+ {
+ if (top->link == 0)
+ {
+ /*
+ * top is end of the chain and none of the chain
+ * had top->selfpc == selfpc.
+ * so we allocate a new tostruct
+ * and link it to the head of the chain.
+ */
+ toindex = ++tos[0].link;
+ if (toindex >= tolimit)
+ {
+ goto overflow;
+ }
+ top = &tos[toindex];
+ top->selfpc = selfpc;
+ top->count = 1;
+ top->link = *frompcindex;
+ *frompcindex = toindex;
+ goto done;
+ }
+ /*
+ * otherwise, check the next arc on the chain.
+ */
+ prevtop = top;
+ top = &tos[top->link];
+ if (top->selfpc == selfpc)
+ {
+ /*
+ * there it is.
+ * increment its count
+ * move it to the head of the chain.
+ */
+ top->count++;
+ toindex = prevtop->link;
+ prevtop->link = top->link;
+ top->link = *frompcindex;
+ *frompcindex = toindex;
+ goto done;
+ }
+
+ }
+done:
+ profiling--;
+ /* and fall through */
+out:
+ return; /* normal return restores saved registers */
+
+overflow:
+ profiling++; /* halt further profiling */
+# define TOLIMIT "mcount: tos overflow\n"
+ write (2, TOLIMIT, sizeof (TOLIMIT));
+ goto out;
+}
+
+
+
mep-gmon.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: crtn.S
===================================================================
--- crtn.S (nonexistent)
+++ crtn.S (revision 816)
@@ -0,0 +1,13 @@
+# Copyright (c) 2000-2007 Red Hat, Inc. All rights reserved.
+#
+# This copyrighted material is made available to anyone wishing to use, modify,
+# copy, or redistribute it subject to the terms and conditions of the BSD
+# License. This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY expressed or implied, including the implied
+# warranties of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. A copy of
+# this license is available at http://www.opensource.org/licenses. Any Red Hat
+# trademarks that are incorporated in the source code or documentation are not
+# subject to the BSD License and may only be used or replicated with the express
+
+#define NOSIM
+#include "sim-crtn.S"
crtn.S
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: crt0.S
===================================================================
--- crt0.S (nonexistent)
+++ crt0.S (revision 816)
@@ -0,0 +1,19 @@
+# Copyright (c) 2000-2007 Red Hat, Inc. All rights reserved.
+#
+# This copyrighted material is made available to anyone wishing to use, modify,
+# copy, or redistribute it subject to the terms and conditions of the BSD
+# License. This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY expressed or implied, including the implied
+# warranties of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. A copy of
+# this license is available at http://www.opensource.org/licenses. Any Red Hat
+# trademarks that are incorporated in the source code or documentation are not
+# subject to the BSD License and may only be used or replicated with the express
+# permission of Red Hat, Inc.
+#
+# Toshiba Media Processor startup file (crt0.S)
+#
+# Designed for user programs running in the 0-2Mb startup section.
+#
+
+#define NOSIM
+#include "sim-crt0.S"
crt0.S
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: h_reset.c
===================================================================
--- h_reset.c (nonexistent)
+++ h_reset.c (revision 816)
@@ -0,0 +1,26 @@
+/* h_reset.c -- Setup default reset handler.
+ *
+ * Copyright (c) 2004 Red Hat, Inc. All rights reserved.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the BSD
+ * License. This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY expressed or implied, including the implied
+ * warranties of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. A copy
+ * of this license is available at http://www.opensource.org/licenses. Any
+ * Red Hat trademarks that are incorporated in the source code or documentation
+ * are not subject to the BSD License and may only be used or replicated with
+ * the express permission of Red Hat, Inc.
+ */
+
+#pragma weak _handler_RESET
+
+void _handler_RESET(void) __attribute__((section(".hwinit")));
+
+extern void _start(void);
+void
+_handler_RESET(void)
+{
+ mep_di();
+ goto *(&_start);
+}
h_reset.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: write.c
===================================================================
--- write.c (nonexistent)
+++ write.c (revision 816)
@@ -0,0 +1,33 @@
+/* write.c -- write characters to file, with hook.
+ *
+ * Copyright (c) 2003 Red Hat, Inc. All rights reserved.
+ *
+ * This copyrighted material is made available to anyone wishing to use, modify,
+ * copy, or redistribute it subject to the terms and conditions of the BSD
+ * License. This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY expressed or implied, including the implied
+ * warranties of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. A copy
+ * of this license is available at http://www.opensource.org/licenses. Any
+ * Red Hat trademarks that are incorporated in the source code or documentation
+ * are not subject to the BSD License and may only be used or replicated with
+ * the express permission of Red Hat, Inc.
+ */
+
+extern int __mep_write(int, unsigned char *, int);
+extern void _ioOut(int) __attribute__((weak));
+
+int
+write(int fd, unsigned char *buf, int count)
+{
+ if ((fd == 1 || fd == 2) && &_ioOut)
+ {
+ int c = count;
+ while (c > 0)
+ {
+ c --;
+ _ioOut(*buf++);
+ }
+ return count;
+ }
+ return __mep_write(fd, buf, count);
+}
write.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: aclocal.m4
===================================================================
--- aclocal.m4 (nonexistent)
+++ aclocal.m4 (revision 816)
@@ -0,0 +1,344 @@
+# generated automatically by aclocal 1.9.6 -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005 Free Software Foundation, Inc.
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+# AM_CONDITIONAL -*- Autoconf -*-
+
+# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 7
+
+# AM_CONDITIONAL(NAME, SHELL-CONDITION)
+# -------------------------------------
+# Define a conditional.
+AC_DEFUN([AM_CONDITIONAL],
+[AC_PREREQ(2.52)dnl
+ ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
+ [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+AC_SUBST([$1_TRUE])
+AC_SUBST([$1_FALSE])
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi
+AC_CONFIG_COMMANDS_PRE(
+[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
+ AC_MSG_ERROR([[conditional "$1" was never defined.
+Usually this means the macro was only invoked conditionally.]])
+fi])])
+
+
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 8
+
+# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
+# written in clear, in which case automake, when reading aclocal.m4,
+# will think it sees a *use*, and therefore will trigger all it's
+# C support machinery. Also note that it means that autoscan, seeing
+# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
+
+
+# _AM_DEPENDENCIES(NAME)
+# ----------------------
+# See how the compiler implements dependency checking.
+# NAME is "CC", "CXX", "GCJ", or "OBJC".
+# We try a few techniques and use that to set a single cache variable.
+#
+# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
+# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
+# dependency, and given that the user is not expected to run this macro,
+# just rely on AC_PROG_CC.
+AC_DEFUN([_AM_DEPENDENCIES],
+[AC_REQUIRE([AM_SET_DEPDIR])dnl
+AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
+AC_REQUIRE([AM_MAKE_INCLUDE])dnl
+AC_REQUIRE([AM_DEP_TRACK])dnl
+
+ifelse([$1], CC, [depcc="$CC" am_compiler_list=],
+ [$1], CXX, [depcc="$CXX" am_compiler_list=],
+ [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
+ [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
+ [depcc="$$1" am_compiler_list=])
+
+AC_CACHE_CHECK([dependency style of $depcc],
+ [am_cv_$1_dependencies_compiler_type],
+[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+ # We make a subdir and do the tests there. Otherwise we can end up
+ # making bogus files that we don't know about and never remove. For
+ # instance it was reported that on HP-UX the gcc test will end up
+ # making a dummy file named `D' -- because `-MD' means `put the output
+ # in D'.
+ mkdir conftest.dir
+ # Copy depcomp to subdir because otherwise we won't find it if we're
+ # using a relative directory.
+ cp "$am_depcomp" conftest.dir
+ cd conftest.dir
+ # We will build objects and dependencies in a subdirectory because
+ # it helps to detect inapplicable dependency modes. For instance
+ # both Tru64's cc and ICC support -MD to output dependencies as a
+ # side effect of compilation, but ICC will put the dependencies in
+ # the current directory while Tru64 will put them in the object
+ # directory.
+ mkdir sub
+
+ am_cv_$1_dependencies_compiler_type=none
+ if test "$am_compiler_list" = ""; then
+ am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
+ fi
+ for depmode in $am_compiler_list; do
+ # Setup a source with many dependencies, because some compilers
+ # like to wrap large dependency lists on column 80 (with \), and
+ # we should not choose a depcomp mode which is confused by this.
+ #
+ # We need to recreate these files for each test, as the compiler may
+ # overwrite some of them when testing with obscure command lines.
+ # This happens at least with the AIX C compiler.
+ : > sub/conftest.c
+ for i in 1 2 3 4 5 6; do
+ echo '#include "conftst'$i'.h"' >> sub/conftest.c
+ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+ # Solaris 8's {/usr,}/bin/sh.
+ touch sub/conftst$i.h
+ done
+ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+ case $depmode in
+ nosideeffect)
+ # after this tag, mechanisms are not by side-effect, so they'll
+ # only be used when explicitly requested
+ if test "x$enable_dependency_tracking" = xyes; then
+ continue
+ else
+ break
+ fi
+ ;;
+ none) break ;;
+ esac
+ # We check with `-c' and `-o' for the sake of the "dashmstdout"
+ # mode. It turns out that the SunPro C++ compiler does not properly
+ # handle `-M -o', and we need to detect this.
+ if depmode=$depmode \
+ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \
+ >/dev/null 2>conftest.err &&
+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+ grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 &&
+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+ # icc doesn't choke on unknown options, it will just issue warnings
+ # or remarks (even with -Werror). So we grep stderr for any message
+ # that says an option was ignored or not supported.
+ # When given -MP, icc 7.0 and 7.1 complain thusly:
+ # icc: Command line warning: ignoring option '-M'; no argument required
+ # The diagnosis changed in icc 8.0:
+ # icc: Command line remark: option '-MP' not supported
+ if (grep 'ignoring option' conftest.err ||
+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+ am_cv_$1_dependencies_compiler_type=$depmode
+ break
+ fi
+ fi
+ done
+
+ cd ..
+ rm -rf conftest.dir
+else
+ am_cv_$1_dependencies_compiler_type=none
+fi
+])
+AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
+AM_CONDITIONAL([am__fastdep$1], [
+ test "x$enable_dependency_tracking" != xno \
+ && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
+])
+
+
+# AM_SET_DEPDIR
+# -------------
+# Choose a directory name for dependency files.
+# This macro is AC_REQUIREd in _AM_DEPENDENCIES
+AC_DEFUN([AM_SET_DEPDIR],
+[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
+])
+
+
+# AM_DEP_TRACK
+# ------------
+AC_DEFUN([AM_DEP_TRACK],
+[AC_ARG_ENABLE(dependency-tracking,
+[ --disable-dependency-tracking speeds up one-time build
+ --enable-dependency-tracking do not reject slow dependency extractors])
+if test "x$enable_dependency_tracking" != xno; then
+ am_depcomp="$ac_aux_dir/depcomp"
+ AMDEPBACKSLASH='\'
+fi
+AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
+AC_SUBST([AMDEPBACKSLASH])
+])
+
+# Generate code to set up dependency tracking. -*- Autoconf -*-
+
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+#serial 3
+
+# _AM_OUTPUT_DEPENDENCY_COMMANDS
+# ------------------------------
+AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
+[for mf in $CONFIG_FILES; do
+ # Strip MF so we end up with the name of the file.
+ mf=`echo "$mf" | sed -e 's/:.*$//'`
+ # Check whether this is an Automake generated Makefile or not.
+ # We used to match only the files named `Makefile.in', but
+ # some people rename them; so instead we look at the file content.
+ # Grep'ing the first line is not enough: some people post-process
+ # each Makefile.in and add a new line on top of each file to say so.
+ # So let's grep whole file.
+ if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then
+ dirpart=`AS_DIRNAME("$mf")`
+ else
+ continue
+ fi
+ # Extract the definition of DEPDIR, am__include, and am__quote
+ # from the Makefile without running `make'.
+ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+ test -z "$DEPDIR" && continue
+ am__include=`sed -n 's/^am__include = //p' < "$mf"`
+ test -z "am__include" && continue
+ am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+ # When using ansi2knr, U may be empty or an underscore; expand it
+ U=`sed -n 's/^U = //p' < "$mf"`
+ # Find all dependency output files, they are included files with
+ # $(DEPDIR) in their names. We invoke sed twice because it is the
+ # simplest approach to changing $(DEPDIR) to its actual value in the
+ # expansion.
+ for file in `sed -n "
+ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+ # Make sure the directory exists.
+ test -f "$dirpart/$file" && continue
+ fdir=`AS_DIRNAME(["$file"])`
+ AS_MKDIR_P([$dirpart/$fdir])
+ # echo "creating $dirpart/$file"
+ echo '# dummy' > "$dirpart/$file"
+ done
+done
+])# _AM_OUTPUT_DEPENDENCY_COMMANDS
+
+
+# AM_OUTPUT_DEPENDENCY_COMMANDS
+# -----------------------------
+# This macro should only be invoked once -- use via AC_REQUIRE.
+#
+# This code is only required when automatic dependency tracking
+# is enabled. FIXME. This creates each `.P' file that we will
+# need in order to bootstrap the dependency handling code.
+AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
+[AC_CONFIG_COMMANDS([depfiles],
+ [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
+ [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
+])
+
+# Copyright (C) 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 2
+
+# Check whether the underlying file-system supports filenames
+# with a leading dot. For instance MS-DOS doesn't.
+AC_DEFUN([AM_SET_LEADING_DOT],
+[rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+ am__leading_dot=.
+else
+ am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+AC_SUBST([am__leading_dot])])
+
+# Check to see how 'make' treats includes. -*- Autoconf -*-
+
+# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 3
+
+# AM_MAKE_INCLUDE()
+# -----------------
+# Check to see how make treats includes.
+AC_DEFUN([AM_MAKE_INCLUDE],
+[am_make=${MAKE-make}
+cat > confinc << 'END'
+am__doit:
+ @echo done
+.PHONY: am__doit
+END
+# If we don't find an include directive, just comment out the code.
+AC_MSG_CHECKING([for style of include used by $am_make])
+am__include="#"
+am__quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# We grep out `Entering directory' and `Leaving directory'
+# messages which can occur if `w' ends up in MAKEFLAGS.
+# In particular we don't look at `^make:' because GNU make might
+# be invoked under some other name (usually "gmake"), in which
+# case it prints its new name instead of `make'.
+if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then
+ am__include=include
+ am__quote=
+ _am_result=GNU
+fi
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+ echo '.include "confinc"' > confmf
+ if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then
+ am__include=.include
+ am__quote="\""
+ _am_result=BSD
+ fi
+fi
+AC_SUBST([am__include])
+AC_SUBST([am__quote])
+AC_MSG_RESULT([$_am_result])
+rm -f confinc confmf
+])
+
+m4_include([../acinclude.m4])
Index: sdram-crt0.S
===================================================================
--- sdram-crt0.S (nonexistent)
+++ sdram-crt0.S (revision 816)
@@ -0,0 +1,21 @@
+# Copyright (c) 2003 Red Hat, Inc. All rights reserved.
+#
+# This copyrighted material is made available to anyone wishing to use, modify,
+# copy, or redistribute it subject to the terms and conditions of the BSD
+# License. This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY expressed or implied, including the implied
+# warranties of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. A copy
+# of this license is available at http://www.opensource.org/licenses. Any
+# Red Hat trademarks that are incorporated in the source code or documentation
+# are not subject to the BSD License and may only be used or replicated with
+# the express permission of Red Hat, Inc.
+#
+# Toshiba Media Processor startup file (crt0.S)
+#
+# Designed for user programs running in the 0-2Mb startup section
+# which put interrupt/exception vectors in sdram.
+#
+
+#define NOSIM
+#define UseSDRAM
+#include "sim-crt0.S"
sdram-crt0.S
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property