diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 11 | ||||
-rw-r--r-- | gcc/config/s390/linux.h | 3 | ||||
-rw-r--r-- | gcc/unwind-dw2-fde.c | 8 | ||||
-rw-r--r-- | gcc/unwind-dw2.c | 2 |
4 files changed, 18 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6ac9d2f..4f832d4 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,16 @@ 2004-08-19 Ulrich Weigand <uweigand@de.ibm.com> + * unwind-dw2-fde.c (get_cie_encoding): Cast argument to strlen + to eliminate warning. + (linear_search_fdes): Declare p as unsigned. + (binary_search_mixed_encoding_fdes): Likewise. + * unwind-dw2.c (get_cie_encoding): Cast argument to strlen + to eliminate warning. + * config/s390/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Add missing + type cast. + +2004-08-19 Ulrich Weigand <uweigand@de.ibm.com> + * config/s390/s390-protos.h (preferred_la_operand_p): Adapt prototype. * config/s390/s390.c (preferred_la_operand_p): Accept two operands instead of one. Check for strictly legitimate address. diff --git a/gcc/config/s390/linux.h b/gcc/config/s390/linux.h index 0f51ef7..9dd07c7 100644 --- a/gcc/config/s390/linux.h +++ b/gcc/config/s390/linux.h @@ -191,7 +191,8 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA \ if (signo_ && (*signo_ == 11 || *signo_ == 7)) \ { \ - (FS)->regs.reg[33].loc.exp = regs_->psw_addr + 1; \ + (FS)->regs.reg[33].loc.exp = \ + (unsigned char *)regs_->psw_addr + 1; \ (FS)->regs.reg[32].loc.offset = \ (long)&(FS)->regs.reg[33].loc.exp - new_cfa_; \ } \ diff --git a/gcc/unwind-dw2-fde.c b/gcc/unwind-dw2-fde.c index 2a81e36..ea467e4 100644 --- a/gcc/unwind-dw2-fde.c +++ b/gcc/unwind-dw2-fde.c @@ -273,7 +273,7 @@ get_cie_encoding (const struct dwarf_cie *cie) if (aug[0] != 'z') return DW_EH_PE_absptr; - p = aug + strlen (aug) + 1; /* Skip the augmentation string. */ + p = aug + strlen ((const char *)aug) + 1; /* Skip the augmentation string. */ p = read_uleb128 (p, &utmp); /* Skip code alignment. */ p = read_sleb128 (p, &stmp); /* Skip data alignment. */ if (cie->version == 1) /* Skip return address column. */ @@ -808,7 +808,7 @@ linear_search_fdes (struct object *ob, const fde *this_fde, void *pc) else { _Unwind_Ptr mask; - const char *p; + const unsigned char *p; p = read_encoded_value_with_base (encoding, base, this_fde->pc_begin, &pc_begin); @@ -878,7 +878,7 @@ binary_search_single_encoding_fdes (struct object *ob, void *pc) size_t i = (lo + hi) / 2; const fde *f = vec->array[i]; _Unwind_Ptr pc_begin, pc_range; - const char *p; + const unsigned char *p; p = read_encoded_value_with_base (encoding, base, f->pc_begin, &pc_begin); @@ -906,7 +906,7 @@ binary_search_mixed_encoding_fdes (struct object *ob, void *pc) size_t i = (lo + hi) / 2; const fde *f = vec->array[i]; _Unwind_Ptr pc_begin, pc_range; - const char *p; + const unsigned char *p; int encoding; encoding = get_fde_encoding (f); diff --git a/gcc/unwind-dw2.c b/gcc/unwind-dw2.c index 8b60b0c..3815d9f 100644 --- a/gcc/unwind-dw2.c +++ b/gcc/unwind-dw2.c @@ -262,7 +262,7 @@ extract_cie_info (const struct dwarf_cie *cie, struct _Unwind_Context *context, _Unwind_FrameState *fs) { const unsigned char *aug = cie->augmentation; - const unsigned char *p = aug + strlen (aug) + 1; + const unsigned char *p = aug + strlen ((const char *)aug) + 1; const unsigned char *ret = NULL; _Unwind_Word utmp; |