This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
other/6134: "make" for h8300-hms target fails under Linux
- From: vdenneberg at mathworks dot de
- To: gcc-gnats at gcc dot gnu dot org
- Date: 2 Apr 2002 12:12:30 -0000
- Subject: other/6134: "make" for h8300-hms target fails under Linux
- Reply-to: vdenneberg at mathworks dot de
>Number: 6134
>Category: other
>Synopsis: "make" for h8300-hms target fails under Linux
>Confidential: no
>Severity: critical
>Priority: medium
>Responsible: unassigned
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Tue Apr 02 04:16:02 PST 2002
>Closed-Date:
>Last-Modified:
>Originator: Volker Denneberg
>Release: gcc3.0.3 binutils-2.11.2
>Organization:
>Environment:
Redhat Linux
Thinkpad T22
gvv --version = 2.96
BASH=/bin/bash
BASH_ENV=/home/charon/vdennebe/.bashrc
BASH_VERSINFO=([0]="2" [1]="05" [2]="8" [3]="1" [4]="release" [5]="i386-redhat-linux-gnu")
BASH_VERSION=$'2.05.8(1)-release'
COLORS=/etc/DIR_COLORS
COLUMNS=175
CVSROOT=:pserver:vdennebe@orpheus:/home/charon/CVSROOT
DIRSTACK=()
EUID=545
GROUPS=()
HISTFILE=/home/charon/vdennebe/.bash_history
HISTFILESIZE=1000
HISTSIZE=1000
HOME=/home/charon/vdennebe
HOSTNAME=l-vdennebe.ac.mathworks.de
HOSTTYPE=i386
IFS=$' \t\n'
INPUTRC=/etc/inputrc
KDEDIR=/usr
LANG=en_US
LESSOPEN=$'|/usr/bin/lesspipe.sh %s'
LINES=65
LOGNAME=vdennebe
LS_COLORS=$'di=30;42'
MACHTYPE=i386-redhat-linux-gnu
MAIL=/var/spool/mail/vdennebe
MAILCHECK=60
MAKE_MODE=UNIX
OLDPWD=/tmp/build.h8300-hms_and_rcx/gcc-3.0.3/gcc
OPTERR=1
OPTIND=1
OSTYPE=linux-gnu
PATH=/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/home/charon/vdennebe/bin
PIPESTATUS=([0]="0")
PPID=10678
PS1=$'\\033[7m\\033[32m\\w\\033[0m '
PS2=$'> '
PS4=$'+ '
PWD=/tmp/build.h8300-hms_and_rcx/gcc-3.0.3
QTDIR=/usr/lib/qt-2.3.1
SHELL=/bin/bash
SHELLOPTS=braceexpand:hashall:histexpand:monitor:history:interactive-comments:emacs
SHLVL=1
SUPPORTED=en_US:en:de_DE@euro:de_DE:de
TERM=linux
UID=545
USER=vdennebe
_=su
langfile=/home/charon/vdennebe/.i18n
>Description:
in current directroy=/tmp/build.h8300-hms_and_rcx/h8300-hms-gcc-3.0.3, "make" for Hitachi h8300-hms target fails at
compilation of ../../gcc-3.0.3/gcc/unwind-sjlj.c :
/tmp/build.h8300-hms_and_rcx/h8300-hms-gcc-3.0.3/gcc/xgcc -B/tmp/build.h8300-hms_and_rcx/h8300-hms-gcc-3.0.3/gcc/ -B/usr/local/h8300-hms/bin/ -B/usr/local/h8300-hms/lib/ -isystem /usr/local/h8300-hms/include -O2 -DCROSS_COMPILE -DIN_GCC -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -isystem ./include -DDF=SF -DDI=SI -g1 -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -Dinhibit_libc -I. -I. -I../../gcc-3.0.3/gcc -I../../gcc-3.0.3/gcc/. -I../../gcc-3.0.3/gcc/config -I../../gcc-3.0.3/gcc/../include -fexceptions -c ../../gcc-3.0.3/gcc/unwind-sjlj.c -o libgcc/./unwind-sjlj.o
../../gcc-3.0.3/gcc/unwind-sjlj.c: In function `_Unwind_GetRegionStart':
../../gcc-3.0.3/gcc/unwind-sjlj.c:200: warning: unused parameter `context'
../../gcc-3.0.3/gcc/unwind-sjlj.c: In function `_Unwind_GetDataRelBase':
../../gcc-3.0.3/gcc/unwind-sjlj.c:207: warning: unused parameter `context'
../../gcc-3.0.3/gcc/unwind-sjlj.c: In function `_Unwind_GetTextRelBase':
../../gcc-3.0.3/gcc/unwind-sjlj.c:213: warning: unused parameter `context'
In file included from ../../gcc-3.0.3/gcc/unwind-sjlj.c:270:
../../gcc-3.0.3/gcc/unwind.inc: In function `_Unwind_RaiseException_Phase2':
../../gcc-3.0.3/gcc/unwind.inc:67: warning: implicit declaration of function `abort'
../../gcc-3.0.3/gcc/unwind.inc:57: Internal compiler error in expand_call, at calls.c:3076
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.
Note that "make" works without problem in windows/CYGWIN environment.
>How-To-Repeat:
get 9934295 Jan 28 20:24 binutils-2.11.2.tar.gz
14069552 Jan 28 20:24 gcc-3.0.3.tar.bz2
91655 Jan 28 20:24 h8300-hms-gcc-3.0.3-1.patch
unpack
patch gcc-3.0.3 --binary -N -p1 < h8300-hms-gcc-3.0.3-1.patch
cd binutils-2.11.2; . configure --target=h8300-hms
cd gcc-3.0.3; . configure \
--target=h8300-hms \
--enable-target-optspace \
--enable-languages=c,c++ \
--with-gnu-as \
--with-gnu-ld \
--with-newlib
make
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: text/plain; name="unwind-sjlj.i"
Content-Disposition: inline; filename="unwind-sjlj.i"
# 21 "../../gcc-3.0.3/gcc/unwind-sjlj.c"
# 1 "tconfig.h" 1
# 1 "../../gcc-3.0.3/gcc/gansidecl.h" 1
# 28 "../../gcc-3.0.3/gcc/gansidecl.h"
# 1 "../../gcc-3.0.3/include/ansidecl.h" 1
# 29 "../../gcc-3.0.3/gcc/gansidecl.h" 2
# 3 "tconfig.h" 2
# 1 "../../gcc-3.0.3/gcc/config/h8300/xm-h8300.h" 1
# 41 "../../gcc-3.0.3/gcc/config/h8300/xm-h8300.h"
# 1 "tm.h" 1
# 1 "../../gcc-3.0.3/gcc/gansidecl.h" 1
# 3 "tm.h" 2
# 1 "../../gcc-3.0.3/gcc/config/h8300/h8300.h" 1
# 33 "../../gcc-3.0.3/gcc/config/h8300/h8300.h"
extern int cpu_type;
extern const char *h8_push_op, *h8_pop_op, *h8_mov_op;
extern const char * const *h8_reg_names;
# 65 "../../gcc-3.0.3/gcc/config/h8300/h8300.h"
extern int target_flags;
# 374 "../../gcc-3.0.3/gcc/config/h8300/h8300.h"
enum reg_class {
NO_REGS, GENERAL_REGS, MAC_REGS, ALL_REGS, LIM_REG_CLASSES
};
# 632 "../../gcc-3.0.3/gcc/config/h8300/h8300.h"
struct cum_arg
{
int nbytes;
struct rtx_def *libcall;
};
# 1233 "../../gcc-3.0.3/gcc/config/h8300/h8300.h"
# 1 "../../gcc-3.0.3/gcc/config/dbxcoff.h" 1
# 1234 "../../gcc-3.0.3/gcc/config/h8300/h8300.h" 2
# 4 "tm.h" 2
# 1 "../../gcc-3.0.3/gcc/defaults.h" 1
# 5 "tm.h" 2
# 1 "insn-codes.h" 1
enum insn_code {
CODE_FOR_movqi_push = 0,
CODE_FOR_movstrictqi = 2,
CODE_FOR_movhi_push = 3,
CODE_FOR_movstricthi = 5,
CODE_FOR_movsi_h8300 = 6,
CODE_FOR_movsf_h8300 = 7,
CODE_FOR_movsi_h8300hs = 8,
CODE_FOR_movsf_h8300h = 9,
CODE_FOR_tstqi = 16,
CODE_FOR_tsthi = 17,
CODE_FOR_tstsi = 18,
CODE_FOR_cmpqi = 19,
CODE_FOR_cmpsi = 22,
CODE_FOR_addqi3 = 23,
CODE_FOR_addsi_h8300 = 26,
CODE_FOR_addsi_h8300h = 27,
CODE_FOR_subqi3 = 28,
CODE_FOR_subsi3_h8300 = 31,
CODE_FOR_subsi3_h8300h = 32,
CODE_FOR_mulqihi3 = 33,
CODE_FOR_mulhisi3 = 34,
CODE_FOR_umulqihi3 = 35,
CODE_FOR_umulhisi3 = 36,
CODE_FOR_udivqi3 = 39,
CODE_FOR_divqi3 = 40,
CODE_FOR_udivhi3 = 41,
CODE_FOR_divhi3 = 42,
CODE_FOR_umodqi3 = 43,
CODE_FOR_modqi3 = 44,
CODE_FOR_umodhi3 = 45,
CODE_FOR_modhi3 = 46,
CODE_FOR_andhi3 = 48,
CODE_FOR_andsi3 = 49,
CODE_FOR_iorhi3 = 51,
CODE_FOR_iorsi3 = 52,
CODE_FOR_xorhi3 = 54,
CODE_FOR_xorsi3 = 55,
CODE_FOR_negqi2 = 56,
CODE_FOR_neghi2_h8300h = 57,
CODE_FOR_negsi2_h8300h = 58,
CODE_FOR_one_cmplqi2 = 59,
CODE_FOR_one_cmplhi2 = 60,
CODE_FOR_one_cmplsi2 = 61,
CODE_FOR_branch_true = 62,
CODE_FOR_branch_false = 63,
CODE_FOR_jump = 64,
CODE_FOR_tablejump_h8300 = 65,
CODE_FOR_tablejump_h8300h = 66,
CODE_FOR_indirect_jump_h8300 = 67,
CODE_FOR_indirect_jump_h8300h = 68,
CODE_FOR_call = 69,
CODE_FOR_call_value = 70,
CODE_FOR_nop = 71,
CODE_FOR_zero_extendqihi2 = 72,
CODE_FOR_zero_extendqisi2 = 73,
CODE_FOR_extendqisi2 = 78,
CODE_FOR_movqi = 106,
CODE_FOR_movhi = 107,
CODE_FOR_movsi = 108,
CODE_FOR_movsf = 109,
CODE_FOR_cmphi = 110,
CODE_FOR_addhi3 = 111,
CODE_FOR_addsi3 = 113,
CODE_FOR_subhi3 = 115,
CODE_FOR_subsi3 = 116,
CODE_FOR_andqi3 = 117,
CODE_FOR_iorqi3 = 118,
CODE_FOR_xorqi3 = 119,
CODE_FOR_neghi2 = 120,
CODE_FOR_neghi2_h8300 = 121,
CODE_FOR_negsi2 = 122,
CODE_FOR_negsi2_h8300 = 123,
CODE_FOR_ble = 124,
CODE_FOR_bleu = 125,
CODE_FOR_bge = 126,
CODE_FOR_bgeu = 127,
CODE_FOR_blt = 128,
CODE_FOR_bltu = 129,
CODE_FOR_bgt = 130,
CODE_FOR_bgtu = 131,
CODE_FOR_beq = 132,
CODE_FOR_bne = 133,
CODE_FOR_tablejump = 134,
CODE_FOR_indirect_jump = 135,
CODE_FOR_zero_extendhisi2 = 136,
CODE_FOR_extendqihi2 = 137,
CODE_FOR_extendhisi2 = 138,
CODE_FOR_ashlqi3 = 139,
CODE_FOR_ashrqi3 = 140,
CODE_FOR_lshrqi3 = 141,
CODE_FOR_ashlhi3 = 142,
CODE_FOR_lshrhi3 = 143,
CODE_FOR_ashrhi3 = 144,
CODE_FOR_ashlsi3 = 145,
CODE_FOR_lshrsi3 = 146,
CODE_FOR_ashrsi3 = 147,
CODE_FOR_rotlqi3 = 148,
CODE_FOR_rotlhi3 = 149,
CODE_FOR_rotlsi3 = 150,
CODE_FOR_insv = 151,
CODE_FOR_extzv = 152,
CODE_FOR_nothing = 153 };
# 8 "tm.h" 2
# 1 "insn-flags.h" 1
# 118 "insn-flags.h"
struct rtx_def;
extern struct rtx_def * gen_movqi_push (struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_movstrictqi (struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_movhi_push (struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_movstricthi (struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_movsi_h8300 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_movsf_h8300 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_movsi_h8300hs (struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_movsf_h8300h (struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_tstqi (struct rtx_def *);
extern struct rtx_def * gen_tsthi (struct rtx_def *);
extern struct rtx_def * gen_tstsi (struct rtx_def *);
extern struct rtx_def * gen_cmpqi (struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_cmpsi (struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_addqi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_addsi_h8300 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_addsi_h8300h (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_subqi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_subsi3_h8300 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_subsi3_h8300h (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_mulqihi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_mulhisi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_umulqihi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_umulhisi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_udivqi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_divqi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_udivhi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_divhi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_umodqi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_modqi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_umodhi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_modhi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_andhi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_andsi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_iorhi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_iorsi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_xorhi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_xorsi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_negqi2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_neghi2_h8300h (struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_negsi2_h8300h (struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_one_cmplqi2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_one_cmplhi2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_one_cmplsi2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_branch_true (struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_branch_false (struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_jump (struct rtx_def *);
extern struct rtx_def * gen_tablejump_h8300 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_tablejump_h8300h (struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_indirect_jump_h8300 (struct rtx_def *);
extern struct rtx_def * gen_indirect_jump_h8300h (struct rtx_def *);
extern struct rtx_def * gen_call (struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_call_value (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_nop (void);
extern struct rtx_def * gen_zero_extendqihi2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_zero_extendqisi2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_extendqisi2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_movqi (struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_movhi (struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_movsi (struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_movsf (struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_cmphi (struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_addhi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_addsi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_subhi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_subsi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_andqi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_iorqi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_xorqi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_neghi2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_neghi2_h8300 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_negsi2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_negsi2_h8300 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_ble (struct rtx_def *);
extern struct rtx_def * gen_bleu (struct rtx_def *);
extern struct rtx_def * gen_bge (struct rtx_def *);
extern struct rtx_def * gen_bgeu (struct rtx_def *);
extern struct rtx_def * gen_blt (struct rtx_def *);
extern struct rtx_def * gen_bltu (struct rtx_def *);
extern struct rtx_def * gen_bgt (struct rtx_def *);
extern struct rtx_def * gen_bgtu (struct rtx_def *);
extern struct rtx_def * gen_beq (struct rtx_def *);
extern struct rtx_def * gen_bne (struct rtx_def *);
extern struct rtx_def * gen_tablejump (struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_indirect_jump (struct rtx_def *);
extern struct rtx_def * gen_zero_extendhisi2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_extendqihi2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_extendhisi2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_ashlqi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_ashrqi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_lshrqi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_ashlhi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_lshrhi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_ashrhi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_ashlsi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_lshrsi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_ashrsi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_rotlqi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_rotlhi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_rotlsi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_insv (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_extzv (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *);
# 9 "tm.h" 2
# 42 "../../gcc-3.0.3/gcc/config/h8300/xm-h8300.h" 2
# 4 "tconfig.h" 2
# 1 "../../gcc-3.0.3/gcc/defaults.h" 1
# 5 "tconfig.h" 2
# 1 "insn-codes.h" 1
# 8 "tconfig.h" 2
# 1 "insn-flags.h" 1
# 118 "insn-flags.h"
struct rtx_def;
extern struct rtx_def * gen_movqi_push (struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_movstrictqi (struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_movhi_push (struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_movstricthi (struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_movsi_h8300 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_movsf_h8300 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_movsi_h8300hs (struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_movsf_h8300h (struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_tstqi (struct rtx_def *);
extern struct rtx_def * gen_tsthi (struct rtx_def *);
extern struct rtx_def * gen_tstsi (struct rtx_def *);
extern struct rtx_def * gen_cmpqi (struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_cmpsi (struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_addqi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_addsi_h8300 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_addsi_h8300h (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_subqi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_subsi3_h8300 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_subsi3_h8300h (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_mulqihi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_mulhisi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_umulqihi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_umulhisi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_udivqi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_divqi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_udivhi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_divhi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_umodqi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_modqi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_umodhi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_modhi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_andhi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_andsi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_iorhi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_iorsi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_xorhi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_xorsi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_negqi2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_neghi2_h8300h (struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_negsi2_h8300h (struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_one_cmplqi2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_one_cmplhi2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_one_cmplsi2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_branch_true (struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_branch_false (struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_jump (struct rtx_def *);
extern struct rtx_def * gen_tablejump_h8300 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_tablejump_h8300h (struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_indirect_jump_h8300 (struct rtx_def *);
extern struct rtx_def * gen_indirect_jump_h8300h (struct rtx_def *);
extern struct rtx_def * gen_call (struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_call_value (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_nop (void);
extern struct rtx_def * gen_zero_extendqihi2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_zero_extendqisi2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_extendqisi2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_movqi (struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_movhi (struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_movsi (struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_movsf (struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_cmphi (struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_addhi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_addsi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_subhi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_subsi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_andqi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_iorqi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_xorqi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_neghi2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_neghi2_h8300 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_negsi2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_negsi2_h8300 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_ble (struct rtx_def *);
extern struct rtx_def * gen_bleu (struct rtx_def *);
extern struct rtx_def * gen_bge (struct rtx_def *);
extern struct rtx_def * gen_bgeu (struct rtx_def *);
extern struct rtx_def * gen_blt (struct rtx_def *);
extern struct rtx_def * gen_bltu (struct rtx_def *);
extern struct rtx_def * gen_bgt (struct rtx_def *);
extern struct rtx_def * gen_bgtu (struct rtx_def *);
extern struct rtx_def * gen_beq (struct rtx_def *);
extern struct rtx_def * gen_bne (struct rtx_def *);
extern struct rtx_def * gen_tablejump (struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_indirect_jump (struct rtx_def *);
extern struct rtx_def * gen_zero_extendhisi2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_extendqihi2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_extendhisi2 (struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_ashlqi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_ashrqi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_lshrqi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_ashlhi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_lshrhi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_ashrhi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_ashlsi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_lshrsi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_ashrsi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_rotlqi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_rotlhi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_rotlsi3 (struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_insv (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *);
extern struct rtx_def * gen_extzv (struct rtx_def *, struct rtx_def *, struct rtx_def *, struct rtx_def *);
# 9 "tconfig.h" 2
# 22 "../../gcc-3.0.3/gcc/unwind-sjlj.c" 2
# 1 "../../gcc-3.0.3/gcc/tsystem.h" 1
# 37 "../../gcc-3.0.3/gcc/tsystem.h"
# 1 "/tmp/build.h8300-hms_and_rcx/h8300-hms-gcc-3.0.3/gcc/include/stddef.h" 1 3
# 147 "/tmp/build.h8300-hms_and_rcx/h8300-hms-gcc-3.0.3/gcc/include/stddef.h" 3
typedef int ptrdiff_t;
# 199 "/tmp/build.h8300-hms_and_rcx/h8300-hms-gcc-3.0.3/gcc/include/stddef.h" 3
typedef unsigned int size_t;
# 287 "/tmp/build.h8300-hms_and_rcx/h8300-hms-gcc-3.0.3/gcc/include/stddef.h" 3
typedef short unsigned int wchar_t;
# 38 "../../gcc-3.0.3/gcc/tsystem.h" 2
extern void *malloc (size_t);
extern void free (void *);
extern int atexit (void (*)(void));
# 23 "../../gcc-3.0.3/gcc/unwind-sjlj.c" 2
# 1 "../../gcc-3.0.3/gcc/unwind.h" 1
# 32 "../../gcc-3.0.3/gcc/unwind.h"
typedef unsigned _Unwind_Word __attribute__((__mode__(__word__)));
typedef signed _Unwind_Sword __attribute__((__mode__(__word__)));
typedef unsigned _Unwind_Ptr __attribute__((__mode__(__pointer__)));
typedef unsigned _Unwind_Exception_Class __attribute__((__mode__(__DI__)));
typedef enum
{
_URC_NO_REASON = 0,
_URC_FOREIGN_EXCEPTION_CAUGHT = 1,
_URC_FATAL_PHASE2_ERROR = 2,
_URC_FATAL_PHASE1_ERROR = 3,
_URC_NORMAL_STOP = 4,
_URC_END_OF_STACK = 5,
_URC_HANDLER_FOUND = 6,
_URC_INSTALL_CONTEXT = 7,
_URC_CONTINUE_UNWIND = 8
} _Unwind_Reason_Code;
# 64 "../../gcc-3.0.3/gcc/unwind.h"
struct _Unwind_Exception;
typedef void (*_Unwind_Exception_Cleanup_Fn) (_Unwind_Reason_Code,
struct _Unwind_Exception *);
struct _Unwind_Exception
{
_Unwind_Exception_Class exception_class;
_Unwind_Exception_Cleanup_Fn exception_cleanup;
_Unwind_Word private_1;
_Unwind_Word private_2;
} __attribute__((__aligned__));
typedef int _Unwind_Action;
# 96 "../../gcc-3.0.3/gcc/unwind.h"
struct _Unwind_Context;
extern _Unwind_Reason_Code _Unwind_RaiseException (struct _Unwind_Exception *);
typedef _Unwind_Reason_Code (*_Unwind_Stop_Fn)
(int, _Unwind_Action, _Unwind_Exception_Class,
struct _Unwind_Exception *, struct _Unwind_Context *, void *);
extern _Unwind_Reason_Code _Unwind_ForcedUnwind (struct _Unwind_Exception *,
_Unwind_Stop_Fn,
void *);
extern void _Unwind_DeleteException (struct _Unwind_Exception *);
extern void _Unwind_Resume (struct _Unwind_Exception *);
extern _Unwind_Word _Unwind_GetGR (struct _Unwind_Context *, int);
extern void _Unwind_SetGR (struct _Unwind_Context *, int, _Unwind_Word);
extern _Unwind_Ptr _Unwind_GetIP (struct _Unwind_Context *);
extern void _Unwind_SetIP (struct _Unwind_Context *, _Unwind_Ptr);
extern void *_Unwind_GetLanguageSpecificData (struct _Unwind_Context *);
extern _Unwind_Ptr _Unwind_GetRegionStart (struct _Unwind_Context *);
# 148 "../../gcc-3.0.3/gcc/unwind.h"
typedef _Unwind_Reason_Code (*_Unwind_Personality_Fn)
(int, _Unwind_Action, _Unwind_Exception_Class,
struct _Unwind_Exception *, struct _Unwind_Context *);
struct SjLj_Function_Context;
extern void _Unwind_SjLj_Register (struct SjLj_Function_Context *);
extern void _Unwind_SjLj_Unregister (struct SjLj_Function_Context *);
extern _Unwind_Reason_Code _Unwind_SjLj_RaiseException
(struct _Unwind_Exception *);
extern _Unwind_Reason_Code _Unwind_SjLj_ForcedUnwind
(struct _Unwind_Exception *, _Unwind_Stop_Fn, void *);
extern void _Unwind_SjLj_Resume (struct _Unwind_Exception *);
# 186 "../../gcc-3.0.3/gcc/unwind.h"
extern _Unwind_Ptr _Unwind_GetDataRelBase (struct _Unwind_Context *);
extern _Unwind_Ptr _Unwind_GetTextRelBase (struct _Unwind_Context *);
# 24 "../../gcc-3.0.3/gcc/unwind-sjlj.c" 2
# 1 "../../gcc-3.0.3/gcc/gthr.h" 1
# 102 "../../gcc-3.0.3/gcc/gthr.h"
# 1 "../../gcc-3.0.3/gcc/gthr-single.h" 1
# 34 "../../gcc-3.0.3/gcc/gthr-single.h"
typedef int __gthread_mutex_t;
# 211 "../../gcc-3.0.3/gcc/gthr-single.h"
static __inline__ int
__gthread_active_p (void)
{
return 0;
}
static __inline__ int
__gthread_mutex_lock (__gthread_mutex_t * mutex __attribute__((unused)))
{
return 0;
}
static __inline__ int
__gthread_mutex_trylock (__gthread_mutex_t * mutex __attribute__((unused)))
{
return 0;
}
static __inline__ int
__gthread_mutex_unlock (__gthread_mutex_t * mutex __attribute__((unused)))
{
return 0;
}
# 103 "../../gcc-3.0.3/gcc/gthr.h" 2
# 25 "../../gcc-3.0.3/gcc/unwind-sjlj.c" 2
# 37 "../../gcc-3.0.3/gcc/unwind-sjlj.c"
struct SjLj_Function_Context
{
struct SjLj_Function_Context *prev;
int call_site;
_Unwind_Word data[4];
_Unwind_Personality_Fn personality;
void *lsda;
# 64 "../../gcc-3.0.3/gcc/unwind-sjlj.c"
void *jbuf[];
};
struct _Unwind_Context
{
struct SjLj_Function_Context *fc;
};
typedef struct
{
_Unwind_Personality_Fn personality;
} _Unwind_FrameState;
static struct SjLj_Function_Context *fc_static;
# 109 "../../gcc-3.0.3/gcc/unwind-sjlj.c"
void
_Unwind_SjLj_Register (struct SjLj_Function_Context *fc)
{
# 123 "../../gcc-3.0.3/gcc/unwind-sjlj.c"
{
fc->prev = fc_static;
fc_static = fc;
}
}
static __inline__ struct SjLj_Function_Context *
_Unwind_SjLj_GetContext (void)
{
return fc_static;
}
static __inline__ void
_Unwind_SjLj_SetContext (struct SjLj_Function_Context *fc)
{
# 153 "../../gcc-3.0.3/gcc/unwind-sjlj.c"
fc_static = fc;
}
void
_Unwind_SjLj_Unregister (struct SjLj_Function_Context *fc)
{
_Unwind_SjLj_SetContext (fc->prev);
}
_Unwind_Word
_Unwind_GetGR (struct _Unwind_Context *context, int index)
{
return context->fc->data[index];
}
void
_Unwind_SetGR (struct _Unwind_Context *context, int index, _Unwind_Word val)
{
context->fc->data[index] = val;
}
_Unwind_Ptr
_Unwind_GetIP (struct _Unwind_Context *context)
{
return context->fc->call_site + 1;
}
void
_Unwind_SetIP (struct _Unwind_Context *context, _Unwind_Ptr val)
{
context->fc->call_site = val - 1;
}
void *
_Unwind_GetLanguageSpecificData (struct _Unwind_Context *context)
{
return context->fc->lsda;
}
_Unwind_Ptr
_Unwind_GetRegionStart (struct _Unwind_Context *context)
{
return 0;
}
_Unwind_Ptr
_Unwind_GetDataRelBase (struct _Unwind_Context *context)
{
return 0;
}
_Unwind_Ptr
_Unwind_GetTextRelBase (struct _Unwind_Context *context)
{
return 0;
}
static __inline__ _Unwind_Reason_Code
uw_frame_state_for (struct _Unwind_Context *context, _Unwind_FrameState *fs)
{
if (context->fc == ((void *)0))
{
fs->personality = ((void *)0);
return _URC_END_OF_STACK;
}
else
{
fs->personality = context->fc->personality;
return _URC_NO_REASON;
}
}
static __inline__ void
uw_update_context (struct _Unwind_Context *context,
_Unwind_FrameState *fs __attribute__((unused)) )
{
context->fc = context->fc->prev;
}
static __inline__ void
uw_init_context (struct _Unwind_Context *context)
{
context->fc = _Unwind_SjLj_GetContext ();
}
# 256 "../../gcc-3.0.3/gcc/unwind-sjlj.c"
static __inline__ _Unwind_Ptr
uw_identify_context (struct _Unwind_Context *context)
{
return (_Unwind_Ptr) context->fc;
}
# 270 "../../gcc-3.0.3/gcc/unwind-sjlj.c"
# 1 "../../gcc-3.0.3/gcc/unwind.inc" 1
# 32 "../../gcc-3.0.3/gcc/unwind.inc"
static _Unwind_Reason_Code
_Unwind_RaiseException_Phase2(struct _Unwind_Exception *exc,
struct _Unwind_Context *context)
{
_Unwind_Reason_Code code;
while (1)
{
_Unwind_FrameState fs;
int match_handler;
code = uw_frame_state_for (context, &fs);
match_handler = (uw_identify_context (context) == exc->private_2
? 4 : 0);
if (code != _URC_NO_REASON)
return _URC_FATAL_PHASE2_ERROR;
if (fs.personality)
{
code = (*fs.personality) (1, 2 | match_handler,
exc->exception_class, exc, context);
if (code == _URC_INSTALL_CONTEXT)
break;
if (code != _URC_CONTINUE_UNWIND)
return _URC_FATAL_PHASE2_ERROR;
}
if (match_handler)
abort ();
uw_update_context (context, &fs);
}
return code;
}
_Unwind_Reason_Code
_Unwind_SjLj_RaiseException(struct _Unwind_Exception *exc)
{
struct _Unwind_Context this_context, cur_context;
_Unwind_Reason_Code code;
uw_init_context (&this_context);
cur_context = this_context;
while (1)
{
_Unwind_FrameState fs;
code = uw_frame_state_for (&cur_context, &fs);
if (code == _URC_END_OF_STACK)
return _URC_END_OF_STACK;
if (code != _URC_NO_REASON)
return _URC_FATAL_PHASE1_ERROR;
if (fs.personality)
{
code = (*fs.personality) (1, 1, exc->exception_class,
exc, &cur_context);
if (code == _URC_HANDLER_FOUND)
break;
else if (code != _URC_CONTINUE_UNWIND)
return _URC_FATAL_PHASE1_ERROR;
}
uw_update_context (&cur_context, &fs);
}
exc->private_1 = 0;
exc->private_2 = uw_identify_context (&cur_context);
cur_context = this_context;
code = _Unwind_RaiseException_Phase2 (exc, &cur_context);
if (code != _URC_INSTALL_CONTEXT)
return code;
do { _Unwind_SjLj_SetContext ((&cur_context)->fc); __builtin_longjmp ((&cur_context)->fc->jbuf, 1); } while (0);
}
static _Unwind_Reason_Code
_Unwind_ForcedUnwind_Phase2(struct _Unwind_Exception *exc,
struct _Unwind_Context *context)
{
_Unwind_Stop_Fn stop = (_Unwind_Stop_Fn) (_Unwind_Ptr) exc->private_1;
void *stop_argument = (void *) (_Unwind_Ptr) exc->private_2;
_Unwind_Reason_Code code, stop_code;
while (1)
{
_Unwind_FrameState fs;
int action;
code = uw_frame_state_for (context, &fs);
if (code != _URC_NO_REASON && code != _URC_END_OF_STACK)
return _URC_FATAL_PHASE2_ERROR;
action = 8 | 2;
if (code == _URC_END_OF_STACK)
action |= 16;
stop_code = (*stop) (1, action, exc->exception_class, exc,
context, stop_argument);
if (stop_code != _URC_NO_REASON)
return _URC_FATAL_PHASE2_ERROR;
if (code == _URC_END_OF_STACK)
break;
if (fs.personality)
{
code = (*fs.personality) (1, 8 | 2,
exc->exception_class, exc, context);
if (code == _URC_INSTALL_CONTEXT)
break;
if (code != _URC_CONTINUE_UNWIND)
return _URC_FATAL_PHASE2_ERROR;
}
uw_update_context (context, &fs);
}
return code;
}
_Unwind_Reason_Code
_Unwind_SjLj_ForcedUnwind (struct _Unwind_Exception *exc,
_Unwind_Stop_Fn stop, void * stop_argument)
{
struct _Unwind_Context this_context, cur_context;
_Unwind_Reason_Code code;
uw_init_context (&this_context);
cur_context = this_context;
exc->private_1 = (_Unwind_Ptr) stop;
exc->private_2 = (_Unwind_Ptr) stop_argument;
code = _Unwind_ForcedUnwind_Phase2 (exc, &cur_context);
if (code != _URC_INSTALL_CONTEXT)
return code;
do { _Unwind_SjLj_SetContext ((&cur_context)->fc); __builtin_longjmp ((&cur_context)->fc->jbuf, 1); } while (0);
}
void
_Unwind_SjLj_Resume (struct _Unwind_Exception *exc)
{
struct _Unwind_Context this_context, cur_context;
_Unwind_Reason_Code code;
uw_init_context (&this_context);
cur_context = this_context;
if (exc->private_1 == 0)
code = _Unwind_RaiseException_Phase2 (exc, &cur_context);
else
code = _Unwind_ForcedUnwind_Phase2 (exc, &cur_context);
if (code != _URC_INSTALL_CONTEXT)
abort ();
do { _Unwind_SjLj_SetContext ((&cur_context)->fc); __builtin_longjmp ((&cur_context)->fc->jbuf, 1); } while (0);
}
void
_Unwind_DeleteException (struct _Unwind_Exception *exc)
{
(*exc->exception_cleanup) (_URC_FOREIGN_EXCEPTION_CAUGHT, exc);
}
# 271 "../../gcc-3.0.3/gcc/unwind-sjlj.c" 2