1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-08-05 19:35:52 +03:00

* stdlib/tst-strtod2.c (do_test): Use %tu in fmt string for ptrdiff_t

value.

	* stdio-common/tst-fmemopen2.c (do_test): Avoid fmt string warning
	if off_t is different rank from size_t.

	* sysdeps/generic/unwind-dw2.c (extract_cie_info, execute_cfa_program,
	uw_frame_state_for): Avoid type punning warnings.
	* sysdeps/generic/unwind-dw2-fde-glibc.c
	(_Unwind_IteratePhdrCallback): Likewise.
	* sysdeps/generic/unwind-dw2-fde.c (_Unwind_Find_FDE): Likewise.
	(binary_search_single_encoding_fdes, binary_search_mixed_encoding_fdes,
	get_cie_encoding, linear_search_fdes): Don't mix char and unsigned char
	pointers.
This commit is contained in:
Ulrich Drepper
2007-08-01 03:44:35 +00:00
parent 6f59d56e61
commit 1475e2012f
10 changed files with 57 additions and 22 deletions

View File

@@ -1,3 +1,20 @@
2007-07-30 Jakub Jelinek <jakub@redhat.com>
* stdlib/tst-strtod2.c (do_test): Use %tu in fmt string for ptrdiff_t
value.
* stdio-common/tst-fmemopen2.c (do_test): Avoid fmt string warning
if off_t is different rank from size_t.
* sysdeps/generic/unwind-dw2.c (extract_cie_info, execute_cfa_program,
uw_frame_state_for): Avoid type punning warnings.
* sysdeps/generic/unwind-dw2-fde-glibc.c
(_Unwind_IteratePhdrCallback): Likewise.
* sysdeps/generic/unwind-dw2-fde.c (_Unwind_Find_FDE): Likewise.
(binary_search_single_encoding_fdes, binary_search_mixed_encoding_fdes,
get_cie_encoding, linear_search_fdes): Don't mix char and unsigned char
pointers.
2007-07-31 Ulrich Drepper <drepper@redhat.com> 2007-07-31 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/getsysstats.c (__get_nprocs_conf): Count * sysdeps/unix/sysv/linux/getsysstats.c (__get_nprocs_conf): Count

View File

@@ -1,3 +1,7 @@
2007-07-30 Jakub Jelinek <jakub@redhat.com>
* tst-strptime.c (do_test): Use %tu in fmt string for ptrdiff_t value.
2007-07-16 Jakub Jelinek <jakub@redhat.com> 2007-07-16 Jakub Jelinek <jakub@redhat.com>
* locales/ar_SA (d_t_fmt, d_fmt, t_fmt, t_fmt_ampm): Replace %.1d * locales/ar_SA (d_t_fmt, d_fmt, t_fmt, t_fmt_ampm): Replace %.1d

View File

@@ -15,7 +15,7 @@ do_test (void)
static const char s[] = "\ static const char s[] = "\
\x54\x68\xb8\x6e\x67\x20\x6d\xad\xea\x69\x20\x6d\xe9\x74"; \x54\x68\xb8\x6e\x67\x20\x6d\xad\xea\x69\x20\x6d\xe9\x74";
char *r = strptime (s, "%b", &tm); char *r = strptime (s, "%b", &tm);
printf ("r = %p, r-s = %ju, tm.tm_mon = %d\n", r, r - s, tm.tm_mon); printf ("r = %p, r-s = %tu, tm.tm_mon = %d\n", r, r - s, tm.tm_mon);
return r == NULL || r - s != 14 || tm.tm_mon != 10; return r == NULL || r - s != 14 || tm.tm_mon != 10;
} }

View File

@@ -1,5 +1,7 @@
2007-07-30 Jakub Jelinek <jakub@redhat.com> 2007-07-30 Jakub Jelinek <jakub@redhat.com>
* tst-rwlock14.c (do_test): Avoid warnings on 32-bit arches.
* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedrdlock.S * sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedrdlock.S
(pthread_rwlock_timedrdlock): Copy futex retval to %esi rather than (pthread_rwlock_timedrdlock): Copy futex retval to %esi rather than
%ecx. %ecx.

View File

@@ -1,4 +1,4 @@
/* Copyright (C) 2004 Free Software Foundation, Inc. /* Copyright (C) 2004, 2007 Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@redhat.com>, 2004. Contributed by Ulrich Drepper <drepper@redhat.com>, 2004.
@@ -130,8 +130,8 @@ do_test (void)
result = 1; result = 1;
} }
ts.tv_nsec = 0x100001000LL; ts.tv_nsec = (__typeof (ts.tv_nsec)) 0x100001000LL;
if (ts.tv_nsec != 0x100001000LL) if ((__typeof (ts.tv_nsec)) 0x100001000LL != 0x100001000LL)
ts.tv_nsec = 2000000000; ts.tv_nsec = 2000000000;
e = pthread_rwlock_timedrdlock (&r, &ts); e = pthread_rwlock_timedrdlock (&r, &ts);

View File

@@ -28,7 +28,7 @@ do_test (void)
o = ftello (fp); o = ftello (fp);
if (o != 0) if (o != 0)
{ {
printf ("second ftello returned %ld, expected %zu\n", o, (off_t) 0); printf ("second ftello returned %ld, expected 0\n", o);
result = 1; result = 1;
} }
if (fseeko (fp, 0, SEEK_END) != 0) if (fseeko (fp, 0, SEEK_END) != 0)

View File

@@ -32,7 +32,7 @@ do_test (void)
} }
if (ep != tests[i].str + tests[i].offset) if (ep != tests[i].str + tests[i].offset)
{ {
printf ("test %zu strtod parsed %ju characters, expected %zu\n", printf ("test %zu strtod parsed %tu characters, expected %zu\n",
i, ep - tests[i].str, tests[i].offset); i, ep - tests[i].str, tests[i].offset);
status = 1; status = 1;
} }

View File

@@ -1,4 +1,4 @@
/* Copyright (C) 2001, 2002 Free Software Foundation, Inc. /* Copyright (C) 2001, 2002, 2007 Free Software Foundation, Inc.
Contributed by Jakub Jelinek <jakub@redhat.com>. Contributed by Jakub Jelinek <jakub@redhat.com>.
This file is part of the GNU C Library. This file is part of the GNU C Library.
@@ -235,10 +235,11 @@ _Unwind_IteratePhdrCallback (struct dl_phdr_info *info, size_t size, void *ptr)
if (data->ret != NULL) if (data->ret != NULL)
{ {
unsigned int encoding = get_fde_encoding (data->ret); unsigned int encoding = get_fde_encoding (data->ret);
_Unwind_Ptr func;
read_encoded_value_with_base (encoding, read_encoded_value_with_base (encoding,
base_from_cb_data (encoding, data), base_from_cb_data (encoding, data),
data->ret->pc_begin, data->ret->pc_begin, &func);
(_Unwind_Ptr *)&data->func); data->func = (void *) func;
} }
return 1; return 1;
} }

View File

@@ -1,5 +1,5 @@
/* Subroutines needed for unwinding stack frames for exception handling. */ /* Subroutines needed for unwinding stack frames for exception handling. */
/* Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2006 /* Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2006, 2007
Free Software Foundation, Inc. Free Software Foundation, Inc.
Contributed by Jason Merrill <jason@cygnus.com>. Contributed by Jason Merrill <jason@cygnus.com>.
@@ -301,7 +301,8 @@ get_cie_encoding (struct dwarf_cie *cie)
if (aug[0] != 'z') if (aug[0] != 'z')
return DW_EH_PE_absptr; return DW_EH_PE_absptr;
p = aug + strlen (aug) + 1; /* Skip the augmentation string. */ /* Skip the augmentation string. */
p = aug + strlen ((const char *) aug) + 1;
p = read_uleb128 (p, &utmp); /* Skip code alignment. */ p = read_uleb128 (p, &utmp); /* Skip code alignment. */
p = read_sleb128 (p, &stmp); /* Skip data alignment. */ p = read_sleb128 (p, &stmp); /* Skip data alignment. */
p++; /* Skip return address column. */ p++; /* Skip return address column. */
@@ -838,7 +839,7 @@ linear_search_fdes (struct object *ob, fde *this_fde, void *pc)
else else
{ {
_Unwind_Ptr mask; _Unwind_Ptr mask;
const char *p; const unsigned char *p;
p = read_encoded_value_with_base (encoding, base, p = read_encoded_value_with_base (encoding, base,
this_fde->pc_begin, &pc_begin); this_fde->pc_begin, &pc_begin);
@@ -908,7 +909,7 @@ binary_search_single_encoding_fdes (struct object *ob, void *pc)
size_t i = (lo + hi) / 2; size_t i = (lo + hi) / 2;
fde *f = vec->array[i]; fde *f = vec->array[i];
_Unwind_Ptr pc_begin, pc_range; _Unwind_Ptr pc_begin, pc_range;
const char *p; const unsigned char *p;
p = read_encoded_value_with_base (encoding, base, f->pc_begin, p = read_encoded_value_with_base (encoding, base, f->pc_begin,
&pc_begin); &pc_begin);
@@ -936,7 +937,7 @@ binary_search_mixed_encoding_fdes (struct object *ob, void *pc)
size_t i = (lo + hi) / 2; size_t i = (lo + hi) / 2;
fde *f = vec->array[i]; fde *f = vec->array[i];
_Unwind_Ptr pc_begin, pc_range; _Unwind_Ptr pc_begin, pc_range;
const char *p; const unsigned char *p;
int encoding; int encoding;
encoding = get_fde_encoding (f); encoding = get_fde_encoding (f);
@@ -1046,6 +1047,7 @@ _Unwind_Find_FDE (void *pc, struct dwarf_eh_bases *bases)
if (f) if (f)
{ {
int encoding; int encoding;
_Unwind_Ptr func;
bases->tbase = ob->tbase; bases->tbase = ob->tbase;
bases->dbase = ob->dbase; bases->dbase = ob->dbase;
@@ -1054,7 +1056,8 @@ _Unwind_Find_FDE (void *pc, struct dwarf_eh_bases *bases)
if (ob->s.b.mixed_encoding) if (ob->s.b.mixed_encoding)
encoding = get_fde_encoding (f); encoding = get_fde_encoding (f);
read_encoded_value_with_base (encoding, base_from_object (encoding, ob), read_encoded_value_with_base (encoding, base_from_object (encoding, ob),
f->pc_begin, (_Unwind_Ptr *)&bases->func); f->pc_begin, &func);
bases->func = (void *) func;
} }
return f; return f;

View File

@@ -1,5 +1,5 @@
/* DWARF2 exception handling and frame unwind runtime interface routines. /* DWARF2 exception handling and frame unwind runtime interface routines.
Copyright (C) 1997,1998,1999,2000,2001,2002,2003,2005,2006 Copyright (C) 1997,1998,1999,2000,2001,2002,2003,2005,2006,2007
Free Software Foundation, Inc. Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
@@ -309,8 +309,9 @@ extract_cie_info (struct dwarf_cie *cie, struct _Unwind_Context *context,
/* "P" indicates a personality routine in the CIE augmentation. */ /* "P" indicates a personality routine in the CIE augmentation. */
else if (aug[0] == 'P') else if (aug[0] == 'P')
{ {
p = read_encoded_value (context, *p, p + 1, _Unwind_Ptr personality;
(_Unwind_Ptr *) &fs->personality); p = read_encoded_value (context, *p, p + 1, &personality);
fs->personality = (_Unwind_Personality_Fn) personality;
aug += 1; aug += 1;
} }
@@ -771,8 +772,12 @@ execute_cfa_program (const unsigned char *insn_ptr,
else switch (insn) else switch (insn)
{ {
case DW_CFA_set_loc: case DW_CFA_set_loc:
{
_Unwind_Ptr pc;
insn_ptr = read_encoded_value (context, fs->fde_encoding, insn_ptr = read_encoded_value (context, fs->fde_encoding,
insn_ptr, (_Unwind_Ptr *) &fs->pc); insn_ptr, &pc);
fs->pc = (void *) pc;
}
break; break;
case DW_CFA_advance_loc1: case DW_CFA_advance_loc1:
@@ -992,8 +997,11 @@ uw_frame_state_for (struct _Unwind_Context *context, _Unwind_FrameState *fs)
insn = aug + i; insn = aug + i;
} }
if (fs->lsda_encoding != DW_EH_PE_omit) if (fs->lsda_encoding != DW_EH_PE_omit)
aug = read_encoded_value (context, fs->lsda_encoding, aug, {
(_Unwind_Ptr *) &context->lsda); _Unwind_Ptr lsda;
aug = read_encoded_value (context, fs->lsda_encoding, aug, &lsda);
context->lsda = (void *) lsda;
}
/* Then the insns in the FDE up to our target PC. */ /* Then the insns in the FDE up to our target PC. */
if (insn == NULL) if (insn == NULL)