Roland McGrath [Sun, 2 Apr 2000 22:01:23 +0000 (22:01 +0000)]
* sysdeps/mach/hurd/i386/init-first.c: Replace PIC #ifdefs with SHARED.
(init1): Don't initialize __environ here, since init already does it.
(first_init): New function, broken out of _init.
(_hurd_stack_setup): Use it.
[SHARED] (_dl_init_first): New function, renamed from old _init.
(init1) [SHARED]: Don't call posixland_init here.
(posixland_init): Take ENVP arg, so signature is usual for initializer.
[SHARED] (_init): Define as alias for posixland_init.
[! SHARED] (__libc_first_init): Define as alias for posixland_init.
* sysdeps/i386/dl-machine.h (RTLD_START): Insert the macro
RTLD_START_SPECIAL_INIT before calling initializers.
(RTLD_START_SPECIAL_INIT): Define to empty if undefined.
* sysdeps/mach/hurd/i386/dl-machine.h: New file.
* sysdeps/mach/hurd/dl-sysdep.c (_dl_init_first): New weak function.
* elf/Versions ({libc,ld.so}: GLIBC_2.2): Add _dl_init_first.
Roland McGrath [Sun, 2 Apr 2000 20:15:54 +0000 (20:15 +0000)]
* stdio-common/tmpfile.c [! USE_IN_LIBIO]: No alias needed,
since we define the function with the name `tmpfile'.
* mach/Versions: Define SHARED instead of PIC to affect shlib-compat.h.
* hurd/Versions: Likewise.
* elf/dl-runtime.c (fixup): Fix typo in comment.
* resolv/netdb.h (getnameinfo): All length parameters are of type
* elf/dl-init.c: Fix typo in comment.
anymore, update comment.
* inet/arpa/inet.h (inet_addr): Change return type to in_addr_t.
(inet_lnaof): Likewise.
(inet_netof): Likewise.
(inet_network): Likewise.
(inet_aton): Likewise.
(inet_makeaddr): Change parameter types to in_addr_t.
(inet_neta): Likewise.
(inet_ntop): Change type of last parameter to socklen_t.
(inet_aton): Only make available if __USE_MISC.
(inet_neta): Likewise.
(inet_net_ntop): Likewise.
(inet_net_pton): Likewise.
(inet_nsap_ntoa): Likewise.
* inet/in.h: Define in_port_t type.
Define in_addr_t type.
(struct in_addr): Use in_addr_t in definition.
(IN_CLASSA): Use cast to in_addr_t.
(IN_CLASSB): Likewise.
(IN_CLASSC): Likewise.
(IN_CLASSD): Likewise.
(IN_EXPERIMENTAL): Likewise.
(IN_BADCLASS): Likewise.
(INADDR_ANY): Likewise.
(INADDR_BROADCAST): Likewise.
(INADDR_NONE): Likewise.
(INADDR_LOOPBACK): Likewise.
(INADDR_UNSPEC_GROUP): Likewise.
(INADDR_ALLHOSTS_GROUP): Likewise.
(INADDR_ALLRTRS_GROUP): Likewise.
(INADDR_MAX_LOCAL_GROUP): Likewise.
(struct sockaddr_in): Use in_port_t for sin_port element.
(struct sockaddr_in6): Use in_port_t for sin6_port element.
Use uint8_t instead of u_int8_t.
* resolv/inet_addr.c (inet_addr): Change return type to in_addr_t.
Call __inet_aton instead of inet_aton.
(__inet_aton): Renamed from inet_aton. Add weak alias under old name.
* resolv/netdb.h (gethostbyname2): Define only is __USE_MISC.
(innetgr): Likewise.
(struct addrinfo): Use socklen_t for ai_addrlen element.
* sysdeps/unix/sysv/linux/bits/in.h (IPV6_MTU_DISCOVER, IPV6_MTU,
IPV6_RECVERR): New defines.
* include/netdb.h: Change type of first parameter of __getnetbyaddr_r.
* inet/getnetbyad.c: Likewise.
* inet/getnetbyad_r.c: Likewise.
* nis/nss_nis/nis-network.c: Likewise.
* nis/nssplus_nis/nisplus-network.c: Likewise.
* nss/nss_files/files-network.c: Likewise.
* resolv/netdb.h: Define uint32_t if not already happened.
Include bits/netdb.h. Remove definition of struct netent.
Change type of first parameter of getnetbyaddr_r and getnetbyaddr.
* sysdeps/generic/stdint.h: Allow definition of uint32_t elsewhere.
* sysdeps/generic/bits/netdb.h: New file.
* sysdeps/unix/sysv/linux/alpha/bits/netdb.h: New file.
* dlfcn/Makefile (distribute): Add glreflib1.c and glreflib2.c.
(tests): Add glrefmain.
Add rules to build modules and run tests. Ignore result of glrefmain
for now since it fails.
* dlfcn/glrefmain.c: New file.
* dlfcn/glreflib1.c: New file.
* dlfcn/glreflib2.c: New file.
* test-skeleton.c: Include <string.h> for strsignal prototype.
Ulrich Drepper [Fri, 31 Mar 2000 20:44:49 +0000 (20:44 +0000)]
Update.
* iconv/skeleton.c: Define access macros with u suffix. Adjust
#if expression for use of unaligned function to the one used in
the definition of these functions.
* iconv/gconv_simple.c (internal_ucs4_loop_unaligned): New function.
(internal_ucs4le_loop_unaligned): New function.
Ulrich Drepper [Fri, 31 Mar 2000 17:09:42 +0000 (17:09 +0000)]
Update.
2000-03-31 Ulrich Drepper <drepper@redhat.com>
* elf/Makefile (distribute): Add dep1.c, dep2.c, dep3.c, and dep4.c.
(tests): Add order.
(module-names): Add dep1, dep2, dep3, and dep4.
Add dependencies for dep* modules and order.
Define rule for order.out which checks the result.
* elf/dep1.c: New file.
* elf/dep2.c: New file.
* elf/dep3.c: New file.
* elf/dep4.c: New file.
* elf/order.c: New file.
Ulrich Drepper [Fri, 31 Mar 2000 17:07:47 +0000 (17:07 +0000)]
(distribute): Add dep1.c, dep2.c, dep3.c, and dep4.c. (tests): Add order. (module-names): Add dep1, dep2, dep3, and dep4. Add dependencies for dep* modules and order. Define rule for order.out which checks the result.
Ulrich Drepper [Fri, 31 Mar 2000 07:24:09 +0000 (07:24 +0000)]
Update.
* elf/dl-init.c (_dl_init): Clear _dl_starting_up at end of
with size of dynamic sectionfunction.
* sysdeps/i386/dl-machine.h: Remove code to clear _dl_starting_up.
* misc/sys/cdefs.h: Don't allow gcc in traditional mode to be
with size of dynamic sectionused.
Ulrich Drepper [Fri, 31 Mar 2000 06:57:36 +0000 (06:57 +0000)]
Update.
2000-03-29 Geoff Clare <gwc@unisoft.com>
* stdlib/strfmon.c: Corrected problems with the code that
sets default values for [np]_sep_by_space and
[np]_sign_posn; also the new positive/negative alignment
code from the previous patch was not quite right for
[np]_sign_posn = 0.
* localedata/tst-fmon.data: Changes corresponding to the
two sets of fixes made to stdlib/strfmon.c.
Roland McGrath [Thu, 30 Mar 2000 19:26:59 +0000 (19:26 +0000)]
* mach/Versions (libc: GLIBC_2.0)
[SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)]: Conditionalize
__vm_allocate on this.
[SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2)]: Conditionalize
mutex- and spinlock-related symbols on this.
[!SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2)] (libc: HURD_CTHREADS_0.3):
New version set. Lock-related symbols go here instead in this case.
* sysdeps/mach/hurd/Versions (libc: GLIBC_2.0): Remove
_cthread_exit_routine, _cthread_init_routine, cthread_keycreate,
cthread_getspecific, cthread_setspecific, __libc_getspecific.
* hurd/Versions
[SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2)] (libc: GLIBC_2.0):
Put them here instead.
[!SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2)] (libc: HURD_CTHREADS_0.3):
New version set. Those cthreads symbols go here instead in this case.
* Versions.def (libc) [USE_IN_LIBIO]: Add HURD_CTHREADS_0.3 version.
Roland McGrath [Thu, 30 Mar 2000 19:26:35 +0000 (19:26 +0000)]
2000-03-30 Roland McGrath <roland@baalperazim.frob.com>
* mach/Versions (libc: GLIBC_2.0)
[SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1)]: Conditionalize
__vm_allocate on this.
[SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2)]: Conditionalize
mutex- and spinlock-related symbols on this.
[!SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2)] (libc: HURD_CTHREADS_0.3):
New version set. Lock-related symbols go here instead in this case.
* sysdeps/mach/hurd/Versions (libc: GLIBC_2.0): Remove
_cthread_exit_routine, _cthread_init_routine, cthread_keycreate,
cthread_getspecific, cthread_setspecific, __libc_getspecific.
* hurd/Versions
[SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2)] (libc: GLIBC_2.0):
Put them here instead.
[!SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2)] (libc: HURD_CTHREADS_0.3):
New version set. Those cthreads symbols go here instead in this case.
* Versions.def (libc) [USE_IN_LIBIO]: Add HURD_CTHREADS_0.3 version.
Ulrich Drepper [Thu, 30 Mar 2000 16:30:49 +0000 (16:30 +0000)]
Update.
2000-03-30 Ulrich Drepper <drepper@redhat.com>
Implement dynamic determination of constructor/destructor order in
the dynamic linker.
* elf/Versions [ld.so] (GLIBC_2.0): Remove _dl_init_next.
(GLIBC_2.2): Add _dl_init.
* elf/dl-close.c: Also call all destructors in FINI_ARRAY.
r_duplist is not anymore allocated separately. l_initfini is and
therefore free it if necessary.
* elf/dl-deps.c: If a searchlist has to be allocated, put all in one
malloc block. Otherwise allocate l_initfini list only.
Put dependencies for the object in l_initfini list.
Sort dependencies for the object to be loaded topologically.
* elf/dl-fini.c: Before running the destructors sort the topologically.
* elf/dl-init.c (_dl_init): Renamed from _dl_init_next. Rewrite to
call constructors instead of iterating over the pointers. Get list of
objects for which to run constructors from l_initfini element. Accept
argc, argv, and env as parameters and pass them to the constructors.
* elf/ld-load.c (_dl_map_object_from_fd): Initialize l_ldnum member
with size of dynamic section.
* elf/dl-open.c (dl_open_worker): Only call _dl_init instead of
_dl_init_next and calling constructors ourself.
* elf/dl-preinit.c (_dl_preinit): Renamed from _dl_preinit_next.
Take argc, argv, and env as parameters and pass them to the
constructors. Rewrite to call all constructors and not iterate over
the pointers.
* elf/dynamic-link.h: Don't relocate DT_FINI_ARRAY entry. Don't
precompute l_initcount and l_preinitcount.
* elf/link.h (struct link_map): Add l_ldnum member.
Make l_phdr_allocated part of the bitfield. Remove l_runcount,
l_initcount, and l_preinitcount. Add l_initfini.
* sysdeps/generic/ldsodefs.h: Replace _dl_init_next prototype with
one for _dl_init.
* sysdeps/i386/dl-machine (RTLD_START): Rewrite to match new init
function interface.
* sysdeps/unix/sysv/linux/init-first.h: Removed.
* sysdeps/unix/sysv/linux/Dist: Delete file here as well.
* sysdeps/unix/sysv/linux/init-first.c [PIC]: Don't use
SYSDEP_CALL_INIT. Make _init a strong alias of init. The calling
conventions now match.
* sysdeps/generic/libc-start.c: Calling __libc_init_first has no
effect for shared objects. Don't emit message and call only for
static library.
Ulrich Drepper [Wed, 29 Mar 2000 16:06:35 +0000 (16:06 +0000)]
Update.
2000-03-29 Ulrich Drepper <drepper@redhat.com>
* iconvdata/testdata/CSA_Z243.4-1985-1..UCS-2BE: Renamed from
CSA_Z243.4-1985-1..UCS2.
* iconvdata/testdata/ISO-8859-10..UCS-2BE: Renamed from
ISO-8859-10..UCS2.
Ulrich Drepper [Tue, 28 Mar 2000 17:33:37 +0000 (17:33 +0000)]
Update.
2000-03-28 Ulrich Drepper <drepper@redhat.com>
* iconvdata/TESTS: Use UCS-2BE instead of UCS2.
* iconv/loop.c: Define get16, get32, put16, and put32 macros to
allow as well reading from/writing to unaligned addresses on machines
which don't support this in hardware. Use FCTNAME macro to define
function name. Include the file a second time for platforms which
need special unaligned handling.
* iconv/skeleton.c: Define get16u, get32u, put16u, and put32u macros
to access potentially unaligned addresses. These macros are intended
to be used only outside the loops.
(unaligned): New definition. In case the machine can handle unaligned
access define as zero. Otherwise as a variable which is initialized
as nonzero in case the buffer passed in at runtime is unaligned with
respect to the character set encoding involved.
Call aligned or unaligned looop functions according to unaligned
variable.
* iconvdata/8bit-gap.c: Use get16, get32, put16, and put32 instead
of direct casting pointer to potentially handle unaligned memory
accesses.
* iconvdata/8bit-generic.c: Likewise.
* iconvdata/ansi_x3.110.c: Likewise.
* iconvdata/big5.c: Likewise.
* iconvdata/euc-cn.c: Likewise.
* iconvdata/euc-jp.c: Likewise.
* iconvdata/euc-kr.c: Likewise.
* iconvdata/euc-tw.c: Likewise.
* iconvdata/gbk.c: Likewise.
* iconvdata/iso-2022-cn.c: Likewise.
* iconvdata/iso-2022-jp.c: Likewise.
* iconvdata/iso-2022-kr.c: Likewise.
* iconvdata/iso646.c: Likewise.
* iconvdata/iso_6937-2.c: Likewise.
* iconvdata/iso_6937.c: Likewise.
* iconvdata/johab.c: Likewise.
* iconvdata/sjis.c: Likewise.
* iconvdata/t.61.c: Likewise.
* iconvdata/uhc.c: Likewise.
* iconvdata/unicode.c: Likewise.
* iconvdata/utf-16.c: Likewise.
* locale/programs/simple-hash.c: Little optimizations. Remove K&R
prototypes.
* malloc/Versions [libc] (GLIBC_2.2): Add mcheck_check_all.
* malloc/mcheck.c (mcheck_check_all): Renamed from check_all and made
public.
* malloc/mcheck.h (mcheck_check_all): Declare.
Ulrich Drepper [Tue, 28 Mar 2000 17:18:18 +0000 (17:18 +0000)]
Define get16, get32, put16, and put32 macros to allow as well reading from/writing to unaligned addresses on machines which don't support this in hardware. Use FCTNAME macro to define function name. Include the file a second time for platforms which need special unaligned handling.
Ulrich Drepper [Tue, 28 Mar 2000 05:05:42 +0000 (05:05 +0000)]
Update.
2000-03-23 Bruno Haible <haible@clisp.cons.org>
* iconv/gconv_int.h (__gconv_transform_ucs2little_internal,
__gconv_transform_internal_ucs2little): Remove declarations.
* iconv/gconv_simple.c (__gconv_transform_ucs2_internal,
__gconv_transform_internal_ucs2): Never need to bswap_16.
(__gconv_transform_ucs2reverse_internal,
__gconv_transform_internal_ucs2reverse): Always need to bswap_16.
Roland McGrath [Mon, 27 Mar 2000 19:43:54 +0000 (19:43 +0000)]
* Makeconfig (preprocess-versions): New canned sequence for running
cpp on shlib-versions and the like.
(soversions.i): Use it.
* Makerules (Versions.all, sysd-versions): Use it to preprocess the
Versions.def and Versions files.
Roland McGrath [Mon, 27 Mar 2000 19:42:09 +0000 (19:42 +0000)]
2000-03-27 Roland McGrath <roland@baalperazim.frob.com>
* Makeconfig (preprocess-versions): New canned sequence for running
cpp on shlib-versions and the like.
(soversions.i): Use it.
* Makerules (Versions.all, sysd-versions): Use it to preprocess the
Versions.def and Versions files.
Ulrich Drepper [Mon, 27 Mar 2000 05:36:34 +0000 (05:36 +0000)]
Update.
2000-03-26 Ulrich Drepper <drepper@redhat.com>
* include/features.h: Undef and document __USE_XOPEN2K.
* malloc/mcheck.c: Implement pedantic checking of all allocated blocks
whenever a function is called. Initiated by calling mcheck_pedantic
instead of mcheck.
* malloc/mcheck.h: Declare mcheck_pedantic.
* malloc/Versions [libc] (GLIBC_2.2): Add mcheck_pedantic.
* locale/programs/localdef.c: Use mcheck_pedantic instead of mcheck
for now.
Ulrich Drepper [Sun, 26 Mar 2000 21:24:46 +0000 (21:24 +0000)]
Update.
2000-03-26 Roland McGrath <roland@baalperazim.frob.com>
* posix/unistd.h (intptr_t): Conditionalize on [__USE_MISC ||
__USE_XOPEN_EXTENDED] rather than on [__USE_UNIX98].
We need this for the sbrk decl, which can be included without Unix98.
Ulrich Drepper [Sun, 26 Mar 2000 20:35:45 +0000 (20:35 +0000)]
Update.
2000-03-20 Richard Henderson <rth@cygnus.com>
* nis/nss_nis/nis-service.c (_nss_nis_getservbyport_r): Last
argument to yperr2nss is an int, not size_t.
* posix/regex.c (print_partial_compiled_pattern): Cast all
ptrdiff_t to long for printing.
(print_compiled_pattern): Use Z for printing size_t.
* posix/testfnm.c (tests): Avoid trigraphs.
* sysdeps/alpha/dl-machine.h (ELF_MACHINE_RUNTIME_TRAMPOLINE):
Use a C comment, not an assembly comment.
* sysdeps/unix/sysv/linux/alpha/msgctl.c: Clarify use
of __ASSUME_32BITUIDS.
* sysdeps/unix/sysv/linux/arm/sys/ucontext.h: New file.
2000-03-24 Roland McGrath <roland@baalperazim.frob.com>
* sysdeps/posix/getaddrinfo.c: Include <net/if.h> for if_nametoindex.
(gaih_inet): Remove unused duplicate variable.
* inet/getnameinfo.c (getnameinfo): Use IFNAMSIZ, not MAXHOSTNAMELEN.
Don't use __libc_sa_len, which only exists for Linux. Just handle
AF_INET and AF_INET6 directly as well as AF_LOCAL, since those are the
only flavors supported by this function anyway.
2000-03-24 Geoff Clare <gwc@unisoft.com>
* stdlib/strfmon.c: corrected problems with missing signs and
missing or extra spaces; allow for sign strings longer than
one character; add padding to ensure positive and negative
formats are aligned when a left precision is used.
2000-03-26 Ulrich Drepper <drepper@redhat.com>
* stdlib/random_r.c (__setstate_r): Allow RNGs of type 4.
Patch by John Mizel <John.Mizel@msdw.com>.
Roland McGrath [Fri, 24 Mar 2000 20:59:00 +0000 (20:59 +0000)]
* sysdeps/mach/hurd/if_index.c: New file.
* sysdeps/unix/sysv/linux/net/if.h: Moved to ...
* sysdeps/gnu/net/if.h: here.
(_IOT_ifconf, _IOT_ifreq): Hurd ioctl type macros moved from ...
* sysdeps/mach/hurd/net/if.h: ... here; this file now removed.
* sysdeps/generic/net/if.h: New file. Declares just the standard
functions and `struct if_nameindex' type.
* socket/Makefile (headers): Add net/if.h here.
* sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Not here.
* sysdeps/mach/hurd/Dist: Remove it here.
* sysdeps/unix/sysv/linux/Dist: And here.
* sysdeps/generic/if_index.c: Include <net/if.h>.