aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2002-08-16 00:08:47 +0000
committerRoland McGrath <roland@gnu.org>2002-08-16 00:08:47 +0000
commitc88b47593ad1ca29959ebb6dc76c738395ae8233 (patch)
tree0d6ebf3fab59b4ef0f835d1bfe96779125d7f479
parentfc77d66abf6ed97a50e30b619b1647759d43f593 (diff)
downloadglibc-c88b47593ad1ca29959ebb6dc76c738395ae8233.tar
glibc-c88b47593ad1ca29959ebb6dc76c738395ae8233.tar.gz
glibc-c88b47593ad1ca29959ebb6dc76c738395ae8233.tar.bz2
glibc-c88b47593ad1ca29959ebb6dc76c738395ae8233.zip
2002-08-16 Jakub Jelinek <jakub@redhat.com>
* locale/loadarchive.c (_nl_load_locale_from_archive): Braino fix in change before last: MAX -> MIN.
-rw-r--r--ChangeLog5
-rw-r--r--linuxthreads/ChangeLog5
-rw-r--r--linuxthreads/sysdeps/i386/tls.h16
-rw-r--r--locale/loadarchive.c2
4 files changed, 20 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog
index e54d2609b0..addf8f2a8a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2002-08-16 Jakub Jelinek <jakub@redhat.com>
+
+ * locale/loadarchive.c (_nl_load_locale_from_archive): Braino fix
+ in change before last: MAX -> MIN.
+
2002-08-15 Roland McGrath <roland@redhat.com>
* libio/fileops.c (_IO_file_seekoff_mmap): Leave read pointers at EOF
diff --git a/linuxthreads/ChangeLog b/linuxthreads/ChangeLog
index 67be250bd1..cd529e89f6 100644
--- a/linuxthreads/ChangeLog
+++ b/linuxthreads/ChangeLog
@@ -1,3 +1,8 @@
+2002-08-15 Roland McGrath <roland@redhat.com>
+
+ * sysdeps/i386/tls.h (TLS_INIT_TP): Use statement expression and
+ return a value as callers now expect.
+
2002-08-11 Roland McGrath <roland@redhat.com>
* pthread.c (__pthread_initialize_manager): Initialize
diff --git a/linuxthreads/sysdeps/i386/tls.h b/linuxthreads/sysdeps/i386/tls.h
index 03d36de486..3e7e4c3302 100644
--- a/linuxthreads/sysdeps/i386/tls.h
+++ b/linuxthreads/sysdeps/i386/tls.h
@@ -122,8 +122,8 @@ typedef struct
/* Code to initially initialize the thread pointer. This might need
special attention since 'errno' is not yet available and if the
operation can cause a failure 'errno' must not be touched. */
-# define TLS_INIT_TP(descr) \
- do { \
+# define TLS_INIT_TP(descr) \
+ ({ \
void *_descr = (descr); \
tcbhead_t *head = _descr; \
int __gs; \
@@ -133,11 +133,13 @@ typedef struct
head->self = _descr; \
\
__gs = TLS_SETUP_GS_SEGMENT (_descr); \
- if (__builtin_expect (__gs, 7) == -1) \
- /* Nothing else we can do. */ \
- asm ("hlt"); \
- asm ("movw %w0, %%gs" : : "q" (__gs)); \
- } while (0)
+ if (__builtin_expect (__gs, 7) != -1) \
+ { \
+ asm ("movw %w0, %%gs" : : "q" (__gs)); \
+ __gs = 0; \
+ } \
+ __gs; \
+ })
/* Return the address of the dtv for the current thread. */
diff --git a/locale/loadarchive.c b/locale/loadarchive.c
index d71ec88e8c..c795971894 100644
--- a/locale/loadarchive.c
+++ b/locale/loadarchive.c
@@ -206,7 +206,7 @@ _nl_load_locale_from_archive (int category, const char **namep)
just map the whole file and be sure everything is covered. */
mapsize = (sizeof (void *) > 4 ? archive_stat.st_size
- : MAX (archive_stat.st_size, ARCHIVE_MAPPING_WINDOW));
+ : MIN (archive_stat.st_size, ARCHIVE_MAPPING_WINDOW));
result = __mmap64 (NULL, mapsize, PROT_READ, MAP_SHARED, fd, 0);
if (result == MAP_FAILED)