+2003-01-03 Andreas Jaeger <aj@suse.de>, Jakub Jelinek <jakub@redhat.com>
+
+ * resolv/res_libc.c: Provide declaration for __res_init_weak and
+ reorder declarations.
+
+2003-01-03 Art Haas <ahaas@airmail.net>
+
+ * localedata/tests-mbwc/dat_iswalnum.c: Convert GCC extension
+ initiailzer syntax to C99.
+ * localedata/tests-mbwc/dat_iswalpha.c: Likewise.
+ * localedata/tests-mbwc/dat_iswcntrl.c: Likewise.
+ * localedata/tests-mbwc/dat_iswctype.c: Likewise.
+ * localedata/tests-mbwc/dat_iswdigit.c: Likewise.
+ * localedata/tests-mbwc/dat_iswgraph.c: Likewise.
+ * localedata/tests-mbwc/dat_iswlower.c: Likewise.
+ * localedata/tests-mbwc/dat_iswprint.c: Likewise.
+ * localedata/tests-mbwc/dat_iswpunct.c: Likewise.
+ * localedata/tests-mbwc/dat_iswspace.c: Likewise.
+ * localedata/tests-mbwc/dat_iswupper.c: Likewise.
+ * localedata/tests-mbwc/dat_iswxdigit.c: Likewise.
+ * localedata/tests-mbwc/dat_mblen.c: Likewise.
+ * localedata/tests-mbwc/dat_mbrlen.c: Likewise.
+ * localedata/tests-mbwc/dat_mbrtowc.c: Likewise.
+ * localedata/tests-mbwc/dat_mbsrtowcs.c: Likewise.
+ * localedata/tests-mbwc/dat_mbstowcs.c: Likewise.
+ * localedata/tests-mbwc/dat_mbtowc.c: Likewise.
+ * localedata/tests-mbwc/dat_strcoll.c: Likewise.
+ * localedata/tests-mbwc/dat_strfmon.c: Likewise.
+ * localedata/tests-mbwc/dat_strxfrm.c: Likewise.
+ * localedata/tests-mbwc/dat_swscanf.c: Likewise.
+ * localedata/tests-mbwc/dat_towctrans.c: Likewise.
+ * localedata/tests-mbwc/dat_towlower.c: Likewise.
+ * localedata/tests-mbwc/dat_towupper.c: Likewise.
+ * localedata/tests-mbwc/dat_wcrtomb.c: Likewise.
+ * localedata/tests-mbwc/dat_wcscat.c: Likewise.
+ * localedata/tests-mbwc/dat_wcschr.c: Likewise.
+ * localedata/tests-mbwc/dat_wcscmp.c: Likewise.
+ * localedata/tests-mbwc/dat_wcscoll.c: Likewise.
+ * localedata/tests-mbwc/dat_wcscpy.c: Likewise.
+ * localedata/tests-mbwc/dat_wcscspn.c: Likewise.
+ * localedata/tests-mbwc/dat_wcslen.c: Likewise.
+ * localedata/tests-mbwc/dat_wcsncat.c: Likewise.
+ * localedata/tests-mbwc/dat_wcsncmp.c: Likewise.
+ * localedata/tests-mbwc/dat_wcsncpy.c: Likewise.
+ * localedata/tests-mbwc/dat_wcspbrk.c: Likewise.
+ * localedata/tests-mbwc/dat_wcsrtombs.c: Likewise.
+ * localedata/tests-mbwc/dat_wcsspn.c: Likewise.
+ * localedata/tests-mbwc/dat_wcsstr.c: Likewise.
+ * localedata/tests-mbwc/dat_wcstod.c: Likewise.
+ * localedata/tests-mbwc/dat_wcstok.c: Likewise.
+ * localedata/tests-mbwc/dat_wcstombs.c: Likewise.
+ * localedata/tests-mbwc/dat_wcswidth.c: Likewise.
+ * localedata/tests-mbwc/dat_wcsxfrm.c: Likewise.
+ * localedata/tests-mbwc/dat_wctob.c: Likewise.
+ * localedata/tests-mbwc/dat_wctomb.c: Likewise.
+ * localedata/tests-mbwc/dat_wctrans.c: Likewise.
+ * localedata/tests-mbwc/dat_wctype.c: Likewise.
+ * localedata/tests-mbwc/dat_wcwidth.c: Likewise.
+
+2003-01-03 Richard Henderson <rth@redhat.com>
+
+ * sysdeps/unix/sysv/linux/alpha/sysdep.h (inline_syscall_r0_asm): New.
+ (inline_syscall_r0_constraint): New.
+ (inline_syscall[0-6]): Use them.
+
2003-01-03 Jakub Jelinek <jakub@redhat.com>
* sysdeps/generic/ldsodefs.h (_dl_allocate_tls, _dl_deallocate_tls):
+2003-01-03 Andreas Jaeger <aj@suse.de>
+
+ * sysdeps/pthread/bits/libc-tsd.h: Declare weak_extern functions.
+
2003-01-03 Jakub Jelinek <jakub@redhat.com>
* Makefile ($(objpfx)libpthread.so): Depend on ld.so.
/* libc-internal interface for thread-specific data. LinuxThreads version.
- Copyright (C) 1997,98,99,2001,02 Free Software Foundation, Inc.
+ Copyright (C) 1997-2002, 2003 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
# include <bits/libc-lock.h>
# ifndef SHARED
+extern void ** __pthread_internal_tsd_address (int);
+extern void *__pthread_internal_tsd_get (int);
+extern int __pthread_internal_tsd_set (int, const void *);
+
weak_extern (__pthread_internal_tsd_address)
weak_extern (__pthread_internal_tsd_get)
weak_extern (__pthread_internal_tsd_set)
{ { 0x00F7 }, { 0,1,0 } }, /* division */
{ { 0x00F8 }, { 0,0,0 } }, /* o stroke */
{ { 0x00FF }, { 0,0,0 } }, /* y dia */
- { is_last: 1 } /* last element */
+ { .is_last = 1 } /* last element */
}
},
{ TST_ISW_REC (de_UTF8, alnum)
{ { 0x00F7 }, { 0,1,0 } }, /* division */
{ { 0x00F8 }, { 0,0,0 } }, /* o stroke */
{ { 0x00FF }, { 0,0,0 } }, /* y dia */
- { is_last: 1 } /* last element */
+ { .is_last = 1 } /* last element */
}
},
{ TST_ISW_REC (enUS, alnum)
{ { 0x007E }, { 0,1,0 } },
{ { 0x007F }, { 0,1,0 } },
{ { 0x0080 }, { 0,1,0 } },
- { is_last: 1 } /* last element */
+ { .is_last = 1 } /* last element */
}
},
{ TST_ISW_REC (eucJP, alnum)
{ { 0xFF71 }, { 0,0,0 } }, /* HALF KATA A */
{ { 0xFF9E }, { 0,0,0 } }, /* HALF KATA MI */
#endif
- { is_last: 1 } /* last element */
+ { .is_last = 1 } /* last element */
}
},
{ TST_ISW_REC (end, alnum) }
{ { 0x00F7 }, { 0,1,0 } }, /* division */
{ { 0x00F8 }, { 0,0,0 } }, /* o stroke */
{ { 0x00FF }, { 0,0,0 } }, /* y dia */
- { is_last: 1 } /* last element */
+ { .is_last = 1 } /* last element */
}
},
{ TST_ISW_REC (enUS, alpha)
{ { 0x007E }, { 0,1,0 } },
{ { 0x007F }, { 0,1,0 } },
{ { 0x0080 }, { 0,1,0 } }, /* 20 */
- { is_last: 1 } /* last element */
+ { .is_last = 1 } /* last element */
}
},
{ TST_ISW_REC (eucJP, alpha)
{ { 0xFF71 }, { 0,0,0 } }, /* HALF KATA A */
{ { 0xFF9E }, { 0,0,0 } }, /* HALF KATA MI */
#endif
- { is_last: 1 } /* last element */
+ { .is_last = 1 } /* last element */
}
},
{ TST_ISW_REC (end, alpha) }
{ { 0x00F7 }, { 0,1,0 } }, /* division */
{ { 0x00F8 }, { 0,1,0 } }, /* o stroke */
{ { 0x00FF }, { 0,1,0 } }, /* y dia */
- { is_last: 1 } /* Last element. */
+ { .is_last = 1 } /* Last element. */
}
},
{ TST_ISW_REC (enUS, cntrl)
{ { 0x007E }, { 0,1,0 } },
{ { 0x007F }, { 0,0,0 } },
{ { 0x0080 }, { 0,0,0 } },
- { is_last: 1 } /* Last element. */
+ { .is_last = 1 } /* Last element. */
}
},
{ TST_ISW_REC (eucJP, cntrl)
{ { 0xFF70 }, { 0,1,0 } }, /* HALF KATA PL - */
{ { 0xFF71 }, { 0,1,0 } }, /* HALF KATA A */
{ { 0xFF9E }, { 0,1,0 } }, /* HALF KATA MI */
- { is_last: 1 } /* Last element. */
+ { .is_last = 1 } /* Last element. */
}
},
{ TST_ISW_REC(end, cntrl) }
{ { 0x00FF, "upper" }, { 0,1,0 } }, /* y dia */
{ { 0x00B9, "xdigit" }, { 0,1,0 } }, /* SUP 1 */
{ { 0x00BC, "xdigit" }, { 0,1,0 } }, /* 1/4 */
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{
{ { 0x007F, "xdigit" }, { 0,1,0 } },
{ { 0x0080, "xdigit" }, { 0,1,0 } },
{ { 0x0061, "xxxxxx" }, { 0,1,0 } },
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{
{ { 0x4E06, "jkanji" }, { 0,1,0 } }, /* CJK UNI.IDEO.NON-J */
#endif
{ { 0x4E07, "jkanji" }, { 0,0,0 } }, /* CJK UNI.IDEO. */
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{
{ { 0x00F7 }, { 0,1,0 } }, /* division */
{ { 0x00F8 }, { 0,1,0 } }, /* o stroke */
{ { 0x00FF }, { 0,1,0 } }, /* y dia */
- { is_last: 1 } /* Last element. */
+ { .is_last = 1 } /* Last element. */
}
},
{ TST_ISW_REC (enUS, digit)
{ { 0x007E }, { 0,1,0 } },
{ { 0x007F }, { 0,1,0 } },
{ { 0x0080 }, { 0,1,0 } },
- { is_last: 1 } /* Last element. */
+ { .is_last = 1 } /* Last element. */
}
},
{ TST_ISW_REC (eucJP, digit)
{ { 0xFF70 }, { 0,1,0 } }, /* HALF KATA PL - */
{ { 0xFF71 }, { 0,1,0 } }, /* HALF KATA A */
{ { 0xFF9E }, { 0,1,0 } }, /* HALF KATA MI */
- { is_last: 1 } /* Last element. */
+ { .is_last = 1 } /* Last element. */
}
},
{ TST_ISW_REC (end, digit) }
{ { 0x00F7 }, { 0,0,0 } }, /* division */
{ { 0x00F8 }, { 0,0,0 } }, /* o stroke */
{ { 0x00FF }, { 0,0,0 } }, /* y dia */
- { is_last: 1 } /* Last element. */
+ { .is_last = 1 } /* Last element. */
}
},
{ TST_ISW_REC (enUS, graph)
{ { 0x007E }, { 0,0,0 } },
{ { 0x007F }, { 0,1,0 } },
{ { 0x0080 }, { 0,1,0 } }, /* 20 */
- { is_last: 1 } /* Last element. */
+ { .is_last = 1 } /* Last element. */
}
},
{ TST_ISW_REC( eucJP, graph )
{ { 0xFF70 }, { 0,0,0 } }, /* HALF KATA PL - */
{ { 0xFF71 }, { 0,0,0 } }, /* HALF KATA A */
{ { 0xFF9E }, { 0,0,0 } }, /* HALF KATA MI */
- { is_last: 1 } /* Last element. */
+ { .is_last = 1 } /* Last element. */
}
},
{ TST_ISW_REC (end, graph) }
{ { 0x00F7 }, { 0,1,0 } }, /* division */
{ { 0x00F8 }, { 0,0,0 } }, /* o stroke */
{ { 0x00FF }, { 0,0,0 } }, /* y dia */
- { is_last: 1 } /* Last element. */
+ { .is_last = 1 } /* Last element. */
}
},
{ TST_ISW_REC (enUS, lower)
{ { 0x007E }, { 0,1,0 } },
{ { 0x007F }, { 0,1,0 } },
{ { 0x0080 }, { 0,1,0 } },
- { is_last: 1 } /* Last element. */
+ { .is_last = 1 } /* Last element. */
}
},
{ TST_ISW_REC (eucJP, lower)
{ { 0xFF6F }, { 0,1,0 } }, /* HALF KATA tu */
{ { 0xFF71 }, { 0,1,0 } }, /* HALF KATA A */
{ { 0xFF9E }, { 0,1,0 } }, /* HALF KATA MI */
- { is_last: 1 } /* Last element. */
+ { .is_last = 1 } /* Last element. */
}
},
{ TST_ISW_REC (end, lower) }
{ { 0x00F7 }, { 0,0,0 } }, /* division */
{ { 0x00F8 }, { 0,0,0 } }, /* o stroke */
{ { 0x00FF }, { 0,0,0 } }, /* y dia */
- { is_last: 1 } /* Last element. */
+ { .is_last = 1 } /* Last element. */
}
},
{ TST_ISW_REC (enUS, print)
#ifdef NO_WAIVER
{ { 0x3042 }, { 0,1,0 } }, /* <WAIVER> */
#endif
- { is_last: 1 } /* Last element. */
+ { .is_last = 1 } /* Last element. */
}
},
{ TST_ISW_REC (eucJP, print)
{ { 0xFF70 }, { 0,0,0 } }, /* HALF KATA PL - */
{ { 0xFF71 }, { 0,0,0 } }, /* HALF KATA A */
{ { 0xFF9E }, { 0,0,0 } }, /* HALF KATA MI */
- { is_last: 1 } /* Last element. */
+ { .is_last = 1 } /* Last element. */
}
},
{ TST_ISW_REC (end, print) }
{ { 0x00F7 }, { 0,0,0 } }, /* division */
{ { 0x00F8 }, { 0,1,0 } }, /* o stroke */
{ { 0x00FF }, { 0,1,0 } }, /* y dia */
- { is_last: 1 } /* Last element. */
+ { .is_last = 1 } /* Last element. */
}
},
{ TST_ISW_REC (enUS, punct)
{ { 0x007E }, { 0,0,0 } },
{ { 0x007F }, { 0,1,0 } },
{ { 0x0080 }, { 0,1,0 } }, /* 20 */
- { is_last: 1 } /* Last element. */
+ { .is_last = 1 } /* Last element. */
}
},
{ TST_ISW_REC (eucJP, punct)
{ { 0xFF70 }, { 0,1,0 } }, /* HALF KATA PL - */
{ { 0xFF71 }, { 0,1,0 } }, /* HALF KATA A */
{ { 0xFF9E }, { 0,1,0 } }, /* HALF KATA MI */
- { is_last: 1 } /* Last element. */
+ { .is_last = 1 } /* Last element. */
}
},
{ TST_ISW_REC (end, punct) }
{ { 0x00F7 }, { 0,1,0 } }, /* division */
{ { 0x00F8 }, { 0,1,0 } }, /* o stroke */
{ { 0x00FF }, { 0,1,0 } }, /* y dia */
- { is_last: 1 } /* Last element. */
+ { .is_last = 1 } /* Last element. */
}
},
{ TST_ISW_REC (enUS, space)
{ { 0x007E }, { 0,1,0 } },
{ { 0x007F }, { 0,1,0 } },
{ { 0x0080 }, { 0,1,0 } },
- { is_last: 1 } /* Last element. */
+ { .is_last = 1 } /* Last element. */
}
},
{ TST_ISW_REC (eucJP, space)
{ { 0xFF70 }, { 0,1,0 } }, /* HALF KATA PL - */
{ { 0xFF71 }, { 0,1,0 } }, /* HALF KATA A */
{ { 0xFF9E }, { 0,1,0 } }, /* HALF KATA MI */
- { is_last: 1 } /* Last element. */
+ { .is_last = 1 } /* Last element. */
}
},
{ TST_ISW_REC (end, space) }
{ { 0x00F7 }, { 0,1,0 } }, /* division */
{ { 0x00F8 }, { 0,1,0 } }, /* o stroke */
{ { 0x00FF }, { 0,1,0 } }, /* y dia */
- { is_last: 1 } /* Last entry. */
+ { .is_last = 1 } /* Last entry. */
}
},
{ TST_ISW_REC (enUS, upper)
{ { 0x007E }, { 0,1,0 } },
{ { 0x007F }, { 0,1,0 } },
{ { 0x0080 }, { 0,1,0 } },
- { is_last: 1 } /* Last entry. */
+ { .is_last = 1 } /* Last entry. */
}
},
{ TST_ISW_REC (eucJP, upper)
{ { 0xFF6F }, { 0,1,0 } }, /* HALF KATA tu */
{ { 0xFF71 }, { 0,1,0 } }, /* HALF KATA A */
{ { 0xFF9E }, { 0,1,0 } }, /* HALF KATA MI */
- { is_last: 1 } /* Last entry. */
+ { .is_last = 1 } /* Last entry. */
}
},
{ TST_ISW_REC (end, upper) }
{ { 0x00F7 }, { 0,1,0 } }, /* division */
{ { 0x00F8 }, { 0,1,0 } }, /* o stroke */
{ { 0x00FF }, { 0,1,0 } }, /* y dia */
- { is_last: 1 } /* Last element. */
+ { .is_last = 1 } /* Last element. */
}
},
{ TST_ISW_REC( enUS, xdigit )
{ { 0x007E }, { 0,1,0 } },
{ { 0x007F }, { 0,1,0 } },
{ { 0x0080 }, { 0,1,0 } },
- { is_last: 1 } /* Last element. */
+ { .is_last = 1 } /* Last element. */
}
},
{ TST_ISW_REC( eucJP, xdigit )
{ { 0xFF70 }, { 0,1,0 } }, /* HALF KATA PL - */
{ { 0xFF71 }, { 0,1,0 } }, /* HALF KATA A */
{ { 0xFF9E }, { 0,1,0 } }, /* HALF KATA MI */
- { is_last: 1 } /* Last element. */
+ { .is_last = 1 } /* Last element. */
}
},
{ TST_ISW_REC (end, xdigit) }
/* 06: a null pointer. */
{ { 0, "", USE_MBCURMAX }, { 0, 0, 0 } },
/* Last element. */
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{
/* 06: a null pointer. */
{ { 0, "", USE_MBCURMAX }, { 0, 0, 0 } },
/* Last element. */
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{
/* 06: a null pointer. */
{ { 0, "", USE_MBCURMAX }, { 0, 0, 0 } },
/* Last element. */
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{
}
}
},
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{
}
}
},
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{
}
}
},
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{
}
}
},
- { is_last: 1 }
+ { .is_last = 1 }
}
},
#if 0
}
}
},
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{
}
}
},
- { is_last: 1 }
+ { .is_last = 1 }
}
},
#endif
}
},
{ /*----------------- END -----------------*/
- is_last: 1
+ .is_last = 1
}
}
},
}
},
{ /*----------------- END -----------------*/
- is_last: 1
+ .is_last = 1
}
}
},
}
},
{ /*----------------- END -----------------*/
- is_last: 1
+ .is_last = 1
}
}
},
}
}
},
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{
}
}
},
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{
}
}
},
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{
}
}
},
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{
}
}
},
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{
}
}
},
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{
{ /*input.*/ { "B", "ä" }, /* #9 */
/*expect*/ { 0,0,+1, },
},
- { is_last: 1 } /* Last element. */
+ { .is_last = 1 } /* Last element. */
}
},
{
/*expect*/ { EINVAL,0,0, },
},
#endif
- { is_last: 1 } /* Last element. */
+ { .is_last = 1 } /* Last element. */
}
},
{
/*expect*/ { EINVAL,0,0, },
},
#endif
- { is_last: 1 } /* Last element. */
+ { .is_last = 1 } /* Last element. */
}
},
{
/*inp*/ { 33, "%(#5n|%!(#5i", -1234.561 },
/*exp*/ { 0,1,27, "( 1.234,56 EUR)|( 1.234,56)"},
},
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{
/*inp*/ { 32, "%(#5n|%!(#5i", -1234.561 },
/*exp*/ { 0,1,24, "($ 1,234.56)|( 1,234.56)" },
},
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{
/*inp*/ { 32, "%(#5n|%!(#5i", -1234.561 },
/*exp*/ { 0,1,19, "(\241\357 1,235)|( 1,235)" },
},
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{
/*inp*/ { "abc", "\244\241\244\242", 13, 9 }, /* #07 */
/*exp*/ { 0,0,0, },
},
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{
/*exp*/ { EINVAL,0,0, },
},
#endif
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{
/*exp*/ { EINVAL,0,0, },
},
#endif
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{
},
},
/*---------------------------------------------------*/
- { is_last: 1} /* Last element. */
+ { .is_last = 1} /* Last element. */
}
},
{
},
},
/*---------------------------------------------------*/
- { is_last: 1} /* Last element. */
+ { .is_last = 1} /* Last element. */
}
},
{
},
#endif
/*---------------------------------------------------*/
- { is_last: 1} /* Last element. */
+ { .is_last = 1} /* Last element. */
}
},
{
{ { 0x007F, "tolower" }, { 0, 1,0x007F } },
{ { 0x0061, "toupper" }, { 0, 1,0x0041 } },
{ { 0x0041, "tolower" }, { 0, 1,0x0061 } },
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{
{ { 0x0080, "tolower" }, { 0, 1,0x0080 } },
{ { 0x00EC, "toupper" }, { 0, 1,0x00CC } },
{ { 0x00CC, "tolower" }, { 0, 1,0x00EC } },
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{
{ { 0x007F, "tolower" }, { 0, 1,0x007F } },
{ { 0x0061, "toupper" }, { 0, 1,0x0041 } },
{ { 0x0041, "tolower" }, { 0, 1,0x0061 } },
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{
{ { 0xFF41, "toupper" }, { 0, 1,0xFF21 } },
{ { 0x30A1, "tojhira" }, { 0, 1,0x3041 } },
{ { 0x3041, "tojkata" }, { 0, 1,0x30A1 } },
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{
{ { 0x0080 }, { 0, 1, 0x0080 } },
{ { 0x00CC }, { 0, 1, 0x00EC } },
{ { 0x00EC }, { 0, 1, 0x00EC } },
- { is_last: 1 } /* Last element. */
+ { .is_last = 1 } /* Last element. */
}
},
{ TST_TOW_REC (enUS, lower)
{ { 0x007F }, { 0, 1, 0x007F } },
{ { 0x0041 }, { 0, 1, 0x0061 } },
{ { 0x0061 }, { 0, 1, 0x0061 } },
- { is_last: 1 } /* Last element. */
+ { .is_last = 1 } /* Last element. */
}
},
{ TST_TOW_REC (eucJP, lower)
{ { 0x0080 }, { 0, 1, 0x0080 } },
{ { 0xFF21 }, { 0, 1, 0xFF41 } },
{ { 0xFF41 }, { 0, 1, 0xFF41 } },
- { is_last: 1 } /* Last element. */
+ { .is_last = 1 } /* Last element. */
}
},
{ TST_TOW_REC (end, lower) }
{ { 0x0080 }, { 0, 1, 0x0080 } },
{ { 0x00EC }, { 0, 1, 0x00CC } },
{ { 0x00CC }, { 0, 1, 0x00CC } },
- { is_last: 1 } /* Last element. */
+ { .is_last = 1 } /* Last element. */
}
},
{ TST_TOW_REC (enUS, upper)
{ { 0x0080 }, { 0, 1, 0x0080 } },
{ { 0x0041 }, { 0, 1, 0x0041 } },
{ { 0x0061 }, { 0, 1, 0x0041 } },
- { is_last: 1 } /* Last element. */
+ { .is_last = 1 } /* Last element. */
}
},
{ TST_TOW_REC (eucJP, upper)
{ { 0x007F }, { 0, 1, 0x007F } },
{ { 0xFF41 }, { 0, 1, 0xFF21 } },
{ { 0xFF21 }, { 0, 1, 0xFF21 } },
- { is_last: 1 } /* Last element. */
+ { .is_last = 1 } /* Last element. */
}
},
{ TST_TOW_REC (end, upper) }
{ /*input.*/ { 0, 0x0092, 0,0 },
/*expect*/ { 0, 1,1, "" },
},
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{
{ /*input.*/ { 0, 0x0092, 0,0 },
/*expect*/ { 0, 1,1, "" },
},
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{
{ /*input.*/ { 0, 0x008E, 0,0 },
/*expect*/ { 0, 0,0, "" },
},
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{
{ 0, 0, 0,
{ 0x0001,0xFFFF,0x0080,0x0090,0x0000 } },
},
- {is_last: 1}
+ {.is_last = 1}
}
},
{
{ 0, 0, 0,
{ 0x0001,0xFFFF,0x0080,0x0090,0x0000 } },
},
- {is_last: 1}
+ {.is_last = 1}
}
},
{
{ 0, 0, 0,
{ 0x0001,0xFFFF,0x0080,0x0090,0x0000 } },
},
- {is_last: 1}
+ {.is_last = 1}
}
},
{
{ /*input.*/ { { 0x0000,0x00C2,0x00C3,0x0000 }, 0x0000 }, /* #7 */
/*expect*/ { 0,0,0 },
},
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{ { Twcschr, TST_LOC_enUS },
{ /*input.*/ { { 0x0000,0x0042,0x0043,0x0000 }, 0x0000 }, /* #7 */
/*expect*/ { 0,0,0 },
},
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{ { Twcschr, TST_LOC_eucJP },
{ /*input.*/ { { 0x0000,0x3042,0x3043,0x0000 }, 0x0000 }, /* #7 */
/*expect*/ { 0,0,0 },
},
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{ { Twcschr, TST_LOC_end } }
{ 0x00D1,0x00D2,0x0000 }, }, /* #8 */
/*expect*/ { 0,1,1, },
},
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{
{ 0x0041,0x0042,0x0000 }, }, /* #8 */
/*expect*/ { 0,1,1, },
},
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{
{ 0x3041,0x3042,0x0000 }, }, /* #8 */
/*expect*/ { 0,1,1, },
},
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{
{ 0x00E1,0x0092,0x00E9,0x0000 }, }, /* #10 */
/*expect*/ { 0,0,0, -1, },
},
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{ { Twcscoll, TST_LOC_enUS },
/*expect*/ { 0,0,0, 0, },
},
#endif
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{ { Twcscoll, TST_LOC_eucJP },
{ 0x30FF,0x3092,0x3049,0x0000 }, }, /* #10 */
/*expect*/ { 0,0,0, +1, },
},
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{ { Twcscoll, TST_LOC_end } }
{ 0,0,0, { 0x00F1,0x00F2,0x00F3,0x0000, } }, },
{ { { 0x0000,0x00F2,0x00F3,0x0000 }, }, /* 2 */
{ 0,0,0, { 0x0000, } }, },
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{ { Twcscpy, TST_LOC_enUS },
{ 0,0,0, { 0x0041,0x0082,0x0043,0x0000, } }, },
{ { { 0x0000,0x0082,0x0043,0x0000 }, }, /* 2 */
{ 0,0,0, { 0x0000, } }, },
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{ { Twcscpy, TST_LOC_eucJP },
{ 0,0,0, { 0x3041,0x0092,0x3043,0x0000, } }, },
{ { { 0x0000,0x0092,0x3043,0x0000 }, }, /* 2 */
{ 0,0,0, { 0x0000, } }, },
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{ { Twcscpy, TST_LOC_end }}
{ 0x00D1,0x00D3,0x00D4,0x0000 }, }, /* #11 */
/*expect*/ { 0,1,0, },
},
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{ { Twcscspn, TST_LOC_enUS },
{ 0x0041,0x0043,0x0044,0x0000 }, }, /* #11 */
/*expect*/ { 0,1,0, },
},
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{ { Twcscspn, TST_LOC_eucJP },
{ 0x3041,0x3043,0x3044,0x0000 }, }, /* #11 */
/*expect*/ { 0,1,0, },
},
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{ { Twcscspn, TST_LOC_end }}
{ /*input.*/ { { 0x0000 } }, /* #02 */
/*expect*/ { 0,1,0, },
},
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{ { Twcslen, TST_LOC_enUS },
{ /*input.*/ { { 0x0000 } }, /* #02 */
/*expect*/ { 0,1,0, },
},
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{ { Twcslen, TST_LOC_eucJP },
{ /*input.*/ { { 0x0000 } }, /* #02 */
/*expect*/ { 0,1,0, },
},
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{ { Twcslen, TST_LOC_end }}
{ 0, 0, 0,
{ 0x00E1,0x00E2,0x0000 } },
},
- {is_last: 1}
+ {.is_last = 1}
}
},
{
{ 0, 0, 0,
{ 0x0051,0x0052,0x0000 } },
},
- {is_last: 1}
+ {.is_last = 1}
}
},
{
{ 0, 0, 0,
{ 0x3051,0x3052,0x0000 } },
},
- {is_last: 1}
+ {.is_last = 1}
}
},
{
{ 0x00D1,0x00D2,0x0000 }, 4 }, /* #09 */
/*expect*/ { 0,1,0x00D3, },
},
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{
{ 0x0041,0x0042,0x0000 }, 4 }, /* #09 */
/*expect*/ { 0,1,0x0043, },
},
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{
{ 0x3041,0x3042,0x0000 }, 4 }, /* #09 */
/*expect*/ { 0,1,0x3043, },
},
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{
{{ { 0x0000,0x00D2,0x00D3,0x0000 }, 3 },
{ 0,0,0, { 0x0000,0x0000,0x0000,0x9999,0x9999,0x9999,0x0000 } },
},
- {is_last: 1}
+ {.is_last = 1}
}
},
{
{{ { 0x0000,0x0042,0x0043,0x0000 }, 3 },
{ 0,0,0, { 0x0000,0x0000,0x0000,0x9999,0x9999,0x9999,0x0000 } },
},
- {is_last: 1}
+ {.is_last = 1}
}
},
{
{{ { 0x0000,0x3042,0x3043,0x0000 }, 3 },
{ 0,0,0, { 0x0000,0x0000,0x0000,0x9999,0x9999,0x9999,0x0000 } },
},
- {is_last: 1}
+ {.is_last = 1}
}
},
{
{ 0x0000 }, }, /* #11 */
/*expect*/ { 0,1,(wchar_t *)NULL, 0x0000 },
},
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{
{ 0x0000 }, }, /* #11 */
/*expect*/ { 0,1,(wchar_t *)NULL, 0x0000 },
},
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{
{ 0x0000 }, }, /* #11 */
/*expect*/ { 0,1,(wchar_t *)NULL, 0x0000 },
},
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{
{ /*input.*/ { 0,1, { 0x0000 }, 5, 0, 0 },
/*expect*/ { 0,1,0, "" },
},
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{
{ /*input.*/ { 0,1, { 0x0000 }, 5, 0, 0 },
/*expect*/ { 0,1,0, "" },
},
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{
{ /*input.*/ { 0,1, { 0x0000 }, 5, 0, 0 },
/*expect*/ { 0,1,0, "" },
},
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{
{ 0x00D2,0x00D1,0x0000 }, }, /* #12 */
/*expect*/ { 0,1,2, },
},
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{
{ 0x0042,0x0041,0x0000 }, }, /* #12 */
/*expect*/ { 0,1,2, },
},
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{
{ 0x3042,0x3041,0x0000 }, }, /* #12 */
/*expect*/ { 0,1,2, },
},
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{
{ 0x0000 }, }, /* #11 */
/*expect*/ { 0,0,0, },
},
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{
{ 0x0000 }, }, /* #11 */
/*expect*/ { 0,0,0, },
},
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{
{ 0x0000 }, }, /* #11 */
/*expect*/ { 0,0,0, },
},
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{
/*E*/
{ 0,1,123.456, 123.456, 0x0040 }
},
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{
/*E*/
{ 0,1,123.456, 123.456, 0x0040 }
},
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{
/*E*/
{ 0,1,123.456, 123.456, 0x0040 }
},
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{
}
}
},
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{
}
}
},
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{
}
}
},
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{
{ /*input.*/ { 0,1, { 0x0000 }, 5 },
/*expect*/ { 0,1,0, "" },
},
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{
{ /*input.*/ { 0,1, { 0x0000 }, 5 },
/*expect*/ { 0,1,0, "" },
},
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{
{ /*input.*/ { 0,1, { 0x0000 }, 5 },
/*expect*/ { 0,1,0, "" },
},
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{
{ /*input.*/ { { 0x00C1,0x3044,0x0000 }, 2 }, /* 20 */
/*expect*/ { 0,1,-1 },
},
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{
{ /*input.*/ { { 0x0041,0x3044,0x0000 }, 2 }, /* 20 */
/*expect*/ { 0,1,-1 },
},
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{
{ /*input.*/ { { 0x0041,0x3044,0x0000 }, 2 }, /* 20 */
/*expect*/ { 0,1,3 },
},
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{
{ /*inp*/ { { 0x00DC,0x0000 }, { 0x00E4,0x0000 }, 7, 7 }, /* #05 */
/*exp*/ { 0, 0,0, },
},
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{
/*exp*/ { EINVAL, 1,(size_t)-1, },
},
#endif
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{
/*exp*/ { EINVAL, 1,(size_t)-1, },
},
#endif
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{
{ { 0x0080 }, { 0, 1, 0x80 } },
{ { 0x00C4 }, { 0, 1, 0xC4 } },
{ { 0x30C4 }, { 0, 1, EOF } },
- { is_last: 1 } /* Last element. */
+ { .is_last = 1 } /* Last element. */
}
},
{ { Twctob, TST_LOC_enUS },
{ { 0x00C4 }, { 0, 1, EOF } },
#endif
{ { 0x30C4 }, { 0, 1, EOF } },
- { is_last: 1 } /* Last element. */
+ { .is_last = 1 } /* Last element. */
}
},
{ { Twctob, TST_LOC_eucJP },
{ { 0x00FF }, { 0, 1, EOF } },
{ { 0x00C4 }, { 0, 1, EOF } },
{ { 0x30C4 }, { 0, 1, EOF } },
- { is_last: 1 } /* Last element. */
+ { .is_last = 1 } /* Last element. */
}
},
{ { Twctob, TST_LOC_end } }
{ /*input.*/ { 0, 0x0000 },
/*expect*/ { 0,0,0, "" },
},
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{
{ /*input.*/ { 0, 0x0000 },
/*expect*/ { 0,0,0, "" },
},
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{
{ /*input.*/ { 0, 0x008E },
/*expect*/ { 0,0,0, "" },
},
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{
{ /*inp*/ { "xxxxx" }, /* #6 */
/*exp*/ { 0,1,0, },
},
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{ { Twctrans, TST_LOC_enUS },
{ /*inp*/ { "xxxxx" }, /* #6 */
/*exp*/ { 0,1,0, },
},
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{ { Twctrans, TST_LOC_eucJP },
{ /*inp*/ { "tojkata" }, /* #8 */
/*exp*/ { 0,0,0, },
},
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{ { Twctrans, TST_LOC_end }}
{ /*inp*/ { "special" }, /* #16 */
/*exp*/ { 0,1,0, },
},
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{ { Twctype, TST_LOC_enUS },
{ /*inp*/ { "special" }, /* #16 */
/*exp*/ { 0,1,0, },
},
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{ { Twctype, TST_LOC_eucJP },
{ /*inp*/ { "jdigit" }, /* #18 */
/*exp*/ { 0,0,0, },
},
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{ { Twctype, TST_LOC_end }}
/*exp*/ { 0, 1,EOF, },
},
#endif
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{
{ /*inp*/ { 0x3041 }, /* #07 */
/*exp*/ { 0, 1,-1, },
},
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{
{ /*inp*/ { 0x3041 }, /* #07 */
/*exp*/ { 0, 1,2, },
},
- { is_last: 1 }
+ { .is_last = 1 }
}
},
{
if (newcond == NULL)
return ENOMEM;
- *newcond = (struct pthread_cond_t) PTHREAD_COND_INITIALIZER;
+ *newcond = (pthread_cond_t) PTHREAD_COND_INITIALIZER;
atomic_write_barrier ();
if (newcond == NULL)
return ENOMEM;
- *newcond = (struct pthread_cond_t) PTHREAD_COND_INITIALIZER;
+ *newcond = (pthread_cond_t) PTHREAD_COND_INITIALIZER;
atomic_write_barrier ();
if (newcond == NULL)
return ENOMEM;
- *newcond = (struct pthread_cond_t) PTHREAD_COND_INITIALIZER;
+ *newcond = (pthread_cond_t) PTHREAD_COND_INITIALIZER;
atomic_write_barrier ();
if (newcond == NULL)
return ENOMEM;
- *newcond = (struct pthread_cond_t) PTHREAD_COND_INITIALIZER;
+ *newcond = (pthread_cond_t) PTHREAD_COND_INITIALIZER;
atomic_write_barrier ();
#if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_2)
# undef res_init
-strong_alias (__res_init, __res_init_weak);
+extern int __res_init_weak (void);
weak_extern (__res_init_weak);
+strong_alias (__res_init, __res_init_weak);
compat_symbol (libc, __res_init_weak, res_init, GLIBC_2_0);
#endif
"$1", "$2", "$3", "$4", "$5", "$6", "$7", "$8", \
"$22", "$23", "$24", "$25", "$27", "$28", "memory"
+/* If TLS is in use, we have a conflict between the PAL_rduniq primitive,
+ as modeled within GCC, and explicit use of the R0 register. If we use
+ the register via the asm, the scheduler may place the PAL_rduniq insn
+ before we've copied the data from R0 into _sc_ret. If this happens
+ we'll get a reload abort, since R0 is live at the same time it is
+ needed for the PAL_rduniq.
+
+ Solve this by using the "v" constraint instead of an asm for the syscall
+ output. We don't do this unconditionally to allow compilation with
+ older compilers. */
+
+#ifdef USE_TLS
+#define inline_syscall_r0_asm
+#define inline_syscall_r0_constraint "v"
+#else
+#define inline_syscall_r0_asm __asm__("$0")
+#define inline_syscall_r0_constraint "r"
+#endif
+
/* It is moderately important optimization-wise to limit the lifetime
of the hard-register variables as much as possible. Thus we copy
in/out as close to the asm as possible. */
-#define inline_syscall0(name) \
-{ \
- register long _sc_0 __asm__("$0"); \
- register long _sc_19 __asm__("$19"); \
- \
- _sc_0 = __NR_##name; \
- __asm__("callsys # %0 %1 <= %2" \
- : "=r"(_sc_0), "=r"(_sc_19) \
- : "0"(_sc_0) \
- : inline_syscall_clobbers, \
- "$16", "$17", "$18", "$20", "$21"); \
- _sc_ret = _sc_0, _sc_err = _sc_19; \
+#define inline_syscall0(name, args...) \
+{ \
+ register long _sc_0 inline_syscall_r0_asm; \
+ register long _sc_19 __asm__("$19"); \
+ \
+ _sc_0 = __NR_##name; \
+ __asm__("callsys # %0 %1 <= %2" \
+ : "=" inline_syscall_r0_constraint (_sc_0), \
+ "=r"(_sc_19) \
+ : "0"(_sc_0) \
+ : inline_syscall_clobbers, \
+ "$16", "$17", "$18", "$20", "$21"); \
+ _sc_ret = _sc_0, _sc_err = _sc_19; \
}
-#define inline_syscall1(name,arg1) \
-{ \
- register long _sc_0 __asm__("$0"); \
- register long _sc_16 __asm__("$16"); \
- register long _sc_19 __asm__("$19"); \
- \
- _sc_0 = __NR_##name; \
- _sc_16 = (long) (arg1); \
- __asm__("callsys # %0 %1 <= %2 %3" \
- : "=r"(_sc_0), "=r"(_sc_19), \
- "=r"(_sc_16) \
- : "0"(_sc_0), "2"(_sc_16) \
- : inline_syscall_clobbers, \
- "$17", "$18", "$20", "$21"); \
- _sc_ret = _sc_0, _sc_err = _sc_19; \
+#define inline_syscall1(name,arg1) \
+{ \
+ register long _sc_0 inline_syscall_r0_asm; \
+ register long _sc_16 __asm__("$16"); \
+ register long _sc_19 __asm__("$19"); \
+ \
+ _sc_0 = __NR_##name; \
+ _sc_16 = (long) (arg1); \
+ __asm__("callsys # %0 %1 <= %2 %3" \
+ : "=" inline_syscall_r0_constraint (_sc_0), \
+ "=r"(_sc_19), "=r"(_sc_16) \
+ : "0"(_sc_0), "2"(_sc_16) \
+ : inline_syscall_clobbers, \
+ "$17", "$18", "$20", "$21"); \
+ _sc_ret = _sc_0, _sc_err = _sc_19; \
}
#define inline_syscall2(name,arg1,arg2) \
{ \
- register long _sc_0 __asm__("$0"); \
+ register long _sc_0 inline_syscall_r0_asm; \
register long _sc_16 __asm__("$16"); \
register long _sc_17 __asm__("$17"); \
register long _sc_19 __asm__("$19"); \
_sc_16 = (long) (arg1); \
_sc_17 = (long) (arg2); \
__asm__("callsys # %0 %1 <= %2 %3 %4" \
- : "=r"(_sc_0), "=r"(_sc_19), \
- "=r"(_sc_16), "=r"(_sc_17) \
+ : "=" inline_syscall_r0_constraint (_sc_0), \
+ "=r"(_sc_19), "=r"(_sc_16), "=r"(_sc_17) \
: "0"(_sc_0), "2"(_sc_16), "3"(_sc_17) \
: inline_syscall_clobbers, \
"$18", "$20", "$21"); \
#define inline_syscall3(name,arg1,arg2,arg3) \
{ \
- register long _sc_0 __asm__("$0"); \
+ register long _sc_0 inline_syscall_r0_asm; \
register long _sc_16 __asm__("$16"); \
register long _sc_17 __asm__("$17"); \
register long _sc_18 __asm__("$18"); \
_sc_17 = (long) (arg2); \
_sc_18 = (long) (arg3); \
__asm__("callsys # %0 %1 <= %2 %3 %4 %5" \
- : "=r"(_sc_0), "=r"(_sc_19), \
- "=r"(_sc_16), "=r"(_sc_17), "=r"(_sc_18) \
+ : "=" inline_syscall_r0_constraint (_sc_0), \
+ "=r"(_sc_19), "=r"(_sc_16), "=r"(_sc_17), \
+ "=r"(_sc_18) \
: "0"(_sc_0), "2"(_sc_16), "3"(_sc_17), \
"4"(_sc_18) \
: inline_syscall_clobbers, "$20", "$21"); \
#define inline_syscall4(name,arg1,arg2,arg3,arg4) \
{ \
- register long _sc_0 __asm__("$0"); \
+ register long _sc_0 inline_syscall_r0_asm; \
register long _sc_16 __asm__("$16"); \
register long _sc_17 __asm__("$17"); \
register long _sc_18 __asm__("$18"); \
_sc_18 = (long) (arg3); \
_sc_19 = (long) (arg4); \
__asm__("callsys # %0 %1 <= %2 %3 %4 %5 %6" \
- : "=r"(_sc_0), "=r"(_sc_19), \
- "=r"(_sc_16), "=r"(_sc_17), "=r"(_sc_18) \
+ : "=" inline_syscall_r0_constraint (_sc_0), \
+ "=r"(_sc_19), "=r"(_sc_16), "=r"(_sc_17), \
+ "=r"(_sc_18) \
: "0"(_sc_0), "2"(_sc_16), "3"(_sc_17), \
"4"(_sc_18), "1"(_sc_19) \
: inline_syscall_clobbers, "$20", "$21"); \
#define inline_syscall5(name,arg1,arg2,arg3,arg4,arg5) \
{ \
- register long _sc_0 __asm__("$0"); \
+ register long _sc_0 inline_syscall_r0_asm; \
register long _sc_16 __asm__("$16"); \
register long _sc_17 __asm__("$17"); \
register long _sc_18 __asm__("$18"); \
_sc_19 = (long) (arg4); \
_sc_20 = (long) (arg5); \
__asm__("callsys # %0 %1 <= %2 %3 %4 %5 %6 %7" \
- : "=r"(_sc_0), "=r"(_sc_19), \
- "=r"(_sc_16), "=r"(_sc_17), "=r"(_sc_18), \
- "=r"(_sc_20) \
+ : "=" inline_syscall_r0_constraint (_sc_0), \
+ "=r"(_sc_19), "=r"(_sc_16), "=r"(_sc_17), \
+ "=r"(_sc_18), "=r"(_sc_20) \
: "0"(_sc_0), "2"(_sc_16), "3"(_sc_17), \
"4"(_sc_18), "1"(_sc_19), "5"(_sc_20) \
: inline_syscall_clobbers, "$21"); \
#define inline_syscall6(name,arg1,arg2,arg3,arg4,arg5,arg6) \
{ \
- register long _sc_0 __asm__("$0"); \
+ register long _sc_0 inline_syscall_r0_asm; \
register long _sc_16 __asm__("$16"); \
register long _sc_17 __asm__("$17"); \
register long _sc_18 __asm__("$18"); \
_sc_20 = (long) (arg5); \
_sc_21 = (long) (arg6); \
__asm__("callsys # %0 %1 <= %2 %3 %4 %5 %6 %7 %8" \
- : "=r"(_sc_0), "=r"(_sc_19) \
- "=r"(_sc_16), "=r"(_sc_17), "=r"(_sc_18), \
- "=r"(_sc_20), "=r"(_sc_21) \
+ : "=" inline_syscall_r0_constraint (_sc_0), \
+ "=r"(_sc_19) "=r"(_sc_16), "=r"(_sc_17), \
+ "=r"(_sc_18), "=r"(_sc_20), "=r"(_sc_21) \
: "0"(_sc_0), "2"(_sc_16), "3"(_sc_17), \
"4"(_sc_18), "1"(_sc_19), "5"(_sc_20), \
"6"(_sc_21) \