summaryrefslogtreecommitdiff
path: root/sysdeps
AgeCommit message (Collapse)Author
1996-06-19Thu Jun 13 17:25:11 1996 David Mosberger-Tang <davidm@azstarnet.com>cvs/libc-960619Roland McGrath
* sysdeps/generic/memcmp.c: Add prototype decls for internal fns. * locale/programs/locale.c: Include string.h. * sunrpc/xdr_stdio.c (xdrstdio_getlong), sunrpc/xdr_rec.c (xdrrec_getlong), sunrpc/xdr_mem.c (xdrmem_getlong): Make sure appropriate sign-extension is performed on machines with sizeof(long) > 4. * sunrpc/xdr.c (xdr_int, xdr_u_int): If sizeof(long)==8 and sizeof(int)<sizeof(long), we need to go through a temporary variable. * locale/programs/ld-numeric.c: Include <alloca.h> * libio/stdio.h (__libc_fatal): Add prototype. * libio/cleanup.c: Use __P() to declare prototype when __STDC__ is in efect. * libio/iopopen.c (read_or_write, parent_end, child_end): Declare volatile to avoid "might get clobbered by longjmp" warning. * features.h (__KERNEL_STRICT_NAMES): Define __KERNEL_STRICT_NAMES unless _LOOSE_KERNEL_NAMES is in effect (which, with high probability is a sure loser). * sysdeps/unix/sysv/linux/gnu/types.h (__KERNEL_STRICT_NAMES): Remove. * sysdeps/unix/bsd/osf/alpha/start.S (errno): Removed. * sysdeps/unix/sysv/linux/alpha/start.S: Ditto. * misc/paths.h (_PATH_MAN): Change from /usr/share/man to /usr/man to be Linux FSSTND compliant. Mon Jun 10 17:50:31 1996 David Mosberger-Tang <davidm@azstarnet.com> * sysdeps/unix/sysv/linux/alpha/pipe.S: Use PSEUDO. * sysdeps/unix/sysv/linux/alpha/sysdep.S, sysdeps/unix/sysv/linux/alpha/brk.S, sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S, sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S, sysdeps/unix/sysv/linux/alpha/llseek.S, sysdeps/unix/sysv/linux/alpha/sigsuspend.S, sysdeps/unix/sysv/linux/alpha/syscall.S: Rename syscall_error to __syscall_error to avoid intruding application name space. * sysdeps/unix/sysv/linux/alpha/sysdep.h: Rename __NR_get?id to SYS_get?id so that syscall stubs in sysdeps/unix define these syscalls in terms of getxpid/getxuid/getxgid. * sysdeps/unix/_exit.S, sysdeps/unix/getegid.S, sysdeps/unix/geteuid.S, sysdeps/unix/getppid.S, sysdeps/unix/execve.S, sysdeps/unix/fork.S, sysdeps/unix/syscall.S: Terminate syscall with PSEUDO_END. * sysdeps/unix/make-syscalls.sh, sysdeps/unix/sysdep.h (PSEUDO_END): Rename END() to PSEUDO_END(). * sysdeps/unix/alpha/sysdep.h: Move error-handling code in PSEUDO to PSEUDO_END to improve branch-prediction. Include .frame directive to make syscalls debugabble. (PSEUDO_END): New macro. * sysdeps/unix/alpha/sysdep.h, sysdeps/alpha/bb_init_func.S, sysdeps/unix/sysv/linux/alpha/brk.S: Use ldiq instead of ldi since latter is illegal under DEC Unix. * sysdeps/unix/alpha/sysdep.S: Renamed from sysdeps/unix/sysv/linux/alpha/sysdep.S. This file works for OSF/1 as well. * sysdeps/unix/bsd/osf/alpha/sysdep.S: Remove (note that the EWOULDBLOCK -> EAGAIN mapping was unnecessary since EWOULDBLOCK==EAGAIN under DEC Unix and Linux/Alpha). * sysdeps/alpha/divrem.h: Use retaddr instead of ra as the return address register in the .frame directive. * sysdeps/alpha/copysign.c: Remove. * sunrpc/rpc/types.h: Include <sys/param.h> and <netinet/in.h> to avoid RPC definitions of INADDR_LOOPBACK and/or MAXHOSTNAMELEN. * errno.h: Move __END_DECLS to correct place to make file compilable under c++. * dirent/dirent.h: Document _DIRENT_HAVE_D_OFF macro. Define d_ino only if <direntry.h> hasn't defined d_fileno. * configure.in (HAVE_ASM_WEAKEXT_DIRECTIVE): Reverse order of arguments to weakext to make .weakext detection work on ECOFF systems. * FAQ: Add Linux/Alpha to list of supported platforms. Mention that _validuser() has been replaced by __ivaliduser(). Thu Jun 6 21:39:38 1996 David Mosberger-Tang <davidm@azstarnet.com> * sysdeps/unix/bsd/sun/sunos4/tcsetattr.c (tcsetattr): Declare cmd as unsigned long, not as int (to avoid incorrect int->long promotion).
1996-06-18Sun Jun 16 03:22:49 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>cvs/libc-960618Roland McGrath
* Make-dist (subdir): Make empty value really empty.
1996-06-17Mon Jun 17 17:53:21 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>Roland McGrath
* sysdeps/mach/hurd/brk.c (___brk_addr): Define as weak alias for _hurd_brk. * libio/stdio.h [__USE_SVID]: Declare tempnam. Fri Jun 14 19:28:33 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/sysv/linux/syscalls.list: Add swapon with two parameters. Wed Jun 12 20:40:51 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/m68k/dl-machine.h (RTLD_START): Fix access to _dl_default_scope. * sysdeps/stub/elfclass.h: New file.
1996-06-16* hurd/hurdinit.c (map0): Remove [!PIC] conditional.cvs/libc-960616Roland McGrath
* shlib-versions (*-*-*): Add libutil=1. * rpm/Makefile (install-lib): Add libc.a et al. (install-others): Only add libc.so if $(build-shared) is yes. * math/Makefile (install-lib): New variable, list libieee.a. (non-lib.a): Likewise. (extra-objs): Likewise, and ieee-math.o. ($(objpfx)libieee.a): New target, link to ieee-math.o. * math/ieee-math.c: New file. * sysdeps/unix/sysv/linux/Makefile [$(subdir)=math]: Remove setfpucw and libieee.a stuff. * sysdeps/unix/sysv/linux/ieee-fpucw.c: File removed. * sysdeps/unix/sysv/linux/i386/ieee_fpu.c: File removed.
1996-06-16Sun Jun 16 03:22:49 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>Roland McGrath
* sysdeps/unix/sysv/Makefile (sysdep_headers): Make append of termio.h and rule for it conditional on termio.h not already being in sysdep_headers. * rpm/Makefile (install-others) [libc.so-version]: Get libc.so from $(libdir), only the versioned named from $(slibdir). (instfiles): New variable. (glibc-$(version).$(config).rpm): New target. Run rpm -bb. * rpm/rpmrc: New file. A third of the options controlling rpm can only be given here (another third is on the command line, and a third cannot be specified in any way shape or form).
1996-06-16Sun Jun 16 02:44:22 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>Roland McGrath
* 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.
1996-06-16* hurd/Makefile (routines): Add get-host, set-host.Roland McGrath
(distribute): Add hurdhost.h. * hurd/hurdhost.h: New file. * sysdeps/mach/hurd/gethostname.c: Use _hurd_get_host_config. * sysdeps/mach/hurd/gethostid.c: Likewise. * sysdeps/mach/hurd/sethostname.c: Use _hurd_set_host_config. * sysdeps/mach/hurd/sethostid.c: Likewise. * hurd/get-host.c: New file. * hurd/set-host.c: New file. * math/Makefile (headers): Add fpu_control.h. (aux): New variable, list fpu_control and setfpucw. * sysdeps/generic/fpu_control.c: New file. * sysdeps/stub/fpu_control.h: New file. * sysdeps/unix/sysv/linux/m68k/fpu_control.h: Moved to ... * sysdeps/m68k/fpu_control.h: here. * sysdeps/unix/sysv/linux/i386/fpu_control.h: Moved to ... * sysdeps/i386/fpu_control.h: here. * sysdeps/unix/sysv/linux/alpha/fpu_control.h: Moved to ... * sysdeps/alpha/fpu/fpu_control.h: here. Fixed copyright. * sysdeps/unix/sysv/linux/alpha/Makefile (sysdep_routines): Remove setfpucw, fpu_control. * sysdeps/unix/sysv/linux/alpha/fpu_control.c: File removed. * sysdeps/unix/sysv/linux/setfpucw.c: Moved to ... * sysdeps/generic/setfpucw.c: here. (__fpu_control): Variable removed. (__setfpucw): Use SET even if zero.
1996-06-16Sat Jun 15 18:13:43 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>Roland McGrath
* sysdeps/unix/sysv/linux/Dist: Add sys/klog.h. * elf/dl-open.c (_dl_open): Remove PARENT argument, pass null. * elf/link.h: Update prototype. * elf/dl-load.c (_dl_map_object): If dependents' DT_RPATHs don't find NAME, try the DT_RPATH of the executable itself if dynamic. * elf/dlopen.c (dlopen): Don't pass first arg to _dl_open. * elf/dl-load.c (_dl_map_object): Exit DT_RPATH checking loop when an open succeeds. * Makerules (build-shlib): Give -L opts for each elt of $(rpath-link). * sysdeps/mach/hurd/Makefile (sysdep-LDFLAGS): Variable removed. (rpath-link): Append to this instead.
1996-06-14Fri Jun 14 01:51:47 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>cvs/libc-960615Roland McGrath
* version.c (banner): New static const variable, complete version banner text. (__libc_print_version): Use it, and use __write instead of printf. * configure.in (sysnames): Don't cache the value, because it depends only on libc sources. Merge uniquifying third pass into Implies/parent expansion second pass. Report each unique name as it is added in partial report string, terminated when finished. * Makeconfig (sysdep_dir): Move defn before config.status rule that expands it. (sysdep-configures): Variable removed. (config.status): Use its contents directly, tighten up a bit, and include Implies files. * elf/dl-open.c (_dl_open) [PIC]: Set PARENT to _dl_loaded if null. * elf/Makefile ($(objpfx)$(rtld-installed-name)): Make a symlink. * sysdeps/mach/hurd/dl-sysdep.c (_dl_sysdep_open_zero_fill): Add comment. * elf/rtld.c (dl_main): Close _dl_zerofd after mapping deps. * sysdeps/generic/machine-gmon.h [NO_UNDERSCORES]: Define mcount as weak alias for _mcount. * sysdeps/alpha/_mcount.S (mcount): Define as weak alias.
1996-06-13Thu Jun 13 00:02:25 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>cvs/libc-960614Roland McGrath
* sysdeps/generic/machine-gmon.h [NO_UNDERSCORES]: Define mcount as weak alias for _mcount. * sysdeps/alpha/_mcount.S (mcount): Define as weak alias.
1996-06-13Thu Jun 13 00:02:25 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>Roland McGrath
* elf/dl-lookup.c (_dl_lookup_symbol): If no value and *REF is null, consider it a strong reference and give the error. Wed Jun 12 15:52:46 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> * elf/dl-open.c (_dl_open): Correctly terminate relocating loop after relocating NEW when it's the only new object. * elf/dl-init.c (_dl_init_next): When out of initializers, set _r_debug.r_state to RT_CONSISTENT and call _dl_debug_state just before return. * elf/rtld.c (dl_main): Move _dl_debug_initialize call after relocation. Call it unconditionally and only fill in DT_DEBUG if it's present. Then call _dl_debug_state with r_state RT_ADD before running initializers. * elf/dl-open.c (_dl_open): Call _dl_debug_initialize and then call _dl_debug_state with r_state RT_ADD before running initializers * elf/dl-close.c (_dl_close): Call _dl_debug_state with r_state RT_DELETE before running finalizers and with RT_CONSISTENT just before return. * elf/Makefile (dl-routines): Add dl-debug. * elf/dl-debug.c: New file. * elf/rtld.c (_dl_r_debug): Rename to _r_debug and move to dl-debug.c. (_dl_r_debug_state): Rename to _dl_debug_state and likewise move. (dl_main): Use _dl_debug_initialize. * elf/link.h: Fix name to _dl_debug_state in decl. (_dl_debug_initialize): Declare new function from dl-debug.c. (_r_debug): Declare it. * Makerules (distinfo-vars): Add install-{lib,data,bin,sbin,others}. In distinfo set $(subdir)-VAR and then set VAR to $($(subdir)-VAR). * Makeconfig (rpath-link): New variable; add $(elfobjdir). (default-rpath): Use it. (built-program-cmd): Use it in LD_LIBRARY_PATH. * Makeconfig (sysdep-configures): Prepend $(sysdep_dir) to names tried. * sysdeps/unix/Dist: Add make-syscalls.sh. * misc/Makefile (headers): Add sys/swap.h. * posix/unistd.h: Remove decls for swapon, swapoff. * sysdeps/generic/sys/swap.h: New file. * sysdeps/unix/sysv/linux/sys/swap.h: New file. * sysdeps/unix/sysv/linux/gnu/types.h: Remove temporary hack #define of __kernel_fsid_t. It is correctly defines in <linux/types.h> now.
1996-06-12* sysdeps/alpha/dl-machine.h: New file.cvs/libc-960612Roland McGrath
1996-06-12Tue Jun 11 19:13:04 1996 Richard Henderson <rth@tamu.edu>Roland McGrath
* elf/dl-close.c: Include <string.h> for memcpy. * elf/dl-lookup.c: Same. * elf/elf.h: Add Elfxx_Symndx for symbol indices. * elf/dl-lookup.c (_dl_lookup_symbol): Use it. (_dl_setup_hash): Use it. * elf/link.h (struct link_map): Use it. * elf/rtld.c (_dl_start): Don't rely on pointer-to-first-arg hack for getting the argc/argv/envp block. Instead, make it the argument. sysdeps/i386/dl-machine.h (RTLD_START): Do that. sysdeps/m68k/dl-machine.h (RTLD_START): Same. * shlib-versions: Add version numbers for alpha-linux. To avoid user confusion, make them the same as i386-linux. * sysdeps/alpha/Makefile [subdir elf]: Add -mno-fp-regs to sysdep-CFLAGS so that _dl_runtime_resolve doesn't have to save them. Add -mbuild-constants to CFLAGS-rtld.c to that we can bootstrap without using literal data. * sysdeps/generic/dl-sysdep.c: Include <string.h> for memcpy. Finish Elf32 -> ElfW migration.
1996-06-11* elf/Makefile ($(objpfx)$(rtld-installed-name)): New target to makeRoland McGrath
link to ld.so if that is not the installed name. (lib-noranlib): Depend on the installed name in the build directory instead of on ld.so. * Makeconfig (link-libc): Include $(elfobjdir)/$(rtld-installed-name) between libc.so and libc.a, because with libc.so's DT_NEEDED for ld.so ld searches libc.a before ld.so (is that an ld bug?). Add $(elfobjdir) to -rpath-link. * Makerules (elfobjdir): Define as . when $(subdir) is elf. * sysdeps/i386/dl-machine.h (elf_machine_rel): In R_386_32 case when relocating _dl_rtld_map, subtract SYM's value from final reloc value, but don't change *RELOC_ADDR before calling *RESOLVE, because it might call the function we are relocating!
1996-06-10* Makerules ($(common-objpfx)libc.so): Depend on $(elfobjdir)/ld.so.cvs/libc-960611Roland McGrath
* elf/dl-close.c: New file. * elf/link.h: Declare _dl_close. * elf/Makefile (routines): Add dl-close. * elf/dlclose.c (dlclose): Use _dl_close. * elf/Makefile ($(objpfx)librtld.so): Remove libelf from deps. * elf/dl-runtime.c (_dl_global_scope): New variable. (_dl_object_relocation_scope): New function. (fixup): Use it. * elf/rtld.c (dl_main): Use it. * elf/dl-open.c (_dl_open): Use it. If (MODE & RTLD_GLOBAL), set the l_global bit and append the new map to _dl_global_scope. * elf/link.h: Declare _dl_global_scope, _dl_global_scope_alloc, and _dl_object_relocation_scope. * elf/link.h (struct link_map): Add l_loader member. Remove _dl_map_object_from_fd decl. * elf/dl-load.c (_dl_map_object): Pass LOADER to ... (_dl_map_object_from_fd): Take new arg LOADER and set l_loader member. (_dl_map_object): Try DT_RPATH from all loaders up the chain. * elf/dl-object.c (_dl_loaded): Variable removed. (_dl_default_scope): New variable replaces it. * elf/link.h (_dl_loaded): Remove variable decl; instead define as macro for _dl_default_scope[2]. (_dl_default_scope): Declare it. * sysdeps/i386/dl-machine.h (RTLD_START): Use _dl_default_scope[2] instead of _dl_loaded. * sysdeps/m68k/dl-machine.h (RTLD_START): Likewise. * elf/rtld.c (dl_main): Use _dl_default_scope for symbol lookups. * elf/dl-reloc.c (_dl_relocate_object): Remove check for _dl_rtld_map. * elf/rtld.c (dl_main): Pass 0 for LAZY flag when re-relocating self. * elf/link.h (struct link_map.l_type): Remove lt_interpreter. (struct link_map): Add new flag member l_global. * elf/dl-reloc.c (_dl_relocate_object): Check for _dl_rtld_map directly instead of looking for lt_interpreter. * sysdeps/i386/dl-machine.h (elf_machine_rel): Likewise. * elf/rtld.c (_dl_start): Don't bother setting BOOTSTRAP_MAP.l_type. (dl_main): Set _dl_rtld_map.l_type to lt_library. * elf/dl-deps.c (_dl_map_object_deps): Propagate MAP->l_type to dependencies loaded, downgrading lt_executable -> lt_library. * elf/dl-load.c (_dl_map_object_from_fd): Take new arg TYPE and set l_type from that, translating lt_library->lt_executable based on the file's ELF type. (_dl_map_object): Likewise. * elf/link.h: Update prototypes. * elf/dl-open.c: Pass type lt_loaded. * elf/rtld.c: Pass type lt_library. * elf/dl-load.c (_dl_map_object_from_fd): Handle null return from _dl_new_object. (_dl_map_object_from_fd: lose): Unchain and free L if it's not null. Free REALNAME, and just use NAME in error message. * elf/dl-object.c (_dl_new_object): If malloc fails, return null instead of calling _dl_signal_error. * elf/dl-load.c (_dl_map_object_from_fd): Close FD before signalling error for _dl_zerofd setup failure. * elf/dl-object.c (_dl_startup_loaded): Variable removed. * elf/link.h: Remove its decl. * elf/dl-reloc.c (_dl_relocate_object): Take new SCOPE arg and pass it through to _dl_lookup_symbol. * elf/link.h (_dl_relocate_object): Update comment and prototype. * elf/rtld.c (dl_main): Pass scope vector to _dl_relocate_object. * elf/dl-lookup.c (_dl_lookup_symbol): Arg SYMBOL_SCOPE is now a null-terminated vector of pointers, no longer a vector of exactly two. * elf/link.h (_dl_lookup_symbol): Update comment and prototype. * elf/dl-runtime.c (fixup): Set up scope for symbol lookup properly as done in _dl_relocate_object. * elf/dlopen.c: Pass "" to _dl_open when FILE is null.
1996-06-10* elf/link.h: Include elfclass.h to define __ELF_NATIVE_CLASS.Roland McGrath
(ElfW, ELFW): Use it. * elf/Makefile (headers): Add elfclass.h. * sysdeps/wordsize-32/elfclass.h: New file. * sysdeps/wordsize-64/elfclass.h: New file. * sysdeps/alpha/Implies: Add wordsize-64. * sysdeps/i386/Implies: Add wordsize-32. * sysdeps/m68k/Implies: Add wordsize-32. * sysdeps/mips/Implies: Add wordsize-32. * sysdeps/sparc/Implies: Add wordsize-32.
1996-06-10Mon Jun 10 06:14:03 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>Roland McGrath
* sysdeps/mach/hurd/dl-sysdep.c (__open): Define this instead of open. (__close, __mmap): Likewise define with __ names now. Mon Jun 10 05:13:18 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> * elf/dl-support.c: New file. * elf/Makefile (CFLAGS-dl-support.c): New variable. (routines, elide-routines.so): Add dl-support. * elf/dl-minimal.c (_dl_pagesize): Remove common defn. * elf/dl-load.c (_dl_pagesize): Define it here. (_dl_map_object_from_fd): Initialize it if zero. * elf/link.h (_dl_pagesize): Remove const. Sun Jun 9 04:04:26 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> * elf/Makefile (routines): Add dl-symbol. * elf/dl-lookup.c (_dl_symbol_value): Moved to ... * elf/dl-symbol.c: New file. * elf/elf.h (Elf32_Xword, Elf32_Sxword): New types. (Elf32_Section, Elf64_Section): New types, 16 bits. (Elf32_Sym, Elf64_Sym): Use it. * elf/dl-deps.c (_dl_open): Moved to ... * elf/dl-open.c: New file. * Makefile (routines): Add dl-open. * elf/Makefile (dl-routines): New variable. (routines): Add $(dl-routines). (elide-routines.so): New variable, set to $(dl-routines). (libdl-inhibit-o): Variable removed; build all flavors of -ldl. (rtld-routines): All but rtld, dl-sysdep, and dl-minimal moved to $(dl-routines). * elf/dl-lookup.c (_dl_lookup_symbol): Remove magic symbol grokage. * elf/dladdr.c: Use ELFW(ST_BIND) in place of ELF32_ST_BIND. * elf/dl-load.c (open_path): Use __ names for open and close. Avoid using strdup. (_dl_map_object): Likewise. (_dl_map_object_from_fd): Use __ names for mmap, munmap, and mprotect. * elf/dl-minimal.c (malloc): Likewise. * elf/dl-reloc.c (_dl_relocate_object): Likewise. * elf/dl-minimal.c (_dl_pagesize): New variable. (malloc): Use that instead of a static variable. * elf/dl-reloc.c (_dl_relocate_object): Use _dl_pagesize instead of calling getpagesize. * elf/dl-load.c (_dl_map_object_from_fd): Likewise. * elf/link.h: Declare _dl_pagesize. * elf/rtld.c (dl_r_debug): Renamed to _dl_r_debug. * elf/link.h (struct link_map): Use Half for l_phnum instead of Word. * elf/rtld.c (dl_main): Use Half for phdr count arg. (_dl_sysdep_start): Update prototype of DL_MAIN function ptr arg. * elf/dl-load.c (_dl_map_object_from_fd): Use explicit Elf32_Word to extract 4-byte magic number, not ElfW(Word). Match EI_CLASS against native wordsize, either 32 or 64. * elf/elf.h (Elf64_Byte, Elf64_Section): Typedefs removed. In C a char is always a byte, no need for a typedef. Section indices are 16-bit quantities in elf64, which already have a typedef Elf64_Half. Remove partial -lelf implementation. There is now a separately-distributed `libelf' package that implements it. * elf/dl-lookup.c: Don't #include <libelf.h> any more. (_dl_elf_hash): New function, moved from libelf.h:elf_hash. (_dl_lookup_symbol): Use it instead of elf_hash. * elf/libelf.h: File removed. * elf/elf_hash.c: File removed. * elf/Makefile (headers): Remove libelf.h. (extra-libs): Remove libelf. (libelf-routines): Variable removed. * elf/Makefile (libdl.so): Remove commands from this target. The implicit rule commands are correct, this explicit rule just serves to add some dependencies. * elf/dl-lookup.c (_dl_lookup_symbol): Use ELFW(ST_TYPE) in place of ELF32_ST_TYPE. Likewise ST_BIND. * elf/do-rel.h (elf_dynamic_do_rel): Likewise R_SYM. * elf/link.h (ElfW): New macro for wordsize-independent ElfXX_* type naming. (ELFW): New macro, likewise for ELFXX_* macro naming. (_ElfW, _ElfW_1): New macros, subroutines of ElfW and ELF. Sat Jun 8 20:52:38 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> * elf/link.h, elf/do-rel.h, elf/dynamic-link.h, elf/dl-deps.c, elf/dl-init.c, elf/dl-load.c, elf/dl-lookup.c, elf/dl-reloc.c, elf/dl-runtime.c, elf/dladdr.c, elf/dlclose.c, elf/dlsym.c, elf/linux-compat.c, elf/rtld.c: Change all uses of `Elf32_XXX' to `ElfW(XXX)' for wordsize-independence. Sat Jun 8 20:50:42 1996 Richard Henderson <rth@tamu.edu> * elf/elf.h: Move Elf64_* types in parity with Elf32 counterparts. (Elf64_auxv_t): New type. (EM_ALPHA, R_ALPHA_*): New macros for elf64-alpha format.
1996-06-10Mon Jun 10 02:22:24 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>Roland McGrath
* sysdeps/unix/sysv/linux/configure.in: New file, start with configure. Add check for installed <linux/version.h> being v2.0 or later. * sysdeps/generic/dl-sysdep.c (_dl_sysdep_open_zero_fill): Call __open instead of open. (_dl_sysdep_fatal): Call __write instead of write. (_dl_sysdep_message): Likewise. Sun Jun 9 20:40:00 1996 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/m68k/fpu/e_acosl.c: New file. * Makerules (o-objects): New variable. Use it in place of $(objects:.o=$o); it filters out $(elide-routines$o). Use o-iterator for ar and ranlib rules so they use the per-type object list. * sysdeps/unix/bsd/ultrix4/sys/mman.h: Likewise.
1996-06-09* elf/dl-load.c (_dl_map_object_from_fd): Close FD before return.cvs/libc-960610Roland McGrath
* sysdeps/mach/mprotect.c: Define with __ name and weak alias. * sysdeps/stub/mprotect.c: Likewise. * sysdeps/unix/mman/syscalls.list (mprotect): Likewise. * sysdeps/generic/sys/mman.h: Declare __mprotect. * sysdeps/unix/sysv/irix4/sys/mman.h: Likewise. * sysdeps/unix/sysv/linux/sys/mman.h: Likewise. * sysdeps/unix/bsd/sun/sunos4/sys/mman.h: Likewise. * sysdeps/unix/bsd/osf/sys/mman.h: Likewise.
1996-06-07(getpriority): Use new interface to __proc_getprocinfo.Miles Bader
1996-06-07Fri Jun 7 16:48:13 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>Roland McGrath
* sysdeps/unix/sysv/linux/i386/Dist: New file, list sys/perm.h and sys/vm86.h. Removed old math code no longer used since the fdlibm integration. * sysdeps/stub/acos.c: File removed. * sysdeps/stub/asin.c: File removed. * sysdeps/stub/atan2.c: File removed. * sysdeps/stub/cosh.c: File removed. * sysdeps/stub/exp.c: File removed. * sysdeps/stub/fmod.c: File removed. * sysdeps/stub/frexp.c: File removed. * sysdeps/stub/log.c: File removed. * sysdeps/stub/log10.c: File removed. * sysdeps/stub/sinh.c: File removed. * sysdeps/stub/tan.c: File removed. * sysdeps/stub/tanh.c: File removed. * sysdeps/generic/acos.c: File removed. * sysdeps/generic/acosh.c: File removed. * sysdeps/generic/asin.c: File removed. * sysdeps/generic/asinh.c: File removed. * sysdeps/generic/atan.c: File removed. * sysdeps/generic/atan2.c: File removed. * sysdeps/generic/atanh.c: File removed. * sysdeps/generic/cabs.c: File removed. * sysdeps/generic/ceil.c: File removed. * sysdeps/generic/copysign.c: File removed. * sysdeps/generic/cosh.c: File removed. * sysdeps/generic/exp.c: File removed. * sysdeps/generic/expm1.c: File removed. * sysdeps/generic/fabs.c: File removed. * sysdeps/generic/floor.c: File removed. * sysdeps/generic/fmod.c: File removed. * sysdeps/generic/frexp.c: File removed. * sysdeps/generic/hypot.c: File removed. * sysdeps/generic/infnan.c: File removed. * sysdeps/generic/isnan.c: File removed. * sysdeps/generic/ldexp.c: File removed. * sysdeps/generic/log.c: File removed. * sysdeps/generic/log10.c: File removed. * sysdeps/generic/log1p.c: File removed. * sysdeps/generic/modf.c: File removed. * sysdeps/generic/pow.c: File removed. * sysdeps/generic/rint.c: File removed. * sysdeps/generic/sinh.c: File removed. * sysdeps/generic/tan.c: File removed. * sysdeps/generic/tanh.c: File removed. * sysdeps/ieee754/cabs.c: File removed. * sysdeps/ieee754/copysign.c: File removed. * sysdeps/ieee754/frexp.c: File removed. * sysdeps/ieee754/hypot.c: File removed. * sysdeps/ieee754/infnan.c: File removed. * sysdeps/ieee754/ldexp.c: File removed. * sysdeps/ieee754/log10.c: File removed. * posix/Makefile (headers): Add schedbits.h. * math/Makefile (elided-routines): Add long double routines. Fri Jun 7 09:11:17 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> * sysdeps/unix/sysv/linux/Dist: Add sys/sysinfo.h, sys/mount.h, sys/kdaemon.h, sys/io.h, sys/mount.h, sysctl.c. * gmon/Makefile (distribute): Add profil-counter.h. * sysdeps/unix/sysv/linux/alpha/Dist: New file. * sysdeps/unix/Dist: Add s-proto.S. * sysdeps/unix/common/mk-local_lim.c: Obsolete file removed. * Make-dist (+sysdep-tsrcs): Get all syscalls.list files too. * csu/Makefile (distribute): Add start.c. * elf/Makefile (distribute): Add dl-machine.h. * sysdeps/alpha/Dist: Add _mcount.S. * sysdeps/alpha/Makefile (sysdep_routines): Append instead of resetting; don't add bb_init_func. * string/Makefile (routines): Add strerror_r. * string/string.h (strerror_r): Use int for BUFLEN arg. * Makefile (distribute): Add shlib-versions. * po/Makefile (distribute): Add SYS_libc.pot. * misc/Makefile (routines): Add lsearch. * manual/lang.texi (Consistency Checking): Merge in assert_perror defn and other changes inadvertently made to the obsolete assert.texi. * manual/assert.texi: File removed. * mach/mach_syscalls.c: Obsolete file removed. * mach/mach_syscalls.h: Likewise. * mach/mach_traps.S: Likewise. * mach/msg_destroy.c: Likewise. * mach/vm_page_size.c: Likewise. * locale/Makefile (distribute): Add weight.h, charset.h. * Makefile (distribute): Add version.h. * hurd/Makefile (headers): Add hurd/ioctl.h. (distribute): Add intr-rpc.d, intr-rpc.h, faultexc.defs. * csu/Makefile (distribute): Add gmon-start.c. * Makefile (distribute): Add config.h.in. sysdeps/m68k/fpu/e_atanhl.c, sysdeps/m68k/fpu/e_coshl.c: New files.
1996-06-07Tue Jun 4 22:03:02 1996 Andreas Schwab ↵Roland McGrath
<schwab@issan.informatik.uni-dortmund.de> * sysdeps/m68k/fpu/__math.h: Define long double versions of the inline functions. * sysdeps/m68k/fpu/e_asinl.c, sysdeps/m68k/fpu/e_atanl.c, sysdeps/m68k/fpu/e_acosl.c, sysdeps/m68k/fpu/e_expl.c, sysdeps/m68k/fpu/e_fmodl.c, sysdeps/m68k/fpu/e_log10l.c, sysdeps/m68k/fpu/e_logl.c, sysdeps/m68k/fpu/e_powl.c, sysdeps/m68k/fpu/e_remainderl.c, sysdeps/m68k/fpu/e_scalbl.c, sysdeps/m68k/fpu/e_sinhl.c, sysdeps/m68k/fpu/e_sqrtl.c, sysdeps/m68k/fpu/k_cosl.c, sysdeps/m68k/fpu/k_sinl.c, sysdeps/m68k/fpu/k_tanl.c, sysdeps/m68k/fpu/s_atanl.c, sysdeps/m68k/fpu/s_ceill.c, sysdeps/m68k/fpu/s_cosl.c, sysdeps/m68k/fpu/s_expm1l.c, sysdeps/m68k/fpu/s_fabsl.c, sysdeps/m68k/fpu/s_finitel.c, sysdeps/m68k/fpu/s_floorl.c, sysdeps/m68k/fpu/s_frexpl.c, sysdeps/m68k/fpu/s_ilogbl.c, sysdeps/m68k/fpu/s_isinfl.c, sysdeps/m68k/fpu/s_isnanl.c, sysdeps/m68k/fpu/s_ldexpl.c, sysdeps/m68k/fpu/s_log1pl.c, sysdeps/m68k/fpu/s_logbl.c, sysdeps/m68k/fpu/s_modfl.c, sysdeps/m68k/fpu/s_rintl.c, sysdeps/m68k/fpu/s_scalbnl.c, sysdeps/m68k/fpu/s_significandl.c, sysdeps/m68k/fpu/s_sinl.c, sysdeps/m68k/fpu/e_atanhl.c, sysdeps/m68k/fpu/e_coshl.c: New files.
1996-06-07Fri Jun 7 09:11:17 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>Roland McGrath
* mach/mach_syscalls.c: Obsolete file removed. * mach/mach_syscalls.h: Likewise. * mach/mach_traps.S: Likewise. * mach/msg_destroy.c: Likewise. * mach/vm_page_size.c: Likewise.
1996-06-07Fri Jun 7 09:11:17 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>Roland McGrath
* sysdeps/unix/sysv/linux/Dist: Add sys/sysinfo.h, sys/mount.h, sys/kdaemon.h, sys/io.h, sys/mount.h, sysctl.c.
1996-06-07Wed Jun 5 22:06:21 1996 Andreas Schwab ↵Roland McGrath
<schwab@issan.informatik.uni-dortmund.de> * sysdeps/m68k/dl-machine.h (elf_machine_rela): Fix type of reloc argument. [case R_68K_32]: Check for resolve being null. (RTLD_START): Add missing label.
1996-06-07Fri Jun 7 1996 05:29:32 Ulrich Drepper <drepper@cygnus.com>cvs/libc-960607Roland McGrath
* misc/lsearch.c: New file. Implementation of lfind and lsearch functions. * misc/search.h: Add prototype for functions from tsearch family with __ prefix. Correct prototype for lsearch: BASE parameter must not be const. * misc/tsearch.c: prepend all global function names with __ and make normal names weak aliases. Fri Jun 7 00:15:24 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> * Make-dist (sysdep_dirs): Skip CVS dirs.
1996-06-06Thu Jun 6 16:12:39 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>Roland McGrath
* hurd/hurdsig.c (_hurd_internal_post_signal): For SIGNO==0 pending check, deliver a pending blocked signal if its action might be to ignore. * sysdeps/mach/hurd/sigaction.c: If new action is SIG_IGN or SIG_DFL and SIG is pending, wake up signal thread to check us. * hurd/hurdsig.c (_hurd_internal_post_signal): Don't mark a signal pending while blocked or stopped when the action is to ignore it. * hurd/hurdsig.c (_hurd_internal_post_signal: resume): Only set SS_SUSPENDED when the thread is really suspended. * elf/rtld.c (dl_main): Don't dereference _dl_rtld_map.l_next if null.
1996-06-06Thu Jun 6 12:56:03 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>Roland McGrath
* sysdeps/mach/hurd/errlist.c: File removed.
1996-06-06*** empty log message ***Miles Bader
Thu Jun 6 07:32:14 1996 Miles Bader <miles@gnu.ai.mit.edu> * resolv/gethnamaddr.c (struct hstorage): Make NAME field a pointer. (_gethtbyname2): Remove ALIAS variable. Initialize NAME field of SELF and TARGET to 0. Add SELF_NAME_SIZE static variable. Add loop to call gethostname until the space we allocated is enough. Use malloced strings instead of fixed size buffers. <stdlib.h>, <unistd.h>: New includes. * sysdeps/generic/sys/socket.h (PF_INET6, AF_INET6): New macros. * sysdeps/mach/hurd/errlist.c (_sys_errlist): Add EILSEQ. (_sys_nerr): Initialize to 107. Update _HURD_ERRNOS consistency check. * stdlib/canonicalize.c (canonicalize): Use pathconf for PATH_MAX, not sysconf. * login/login.c [!PATH_MAX] (PATH_MAX): Define to be 1024 if not already defined. * sysdeps/mach/hurd/setitimer.c (timer_thread): Supply SIGCODE argument to __msg_sig_post_request. * hurd/hurdmalloc.c: Changes to bring in line with the hurd libthreads/malloc.c: (more_memory): Use assert_perror instead of MACH_CALL. "cthread_internals.h": Include removed. (realloc): Use LOG2_MIN_SIZE. (LOG2_MIN_SIZE): New macro. (realloc): Don't bother allocating a new block if the new size request fits in the old one and doesn't waste any space. Only free the old block if we successfully got a new one. [MCHECK] (struct header): New type. (union header): Only define if !MCHECK. (HEADER_SIZE, HEADER_NEXT, HEADER_FREE, HEADER_CHECK): New macros. [MCHECK] (MIN_SIZE): Add correct definition for this case. (more_memory, malloc, free, realloc): Use above macros, and add appropiate checks & frobs in MCHECK case.
1996-06-06(PF_INET6, AF_INET6): New macros.Miles Bader
1996-06-06Tue Jun 4 22:03:02 1996 Andreas Schwab ↵Roland McGrath
<schwab@issan.informatik.uni-dortmund.de> * sysdeps/m68k/fpu/__math.h: Define long double versions of the inline functions. * sysdeps/m68k/fpu/e_asinl.c, sysdeps/m68k/fpu/e_atanl.c, sysdeps/m68k/fpu/e_acosl.c, sysdeps/m68k/fpu/e_expl.c, sysdeps/m68k/fpu/e_fmodl.c, sysdeps/m68k/fpu/e_log10l.c, sysdeps/m68k/fpu/e_logl.c, sysdeps/m68k/fpu/e_powl.c, sysdeps/m68k/fpu/e_remainderl.c, sysdeps/m68k/fpu/e_scalbl.c, sysdeps/m68k/fpu/e_sinhl.c, sysdeps/m68k/fpu/e_sqrtl.c, sysdeps/m68k/fpu/k_cosl.c, sysdeps/m68k/fpu/k_sinl.c, sysdeps/m68k/fpu/k_tanl.c, sysdeps/m68k/fpu/s_atanl.c, sysdeps/m68k/fpu/s_ceill.c, sysdeps/m68k/fpu/s_cosl.c, sysdeps/m68k/fpu/s_expm1l.c, sysdeps/m68k/fpu/s_fabsl.c, sysdeps/m68k/fpu/s_finitel.c, sysdeps/m68k/fpu/s_floorl.c, sysdeps/m68k/fpu/s_frexpl.c, sysdeps/m68k/fpu/s_ilogbl.c, sysdeps/m68k/fpu/s_isinfl.c, sysdeps/m68k/fpu/s_isnanl.c, sysdeps/m68k/fpu/s_ldexpl.c, sysdeps/m68k/fpu/s_log1pl.c, sysdeps/m68k/fpu/s_logbl.c, sysdeps/m68k/fpu/s_modfl.c, sysdeps/m68k/fpu/s_rintl.c, sysdeps/m68k/fpu/s_scalbnl.c, sysdeps/m68k/fpu/s_significandl.c, sysdeps/m68k/fpu/s_sinl.c, sysdeps/m68k/fpu/s_tanhl.c, sysdeps/m68k/fpu/s_tanl.c: New files. * sysdeps/m68k/fpu/e_acos.c, sysdeps/m68k/fpu/e_fmod.c, sysdeps/m68k/fpu/k_cos.c, sysdeps/m68k/fpu/k_sin.c, sysdeps/m68k/fpu/k_tan.c, sysdeps/m68k/fpu/s_atan.c, sysdeps/m68k/fpu/s_frexp.c, sysdeps/m68k/fpu/s_ilogb.c, sysdeps/m68k/fpu/s_isinf.c, sysdeps/m68k/fpu/s_ldexp.c, sysdeps/m68k/fpu/s_modf.c: Define generic functions using FUNC and float_type with appropriate defaults. * sysdeps/m68k/fpu/e_acosf.c, sysdeps/m68k/fpu/e_fmodf.c, sysdeps/m68k/fpu/k_cosf.c, sysdeps/m68k/fpu/k_sinf.c, sysdeps/m68k/fpu/k_tanf.c, sysdeps/m68k/fpu/s_atanf.c, sysdeps/m68k/fpu/s_frexpf.c, sysdeps/m68k/fpu/s_ilogbf.c, sysdeps/m68k/fpu/s_isinff.c, sysdeps/m68k/fpu/s_ldexpf.c, sysdeps/m68k/fpu/s_modff.c: Include the corresponding double versions with appropriate definitions to get float functions, instead of defining them directly. * sysdeps/m68k/fpu/acos.c: File removed. * sysdeps/m68k/fpu/asin.c: File removed. * sysdeps/m68k/fpu/atan.c: File removed. * sysdeps/m68k/fpu/atan2.c: File removed. * sysdeps/m68k/fpu/atanh.c: File removed. * sysdeps/m68k/fpu/ceil.c: File removed. * sysdeps/m68k/fpu/cos.c: File removed. * sysdeps/m68k/fpu/cosh.c: File removed. * sysdeps/m68k/fpu/drem.c: File removed. * sysdeps/m68k/fpu/exp.c: File removed. * sysdeps/m68k/fpu/expm1.c: File removed. * sysdeps/m68k/fpu/fabs.c: File removed. * sysdeps/m68k/fpu/fl.h: File removed. * sysdeps/m68k/fpu/floor.c: File removed. * sysdeps/m68k/fpu/fmod.c: File removed. * sysdeps/m68k/fpu/frexp.c: File removed. * sysdeps/m68k/fpu/isinf.c: File removed. * sysdeps/m68k/fpu/isinfl.c: File removed. * sysdeps/m68k/fpu/isnan.c: File removed. * sysdeps/m68k/fpu/isnanl.c: File removed. * sysdeps/m68k/fpu/ldexp.c: File removed. * sysdeps/m68k/fpu/log.c: File removed. * sysdeps/m68k/fpu/log10.c: File removed. * sysdeps/m68k/fpu/log1p.c: File removed. * sysdeps/m68k/fpu/logb.c: File removed. * sysdeps/m68k/fpu/pow.c: File removed. * sysdeps/m68k/fpu/rint.c: File removed. * sysdeps/m68k/fpu/sin.c: File removed. * sysdeps/m68k/fpu/sinh.c: File removed. * sysdeps/m68k/fpu/sqrt.c: File removed. * sysdeps/m68k/fpu/tan.c: File removed. * sysdeps/m68k/fpu/tanh.c: File removed. * sysdeps/unix/sysv/linux/syscalls.list: Add select (the syscall name is _newselect). * sysdeps/unix/sysv/linux/select.S: File removed. * sysdeps/unix/sysv/linux/m68k/select.S: File removed; obsolete with current kernels, generic linux version is fine.
1996-06-06Thu Jun 6 00:02:15 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>Roland McGrath
* locale/Makefile: Add vpath for %.gperf to programs. * Make-dist (+tsrcs): Variable removed. (dist): Process $^ here instead of using $(+tsrcs). * sysdeps/unix/sysv/linux/Makefile (install-others): Don't set. ($(includedir)/sys/syscall.h): Target removed. (sysdep_headers): Add syscall-list.h. ($(objpfx)syscall-%.[dh]): New rule to build syscall-list.[dh]. (generated): Add those. * sysdeps/unix/sysv/linux/syscall.h: Include <syscall-list.h>. * misc/sys/syscall.h: New file. * misc/Makefile (headers): Add sys/syscall.h. * sysdeps/unix/sysv/linux/i386/Makefile: Likewise.
1996-06-05* time/tzfile.h, time/private.h, time/zdump.c, time/zic.c,Roland McGrath
time/africa, time/asia, time/australasia, time/europe, time/northamerica, time/southamerica: Updated from ADO 96h. * Make-dist (all-headers): Filter $(sysdep_headers) out of $(headers). (try-sysdeps, +sysdep-names): Check sysdeps/libm-ieee754 too. * Makerules (distinfo-vars): Add sysdep_headers. * sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Append to this instead of $(headers). * sysdeps/unix/sysv/linux/alpha/Makefile: Likewise. * Make-dist [subdirs-dirs]: Don't prefix $(subdir-dirs) with $(subdir); we are already there. * sysdeps/unix/sysv/sysv4/solaris2/sparc/Dist: Removed.
1996-06-05* Makerules (distinfo-vars): Add sysdep_routines.Roland McGrath
* mach/Machrules (include-%.defs): New canned sequence. Change all uses of `#include <$*.defs>' in cmds to use it. * mach/Makefile (mach_interface.defs): New variable, set to mach.defs. * sysdeps/i386/dl-machine.h (elf_machine_rel): Handle RESOLVE being null in all cases but R_386_COPY. (elf_machine_rel): * sysdeps/unix/bsd/ultrix4/mips/Dist: Updated. * sysdeps/unix/bsd/ultrix4/Dist: Removed. * sysdeps/unix/sysv/sysv4/Dist: Updated. * sysdeps/unix/sysv/sco3.2.4/Dist: Removed. * sysdeps/unix/sysv/irix4/Dist: Updated. * sysdeps/unix/sysv/linux/i386/Dist: Removed. * sysdeps/unix/sysv/Dist: Updated. * sysdeps/unix/bsd/sun/sunos4/Dist: Removed. * sysdeps/unix/bsd/sony/newsos4/Dist: Removed. * sysdeps/gnu/Dist: New file. * sysdeps/alpha/Dist: Updated. * sysdeps/mach/hurd/Dist: Updated. * Make-dist [subdir-dirs]: Set a vpath for %.c. * Make-dist (README): Fix typo in cvs cmd.
1996-06-05Regenerated: autoconf sysdeps/mach/hurd/configure.incvs/libc-960605Roland McGrath
1996-06-05* math/Makefile (libm-support, libm-calls): New variables.Roland McGrath
(libm-routines): Construct this from those. (calls): New variable. (routines): Construct this from it. * resolv/res_debug.c: Add missing #include <ctype.h>. * sysdeps/unix/getlogin.c: Must pass struct utmp ptr to getutline_r. * sysdeps/unix/getlogin_r.c: Likewise. * sysdeps/libm-ieee754/w_hypotl.c: Fix typo. * sysdeps/libm-ieee754/w_cabsl.c: __cabsl_complex -> __cabs_complexl * math/Makefile (long-m-routines): Define recursive variable as $(long-m-$(long-double-fcts)). (long-m-yes): Put list of routines here. (long-c-routines, long-c-yes): Likewise. * sysdeps/unix/sysv/linux/schedbits.h: File removed. * sysdeps/i386/Makefile (long-double-fcts): New variable, set to yes. * sysdeps/m68k/Makefile: Likewise. * math/Makefile [$(long-double-fcts)!=yes] (CPPFLAGS): Append -DNO_LONG_DOUBLE.
1996-06-05Tue Jun 4 21:01:20 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>Roland McGrath
* sysdeps/mach/hurd/getlogin_r.c: New file. Wed Jun 5 02:11:30 1996 Ulrich Drepper <drepper@cygnus.com> * io/Makefile (routines): Add ttyname_r. * resolv/res_debug.c, resolv/resolv.h: Update from bind-4.3.4-T4A. * sysdeps/libm-i387/e_asinl.S, sysdeps/libm-i387/e_atan2l.S, sysdeps/libm-i387/e_expl.S, sysdeps/libm-i387/e_fmodl.S, sysdeps/libm-i387/e_log10l.S, sysdeps/libm-i387/e_logl.S, sysdeps/libm-i387/e_remainderl.S, sysdeps/libm-i387/e_scalbl.S, sysdeps/libm-i387/e_sqrtl.S, sysdeps/libm-i387/s_atanl.S, sysdeps/libm-i387/s_cosl.S, sysdeps/libm-i387/s_ilogbl.S, sysdeps/libm-i387/s_log1pl.S, sysdeps/libm-i387/s_logbl.S, sysdeps/libm-i387/s_scalbnl.S, sysdeps/libm-i387/s_sinl.S, sysdeps/libm-i387/s_tanl.S: New files. i387 assembler versions of `long double' math functions. * sysdeps/libm-ieee754/k_standard.c: Add handling for errors in long double functions. * sysdeps/libm-ieee754/s_ilogbl.c, sysdeps/libm-ieee754/s_logbl.c, sysdeps/libm-ieee754/s_modfl.c: New files. Generic versions of `long double' math functions. * sysdeps/libm-ieee754/s_isinf.c [NO_LONG_DOUBLE]: Add string alias for __isinfl. * sysdeps/libm-ieee754/w_acoshl.c, sysdeps/libm-ieee754/w_acosl.c, sysdeps/libm-ieee754/w_asinl.c, sysdeps/libm-ieee754/w_atan2l.c, sysdeps/libm-ieee754/w_atanhl.c, sysdeps/libm-ieee754/w_cabsl.c, sysdeps/libm-ieee754/w_coshl.c, sysdeps/libm-ieee754/w_dreml.c, sysdeps/libm-ieee754/w_expl.c, sysdeps/libm-ieee754/w_fmodl.c, sysdeps/libm-ieee754/w_gammal.c, sysdeps/libm-ieee754/w_gammal_r.c, sysdeps/libm-ieee754/w_hypotl.c, sysdeps/libm-ieee754/w_j0l.c, sysdeps/libm-ieee754/w_j1l.c, sysdeps/libm-ieee754/w_jnl.c, sysdeps/libm-ieee754/w_lgammal.c, sysdeps/libm-ieee754/w_lgammal_r.c, sysdeps/libm-ieee754/w_log10l.c, sysdeps/libm-ieee754/w_logl.c, sysdeps/libm-ieee754/w_powl.c, sysdeps/libm-ieee754/w_remainderl.c, sysdeps/libm-ieee754/w_scalbl.c, sysdeps/libm-ieee754/w_sinhl.c, sysdeps/libm-ieee754/w_sqrtl.c: New files. Wrapper functions around long double function implementations. * sysdeps/posix/ttyname_r.c (ttyname_r): Use _D_EXACT_NAMLEN to determine length of directory entry name. * posix/Makefile (routines): Add getlogin_r. * posix/unistd.h: Add prototype for getlogin_r. * sysdeps/stub/getlogin_r.c: New file. Reentrant version of getlogin function, specified in P1003.1c/D6. Stub version. * sysdeps/unix/getlogin.c (getlogin): Use ttyname_r instead of ttyname. This avoids saving and restoring the old content. Also use setutent_r, getutline_r and endutent_r instead of accing UTMP file directly. * sysdeps/unix/getlogin_r.c: New file. Reentrant version of getlogin function, specified in P1003.1c/D6. Tue Jun 4 20:10:09 1996 J.T. Conklin <jtc@cygnus.com> * sysdeps/libm-i387/s_finitef.S: Fix mask for exponent. * elf/dl-lookup.c (_dl_lookup_symbol): Grok magical undefined symbols _GNU_libc_dl_{open,close,symbol} and resolve them to dl functions. * elf/rtld.c (rtld_map): Renamed to _dl_rtld_map, made global. * elf/link.h: Declare _dl_rtld_map. * elf/dl-lookup.c (_dl_symbol_value): New function. * elf/link.h: Declare it. stdio-common/vfscanf.c: Prepare for reentrant libio. Used in reentrant libio.
1996-06-04Tue Jun 4 18:57:57 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>Roland McGrath
* elf/dladdr.c: Remove #include <setjmp.h>, we don't use it. * shlib-versions: Set libdl=2. * elf/dl-deps.c (_dl_map_object_deps): Use a linked list of alloca'd elements and then scan it to fill the single malloc'd array, instead of using realloc to grow the array in the first pass. _dl_map_object may do some mallocs that break our stream of reallocs, and the minimal realloc can't handle that. * elf/dl-init.c (_dl_init_next): Take argument, link_map whose searchlist describes the piece of the DT_NEEDED graph to be initialized. * elf/link.h: Update prototype. * sysdeps/i386/dl-machine.h (RTLD_START): Pass _dl_loaded as argument to _dl_init_next. * sysdeps/m68k/dl-machine.h: Likewise. * elf/dl-deps.c (_dl_open): Pass new object as arg to _dl_init_next. * elf/link.h (struct link_map): Add `l_reserved' member, soaking up extra bits in last byte. * elf/dl-deps.c (_dl_map_object_deps): Use that for mark bit to avoid putting dup elts in search list. * elf/dlclose.c: Use MAP->l_searchlist to find deps to close. * elf/dlsym.c: Don't tweak linked list. Scope array given to _dl_lookup_symbol does the right thing. Tue Jun 4 02:25:44 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>
1996-06-04* sysdeps/libm-i387/s_finite.S: Use `setne' instead of `setnel'.Roland McGrath
1996-06-04* sysdeps/libm-i387/s_finite.S: Use %eax instead of %al in setnel insn.Roland McGrath
* intl/l10nflist.c: Fix conditional on #include <argz.h>. * libio/stdio.h (FOPEN_MAX, FILENAME_MAX, TMP_MAX, L_tmpnam): Macros removed. Instead, include <stdio_lim.h>. * libio/_G_config.h: New file. * libio/Makefile (headers): Add _G_config.h. * MakeTAGS (po/errlist.pot): Extract from sysdeps/gnu/errlist.c.
1996-06-04* sysdeps/unix/sysv/linux/gnu/types.h (__KERNEL_STRICT_NAMES): DefineRoland McGrath
this macro too; current Linux kernels test that instead of _LINUX_TYPES_DONT_EXPORT.
1996-06-04Tue Jun 4 00:16:03 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>Roland McGrath
* sysdeps/gnu/errlist.awk: Produce N_("..."), not _N("..."). * intl: Updated from gettext-0.10.13. * intl/localealias.c intl/dcgettext.c [_LIBC]: Define HAVE_ALLOCA. * signal/siggetmask.c: New file. Wrapper around sigblock with link_warning about obsolescence. * signal/Makefile (routines): Add siggetmask. * sysdeps/gnu/errlist.awk: New file, adapted from ... * sysdeps/mach/hurd/errlist.awk: File removed, above file replaces it. * sysdeps/mach/hurd/Makefile (errlist.c): Target removed. * sysdeps/gnu/Makefile: New file. (sysdeps/gnu/errlist.c): Make the errlist.c generation rule into this. * manual/errno.texi (Error Codes): Add placeholder items for missing Linux/i386 errno codes, with perror text but no documentation. Some existing perror texts changed.
1996-06-03Mon Jun 3 00:30:35 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>cvs/libc-960603Roland McGrath
* elf/dl-lookup.c (_dl_lookup_symbol): Take new arg RELOC_ADDR and don't allow a defn resolving to that address. * elf/link.h: Update prototype and comment. * elf/dl-runtime.c (fixup): Define local `resolve' function and pass it to elf_machine_relplt. * elf/dl-reloc.c (_dl_relocate_object: resolve): Take new arg RELOC_ADDR and pass it through to _dl_lookup_symbol. * elf/do-rel.h (elf_dynamic_do_rel): Pass RESOLVE to elf_machine_rel instead of calling it ourselves and passing its results. (elf_dynamic_do_rel): RESOLVE fn takes new arg RELOC_ADDR. * elf/rtld.c (dl_main): Pass 0 for RELOC_ADDR to _dl_lookup_symbol. * sysdeps/i386/dl-machine.h (elf_machine_rel): Remove SYM_LOADADDR arg. Add RESOLVE function ptr arg. Call *RESOLVE as necessary. * sysdeps/m68k/dl-machine.h (elf_machine_rela): Likewise. * sysdeps/stub/dl-machine.h: Likewise. * csu/initfini.c (_fini): Add extern decl for i_am_not_a_leaf. * elf/dlfcn.h (dl_open_mode): Enumerated type removed. (RTLD_LAZY, RTLD_NOW): Define these as macros instead. (RTLD_GLOBAL): New macro. (dlopen): Take arg of type int instead of dl_open_mode. * elf/dlopen.c: Likewise. * math/math.h (_Mldbl): New macro, either produces L suffix or not. (M_*): Use it for these constants.
1996-06-02* elf/dl-lookup.c (_dl_lookup_symbol): Arg NOSELF renamed to NOPLT.Roland McGrath
Reject SHN_UNDEF defns iff NOPLT is nonzero. * elf/link.h (_dl_lookup_symbol): Update prototype and comment. * elf/dl-runtime.c (fixup): Pass 1 to _dl_lookup_symbol for NOPLT. * elf/dlsym.c (dlsym): Pass 0. * elf/rtld.c (dl_main): Likewise. * elf/dl-reloc.c (_dl_relocate_object: resolve): Second arg R_OFFSET replaced with NOPLT flag. Pass it through to _dl_lookup_symbol. * elf/do-rel.h (elf_dynamic_do_rel): Update prototype of RESOLVE arg. Pass `elf_machine_pltrel_p (R->r_type)' result as NOPLT flag value. * sysdeps/i386/dl-machine.h (elf_machine_pltrel_p): New macro. * sysdeps/m68k/dl-machine.h (elf_machine_pltrel_p): Likewise. * sysdeps/stub/dl-machine.h (elf_machine_pltrel_p): Likewise.
1996-06-02Sun Jun 2 14:56:49 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>Roland McGrath
* login/pututline_r.c: Fix typo in sizeof for DATA_TMP alloca. * sysdeps/generic/gnu/types.h (__clock_t): New type. * sysdeps/unix/sysv/linux/gnu/types.h (__clock_t, __fsid_t): Define using kernel types. * time/time.h (clock_t): Include <gnu/types.h> and define using __clock_t.
1996-06-02Wed May 29 00:57:37 1996 David Mosberger-Tang <davidm@azstarnet.com>Roland McGrath
* time/Makefile (tests): Add test-tz. * time/test-tz.c: New test. * time/clocktest.c: Rewrite to test more meaningfully. * sysdeps/unix/sysv/linux/syscalls.list: Add bdflush, create_module, delete_module, get_kernel_syms, init_module, klogctl. * sysdeps/unix/sysv/linux/sys/param.h (MAXSYMLINKS): Define as 5 instead of SYMLOOP_MAX, which is nowhere to be found. * sysdeps/unix/sysv/linux/sys/msq_buf.h, sysdeps/unix/sysv/linux/sys/sem_buf.h, sysdeps/unix/sysv/linux/sys/shm_buf.h [__USE_MISC]: Add more control ops and datastructures. * sysdeps/unix/sysv/linux/sys/io.h: New file declaring low-level I/O related functions. * sysdeps/unix/sysv/linux/sys/kdaemon.h: New file declaring kernel daemon related functions/operations. * sysdeps/unix/sysv/linux/sys/klog.h: New file declaring kernel logging related functions/operations. * sysdeps/unix/sysv/linux/sys/module.h: New file declaring kernel module related functions/operations. * sysdeps/unix/sysv/linux/speed.c: Only do "mention this twice" hack for non-Alpha based Linux systems. * sysdeps/unix/sysv/linux/alpha/speed.c: Remove. * sysdeps/unix/sysv/linux/Makefile (headers): Add sys/module.h, sys/io.h, sys/klog.h, and sys/kdaemon.h. * sysdeps/unix/sysdep.h (END): Define empty END macro for platforms that don't need some sort of end directive at the end of functions. * sysdeps/unix/make-syscalls.sh: Emit END($strong) at end of syscall wrapper to allow correct generation of debugging information. * sysdeps/unix/alpha/sysdep.h (END): Redefine to use .end directive for both ELF and ECOFF. (ret): Delete macro. It was a dangerous macro and unnecessary since the Alpha assemblers recognizes "ret" as a macro themselves. * sysdeps/gnu/utmpbits.h (struct utmp): Move ut_tv behind ut_session to guarantee long alignment. This is important for Linux/Alpha since ut_tv.tv_sec is 32 bits and time_t is 64 bits. This will all get cleaned up as programs start to use ut_tv instead ut_time. * sysdeps/alpha/divrem.h: Include <sysdep.h> instead of <*/regdef.h>. * sysdeps/alpha/bsd-_setjmp.S (setjmp): Renamed entry point to _setjmp. * sysdeps/alpha/_mcount.S, sysdeps/alpha/bb_init_func.S, sysdeps/alpha/bsd-_setjmp.S, sysdeps/alpha/bsd-setjmp.S, sysdeps/alpha/copysign.S, sysdeps/alpha/divrem.h, sysdeps/alpha/fabs.S, sysdeps/alpha/ffs.S, sysdeps/alpha/htonl.S, sysdeps/alpha/htons.S, sysdeps/alpha/memchr.S, sysdeps/alpha/setjmp.S, sysdeps/alpha/strlen.S, sysdeps/unix/sysv/linux/alpha/ieee_get_fp_control.S, sysdeps/unix/sysv/linux/alpha/ieee_set_fp_control.S, sysdeps/unix/sysv/linux/alpha/llseek.S, sysdeps/unix/sysv/linux/alpha/pipe.S, sysdeps/unix/sysv/linux/alpha/sigsuspend.S, sysdeps/unix/sysv/linux/alpha/sysdep.S: Use END macro instead of .end directive. * csu/initfini.c (_fini): Tell gcc that _fini is not a leaf function by having it contain a dummy function call. * configure.in (config_machine): Don't make ELF the default for Linux/Alpha just yet (use --with-elf instead). (.init/.fini check): Generate .text to ensure function start and end are in same section. * sysdeps/unix/bsd/osf/alpha/brk.S, sysdeps/unix/sysv/linux/alpha/brk.S (__curbrk): Store the entire break value, not just the low 32 bits to accomodate large memories. Tue May 28 10:46:04 1996 Richard Henderson <rth@tamu.edu> * sysdeps/unix/sysv/linux/alpha/brk.S: Rather than attempt to dynamically resolve _end for initializing __curbrk, support the brk(0) query idiom. * sysdeps/alpha/bb_init_func.S: Don't make `init' an external symbol. * sysdeps/alpha/bsd-_setjmp.S: The function is _setjmp not setjmp. Sun May 26 22:17:38 1996 Richard Henderson <rth@tamu.edu> * stdlib/lcong48_r.c, stdlib/seed48_r.c, stdlib/strtod.c, stdlib/strtol.c: Include <string.h> for mem* and str* fns used. Thu May 23 02:15:56 1996 David Mosberger-Tang <davidm@azstarnet.com> * sysdeps/unix/sysv/linux/Makefile (headers): Add sys/io.h, sys/klog.h, and sys/kdaemon.h. * sysdeps/unix/sysv/linux/sys/io.h: New file. * sysdeps/unix/sysv/linux/sys/klog.h: Ditto. * sysdeps/unix/sysv/linux/sys/kdaemon.h: Ditto. * sysdeps/unix/alpha/sysdep.h (ret): Remove macro. It is dangerous and unnecessary since both OSF/1 as and gas define "ret" as a pseudo-instruction. Sat Jun 1 17:18:21 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> * time/tzset.c (__tzset): Clear tz_rules name pointers after freeing them. Bug found by David Mosberger-Tang. * sysdeps/posix/tempname.c (__stdio_gen_tempname): Use __ptr_t instead of PTR. * extra-lib.mk (extra-objs): Use patsubst intead of $(A:=B) syntax to work around Make bug when A contains var ref. Fri May 31 18:27:52 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu> * string/string.h [__USE_MISC]: Declare basename; OSF/1 puts it here. * sysdeps/unix/sysv/linux/syscalls.list (getpgid, setpgid): Define __ strong names and [gs]etpgid as weak aliases. * math/math_private.h (GET_LDOUBLE_EXP): Add missing backslash.
1996-05-30Thu May 30 11:24:05 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>cvs/libc-960602cvs/libc-960601cvs/libc-960531Roland McGrath
* po/header.pot: Replace with exact boilerplate pinard dictates. * sysdeps/i386/strtok.S (Lillegal_argument): Remove this code to set errno and the check that jumped to it. * sysdeps/mach/hurd/Makefile (errnos.d): Use $(sed-remove-objpfx). Thu May 30 03:21:57 1996 Ulrich Drepper <drepper@cygnus.com> * FAQ: Document need of gperf program for developers. * elf/elf.h: Fix typos in comments. * libio/stdio.h [!__STRICT_ANSI__ || _POSIX_SOURCE]: Add prototypes for `ctermid' and `cuserid'. * locale/programs/locale.c: Switch to user selected locale before printing variables. * math/Makefile [$(long-double-fcts)==yes]: Define long-m-routines and long-c-routines. Only if the `long double' data type is available we need to compile the functions. (libm-routines): Add $(long-m-routines). (routines): Remove isinfl, isnanl. Use new file s_isinfl and s_isnanl instead if `long double' is available. * math/math.h: Include <mathcalls.h> again to define `long double' functions. * math/math_private.h: Define data types, prototypes and access macros for `long double'. * stdlib/stdlib.h: Add prototypes for `strtoll' and `strtoull'. [GCC2 && OPTIMIZE]: Define strto{,u}ll as inline function which calls __strto{,u}q_internal. * stdlib/strfmon.c: Replace PTR by `void *'. * stdlib/strtoq.c: Define strtoll as weak alias. * stdlib/strtouq.c: Define strtoull as weak alias. * string/tester.c: Correct `strsep' test. * sysdeps/generic/strsep.c: Make compatible with BSD version. Trailing characters of skip set are not skipped. In this case empty tokens are returned. * sysdeps/i386/isinfl.c, sysdeps/i386/isnanl.c, sysdeps/ieee754/isinf.c, sysdeps/ieee754/isinfl.c, sysdeps/ieee754/isnan.c, sysdeps/ieee754/isnanl.c: Removed. We now use the versions part of libm. * sysdeps/i386/strsep.S: Removed. Generic C version is of similar speed. * sysdeps/i386/strtok.S: Remove support for `strsep'. * sysdeps/libm-i387/e_acosl.S, sysdeps/libm-i387/s_ceill.S, sysdeps/libm-i387/s_copysignl.S, sysdeps/libm-i387/s_finitel.S, sysdeps/libm-i387/s_floorl.S, sysdeps/libm-i387/s_isinfl.c, sysdeps/libm-i387/s_isnanl.c, sysdeps/libm-i387/s_nextafterl.c, sysdeps/libm-i387/s_rintl.S, sysdeps/libm-i387/s_significandl.S: New i387 specific math functions implementing `long double' versions. * sysdeps/libm-ieee754/s_ceill.c, sysdeps/libm-ieee754/s_copysignl.c, sysdeps/libm-ieee754/s_fabsl.c, sysdeps/libm-ieee754/s_finitel.c, sysdeps/libm-ieee754/s_floorl.c, sysdeps/libm-ieee754/s_isinfl.c, sysdeps/libm-ieee754/s_isnanl.c, sysdeps/libm-ieee754/s_nextafterl.c, sysdeps/libm-ieee754/s_rintl.c, sysdeps/libm-ieee754/s_scalbnl.c, sysdeps/libm-ieee754/s_significandl.c: New generic `long double' versions of libm functions. * sysdeps/libm-i387/e_exp.S: Add a few comments to explain the Intel FPU nonsense. * sysdeps/libm-i387/s_ceil.S, sysdeps/libm-i387/s_ceilf.S, sysdeps/libm-i387/s_floor.S, sysdeps/libm-i387/s_floorf.S: Correct handling of local variables. The old version created a stack frame but stored the values outside. * sysdeps/libm-ieee754/s_isinf.c, sysdeps/libm-ieee754/s_isnan.c [!NO_LONG_DOUBLE]: Define alias with `long double' versions name. * login/pututline_r.c: Include sys/stat.h. Fix typos. according to currently used locale for category LC_CTYPE by inet_nsap_ntoa. Now in <arpa/inet.h>. _IO_dup2 to contain complete parameter list.
1996-05-29* sysdeps/i386/fpu/__math.h (logb): Correct contraint from =u to =t.cvs/libc-960529Roland McGrath
Must operate on top of fp reg stack, not second from top.
1996-05-29Tue May 28 04:38:10 1996 Ulrich Drepper <drepper@cygnus.com>Roland McGrath
* limits.h: Change MB_LEN_MAX to 6. A 31-bit ISO 10646 character in UTF-8 encoding has that many bytes. * locale/langinfo.h: New element _NL_CTYPE_MB_CUR_MAX. * locale/categories.def: Add description of field _NL_CTYPE_MB_CUR_MAX. * locale/Makefile (routines): Add mb_cur_max. * locale/mb_cur_max.c: New file. This function gets called when the macro MB_CUR_MAX is used. * locale/C-ctype.c: Initialize new mb_cur_max field. * locale/localeinfo.h: Change magic value because of incompatible change. * locale/programs/ld-ctype.c: Determine value of mb_cur_max according to current character set and write it out with the rest. * stdlib/stdlib.h (MB_CUR_MAX): Not constant anymore. Get value according to currently used locale for catefory LC_CTYPE by calling the function __ctype_get_mb_cur_max. Tue May 28 03:27:46 1996 Ulrich Drepper <drepper@cygnus.com> * FAQ: Fix some typos. Tell that for Linux the kernel header files are necessary. * PROJECTS: New file. List of open jobs for glibc. * Makefile (distribute): Add PROJECTS. * crypt/GNUmakefile (headers): New variable. Mention crypt.h. * crypt/crypt.h: Header for crypt functions. * elf/elf.h: Add some new constants from recent Cygnus ELF header files. * login/getutid_r.c: Test for correct type. Don't depend on ut_type and ut_id unless _HAVE_UT_TYPE and _HAVE_UT_ID resp. are defined. Make really compliant with specification. * login/getutline_r.c, login/pututline_r.c: Don't depend on ut_type and ut_id unless _HAVE_UT_TYPE and _HAVE_UT_ID resp. are defined. Make really compliant with specification. * login/setutent_r.c: Don't depend on ut_type and ut_id unless _HAVE_UT_TYPE and _HAVE_UT_ID resp. are defined. * login/login.c, login/logout.c, login/logwtmp.c: Complete rewrite. Now based on getut*/setut* functions. * stdlib/strtol.c: Undo changes of Wed May 22 01:48:54 1996. This prevented using this file in other GNU packages. * sysdeps/gnu/utmpbits.h: Define _HAVE_UT_TYPE, _HAVE_UT_ID, and _HAVE_UT_TV because struct utmp has these members. * sysdeps/libm-i387/e_exp.S: Correct exp(+-Inf) case. * utmp.h: New file. Wrapper around login/utmp.h. * elf/dl-error.c (struct catch): New type. (catch): New static variable, struct catch *. (catch_env, signalled_errstring, signalled_objname): Variables removed. (_dl_signal_error): If CATCH is non-null, set its errstring and objname members and jump to CATCH->env. If it is null, call _dl_sysdep_fatal with a standard message. * elf/rtld.c (dl_main): Explode `doit' function into dl_main's body. No longer use _dl_catch_error.
1996-05-28Tue May 28 13:11:19 1996 Roland McGrath <roland@delasyd.gnu.ai.mit.edu>Roland McGrath
* Makerules (sed-remove-objpfx): Avoid extra space in regexp due to continuation line. * sysdeps/unix/sysv/linux/i386/socket.S: Fix off-by-one error in setting %ecx to 2nd syscall arg: we have pushed nothing, so function args are found at 4(%esp), not 8(%esp).