aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog11
-rw-r--r--gcc/config/s390/linux.h3
-rw-r--r--gcc/unwind-dw2-fde.c8
-rw-r--r--gcc/unwind-dw2.c2
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;