2001-02-14 Ulrich Drepper <drepper@redhat.com>
+ * math/libm-test.inc (j0_test): Check whether sincos is available.
+ (j1_test): Likewise.
+ (jn_test): Likewise.
+ (y0_test): Likewise.
+ (y1_test): Likewise.
+ (yn_test): Likewise.
+
+ * posix/tst-gnuglob.c: Make a few entries DT_UNKNOWN and teach
+ fake filesystem routines to handle this.
+
* time/sys/time.h: Make settimeofday and adjtime available if
_BSD_SOURCE.
static void
j0_test (void)
{
+ FLOAT s, c;
errno = 0;
+ FUNC (sincos) (0, &s, &c);
+ if (errno == ENOSYS)
+ /* Required function not implemented. */
+ return;
FUNC(j0) (0);
if (errno == ENOSYS)
/* Function not implemented. */
j1_test (void)
{
errno = 0;
+ FUNC (sincos) (0, &s, &c);
+ if (errno == ENOSYS)
+ /* Required function not implemented. */
+ return;
FUNC(j1) (0);
if (errno == ENOSYS)
/* Function not implemented. */
jn_test (void)
{
errno = 0;
+ FUNC (sincos) (0, &s, &c);
+ if (errno == ENOSYS)
+ /* Required function not implemented. */
+ return;
FUNC(jn) (1, 1);
if (errno == ENOSYS)
/* Function not implemented. */
y0_test (void)
{
errno = 0;
+ FUNC (sincos) (0, &s, &c);
+ if (errno == ENOSYS)
+ /* Required function not implemented. */
+ return;
FUNC(y0) (1);
if (errno == ENOSYS)
/* Function not implemented. */
y1_test (void)
{
errno = 0;
+ FUNC (sincos) (0, &s, &c);
+ if (errno == ENOSYS)
+ /* Required function not implemented. */
+ return;
FUNC(y1) (1);
if (errno == ENOSYS)
/* Function not implemented. */
yn_test (void)
{
errno = 0;
+ FUNC (sincos) (0, &s, &c);
+ if (errno == ENOSYS)
+ /* Required function not implemented. */
+ return;
FUNC(yn) (1, 1);
if (errno == ENOSYS)
/* Function not implemented. */
{ ".", 1, DT_DIR },
{ "..", 1, DT_DIR },
{ "file1lev1", 1, DT_REG },
- { "file2lev1", 1, DT_REG },
- { "dir1lev1", 1, DT_DIR },
+ { "file2lev1", 1, DT_UNKNOWN },
+ { "dir1lev1", 1, DT_UNKNOWN },
{ ".", 2, DT_DIR },
{ "..", 2, DT_DIR },
{ "file1lev2", 2, DT_REG },
{ "dir2lev1", 1, DT_DIR },
{ ".", 2, DT_DIR },
{ "..", 2, DT_DIR },
- { "dir1lev2", 2, DT_DIR },
+ { "dir1lev2", 2, DT_UNKNOWN },
{ ".", 3, DT_DIR },
{ "..", 3, DT_DIR },
{ ".foo", 3, DT_REG },
errno = ENOENT;
return -1;
}
- if (filesystem[idx].type != DT_DIR)
+ if (filesystem[idx].type != DT_DIR
+ && (idx + 1 >= nfiles
+ || filesystem[idx].level >= filesystem[idx + 1].level))
{
errno = ENOTDIR;
return -1;
memset (st, '\0', sizeof (*st));
- st->st_mode = DTTOIF (filesystem[idx].type) | 0777;
+ if (filesystem[idx].type == DT_UNKNOWN)
+ st->st_mode = DTTOIF (idx + 1 < nfiles
+ && filesystem[idx].level < filesystem[idx + 1].level
+ ? DT_DIR : DT_REG) | 0777;
+ else
+ st->st_mode = DTTOIF (filesystem[idx].type) | 0777;
PRINTF ("my_stat (\"%s\", { st_mode: %o }) = 0\n", name, st->st_mode);