Thu Sep 5 03:20:42 1996 Ulrich Drepper <drepper@cygnus.com>
Change configuration and Makefiles to allow add-ons to have a
sysdeps/ directory hierachy.
* configure.in: Test for sysdeps/ directory in add-ons. Before
all test and searches in these hierachies, too.
* Makeconfig (full-config-subdirs): Define based on $(config-sysdirs).
Extend with $(..) if not absolute path.
Use $(full-config-subdirs) where $(config-sysdirs) was used.
* Makefile ($(objpfx)sysd-dirs): Use config-sysdirs.
* MakeTAGS: Use $(full-config-subdirs).
* Makerules: Change comment to libc.so link script.
(sysdirs): Define based on $(full-config-subdirs).
(sysd-Makefile): Define using config-sysdirs.
(sysd-rules): Likewise.
* sysdeps/unix/Makefile (sysd-syscalls): Define based on +sysdep-dirs.
* sysdeps/unix/make-syscalls.sh: Remove basedir argument.
Wed Sep 4 01:32:21 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/fpu/k_cos.c: Rewritten for better accuracy.
* sysdeps/m68k/fpu/k_sin.c: Likewise.
* sysdeps/m68k/fpu/k_tan.c: Likewise.
Thu Sep 5 01:06:09 1996 Richard Henderson <rth@tamu.edu>
* malloc/free.c (free): Protect by using __libc_malloc_lock.
* malloc/malloc-find.c (malloc_find_object_address): Likewise.
* malloc/malloc-size.c (malloc_usable_size): Likewise.
* malloc/malloc-walk.c (malloc_walk): Likewise.
* malloc/memalign.c (memalign): Likewise.
* malloc/realloc.c (realloc): Likewise.
* malloc/malloc.c: Define __libc_malloc_lock.
(_malloc_internal): Don't use `malloc'. Instead look for
`__malloc_hook' or call `_malloc_internal'.
(malloc): Protect by using `__libc_malloc_lock'.
* malloc/malloc.h: Declare `__libc_malloc_lock'.
Mon Sep 2 22:42:59 1996 Richard Henderson <rth@tamu.edu>
* sysdeps/alpha/elf/start.S: Use weak_alias for __start
instead of the hard definition.
* sysdeps/alpha/dl-machine.h (RTLD_START): Add type info for
_start and _dl_start_user.
* sysdeps/unix/sysv/linux/alpha/init-first.h (SYSDEP_CALL_INIT):
Make _dl_starting_up weak. Add type info for NAME.
Mon Sep 2 22:15:14 1996 Richard Henderson <rth@tamu.edu>
* Makefile (all): Add extra_solibs pass.
(+subdir_targets): Same.
* Rules (extra_solibs): New phony empty target for subdirs without
extra libs.
* extra-lib.mk: Build lib*.so* in extra_solibs not lib-noranlib.
* manual/Makefile: Add dummy extra_solibs target.
Sun Sep 1 15:41:22 1996 Richard Henderson <rth@tamu.edu>
* Makeconfig (+link): Add $(link-extra-libs).
(link-extra-libs): New variable which expands to the full paths of
the other libraries needed by a program, as controled by LDLIBS-$(@F).
* db/Makefile: Use LDLIBS-makedb to link libdb not a dependency, as
the later attempts to install the library before linking it.
* sysdeps/unix/alpha/sysdep.S: Align errno.
* sysdeps/unix/sysv/linux/alpha/ioperm.c (struct platform): Add
hae_shift entry.
(io): Move bus_memory_base and sparse_bus_memory_base into struct.
(_hae_shift): New function.
* sysdeps/unix/sysv/linux/alpha/sys/io.h: New file. Prototypes
for the bus query functions.
Sat Aug 31 18:14:54 1996 Richard Henderson <rth@tamu.edu>
* elf/dl-close.c (_dl_close): In static executables, map->l_prev
can be NULL when unloading a library.
* elf/dl-open.c (_dl_open): Pass __environ instead of __libc_envp
to the library .init function.
* sysdeps/alpha/dl-machine.h (elf_machine_rela): Since we omitted
part of the COPY reloc processing earlier, omit the rest now --
we'll get into less trouble later when some fool does use a COPY.
* sysdeps/unix/sysv/linux/init-first.c (init): Accept argc et al as
parameters. Move all argc and __libc_multiple_libcs calculation out
to init-first.h. Use __environ not __libc_envp.
* sysdeps/unix/sysv/linux/alpha/init-first.h: Rewrite.
* sysdeps/unix/sysv/linux/i386/init-first.h: Rewrite.
Thu Aug 29 20:26:40 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/posix/profil.c (profil): Don't clobber saved timer and
signal settings when profiling was already turned on.
* csu/gmon-start.c (__gmon_start__) [HAVE_INITFINI]: Protect from
being called twice.
Wed Sep 4 01:31:50 1996 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/i386/mmap.S: Test for
0 < return value < -4096 and not < 0 to decide about failure.
Reported by Andreas Jaeger.
Tue Sep 3 19:04:05 1996 Ulrich Drepper <drepper@cygnus.com>
* stdio-common/vfscanf.c (__vfscanf): Don't count EOF char
in %c format.
Sat Aug 31 18:10:51 1996 Ulrich Drepper <drepper@cygnus.com>
* wcsmbs/wchar.h: Define prototypes for wcstoq and wcstouq only
#ifdef __USE_GNU.
Sat Aug 31 12:34:29 1996 Ulrich Drepper <drepper@cygnus.com>
* version.c: Add missing newline character in banner.
* sysdeps/unix/sysv/linux/alpha/Dist: Correct typo.
* sysdeps/unix/sysv/linux/i386/Dist: Likewise.
Sat Aug 31 03:07:39 1996 Ulrich Drepper <drepper@cygnus.com>
* intl/l10nflist.c (_nl_normalize_codeset): We convert to lower
case, so don't prepend uppercase `ISO' for only numeric arg.
Fri Aug 30 01:26:44 1996 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/i386/Dist: Add close.S.
* sysdeps/unix/sysv/linux/m68k/Dist: Likewise.
* sysdeps/unix/sysv/linux/alpha/Dist: Likewise.
* version.c: Add comment about where to report bugs to.
* catgets/gencat.c (usage): Likewise.
* db/makedb.c (usage): Likewise.
* locale/programs/locale.c (usage): Likewise.
* locale/programs/localedef.c (usage): Likewise.
* manual/socket.texi: A little bit better wording.
Thu Aug 29 18:03:06 1996 Ulrich Drepper <drepper@cygnus.com>
* Makerules: Make sure directory exists before generating stamp file.
(BUILD_CFLAGS): Always refer to using $(..).
* manual/Makefile: Make sure directory exists before generating
stamp file.
(make-target-directory): Add macro definition.
* sysdeps/generic/Makefile: Make sure directory exists before
generating stamp file.
* Makefile (distribute): Add autolock.sh. Reported by Fila Kolodny.
Tue Aug 27 10:06:22 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
When compiling in separate directory put objects into
subdirectories matching the source layout.
* Makeconfig (objpfx) [ifdef objdir]: Append $(subdir).
When looking for configparms try in $(common-objpfx).
Use $(common-objpfx)SUBDIR to find objects from other subdirectory
builds.
* Makerules: Add $(objpfx) to vpath list.
(make-dummy-dep): Use $(common-objpfx) to avoid creating dummy.d
more than once. All uses in dependency lists changed.
(+make-deps): Make target directory.
(sed-remove-objpfx): Substitute $(common-objpfx).
(do-ar, build-extra-lib, $(common-objpfx)stub-$(subdir)): Use
$(objpfx) instead of $(objdir) for cd command.
(O%-lib): Always find libc relative to $(..).
(subdir-stamps): Collect stamp files from subdirs.
(common-mostlyclean): Remove stub file in $(common-objpfx).
* MakeTAGS ($P/siglist.pot): Find siglist.c in stdio-common.
* Rules (dep-dummy-lib): Use $(common-objpfx) to avoid creating to
more than once.
($(objpfx)dummy.c, $(objpfx)empty.c): Change target name to use
$(common-objfpx). All uses in dependency lists changed.
(generated): Prepend $(..) to names.
* bare/Makefile ($(objpfx)lib$(config-vendor).a): Remove $(objpfx)
from $@.
* nss/Makefile ($(objpfx)libnss_dns.so, $(objpfx)libnss_db.so):
Use $(common-objpfx) instead of $(..) in dependencies.
* sysdeps/mach/Makefile (mach-objpfx): Unconditionally use
$(common-objpfx) instead of $(..) and (objpfx).
* sysdeps/mach/hurd/Makefile (hurd-objpfx): Likewise.
(rpath-link): Likewise.
(rpcuserlibs): Likewise.
* sysdeps/unix/Makefile [$(subdir) = stdio-common]: Check for
errlist.c in $(objpfx), not $(common-objpfx).
($(common-objpfx)s-proto.d): Special rule not covered by pattern
rule.
* sysdeps/unix/make-syscalls.sh: Make syscall rules depending on
s-proto.d in $(common-objpfx), not $(objpfx).
Thu Aug 29 17:45:49 1996 Ulrich Drepper <drepper@cygnus.com>
* nss/nsswitch.c (nss_dlerror_run): Free returned error
string.
Thu Aug 29 15:53:33 1996 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/libm-ieee754/e_acoshl.c: New file. `long double'
implementation.
* sysdeps/libm-ieee754/e_atanhl.c: Likewise.
* sysdeps/libm-ieee754/e_remainderl.c: Likewise.
* sysdeps/libm-ieee754/e_scalbl.c: Likewise.
* sysdeps/libm-ieee754/s_asinhl.c: Likewise.
* sysdeps/libm-ieee754/s_cosl.c: Likewise.
* sysdeps/libm-ieee754/s_sinl.c: Likewise.
* sysdeps/libm-ieee754/s_tanhl.c: Likewise.
* sysdeps/libm-ieee754/s_tanl.c: Likewise.
* stdio-common/printf_fp.c (__printf_fp): Use default value '.' if
* elf/dl-open.c (_dl_open): Force an indirect call for
_dl_relocate_object so there is no chance a PLT fixup will be done
and clobber _dl_global_scope before our call happens.
* sysdeps/i386/fpu/__math.h (tan): Correct output constraint from =u
to =t; must operate on top of fp reg stack, not second from top.
Correct input constraint to 0 from t; must be explicit when input and
output are the same register.
(floor): Use __volatile instead of volatile.
(ceil): Likewise.
* manual/Makefile ($(objpfx)stamp%-$(subdir)): Separate rule from
other targets.
* manual/Makefile (glibc-targets): Variable and targets removed.
Sat Jul 13 23:50:17 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* manual/Makefile (lib): New phony target. Depend on stamp files.
($(objpfx)stamp%-$(subdir)): New rule to create them when necessary.
1996-07-13 Paul Eggert <eggert@twinsun.com>
* time/strftime.c (strftime): Use space padding for %e, %k, %l,
to match Emacs format-time-string specification.
(DO_NUMBER_SPACEPAD): Renamed from DO_NUMBER_NOPAD.
Sat Jul 13 20:17:38 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* elf/dl-deps.c (_dl_map_object_deps): Take new args PRELOADS and
NPRELOADS, vector of `struct link_map *'s; add them to the searchlist
between MAP and its deps.
* elf/link.h: Fix decl.
* elf/rtld.c (dl_main): If not secure, parse LD_PRELOAD for
colon-separated list of names, map those and pass vector of ptrs as
PRELOADS list to _dl_map_object_deps.
* elf/dl-runtime.c (_dl_object_relocation_scope): Pass new args to
_dl_map_object_deps with empty preload list.
* elf/dl-open.c (_dl_open): Likewise.
* sysdeps/mach/hurd/dl-sysdep.c (_dl_sysdep_open_zero_fill): Function
removed.
(__mmap): Pass MACH_PORT_NULL for memobj port when (flags & MAP_ANON).
* sysdeps/generic/dl-sysdep.c (_dl_sysdep_open_zero_fill):
Conditionalize defn on [! MAP_ANON].
* elf/dl-minimal.c (malloc): Conditionalize use of _dl_zerofd
on [! MAP_ANON].
* elf/rtld.c (dl_main): Likewise.
* elf/dl-load.c (_dl_zerofd): Conditionalize defn on [! MAP_ANON].
(_dl_map_object_from_fd): Conditionalize initialization of _dl_zerofd.
* elf/dl-fini.c (_dl_fini): Skip finalizer for executable itself.
Sat Jul 13 02:47:53 1996 David Mosberger-Tang <davidm@azstarnet.com>
* stdlib/random.c (__random): Declare as int32_t to be in sync
with declaration.
* socket/Makefile (headers): Add socketbits.h.
* misc/mntent.c (endmntent): Allow for NULL stream. SunOS does
it that way.
* grp/initgroups.c (initgroups): Add groups that user is a member
of, not the ones he is _not_ a member of.
* nss/nsswitch.c (known_compare): Make known_compare() a static
instead of a local function. The latter are difficult to debug
and slow to execute on certain platforms.
* sysdeps/posix/ttyname_r.c (ttyname_r): Use sizeof (dev) - 1 in
place of sizeof (dev). The size of a literal string includes the
NUL byte.
* sysdeps/unix/getlogin.c (getlogin): Initialize ut_fd with -1.
Thu Jul 11 16:59:10 1996 David Mosberger-Tang <davidm@azstarnet.com>
* misc/mntent.c (addmntent): Seek to end of file before writing
entry. Return 1 on error, not -1.
Tue Jul 9 19:08:05 1996 David Mosberger-Tang <davidm@azstarnet.com>
* sysdeps/unix/sysv/linux/syscalls.list: Mark bdflush as EXTRA
syscall.
Fri Jul 5 18:44:55 1996 David Mosberger-Tang <davidm@azstarnet.com>
* sysdeps/unix/sysv/linux/alpha/ioperm.c (port_to_cpu_addr): Size
shift amount for Jensen must be 5 not 4.
Sat Jul 13 20:04:28 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
* socket/sys/socket.h (struct osockaddr): New type.
Sat Jul 13 03:50:53 1996 Ulrich Drepper <drepper@cygnus.com>
* misc/Makefile (routines): Add qefgcvt and qefgcvt_r.
* misc/efgcvt.c, misc/efgcvt_r.c: Change code so that the `double'
and `long double' versions can be generated.
* misc/qefgcvt.c, misc/qefgcvt_r.c: New files. Define macros
so that included efgcvt{,_r}.c file generate `long double'
versions.
* stdlib/stdlib.h: Add prototypes for q[efg]cvt() and q[ef]cvt_r()
functions.
* manual/startup.texi: Document new getsubopt function.
* manual/examples/subopt.c: New example program for documenting
getsubopt function.
Fri Jul 12 23:58:37 1996 Ulrich Drepper <drepper@cygnus.com>
* stdlib/Makefile (routines): Add getsubopt.
* stdlib/stdlib.h: Add prototype for getsubopt.
* stdlib/getsubopt.c: New file. Implement getsubopt function
to handle suboption parsing.
* rpm/template: New file.
* rpm/Makefile: New file.
* Makeconfig (sysdep-configures): Remove empty variable.
* Makerules (distinfo-vars): Write defns for $(install-lib.so) and
$(versioned).
* manual/Makefile (subdir_%): Add new rule with no deps, secondary to
to rule w/dep on %, with no-op commands.
* Makerules (subdir_distinfo): New phony target; depend on distinfo.
* Makefile (rpm/%): New rule.
(+subdir_targets): Add subdir_distinfo.
* sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Don't add
fpu_control.h here.
Mon Feb 19 15:30:26 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu>
* stdio-common/tstscanf.c (main): Add check for "0" as %d.
* sysdeps/stub/msync.c: Undo change of Jan 29; just two args.
Only some systems have three args; let them define their own stub.
* sysdeps/generic/dl-sysdep.c: Declare _dl_secure.
* sysdeps/generic/machine-gmon.h: New file.
* gmon/Makefile (distribute): Add machine-gmon.h.
* gmon/mcount.c: Undo changes of Feb 13.
Include "machine-gmon.h".
Sun Feb 18 13:24:06 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu>
* sysdeps/unix/sysv/linux/direct.h: File removed, since it is
identical to unix/common/direct.h.
* sysdeps/unix/Makefile [no_deps]: Don't include s-proto.d.
* sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Don't add ipc.
* stdio-common/Makefile (tests): Remove scanf6.
* sysdeps/unix/sysv/linux/Makefile (non-lib.a): Append libieee.a.
* time/mktime.c (mktime): Move static variable localtime_offset to
file scope.
* stdio-common/vfscanf.c: Put '0' in buffer before scanning for %i
base indicator.
Thu Feb 15 16:56:17 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/m68k/dl-machine.h (elf_machine_load_address): Corrected.
(ELF_MACHINE_BEFORE_RTLD_RELOC): Define.
(_dl_runtime_resolve): Save %a1 as well.
(ELF_MACHINE_RUNTIME_FIXUP_ARGS): Add second dummy arg.
(elf_machine_relplt): Define.
* elf/dl-runtime.c: Include possible extra args in declaration of
fixup.
* sysdeps/i386/add_n.S [PIC]: Use self-call to avoid generating reloc.
* sysdeps/i386/sub_n.S [PIC]: Likewise.
* libc-symbols.h (_elf_set_element) [PIC]: Don't make the element
word `const'.
* Makeconfig (CPPFLAGS, CFLAGS): Fix swapped references to
$(foo-$(suffix $@)).
* manual/Makefile (chapters-incl): Filter out summary.texi.