This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PING2] : [RFC/RFA] PING: skip __main
- From: Daniel Jacobowitz <drow at false dot org>
- To: Pierre Muller <muller at ics dot u-strasbg dot fr>
- Cc: 'Mark Kettenis' <mark dot kettenis at xs4all dot nl>, pedro at codesourcery dot com, gdb-patches at sourceware dot org
- Date: Thu, 5 Jun 2008 16:26:40 -0400
- Subject: Re: [PING2] : [RFC/RFA] PING: skip __main
- References: <004f01c8ac58$06a1ddb0$13e59910$@u-strasbg.fr> <000c01c8c246$de300f50$9a902df0$@u-strasbg.fr> <200805301157.m4UBvOL5009408@brahms.sibelius.xs4all.nl> <001901c8c256$06f8be00$14ea3a00$@u-strasbg.fr> <001a01c8c263$f493b1d0$ddbb1570$@u-strasbg.fr> <200805301457.m4UEvnGD028393@brahms.sibelius.xs4all.nl> <000301c8c2ea$0c2d72a0$248857e0$@u-strasbg.fr>
On Sat, May 31, 2008 at 08:46:25AM +0200, Pierre Muller wrote:
> Should I use the 32bit typecast strategy:
>
> unsigned int32 pc_after = pc + 5;
> unsigned int32 depl = extract_unsigned_integer (buf, 4);
>
> unsigned int32 dest = pc_after - depl;
> pc = dest;
>
> I don't know the checks done in C,
> are there any overflow checks in code like this,
> or is it safe to assume that it will work,
> even on machine that perform their operations
> on more than 32 bits?
If you use uint32_t, then you are guaranteed wrapping at 32 bits.
So that is probably the best thing to do. See the patch I just posted
to make stdint.h available everywhere.
--
Daniel Jacobowitz
CodeSourcery