[patch libiberty's include]: Fixes PR 39064 and partial PR 54620

Ian Lance Taylor iant@google.com
Wed Jan 30 14:31:00 GMT 2013


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



More information about the Gcc-patches mailing list