mirror of
https://sourceware.org/git/glibc.git
synced 2025-08-05 19:35:52 +03:00
2006-09-12 Jakub Jelinek <jakub@redhat.com> [BZ #2526] * README.libm: Fix a thinko in sqrt algorithm description. [BZ #3143] * manual/string.texi (argz_delete): Fix prototype. Patch by <alpt@freaknet.org>. 2006-08-26 Joseph Myers <joseph@codesourcery.com> [BZ #3138] * io/test-lfs.c (do_prepare): Give name_len type size_t. * io/tst-fcntl.c (do_prepare): Likewise. * posix/tst-exec.c (do_prepare): Likewise. * posix/tst-preadwrite.c (do_prepare): Likewise. * posix/tst-spawn.c (do_prepare): Likewise. * posix/tst-truncate.c (do_prepare): Likewise. * rt/tst-aio.c (do_prepare): Likewise. * rt/tst-aio64.c (do_prepare): Likewise. * stdlib/test-canon2.c (do_prepare): Give test_dir_len type size_t.
This commit is contained in:
23
ChangeLog
23
ChangeLog
@@ -1,3 +1,26 @@
|
|||||||
|
2006-09-12 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
|
[BZ #2526]
|
||||||
|
* README.libm: Fix a thinko in sqrt algorithm description.
|
||||||
|
|
||||||
|
[BZ #3143]
|
||||||
|
* manual/string.texi (argz_delete): Fix prototype.
|
||||||
|
Patch by <alpt@freaknet.org>.
|
||||||
|
|
||||||
|
2006-08-26 Joseph Myers <joseph@codesourcery.com>
|
||||||
|
|
||||||
|
[BZ #3138]
|
||||||
|
* io/test-lfs.c (do_prepare): Give name_len type size_t.
|
||||||
|
* io/tst-fcntl.c (do_prepare): Likewise.
|
||||||
|
* posix/tst-exec.c (do_prepare): Likewise.
|
||||||
|
* posix/tst-preadwrite.c (do_prepare): Likewise.
|
||||||
|
* posix/tst-spawn.c (do_prepare): Likewise.
|
||||||
|
* posix/tst-truncate.c (do_prepare): Likewise.
|
||||||
|
* rt/tst-aio.c (do_prepare): Likewise.
|
||||||
|
* rt/tst-aio64.c (do_prepare): Likewise.
|
||||||
|
* stdlib/test-canon2.c (do_prepare): Give test_dir_len type
|
||||||
|
size_t.
|
||||||
|
|
||||||
2006-09-09 Ulrich Drepper <drepper@redhat.com>
|
2006-09-09 Ulrich Drepper <drepper@redhat.com>
|
||||||
|
|
||||||
[BZ #2821]
|
[BZ #2821]
|
||||||
|
@@ -486,7 +486,7 @@ sqrt
|
|||||||
* Bit by bit method using integer arithmetic. (Slow, but portable)
|
* Bit by bit method using integer arithmetic. (Slow, but portable)
|
||||||
* 1. Normalization
|
* 1. Normalization
|
||||||
* Scale x to y in [1,4) with even powers of 2:
|
* Scale x to y in [1,4) with even powers of 2:
|
||||||
* find an integer k such that 1 <= (y=x*2^(2k)) < 4, then
|
* find an integer k such that 1 <= (y=x*2^(-2k)) < 4, then
|
||||||
* sqrt(x) = 2^k * sqrt(y)
|
* sqrt(x) = 2^k * sqrt(y)
|
||||||
* 2. Bit by bit computation
|
* 2. Bit by bit computation
|
||||||
* Let q = sqrt(y) truncated to i bit after binary point (q = 1),
|
* Let q = sqrt(y) truncated to i bit after binary point (q = 1),
|
||||||
|
@@ -50,7 +50,7 @@ int fd;
|
|||||||
void
|
void
|
||||||
do_prepare (int argc, char *argv[])
|
do_prepare (int argc, char *argv[])
|
||||||
{
|
{
|
||||||
char name_len;
|
size_t name_len;
|
||||||
struct rlimit64 rlim;
|
struct rlimit64 rlim;
|
||||||
|
|
||||||
name_len = strlen (test_dir);
|
name_len = strlen (test_dir);
|
||||||
|
@@ -42,7 +42,7 @@ static char *name;
|
|||||||
void
|
void
|
||||||
do_prepare (int argc, char *argv[])
|
do_prepare (int argc, char *argv[])
|
||||||
{
|
{
|
||||||
char name_len;
|
size_t name_len;
|
||||||
|
|
||||||
name_len = strlen (test_dir);
|
name_len = strlen (test_dir);
|
||||||
name = malloc (name_len + sizeof ("/fcntlXXXXXX"));
|
name = malloc (name_len + sizeof ("/fcntlXXXXXX"));
|
||||||
|
@@ -2534,7 +2534,7 @@ The @code{argz_append} function appends @var{buf_len} bytes starting at
|
|||||||
|
|
||||||
@comment argz.h
|
@comment argz.h
|
||||||
@comment GNU
|
@comment GNU
|
||||||
@deftypefun {error_t} argz_delete (char **@var{argz}, size_t *@var{argz_len}, char *@var{entry})
|
@deftypefun {void} argz_delete (char **@var{argz}, size_t *@var{argz_len}, char *@var{entry})
|
||||||
If @var{entry} points to the beginning of one of the elements in the
|
If @var{entry} points to the beginning of one of the elements in the
|
||||||
argz vector @code{*@var{argz}}, the @code{argz_delete} function will
|
argz vector @code{*@var{argz}}, the @code{argz_delete} function will
|
||||||
remove this entry and reallocate @code{*@var{argz}}, modifying
|
remove this entry and reallocate @code{*@var{argz}}, modifying
|
||||||
|
@@ -1,3 +1,8 @@
|
|||||||
|
2006-09-12 Ulrich Drepper <drepper@redhat.com>
|
||||||
|
|
||||||
|
* tst-cond22.c (tf): Slight changes to the pthread_cond_wait use
|
||||||
|
to guarantee the thread is always canceled.
|
||||||
|
|
||||||
2006-09-08 Jakub Jelinek <jakub@redhat.com>
|
2006-09-08 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
* tst-cond22.c: Include pthread.h instead of pthreadP.h.
|
* tst-cond22.c: Include pthread.h instead of pthreadP.h.
|
||||||
|
@@ -30,17 +30,24 @@ tf (void *arg)
|
|||||||
exit (1);
|
exit (1);
|
||||||
}
|
}
|
||||||
pthread_cleanup_push (cl, NULL);
|
pthread_cleanup_push (cl, NULL);
|
||||||
|
/* We have to loop here because the cancellation might come after
|
||||||
|
the cond_wait call left the cancelable area and is then waiting
|
||||||
|
on the mutex. In this case the beginning of the second cond_wait
|
||||||
|
call will cause the cancellation to happen. */
|
||||||
|
while (1)
|
||||||
|
{
|
||||||
if (pthread_cond_wait (&c, &m) != 0)
|
if (pthread_cond_wait (&c, &m) != 0)
|
||||||
{
|
{
|
||||||
printf ("%s: cond_wait failed\n", __func__);
|
printf ("%s: cond_wait failed\n", __func__);
|
||||||
exit (1);
|
exit (1);
|
||||||
}
|
}
|
||||||
pthread_cleanup_pop (0);
|
|
||||||
if (pthread_mutex_unlock (&m) != 0)
|
if (pthread_mutex_unlock (&m) != 0)
|
||||||
{
|
{
|
||||||
printf ("%s: mutex_unlock failed\n", __func__);
|
printf ("%s: mutex_unlock failed\n", __func__);
|
||||||
exit (1);
|
exit (1);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
pthread_cleanup_pop (0);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -57,7 +57,7 @@ static const char fd2string[] = "This file should stay opened";
|
|||||||
void
|
void
|
||||||
do_prepare (int argc, char *argv[])
|
do_prepare (int argc, char *argv[])
|
||||||
{
|
{
|
||||||
char name_len;
|
size_t name_len;
|
||||||
|
|
||||||
name_len = strlen (test_dir);
|
name_len = strlen (test_dir);
|
||||||
name1 = malloc (name_len + sizeof ("/execXXXXXX"));
|
name1 = malloc (name_len + sizeof ("/execXXXXXX"));
|
||||||
|
@@ -53,7 +53,7 @@ int fd;
|
|||||||
void
|
void
|
||||||
do_prepare (int argc, char *argv[])
|
do_prepare (int argc, char *argv[])
|
||||||
{
|
{
|
||||||
char name_len;
|
size_t name_len;
|
||||||
|
|
||||||
#define FNAME FNAME2(TRUNCATE)
|
#define FNAME FNAME2(TRUNCATE)
|
||||||
#define FNAME2(s) "/" STRINGIFY(s) "XXXXXX"
|
#define FNAME2(s) "/" STRINGIFY(s) "XXXXXX"
|
||||||
|
@@ -61,7 +61,7 @@ static const char fd3string[] = "This file will be opened";
|
|||||||
void
|
void
|
||||||
do_prepare (int argc, char *argv[])
|
do_prepare (int argc, char *argv[])
|
||||||
{
|
{
|
||||||
char name_len;
|
size_t name_len;
|
||||||
|
|
||||||
name_len = strlen (test_dir);
|
name_len = strlen (test_dir);
|
||||||
name1 = (char *) malloc (name_len + sizeof ("/spawnXXXXXX"));
|
name1 = (char *) malloc (name_len + sizeof ("/spawnXXXXXX"));
|
||||||
|
@@ -54,7 +54,7 @@ int fd;
|
|||||||
void
|
void
|
||||||
do_prepare (int argc, char *argv[])
|
do_prepare (int argc, char *argv[])
|
||||||
{
|
{
|
||||||
char name_len;
|
size_t name_len;
|
||||||
|
|
||||||
#define FNAME FNAME2(TRUNCATE)
|
#define FNAME FNAME2(TRUNCATE)
|
||||||
#define FNAME2(s) "/" STRINGIFY(s) "XXXXXX"
|
#define FNAME2(s) "/" STRINGIFY(s) "XXXXXX"
|
||||||
|
@@ -48,7 +48,7 @@ int fd;
|
|||||||
void
|
void
|
||||||
do_prepare (int argc, char *argv[])
|
do_prepare (int argc, char *argv[])
|
||||||
{
|
{
|
||||||
char name_len;
|
size_t name_len;
|
||||||
|
|
||||||
name_len = strlen (test_dir);
|
name_len = strlen (test_dir);
|
||||||
name = malloc (name_len + sizeof ("/aioXXXXXX"));
|
name = malloc (name_len + sizeof ("/aioXXXXXX"));
|
||||||
|
@@ -49,7 +49,7 @@ int fd;
|
|||||||
void
|
void
|
||||||
do_prepare (int argc, char *argv[])
|
do_prepare (int argc, char *argv[])
|
||||||
{
|
{
|
||||||
char name_len;
|
size_t name_len;
|
||||||
|
|
||||||
name_len = strlen (test_dir);
|
name_len = strlen (test_dir);
|
||||||
name = malloc (name_len + sizeof ("/aioXXXXXX"));
|
name = malloc (name_len + sizeof ("/aioXXXXXX"));
|
||||||
|
@@ -39,7 +39,7 @@ char *name2;
|
|||||||
void
|
void
|
||||||
do_prepare (int argc, char *argv[])
|
do_prepare (int argc, char *argv[])
|
||||||
{
|
{
|
||||||
char test_dir_len;
|
size_t test_dir_len;
|
||||||
|
|
||||||
test_dir_len = strlen (test_dir);
|
test_dir_len = strlen (test_dir);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user