diff options
author | Ulrich Drepper <drepper@redhat.com> | 2003-11-22 07:29:27 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2003-11-22 07:29:27 +0000 |
commit | cb2eab1f8a11ad4e3e69b89a82a73435f0fa4983 (patch) | |
tree | b9a7e57ccdbd3baf85b2286fb51893b883e75b00 | |
parent | c5c9c929bf093f83292d75fe72268dafa73161df (diff) | |
download | glibc-cb2eab1f8a11ad4e3e69b89a82a73435f0fa4983.tar.gz glibc-cb2eab1f8a11ad4e3e69b89a82a73435f0fa4983.tar.xz glibc-cb2eab1f8a11ad4e3e69b89a82a73435f0fa4983.zip |
Update.
* locale/programs/charmap.c (charmap_read): If encoding is found not ASCII compatible, set enc_not_ascii_compatible. * locale/programs/charmap.h: Declare enc_not_ascii_compatible. * locale/programs/ld-ctype.c (ctype_startup): If enc_not_ascii_compatible is set, initialize to_nonascii to 1. 2003-11-22 Jakub Jelinek <jakub@redhat.com> * elf/rtld.c (process_envvars): Only honor LD_USE_LOAD_BIAS if !__libc_enable_secure. * sysdeps/generic/ldsodefs.h (_dl_use_load_bias): New _rtld_global field. * elf/rtld.c (_rtld_global): Initialize _dl_use_load_bias field. (dl_main): Set GL(dl_use_load_bias) default. (process_envvars): Set GL(dl_use_load_bias) from LD_USE_LOAD_BIAS. Add EXTRA_LD_ENVVARS_13. * elf/dl-support.c (_dl_use_load_bias): New variable. * elf/dl-load.c (_dl_map_object_from_fd): Mask c->mapstart with GL(dl_use_load_bias). * sysdeps/generic/unsecvars.h (UNSECURE_ENVVARS): Add LD_USE_LOAD_BIAS. * sysdeps/unix/sysv/linux/dl-librecon.h (EXTRA_LD_ENVVARS): Remove. (EXTRA_LD_ENVVARS_LINUX): Renamed to... (EXTRA_LD_ENVVARS_13): ... this. Remove case at the beginning. * sysdeps/unix/sysv/linux/i386/dl-librecon.h (EXTRA_LD_ENVVARS): Don't undefine first. Remove EXTRA_LD_ENVVARS_LINUX. 2003-11-21 Ulrich Drepper <drepper@redhat.com>
-rw-r--r-- | ChangeLog | 30 | ||||
-rw-r--r-- | locale/programs/charmap.c | 14 | ||||
-rw-r--r-- | locale/programs/charmap.h | 7 | ||||
-rw-r--r-- | locale/programs/ld-ctype.c | 3 |
4 files changed, 48 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog index 6fee041d5d..7a2bc976b0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,35 @@ 2003-11-21 Ulrich Drepper <drepper@redhat.com> + * locale/programs/charmap.c (charmap_read): If encoding is found + not ASCII compatible, set enc_not_ascii_compatible. + * locale/programs/charmap.h: Declare enc_not_ascii_compatible. + * locale/programs/ld-ctype.c (ctype_startup): If + enc_not_ascii_compatible is set, initialize to_nonascii to 1. + +2003-11-22 Jakub Jelinek <jakub@redhat.com> + + * elf/rtld.c (process_envvars): Only honor LD_USE_LOAD_BIAS + if !__libc_enable_secure. + + * sysdeps/generic/ldsodefs.h (_dl_use_load_bias): New _rtld_global + field. + * elf/rtld.c (_rtld_global): Initialize _dl_use_load_bias field. + (dl_main): Set GL(dl_use_load_bias) default. + (process_envvars): Set GL(dl_use_load_bias) from LD_USE_LOAD_BIAS. + Add EXTRA_LD_ENVVARS_13. + * elf/dl-support.c (_dl_use_load_bias): New variable. + * elf/dl-load.c (_dl_map_object_from_fd): Mask c->mapstart + with GL(dl_use_load_bias). + * sysdeps/generic/unsecvars.h (UNSECURE_ENVVARS): Add + LD_USE_LOAD_BIAS. + * sysdeps/unix/sysv/linux/dl-librecon.h (EXTRA_LD_ENVVARS): Remove. + (EXTRA_LD_ENVVARS_LINUX): Renamed to... + (EXTRA_LD_ENVVARS_13): ... this. Remove case at the beginning. + * sysdeps/unix/sysv/linux/i386/dl-librecon.h (EXTRA_LD_ENVVARS): + Don't undefine first. Remove EXTRA_LD_ENVVARS_LINUX. + +2003-11-21 Ulrich Drepper <drepper@redhat.com> + * posix/regcomp.c (duplicate_node): Remove unnecessary local variable. * posix/regcomp.c (re_dfa_add_tree_node): Make fourth parameter a diff --git a/locale/programs/charmap.c b/locale/programs/charmap.c index 8612d99688..8c9e4e9abb 100644 --- a/locale/programs/charmap.c +++ b/locale/programs/charmap.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1996,1998,1999,2000,2001,2002 Free Software Foundation, Inc. +/* Copyright (C) 1996, 1998-2002, 2003 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@gnu.org>, 1996. @@ -25,7 +25,6 @@ #include <errno.h> #include <libintl.h> #include <limits.h> -#include <obstack.h> #include <stdio.h> #include <stdlib.h> #include <string.h> @@ -35,7 +34,6 @@ #include "linereader.h" #include "charmap.h" #include "charmap-dir.h" -#include "repertoire.h" #include <assert.h> @@ -55,6 +53,9 @@ static void charmap_new_char (struct linereader *lr, struct charmap_t *cm, const char *to, int decimal_ellipsis, int step); +bool enc_not_ascii_compatible; + + #ifdef NEED_NULL_POINTER static const char *null_pointer; #endif @@ -252,9 +253,12 @@ default character map file `%s' not found"), DEFAULT_CHARMAP)); while (*p++ != '\0'); if (failed) - WITH_CUR_LOCALE (fprintf (stderr, _("\ + { + WITH_CUR_LOCALE (fprintf (stderr, _("\ character map `%s' is not ASCII compatible, locale not ISO C compliant\n"), - result->code_set_name)); + result->code_set_name)); + enc_not_ascii_compatible = true; + } } return result; diff --git a/locale/programs/charmap.h b/locale/programs/charmap.h index f4ca3abe6c..a4a6d3833b 100644 --- a/locale/programs/charmap.h +++ b/locale/programs/charmap.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1996, 1997, 1998, 1999, 2001 Free Software Foundation, Inc. +/* Copyright (C) 1996-1999, 2001, 2003 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@gnu.org>, 1996. @@ -21,6 +21,7 @@ #define _CHARMAP_H #include <obstack.h> +#include <stdbool.h> #include "repertoire.h" #include "simple-hash.h" @@ -64,6 +65,10 @@ struct charseq }; +/* True if the encoding is not ASCII compatible. */ +extern bool enc_not_ascii_compatible; + + /* Prototypes for charmap handling functions. */ extern struct charmap_t *charmap_read (const char *filename, int verbose, int be_quiet, int use_default); diff --git a/locale/programs/ld-ctype.c b/locale/programs/ld-ctype.c index 499868237b..ca2ca1eaca 100644 --- a/locale/programs/ld-ctype.c +++ b/locale/programs/ld-ctype.c @@ -340,6 +340,9 @@ ctype_startup (struct linereader *lr, struct localedef_t *locale, ctype->map256_collection[1][cnt] = cnt; } + if (enc_not_ascii_compatible) + ctype->to_nonascii = 1; + obstack_init (&ctype->mempool); } else |