This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: MIPS port in CVS HEAD?
Daniel Egger <degger@fhm.edu> writes:
> I'm now hanging here:
> /devel/gcc-head-i386-mipsel/gcc/xgcc -B/devel/gcc-head-i386-mipsel/gcc/ -B/opt/mipsel//mipsel-linux/bin/ -B/opt/mipsel//mipsel-linux/lib/ -isystem /opt/mipsel//mipsel-linux/include -isystem /opt/mipsel//mipsel-linux/sys-include -O2 -DIN_GCC -DCROSS_COMPILE -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -isystem ./include -fPIC -g -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -Dinhibit_libc -I. -I. -I../../gcc/gcc -I../../gcc/gcc/. -I../../gcc/gcc/../include -fexceptions -c ../../gcc/gcc/unwind-dw2.c -o libgcc/./unwind-dw2.o
> ../../gcc/gcc/unwind-dw2.c: In function `_Unwind_GetGR':
>
> ../../gcc/gcc/unwind-dw2.c:189: warning: comparison between signed and unsigned
> ../../gcc/gcc/unwind-dw2.c: In function `_Unwind_SetGR':
>
> ../../gcc/gcc/unwind-dw2.c:227: warning: comparison between signed and unsigned
> ../../gcc/gcc/unwind-dw2.c: In function `extract_cie_info':
>
> ../../gcc/gcc/unwind-dw2.c:320: warning: implicit declaration of function `strlen'
> ../../gcc/gcc/unwind-dw2.c: In function `uw_frame_state_for':
>
> ../../gcc/gcc/unwind-dw2.c:1005: warning: implicit declaration of function `memset'
> ../../gcc/gcc/unwind-dw2.c:1019: error: `u_int32_t' undeclared (first use in this function)
Please try this patch:
2003-10-20 Andreas Schwab <schwab@suse.de>
* config/mips/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Use typedef
with attribute instead of u_int32_t.
--- gcc/config/mips/linux.h.~1.70.~ 2003-10-20 10:55:16.000000000 +0200
+++ gcc/config/mips/linux.h 2003-10-20 11:49:57.000000000 +0200
@@ -212,7 +212,8 @@ typedef struct _sig_ucontext {
#define MD_FALLBACK_FRAME_STATE_FOR(CONTEXT, FS, SUCCESS) \
do { \
- u_int32_t *pc_ = (u_int32_t *) (CONTEXT)->ra; \
+ typedef unsigned int uint32 __attribute__ ((mode (SI))); \
+ uint32 *pc_ = (uint32 *) (CONTEXT)->ra; \
struct sigcontext *sc_; \
_Unwind_Ptr new_cfa_; \
int i_; \
@@ -227,7 +228,7 @@ typedef struct _sig_ucontext {
if (*(pc_ + 0) == 0x24021017) \
{ \
struct sigframe { \
- u_int32_t trampoline[2]; \
+ uint32 trampoline[2]; \
struct sigcontext sigctx; \
} *rt_ = (CONTEXT)->ra; \
sc_ = &rt_->sigctx; \
@@ -235,7 +236,7 @@ typedef struct _sig_ucontext {
else if (*(pc_ + 0) == 0x24021061) \
{ \
struct rt_sigframe { \
- u_int32_t trampoline[2]; \
+ uint32 trampoline[2]; \
struct siginfo info; \
_sig_ucontext_t uc; \
} *rt_ = (CONTEXT)->ra; \
Andreas.
--
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux AG, Deutschherrnstr. 15-19, D-90429 Nürnberg
Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."