mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-28 00:21:52 +03:00
Update.
2000-03-30 Ulrich Drepper <drepper@redhat.com> * iconv/skeleton.c: Avoid compiling unaligned versions in some with size of dynamic sectionmore cases. * iconv/loop.c: Likewise.
This commit is contained in:
@ -1,3 +1,9 @@
|
|||||||
|
2000-03-30 Ulrich Drepper <drepper@redhat.com>
|
||||||
|
|
||||||
|
* iconv/skeleton.c: Avoid compiling unaligned versions in some
|
||||||
|
with size of dynamic sectionmore cases.
|
||||||
|
* iconv/loop.c: Likewise.
|
||||||
|
|
||||||
2000-03-29 Bruno Haible <haible@clisp.cons.org>
|
2000-03-29 Bruno Haible <haible@clisp.cons.org>
|
||||||
|
|
||||||
* iconv/loop.c (put16): Remove __const. Fix access index.
|
* iconv/loop.c (put16): Remove __const. Fix access index.
|
||||||
|
@ -268,7 +268,9 @@ FCTNAME (LOOPFCT) (const unsigned char **inptrp, const unsigned char *inend,
|
|||||||
|
|
||||||
/* Include the file a second time to define the function to define the
|
/* Include the file a second time to define the function to define the
|
||||||
function to handle unaligned access. */
|
function to handle unaligned access. */
|
||||||
#if !defined _STRING_ARCH_unaligned && !defined DEFINE_UNALIGNED
|
#if !defined DEFINE_UNALIGNED && !defined _STRING_ARCH_unaligned \
|
||||||
|
&& MIN_NEEDED_FROM != 1 && MAX_NEEDED_FROM % MIN_NEEDED_FROM == 0 \
|
||||||
|
&& MIN_NEEDED_TO != 1 && MAX_NEEDED_TO % MIN_NEEDED_TO == 0
|
||||||
# define DEFINE_UNALIGNED
|
# define DEFINE_UNALIGNED
|
||||||
# include "loop.c"
|
# include "loop.c"
|
||||||
# undef DEFINE_UNALIGNED
|
# undef DEFINE_UNALIGNED
|
||||||
|
@ -297,7 +297,9 @@ FUNCTION_NAME (struct __gconv_step *step, struct __gconv_step_data *data,
|
|||||||
unsigned char *outbuf = data->__outbuf;
|
unsigned char *outbuf = data->__outbuf;
|
||||||
unsigned char *outend = data->__outbufend;
|
unsigned char *outend = data->__outbufend;
|
||||||
unsigned char *outstart;
|
unsigned char *outstart;
|
||||||
#ifdef _STRING_ARCH_unaligned
|
#if defined _STRING_ARCH_unaligned \
|
||||||
|
|| MIN_NEEDED_FROM == 1 || MAX_NEEDED_FROM % MIN_NEEDED_FROM != 0 \
|
||||||
|
|| MIN_NEEDED_TO == 1 || MAX_NEEDED_TO % MIN_NEEDED_TO != 0
|
||||||
# define unaligned 0
|
# define unaligned 0
|
||||||
#else
|
#else
|
||||||
/* The following assumes that encodings, which have a variable length
|
/* The following assumes that encodings, which have a variable length
|
||||||
@ -308,19 +310,13 @@ FUNCTION_NAME (struct __gconv_step *step, struct __gconv_step_data *data,
|
|||||||
int unaligned;
|
int unaligned;
|
||||||
|
|
||||||
unaligned = ((FROM_DIRECTION
|
unaligned = ((FROM_DIRECTION
|
||||||
&& ((MIN_NEEDED_FROM > 1
|
&& ((uintptr_t) inptr % MIN_NEEDED_FROM != 0
|
||||||
&& MAX_NEEDED_FROM % MIN_NEEDED_FROM == 0
|
|| (data->__is_last
|
||||||
&& (uintptr_t) inptr % MIN_NEEDED_FROM != 0)
|
|
||||||
|| (MIN_NEEDED_TO > 1
|
|
||||||
&& MAX_NEEDED_TO % MIN_NEEDED_TO == 0
|
|
||||||
&& (uintptr_t) outbuf % MIN_NEEDED_TO != 0)))
|
&& (uintptr_t) outbuf % MIN_NEEDED_TO != 0)))
|
||||||
|| (!FROM_DIRECTION
|
|| (!FROM_DIRECTION
|
||||||
&& ((MIN_NEEDED_FROM > 1
|
&& ((data->__is_last
|
||||||
&& MAX_NEEDED_FROM % MIN_NEEDED_FROM == 0
|
|
||||||
&& (uintptr_t) outbuf % MIN_NEEDED_FROM != 0)
|
&& (uintptr_t) outbuf % MIN_NEEDED_FROM != 0)
|
||||||
|| (MIN_NEEDED_TO > 1
|
|| (uintptr_t) inptr % MIN_NEEDED_TO != 0)));
|
||||||
&& MAX_NEEDED_TO % MIN_NEEDED_TO == 0
|
|
||||||
&& (uintptr_t) inptr % MIN_NEEDED_TO != 0))));
|
|
||||||
# define GEN_unaligned(name) GEN_unaligned2 (name)
|
# define GEN_unaligned(name) GEN_unaligned2 (name)
|
||||||
# define GEN_unaligned2(name) name##_unaligned
|
# define GEN_unaligned2(name) name##_unaligned
|
||||||
#endif
|
#endif
|
||||||
|
Reference in New Issue
Block a user