mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-23 17:53:37 +08:00
* sysdeps/x86_64/memset.S: Add sfence after movnti.
This commit is contained in:
parent
f2a8406a4f
commit
f6ed654cab
@ -1,3 +1,7 @@
|
||||
2007-11-07 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
* sysdeps/x86_64/memset.S: Add sfence after movnti.
|
||||
|
||||
2007-11-07 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
[BZ #5277]
|
||||
|
@ -1,5 +1,8 @@
|
||||
2007-11-07 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
[BZ #5238]
|
||||
* locales/ug_CN: Fix typo in collating symbol definition.
|
||||
|
||||
[BZ #5237]
|
||||
* locales/lo_LA: Fix typos in collation symbols.
|
||||
|
||||
|
@ -2,7 +2,7 @@ escape_char /
|
||||
comment_char %
|
||||
%
|
||||
% Uyghur language locale for China
|
||||
% Source:
|
||||
% Source:
|
||||
% Contact: Pablo Saratxaga
|
||||
% Email: pablo@mandriva.com
|
||||
% Language: ug
|
||||
@ -56,8 +56,8 @@ LC_COLLATE
|
||||
% U+0224, U+0225 are also similar to ztail and are sorted the same.
|
||||
%
|
||||
% new arabic writting uses some extra letters too.
|
||||
% all vowels are noted, and in beginning of the word there is a
|
||||
% "yeh with hamza" (U+0626) in the front; should it be ignored
|
||||
% all vowels are noted, and in beginning of the word there is a
|
||||
% "yeh with hamza" (U+0626) in the front; should it be ignored
|
||||
% in sorting?
|
||||
%
|
||||
% arabic old latin turkic (from azeri, which has same phonemes)
|
||||
@ -107,7 +107,7 @@ collating-symbol <htail>
|
||||
collating-symbol <ktail>
|
||||
collating-symbol <ztail>
|
||||
collating-symbol <obar>
|
||||
collating-symbol <udiaresis>
|
||||
collating-symbol <udiaeresis>
|
||||
|
||||
collating-element <h,> from "<U0068><U0321>"
|
||||
collating-element <H,> from "<U0048><U0321>"
|
||||
@ -238,7 +238,7 @@ reorder-after <U0648>
|
||||
<U06D0> <ar_e>;<BAS>;<MIN>;IGNORE
|
||||
<U06CC> <ar_i>;<BAS>;<MIN>;IGNORE
|
||||
<U064A> <ar_y>;<BAS>;<MIN>;IGNORE
|
||||
|
||||
|
||||
reorder-end
|
||||
|
||||
END LC_COLLATE
|
||||
@ -330,4 +330,3 @@ LC_ADDRESS
|
||||
% FIXME
|
||||
copy "en_DK"
|
||||
END LC_ADDRESS
|
||||
|
||||
|
@ -1,3 +1,11 @@
|
||||
2007-11-07 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
[BZ #5245]
|
||||
* allocatestack.c (allocate_stack): Change ENOMEM error in case
|
||||
mmap failed to EAGAIN.
|
||||
* Makefile (tests): Add tst-basic7.
|
||||
* tst-basic7.c: New file.
|
||||
|
||||
2007-11-05 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
* sysdeps/unix/sysv/linux/register-atfork.c (__register_atfork):
|
||||
|
@ -222,6 +222,7 @@ tests = tst-typesizes \
|
||||
tst-barrier1 tst-barrier2 tst-barrier3 tst-barrier4 \
|
||||
tst-align tst-align2 tst-align3 \
|
||||
tst-basic1 tst-basic2 tst-basic3 tst-basic4 tst-basic5 tst-basic6 \
|
||||
tst-basic7 \
|
||||
tst-kill1 tst-kill2 tst-kill3 tst-kill4 tst-kill5 tst-kill6 \
|
||||
tst-raise1 \
|
||||
tst-join1 tst-join2 tst-join3 tst-join4 tst-join5 tst-join6 \
|
||||
|
@ -462,7 +462,12 @@ allocate_stack (const struct pthread_attr *attr, struct pthread **pdp,
|
||||
mem = ARCH_RETRY_MMAP (size);
|
||||
if (__builtin_expect (mem == MAP_FAILED, 0))
|
||||
#endif
|
||||
return errno;
|
||||
{
|
||||
if (errno == ENOMEM)
|
||||
errno = EAGAIN;
|
||||
|
||||
return errno;
|
||||
}
|
||||
}
|
||||
|
||||
/* SIZE is guaranteed to be greater than zero.
|
||||
|
56
nptl/tst-basic7.c
Normal file
56
nptl/tst-basic7.c
Normal file
@ -0,0 +1,56 @@
|
||||
#include <errno.h>
|
||||
#include <pthread.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
#include <sys/mman.h>
|
||||
#include <sys/resource.h>
|
||||
|
||||
static void
|
||||
use_up_memory (void)
|
||||
{
|
||||
struct rlimit rl;
|
||||
getrlimit (RLIMIT_AS, &rl);
|
||||
rl.rlim_cur = 10 * 1024 * 1024;
|
||||
setrlimit (RLIMIT_AS, &rl);
|
||||
|
||||
char *c;
|
||||
int PAGESIZE = getpagesize ();
|
||||
while (1)
|
||||
{
|
||||
c = mmap (NULL, PAGESIZE, PROT_NONE, MAP_ANON | MAP_PRIVATE, -1, 0);
|
||||
if (c == MAP_FAILED)
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static void *
|
||||
child (void *arg)
|
||||
{
|
||||
sleep (1);
|
||||
return arg;
|
||||
}
|
||||
|
||||
static int
|
||||
do_test (void)
|
||||
{
|
||||
int err;
|
||||
pthread_t tid;
|
||||
|
||||
use_up_memory ();
|
||||
|
||||
err = pthread_create (&tid, NULL, child, NULL);
|
||||
if (err != 0)
|
||||
{
|
||||
printf ("pthread_create returns %d: %s\n", err,
|
||||
err == EAGAIN ? "OK" : "FAIL");
|
||||
return err != EAGAIN;
|
||||
}
|
||||
|
||||
/* We did not fail to allocate memory despite the preparation. Oh well. */
|
||||
return 0;
|
||||
}
|
||||
|
||||
#define TEST_FUNCTION do_test ()
|
||||
#include "../test-skeleton.c"
|
@ -127,6 +127,7 @@ L(memset_entry):
|
||||
add $0x40,%rcx
|
||||
dec %rax
|
||||
jne 11b
|
||||
sfence
|
||||
jmp 4b
|
||||
|
||||
END (memset)
|
||||
|
Loading…
Reference in New Issue
Block a user