This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [patch libiberty's include]: Fixes PR 39064 and partial PR 54620
- From: Ian Lance Taylor <iant at google dot com>
- To: Kai Tietz <ktietz70 at googlemail dot com>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>, Binutils <binutils at sourceware dot org>, gdb <gdb at sourceware dot org>
- Date: Wed, 30 Jan 2013 06:31:34 -0800
- Subject: Re: [patch libiberty's include]: Fixes PR 39064 and partial PR 54620
- References: <CAEwic4b+9OehgfoEy3WCZbpFqpzqSXxewAc8rCL1HRf=OsGsMQ@mail.gmail.com>
On Wed, Jan 30, 2013 at 2:53 AM, Kai Tietz <ktietz70@googlemail.com> wrote:
>
> this patch fixes for targets with sys/types.h the issue that wrong
> assumptions about pointer-sizes are used.
> Instead it uses uintptr_t/intptr_t.
>
> ChangeLog /include
>
> 2013-01-30 Kai Tietz <ktietz@redhat.com>
>
> PR other/54620
> PR target/39064
> * md5.h: Include sys/types.h if HAVE_SYS_TYPES_H
> is defined.
> * sha1.h: Likewise.
>
> Tested for x86_64-unknown-linux-gnu, x86_64-w64-mingw32, and
> i686-w64-mingw32. Ok for apply?
>
> Regards,
> Kai
>
> Index: md5.h
> ===================================================================
> --- md5.h (Revision 195288)
> +++ md5.h (Arbeitskopie)
> @@ -36,7 +36,7 @@
> the resulting executable. Locally running cross-compiled executables
> is usually not possible. */
>
> -#ifdef _LIBC
> +#if defined (_LIBC) || defined (HAVE_SYS_TYPES_H)
> # include <sys/types.h>
> typedef u_int32_t md5_uint32;
> typedef uintptr_t md5_uintptr;
> Index: sha1.h
> ===================================================================
> --- sha1.h (Revision 195288)
> +++ sha1.h (Arbeitskopie)
> @@ -35,7 +35,7 @@
> the resulting executable. Locally running cross-compiled executables
> is usually not possible. */
>
> -#ifdef _LIBC
> +#if defined (_LIBC) || defined (HAVE_SYS_TYPES_H)
> # include <sys/types.h>
> typedef u_int32_t sha1_uint32;
> typedef uintptr_t sha1_uintptr;
This code is intended to be highly portable. I don't have a problem
with uintptr_t, but I'm not certain that <sys/types.h> on all systems
defines u_int32_t.
Ian