[VxWorks] Fix builtins tests
Nathan Sidwell
nathan@codesourcery.com
Wed Mar 7 15:26:00 GMT 2007
Richard Sandiford wrote:
> gcc/testsuite/
> * gcc.c-torture/execute/builtins/memmove-lib.c: Include lib/bzero.c
> and lib/bfill.c on VxWorks targets.
> * gcc.c-torture/execute/builtins/memmove-2-lib.c: Likewise.
> * gcc.c-torture/execute/builtins/strchr-lib.c: Include lib/bzero.c,
> lib/bfill.c and lib/memmove.c on VxWorks targets.
> * gcc.c-torture/execute/builtins/strrchr-lib.c: Likewise.
> * gcc.c-torture/execute/builtins/memops-asm-lib.c: Include lib/bfill.c
> on VxWorks targets.
> * gcc.c-torture/execute/builtins/lib/bzero.c: New file.
> * gcc.c-torture/execute/builtins/lib/bfill.c: Likewise.
ok by me, with a minor change ...
>
> Index: gcc/testsuite/gcc.c-torture/execute/builtins/lib/bzero.c
> +bzero (void *s, __SIZE_TYPE__ n)
> +{
> + char *p;
> +
> +#ifdef __OPTIMIZE__
> + if (inside_main)
> + abort ();
> +#endif
> +
> + for (p = s; n-- > 0; p++)
> + *p = 0;
> +}
The inside_main check should be after the actual initialization. Some crt's use
memset/bzero to initialize bss, and inside_main might be placed in bss. (see
memset.c in the same directory).
> Index: gcc/testsuite/gcc.c-torture/execute/builtins/lib/bfill.c
> +void
> +bfill (void *s, __SIZE_TYPE__ n, int ch)
> +{
> + char *p;
> +
> +#ifdef __OPTIMIZE__
> + if (inside_main)
> + abort ();
> +#endif
> +
> + for (p = s; n-- > 0; p++)
> + *p = ch;
> +}
Likewise.
I'm not sure you need Janis's approval too. Wait 24 hours to see if she spots
something I missed.
nathan
--
Nathan Sidwell :: http://www.codesourcery.com :: CodeSourcery
nathan@codesourcery.com :: http://www.planetfall.pwp.blueyonder.co.uk
More information about the Gcc-patches
mailing list