Skip to content
This repository has been archived by the owner on Feb 5, 2022. It is now read-only.

Commit

Permalink
* sysdeps/x86_64/memset.S: Add sfence after movnti.
Browse files Browse the repository at this point in the history
  • Loading branch information
Ulrich Drepper committed Nov 8, 2007
1 parent f2a8406 commit f6ed654
Show file tree
Hide file tree
Showing 8 changed files with 84 additions and 7 deletions.
4 changes: 4 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -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]
Expand Down
3 changes: 3 additions & 0 deletions localedata/ChangeLog
Original file line number Diff line number Diff line change
@@ -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.

Expand Down
11 changes: 5 additions & 6 deletions localedata/locales/ug_CN
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ escape_char /
comment_char %
%
% Uyghur language locale for China
% Source:
% Source:
% Contact: Pablo Saratxaga
% Email: pablo@mandriva.com
% Language: ug
Expand Down Expand Up @@ -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)
Expand Down Expand Up @@ -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>"
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -330,4 +330,3 @@ LC_ADDRESS
% FIXME
copy "en_DK"
END LC_ADDRESS

8 changes: 8 additions & 0 deletions nptl/ChangeLog
Original file line number Diff line number Diff line change
@@ -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):
Expand Down
1 change: 1 addition & 0 deletions nptl/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -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 \
Expand Down
7 changes: 6 additions & 1 deletion nptl/allocatestack.c
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
56 changes: 56 additions & 0 deletions nptl/tst-basic7.c
Original file line number Diff line number Diff line change
@@ -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"
1 change: 1 addition & 0 deletions sysdeps/x86_64/memset.S
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,7 @@ L(memset_entry):
add $0x40,%rcx
dec %rax
jne 11b
sfence
jmp 4b

END (memset)
Expand Down

0 comments on commit f6ed654

Please sign in to comment.