mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-28 00:21:52 +03:00
Update.
1999-04-30 Andreas Schwab <schwab@issan.cs.uni-dortmund.de> * string/bits/string2.h (memset): Revert to previous version if unaligned writes are not available. 1999-04-30 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/i486/bits/string.h (__memset_gc): Help generating better code in presence of the asm. 1999-04-30 Andreas Schwab <schwab@issan.cs.uni-dortmund.de> * stdlib/fmtmsg.c (keywords): Increase array size for faster indexing. * locale/localeinfo.h (_nl_category_names): Increase array element size for faster indexing. * locale/setlocale.c (_nl_category_names): Adjusted. 1999-04-30 Andreas Schwab <schwab@issan.cs.uni-dortmund.de> * iconv/gconv_conf.c (add_alias): Remove wrong cast.
This commit is contained in:
23
ChangeLog
23
ChangeLog
@ -1,3 +1,26 @@
|
|||||||
|
1999-04-30 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
|
||||||
|
|
||||||
|
* string/bits/string2.h (memset): Revert to previous version if
|
||||||
|
unaligned writes are not available.
|
||||||
|
|
||||||
|
1999-04-30 Ulrich Drepper <drepper@cygnus.com>
|
||||||
|
|
||||||
|
* sysdeps/i386/i486/bits/string.h (__memset_gc): Help generating
|
||||||
|
better code in presence of the asm.
|
||||||
|
|
||||||
|
1999-04-30 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
|
||||||
|
|
||||||
|
* stdlib/fmtmsg.c (keywords): Increase array size for faster
|
||||||
|
indexing.
|
||||||
|
|
||||||
|
* locale/localeinfo.h (_nl_category_names): Increase array element
|
||||||
|
size for faster indexing.
|
||||||
|
* locale/setlocale.c (_nl_category_names): Adjusted.
|
||||||
|
|
||||||
|
1999-04-30 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
|
||||||
|
|
||||||
|
* iconv/gconv_conf.c (add_alias): Remove wrong cast.
|
||||||
|
|
||||||
1999-05-01 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
|
1999-05-01 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
|
||||||
|
|
||||||
* sysdeps/m68k/stackinfo.h: New file.
|
* sysdeps/m68k/stackinfo.h: New file.
|
||||||
|
@ -209,7 +209,7 @@ add_alias (char *rp, void *modules)
|
|||||||
|
|
||||||
inserted = (void **) __tsearch (new_alias, &__gconv_alias_db,
|
inserted = (void **) __tsearch (new_alias, &__gconv_alias_db,
|
||||||
__gconv_alias_compare);
|
__gconv_alias_compare);
|
||||||
if (inserted == NULL || *inserted != (void **) new_alias)
|
if (inserted == NULL || *inserted != new_alias)
|
||||||
/* Something went wrong, free this entry. */
|
/* Something went wrong, free this entry. */
|
||||||
free (new_alias);
|
free (new_alias);
|
||||||
}
|
}
|
||||||
|
@ -104,7 +104,7 @@ extern struct locale_data *_nl_current_##category;
|
|||||||
#include "categories.def"
|
#include "categories.def"
|
||||||
#undef DEFINE_CATEGORY
|
#undef DEFINE_CATEGORY
|
||||||
|
|
||||||
extern const char _nl_category_names[LC_ALL + 1][12];
|
extern const char _nl_category_names[LC_ALL + 1][16];
|
||||||
extern const size_t _nl_category_name_sizes[LC_ALL + 1];
|
extern const size_t _nl_category_name_sizes[LC_ALL + 1];
|
||||||
extern struct locale_data * *const _nl_current[LC_ALL + 1];
|
extern struct locale_data * *const _nl_current[LC_ALL + 1];
|
||||||
|
|
||||||
|
@ -66,10 +66,10 @@ struct locale_data *const _nl_C[] =
|
|||||||
/* Define an array of category names (also the environment variable names),
|
/* Define an array of category names (also the environment variable names),
|
||||||
indexed by integral category.
|
indexed by integral category.
|
||||||
|
|
||||||
We have entries of fixed width (12 for now) do avoid an array of
|
We have entries of fixed width (16 for now) do avoid an array of
|
||||||
pointers. Update the size of the outer array if new, longer locale
|
pointers. Update the size of the outer array if new, longer locale
|
||||||
names are introduced. */
|
names are introduced. */
|
||||||
const char _nl_category_names[][12] =
|
const char _nl_category_names[][16] =
|
||||||
{
|
{
|
||||||
#define DEFINE_CATEGORY(category, category_name, items, a, b, c, d) \
|
#define DEFINE_CATEGORY(category, category_name, items, a, b, c, d) \
|
||||||
[category] = category_name,
|
[category] = category_name,
|
||||||
|
@ -43,7 +43,7 @@ static const struct
|
|||||||
{
|
{
|
||||||
size_t len;
|
size_t len;
|
||||||
/* Adjust the size if new elements are added. */
|
/* Adjust the size if new elements are added. */
|
||||||
const char name[9];
|
const char name[12];
|
||||||
} keywords[] =
|
} keywords[] =
|
||||||
{
|
{
|
||||||
{ 5, "label" },
|
{ 5, "label" },
|
||||||
|
@ -93,6 +93,7 @@ __STRING2_COPY_TYPE (8);
|
|||||||
|
|
||||||
/* Set N bytes of S to C. */
|
/* Set N bytes of S to C. */
|
||||||
#ifndef _HAVE_STRING_ARCH_memset
|
#ifndef _HAVE_STRING_ARCH_memset
|
||||||
|
# if _STRING_ARCH_unaligned
|
||||||
# define memset(s, c, n) \
|
# define memset(s, c, n) \
|
||||||
(__extension__ (__builtin_constant_p (n) && (n) <= 16 \
|
(__extension__ (__builtin_constant_p (n) && (n) <= 16 \
|
||||||
? ((n) == 1 \
|
? ((n) == 1 \
|
||||||
@ -102,10 +103,10 @@ __STRING2_COPY_TYPE (8);
|
|||||||
? ({ void *__s = (s); __bzero (__s, n); __s; }) \
|
? ({ void *__s = (s); __bzero (__s, n); __s; }) \
|
||||||
: memset (s, c, n))))
|
: memset (s, c, n))))
|
||||||
|
|
||||||
#define __memset_1(s, c) ({ void *__s = (s); \
|
# define __memset_1(s, c) ({ void *__s = (s); \
|
||||||
*((__uint8_t *) __s) = (__uint8_t) c; __s; })
|
*((__uint8_t *) __s) = (__uint8_t) c; __s; })
|
||||||
|
|
||||||
#define __memset_gc(s, c, n) \
|
# define __memset_gc(s, c, n) \
|
||||||
({ void *__s = (s); \
|
({ void *__s = (s); \
|
||||||
__uint32_t *__ts = (__uint32_t *) __s; \
|
__uint32_t *__ts = (__uint32_t *) __s; \
|
||||||
__uint8_t __c = (__uint8_t) (c); \
|
__uint8_t __c = (__uint8_t) (c); \
|
||||||
@ -157,10 +158,17 @@ __STRING2_COPY_TYPE (8);
|
|||||||
} \
|
} \
|
||||||
\
|
\
|
||||||
__s; })
|
__s; })
|
||||||
|
# else
|
||||||
|
# define memset(s, c, n) \
|
||||||
|
(__extension__ (__builtin_constant_p (c) && (c) == '\0' \
|
||||||
|
? ({ void *__s = (s); __bzero (__s, n); __s; }) \
|
||||||
|
: memset (s, c, n)))
|
||||||
|
# endif
|
||||||
|
|
||||||
/* GCC optimizes memset(s, 0, n) but not bzero(s, n). */
|
/* GCC optimizes memset(s, 0, n) but not bzero(s, n). */
|
||||||
#if defined __GNUC__ && __GNUC__ >= 2
|
# if defined __GNUC__ && __GNUC__ >= 2
|
||||||
# define __bzero(s, n) __builtin_memset(s, '\0', n)
|
# define __bzero(s, n) __builtin_memset(s, '\0', n)
|
||||||
#endif
|
# endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user