Don't use CGOTSETUP and CGOTRESTORE macros.
(CGOTSETUP, CGOTRESTORE): Remove.
<IS_IN_rtld> (CENABLE, CDISABLE): Don't use JUMPTARGET, branch to
@local symbol.
* sysdeps/unix/sysv/linux/powerpc/powerpc32/socket.S (__socket):
Don't use CGOTSETUP and CGOTRESTORE macros.
2007-08-05 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/powerpc/powerpc32/socket.S (__socket):
Don't use CGOTSETUP and CGOTRESTORE macros.
__extension__ around the whole statement expression.
2007-08-04 Jakub Jelinek <jakub@redhat.com>
* io/bits/fcntl2.h (open, open64, openat, openat64): Add
__extension__ around the whole statement expression.
failed.
* intl/finddomain.c (_nl_find_domain): Free normalized_codeset
on failure.
* elf/dl-load.c (decompose_rpath): Free copy if result couldn't be
allocated.
2007-08-03 Jakub Jelinek <jakub@redhat.com>
* include/fcntl.h: Declare __have_o_cloexec.
* io/have_o_cloexec.c: New file.
* sysdeps/unix/opendir.c (__opendir): Use O_CLOEXEC is available.
(__alloc_dir): If O_CLOEXEC has been used, don't duplicate the
fcntl call if not necessary.
* login/utmp_file.c (setutent_file): Use __have_o_cloexec instead
of local variable.
Avoid memset, add explicit initialization.
* sysdeps/unix/dirstream.h (struct __dirstream): Move data elemtn
to the end and change into zero-sized array.
Move lock member to fill a hole on 64-bit platforms.
to fill a hole on 64-bit platforms.
* stdlib/stdlib.h: Remove __strto*_internal prototypes and strto*
inline functions.
* include/stdlib.h: Add __strto*_internal prototypes here.
* wcsmbs/wchar.h: Remove __wcsto*_internal prototypes and wcsto*
inline functions.
* include/wchar.h: Add __wcsto*_internal prototypes.
* sysdeps/generic/inttypes.h: No need to protect the declaration
of the __strto*_internal and __wcsto*_internal members here.
$(inst_bindir)/getconf if possible.
* posix/Makefile ($(objpfx)getconf.speclist): New target.
(generated): Add it.
($(inst_libexecdir)/getconf): Use it.
* stdio-common/printf_fp.c (___printf_fp): Fix special case of
#.0g and value rounded to 1.0.
* stdio-common/tfformat.c (sprint_doubles): Add two new tests.
void **.
* nss/nsswitch.h (service_user): Use void * type for KNOWN field.
* nss/nss_files/files-hosts.c (LINE_PARSER): Cast host_addr to
char * to avoid warning.
* nis/nss_nis/nis-hosts.c (LINE_PARSER): Likewise.
* timezone/Makefile (CFLAGS-zdump.c): Add -fwrapv.
* locale/programs/ld-ctype.c (ctype_finish, set_class_defaults,
allocate_arrays): Cast second argument to charmap_find_symbol
to char * to avoid warnings.
* locale/programs/repertoire.c (repertoire_new_char): Change
from_nr, to_nr and cnt to unsigned long, adjust printf format
string.
* locale/programs/ld-collate.c (insert_value, handle_ellipsis):
Cast second argument to new_element to char * to avoid warnings.
* locale/weightwc.h (findidx): Cast &extra[-i] to const int32_t *.
* intl/gettextP.h (struct loaded_domain): Change plural to const
struct expression *.
* intl/plural-eval.c (plural_eval): Change first argument to
const struct expression *.
* intl/plural-exp.c (EXTRACT_PLURAL_EXPRESSION): Change first
argument to const struct expression **.
* intl/plural-exp.h (EXTRACT_PLURAL_EXPRESSION, plural_eval): Adjust
prototypes.
* intl/loadmsgcat (_nl_unload_domain): Cast away const
in call to __gettext_free_exp.
* posix/fnmatch.c (fnmatch): Rearrange code to avoid maybe
unitialized wstring/wpattern var warnings.
* posix/runtests.c (struct a_test): Make data field const char *.
* stdio-common/tst-sprintf2.c (main): Don't declere u, v and buf
vars if not LDBL_MANT_DIG >= 106.
* stdio-common/Makefile (CFLAGS-vfwprintf.c): Add -Wno-unitialized.
* stdio-common/vfprintf.c (vfprintf): Cast first arugment to
__find_specmb to avoid warning.
* rt/tst-mqueue1.c (do_one_test): Add casts to avoid warnings.
* debug/test-strcpy_chk.c (do_tests, do_random_tests): Add casts
to avoid warnings.
* sysdeps/ieee754/ldbl-96/s_roundl.c (huge): Add L suffix to
initializer.
* sysdeps/unix/clock_gettime.c (clock_gettime): Only define
tv var when it will be actually used.
* sunrpc/rpc_cmsg.c (xdr_callmsg): Cast IXDR_PUT_* to void
to avoid warnings.
char array resp. pointer.
* iconvdata/iso-2022-kr.c (BODY): Make buf unsigned char instead of
char array.
* iconvdata/cns11643.h (cns11643_to_ucs4): Change first argument
to const unsigned char **.
(ucs4_to_cns11643): Change second argument to unsigned char *.
* iconvdata/euc-tw.c (BODY): Change endp type to
const unsigned char *.
* iconvdata/iso-ir-165.h (ucs4_to_isoir165): Change second argument
to unsigned char *.
* iconvdata/ibm1008_420.c (LOOP_NEED_FLAGS): Don't define.
* iconvdata/iso-2022-cn.c (BODY): Change buf to unsigned char array.
* iconvdata/iso-2022-cn-ext.c (BODY): Change buf, tmpbuf, tmp
types to unsigned char pointers/arrays instead of char.
* iconvdata/jis0201.h (ucs4_to_jisx0201): Change second argument
to unsigned char *.
* iconvdata/jis0208.h (ucs4_to_jisx0208): Likewise.
* iconvdata/jis0212.h: Include assert.h.
(ucs4_to_jisx0212): Change second argument to unsigned char *.
assert that if cp[0] is not '\0', cp[1] is not '\0' either instead
of trying to handle that.
* iconvdata/euc-kr.c (euckr_from_ucs4): Initialize also cp[1] to
shut up a warning.
* iconvdata/euc-jp-ms.c (from_ucs4_lat1, from_ucs4_greek,
from_ucs4_cjk, from_ucs4_cjkcpt, from_ucs4_extra): Change type to
two dimensional const unsigned char arrays.
(BODY): Cast "" to (const unsigned char *) for assignment to cp.
Initialize endp to inptr to shut up a warning.
* iconv/gconv_cache.c (__gconv_lookup_cache): Return __GCONV_NULCONV
if from and to charsets are the same.
* iconv/gconv_db.c (__gconv_find_transform): Likewise.
* intl/dcigettext.c (_nl_find_msg): Return NULL even if __gconv_open
returns __GCONV_NOCONV, but not for __GCONV_NULCONV.
2007-07-17 Jakub Jelinek <jakub@redhat.com>
* wcsmbs/wchar.h: Only define wint_t if __need_wint_t.
Don't define wint_t when __need_mbstate_t unless it
is necessary.
(__mbstate_t): Use __WINT_TYPE__ rather than wint_t
in the typedef if possible.
* wctype/wctype.h (wint_t): Define by including
wchar.h with __need_wint_t instead of including stddef.h
with __need_wint_t and as fallback definining it ourselves.
* iconv/gconv.h (__need_wint_t): Define before including
wchar.h.
* sysdeps/gnu/_G_config.h: Don't include gconv.h if not _LIBC
or _GLIBCPP_USE_WCHAR_T.
(__need_wchar_t): Don't define
if not _LIBC or _GLIBCPP_USE_WCHAR_T.
(__need_wint_t): Don't define before including stddef.h,
define before including wchar.h only if _LIBC or
_GLIBCPP_USE_WCHAR_T.
(_G_iconv_t): Don't define if not _LIBC or _GLIBCPP_USE_WCHAR_T.
* sysdeps/mach/hurd/_G_config.h: Likewise.
* sysdeps/generic/_G_config.h: Likewise.
* libio/libio.h (__wunderflow, __wuflow, __woverflow): Only
prototype if _LIBC or _GLIBCPP_USE_WCHAR_T.
(_IO_getwc_unlocked, _IO_putwc_unlocked): Only define
if _LIBC or _GLIBCPP_USE_WCHAR_T.
__posix_fallocate64_l64 before alias handling.
* sysdeps/unix/sysv/linux/posix_fallocate.c: New file.
* sysdeps/unix/sysv/linux/posix_fallocate64.c: New file.
* sysdeps/unix/sysv/linux/wordsize-64/posix_fallocate.c: New file.
* sysdeps/unix/sysv/linux/wordsize-64/posix_fallocate64.c: New file.
* io/tst-posix_fallocate.c: Include <fcntl.h>.
2007-07-23 Jakub Jelinek <jakub@redhat.com>
* locale/programs/ld-collate.c (atwc): New variable.
(add_to_tablewc): New toplevel function, moved from collate_output.
(collate_output): Remove add_to_tablewc nested function.
* iconv/iconvconfig.c (hash_table, hash_size): New toplevel vars.
(name_insert): New function.
(write_output): Remove hash_table and hash_size vars and name_insert
nested function.
(install-no-libc.a-nosubdir): Depend on it.
* iconv/Makefile (install-others-programs): Set this instead of
install-others.
* login/Makefile (install-others-programs): Likewise.
* posix/Makefile (install-others-programs): Likewise.
* Makerules (install-no-libc.a-nosubdir): Clean up conditional
dependencies.
O_CLOEXEC is needed.
* nis/nss_compat/compat-grp.c: Use 'e' flag when opening file.
Avoid additional fcntl to set O_CLOEXEC if not needed.
* nis/nss_compat/compat-initgroups.c: Likewise.
* nis/nss_compat/compat-pwd.c: Likewise.
* nis/nss_compat/compat-spwd.c: Likewise.
* sysdeps/mach/hurd/sigaction.c (__sigaction): Check ACT != NULL before
reading A.
* sysdeps/mach/hurd/sigsuspend.c (sigsuspend_not_cancel): Define alias
to __sigsuspend.
* sysdeps/mach/i386/sysdep.h: Include <dl-sysdep.h> and <tls.h>.
2006-06-13 Thomas Schwinge <tschwinge@gnu.org>
* sysdeps/mach/hurd/tls.h: Change `ASSEMBLER' conditional to
`__ASSEMBLER__'.
* sysdeps/mach/hurd/i386/tls.h: Likewise.
* login/forkpty.c (forkpty): Close master and slave fds on
fork failure. Patch by
Mikulas Patocka <mikulas@artax.karlin.mff.cuni.cz>.
2007-07-20 Jakub Jelinek <jakub@redhat.com>
[BZ #4813]
* login/forkpty.c (forkpty): Close master and slave fds on
fork failure. Patch by
Mikulas Patocka <mikulas@artax.karlin.mff.cuni.cz>.
* signal/signal.h <__USE_BSD || __USE_XOPEN_EXTENDED>: Define
__need_size_t and include stddef.h.
* sysvipc/sys/msg.h: Likewise.
* posix/sched.h: Likewise.
* hurd/hurd/signal.h (__need_size_t): Define.
* CONFORMANCE: ctype.h and wctype.h no longer define size_t,
neither does signal.h in pedantic ISO C namespaces. stdio.h
no longer defines wint_t or wchar_t.
in loop to look for conversion specifier to avoid testing of
wrong errno value.
* stdio-common/Makefile (tests): Add bug18, bug18a, bug19, bug19a.
* stdio-common/bug18a.c: New file.
* stdio-common/bug19.c: New file.
* stdio-common/bug19a.c: New file.
* elf/dl-minimal.c (__libc_memalign): Likewise. Handle malloc (0).
Return NULL if mmap failed instead of asserting it does not.
(calloc): Check for integer overflow.
* elf/dl-minimal.c (__strtoul_internal): Fix parsing of numbers bigger
than LONG_MAX / 10.
2007-06-29 Martin Schwidefsky <schwidefsky@de.ibm.com>
* sysdeps/unix/sysv/linux/bits/socket.h: Add PF_IUCV and AF_IUCV.
2007-06-29 Martin Schwidefsky <schwidefsky@de.ibm.com>
2007-06-13 Jakub Jelinek <jakub@redhat.com>
* include/link.h: Don't include rtld-lowlevel.h.
(struct link_map): Remove l_scope_lock.
* sysdeps/generic/ldsodefs.h: Don't include rtld-lowlevel.h.
(_dl_scope_free_list): New field (variable) in _rtld_global.
(DL_LOOKUP_SCOPE_LOCK): Remove.
(_dl_scope_free): New prototype.
* elf/dl-runtime.c (_dl_fixup): Don't use __rtld_mrlock_*lock.
Don't pass DL_LOOKUP_SCOPE_LOCK to _dl_lookup_symbol_x.
(_dl_profile_fixup): Likewise.
* elf/dl-sym.c (do_sym): Likewise. Use wrapped _dl_lookup_symbol_x
whenever !RTLD_SINGLE_THREAD_P, use THREAD_GSCOPE_SET_FLAG and
THREAD_GSCOPE_RESET_FLAG around it.
* elf/dl-close.c (_dl_close_worker): Don't use
__rtld_mrlock_{change,done}. Call _dl_scope_free on the old
scope. Make sure THREAD_GSCOPE_WAIT () happens if any old
scopes were queued or if l_scope_mem has been abandoned.
* elf/dl-open.c (_dl_scope_free): New function.
(dl_open_worker): Use it. Don't use __rtld_mrlock_{change,done}.
* elf/dl-support.c (_dl_scope_free_list): New variable.
* elf/dl-lookup.c (add_dependency): Remove flags argument.
Remove DL_LOOKUP_SCOPE_LOCK handling.
(_dl_lookup_symbol_x): Adjust caller. Remove DL_LOOKUP_SCOPE_LOCK
handling.
* elf/dl-object.c (_dl_new_object): Don't use
__rtld_mrlock_initialize.
2007-06-19 Ulrich Drepper <drepper@redhat.com>
to fill in holes
(rtld_global_ro): Likewise.
2007-06-18 Jakub Jelinek <jakub@redhat.com>
* elf/dl-addr.c (_dl_addr): Skip PT_LOAD checking if l_contiguous.
Move PT_LOAD checking to...
(_dl_addr_inside_object): ... here, new function.
* elf/dl-sym.c (do_sym): If not l_contiguous,
call _dl_addr_inside_object.
* elf/dl-iteratephdr.c (__dl_iterate_phdr): Likewise.
* dlfcn/dlinfo.c (dlinfo_doit): Likewise.
* elf/dl-open.c (dl_open_worker): Likewise.
(_dl_addr_inside_object): New function if IS_IN_rtld.
* elf/dl-load.c (_dl_map_object_from_fd): Set l_contiguous if no
holes are present or are PROT_NONE protected.
* include/link.h (struct link_map): Add l_contiguous field.
* sysdeps/generic/ldsodefs.h (_dl_addr_inside_object): New prototype.
Tomas Janousek <tjanouse@redhat.com>
Ulrich Drepper <drepper@redhat.com>
[BZ #4647]
* resolv/res_send.c (send_dg): Remove socket_pf. Use ipv6_unavail
member in __res_state, only convaddr4to6 if nssocks[ns] is a PF_INET6
socket.
* resolv/resolv.h (__res_state): Add ipv6_unavail member. Make
unused member a bitmap.
* resolv/res_init.c (__res_vinit): Reset ipv6_unavail if IPv6
servers are configured.
2007-06-18 Jakub Jelinek <jakub@redhat.com>
unused ily variable. Fix nextafterl on +-__LDBL_MAX__ and +-Inf.
Remove unreachable code at the end.
2007-06-01 Steven Munroe <sjmunroe@us.ibm.com>
* sysdeps/ieee754/ldbl-128ibm/s_fpclassifyl.c: Correct description of
ldbl-128ibm in comment.
(fpclassifyl): Correct classification of denormals.
* sysdeps/ieee754/ldbl-128ibm/s_nextafterl.c (nextafterl): Correct
return value for MIN denormal. Rewrite using long double math too
correctly handle denormals and canonicalize the results.
2007-06-05 Jakub Jelinek <jakub@redhat.com>
* sysdeps/ieee754/ldbl-128ibm/mpn2ldbl.c
(__mpn_construct_long_double): Fix conversion where result ought
to be smaller than __LDBL_MIN__, or the low double should be
denormal. Fix decision where to negate low double - honor round
to even rules.
* stdio-common/tst-sprintf2.c: Include string.h.
(COMPARE_LDBL): Define.
(TEST): Also test whether a string hexadecimal float representation
can be parsed back to the number.
(main): Add a couple of further tests.
2007-06-04 Jakub Jelinek <jakub@redhat.com>