This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

other/6134: "make" for h8300-hms target fails under Linux



>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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]