1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-07-29 11:41:21 +03:00
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:
Ulrich Drepper
2000-03-31 04:10:36 +00:00
parent 99a7e0656c
commit fdf6455589
3 changed files with 16 additions and 12 deletions

View File

@ -297,7 +297,9 @@ FUNCTION_NAME (struct __gconv_step *step, struct __gconv_step_data *data,
unsigned char *outbuf = data->__outbuf;
unsigned char *outend = data->__outbufend;
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
#else
/* 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;
unaligned = ((FROM_DIRECTION
&& ((MIN_NEEDED_FROM > 1
&& MAX_NEEDED_FROM % MIN_NEEDED_FROM == 0
&& (uintptr_t) inptr % MIN_NEEDED_FROM != 0)
|| (MIN_NEEDED_TO > 1
&& MAX_NEEDED_TO % MIN_NEEDED_TO == 0
&& ((uintptr_t) inptr % MIN_NEEDED_FROM != 0
|| (data->__is_last
&& (uintptr_t) outbuf % MIN_NEEDED_TO != 0)))
|| (!FROM_DIRECTION
&& ((MIN_NEEDED_FROM > 1
&& MAX_NEEDED_FROM % MIN_NEEDED_FROM == 0
&& ((data->__is_last
&& (uintptr_t) outbuf % MIN_NEEDED_FROM != 0)
|| (MIN_NEEDED_TO > 1
&& MAX_NEEDED_TO % MIN_NEEDED_TO == 0
&& (uintptr_t) inptr % MIN_NEEDED_TO != 0))));
|| (uintptr_t) inptr % MIN_NEEDED_TO != 0)));
# define GEN_unaligned(name) GEN_unaligned2 (name)
# define GEN_unaligned2(name) name##_unaligned
#endif