diff options
782 files changed, 2095 insertions, 26865 deletions
@@ -1,3 +1,77 @@ +2004-10-31 Mariusz Mazur <mmazur@kernel.pl> + + * sysdeps/unix/sysv/linux/alpha/setregid.c: New file. + * sysdeps/unix/sysv/linux/alpha/setresgid.c: New file. + * sysdeps/unix/sysv/linux/alpha/setresuid.c: New file. + * sysdeps/unix/sysv/linux/alpha/setreuid.c: New file. + +2004-10-27 Derek R. Price <derek@ximbiot.com> + + [BZ #487] This change is imported from gnulib. + * time/mktime.c (not_equal_tm) [DEBUG]: Remove redundant check. + +2004-10-24 Paul Eggert <eggert@cs.ucla.edu> + + [BZ #473] + * time/tst-mktime.c (main): Don't assume that mktime fails + when given time stamps before 1970. It returns negative + time_t values instead, for compatibility with BSD. + + * time/tst-mktime2.c: New file. + * time/Makefile (tests): Add it. + + [BZ #473] Import from gnulib. Revamp to avoid several problems near + time_t extrema, and on hosts with 64-bit time_t and 32-bit int. + This fixes Debian bug 177940. + * time/mktime.c (TIME_T_MIDPOINT): New macro. + (ydhms_diff): Renamed from ydhms_tm_diff, with a new signature, + which avoids overflow problems on hosts with 64-bit time_t and + 32-bit int. All callers changed. Now an inline function. + Verify at compile-time that long int is wide enough to avoid + these overflow problems. + (guess_time_tm): New function. + (__mktime_internal): Use it. Avoid overflow when computing yday on + hosts with 64-bit long and 32-bit int. Remove tests for 69; + no longer needed. Use if rather than #ifdef for LEAP_SECONDS_POSSIBLE + so that the code is checked by more compilers. + Do not rely on floating point to probe: stick to integer arithmetic, + to avoid potential porting problems. + Repair potential overflow correctly in the Southern Hemisphere. + (localtime_offset): Add a FIXME for the case where time_t is unsigned. + +2004-10-30 Andreas Schwab <schwab@suse.de> + + * sysdeps/m68k/dl-machine.h (elf_machine_rela) + (elf_machine_rela_relative, elf_machine_lazy_rel): Mark auto + instead of static. + +2004-10-30 Andreas Schwab <schwab@suse.de> + + * sysdeps/unix/sysv/linux/waitid.c: Include <stddef.h> for NULL. + +2004-10-30 Ulrich Drepper <drepper@redhat.com> + + * malloc/malloc.c (_int_free): Use unique comments for the error + cases. + +2004-10-28 Roland McGrath <roland@frob.com> + + * sysdeps/mach/hurd/i386/tls.h (_hurd_tls_fork): Use i386_thread_state + instead of machine_thread_state. + +2004-10-28 Roland McGrath <roland@redhat.com> + + * sysdeps/unix/sysv/linux/syscalls.list: Remove setaltroot. + +2004-10-28 Ulrich Drepper <drepper@redhat.com> + + * elf/dl-open.c (dl_open_worker): Remove reference to glibcbug script. + +2004-10-27 Ulrich Drepper <drepper@redhat.com> + + * elf/dl-load.c (_dl_map_object): Use cache_rpath to check for + existing rpath in main executable, not explicit test. + 2004-10-27 Jakub Jelinek <jakub@redhat.com> * include/resolv.h (_res_opcodes): New extern. @@ -26,11 +100,199 @@ * posix/Makefile: Add rules to build and run bug-glob2 test. * posix/bug-glob2.c: New test. +2004-10-27 Roland McGrath <roland@frob.com> + + * sysdeps/mach/hurd/i386/tls.h (HURD_TLS_DESC_DECL): New macro. + (_hurd_tls_init): Use it. + (_hurd_tls_fork): New function. + * sysdeps/mach/hurd/fork.c (__fork) [USE_TLS]: Call it. + +2004-10-26 Roland McGrath <roland@frob.com> + + * sysdeps/mach/hurd/i386/tls.h (_hurd_tls_init): Initialize TCB->tcb. + 2004-10-26 Jakub Jelinek <jakub@redhat.com> * sysdeps/gnu/netinet/udp.h (struct udphdr): Use u_int16_t type instead of uint16_t. Formatting. +2004-10-25 Roland McGrath <roland@redhat.com> + + * login/openpty.c (openpty): Add libutil_hidden_def. + + * nss/nss_files/files-parse.c (nss_files_parse_hidden_def): Define to + either libc_hidden_def or libnss_files_hidden_def, not hidden_def. + This file is also compiled into libnss_hesiod by #include. + +2004-10-25 Roland McGrath <roland@frob.com> + + * sysdeps/unix/bsd/hp: Directory and all files removed. + These are now in the ports repository. + * sysdeps/unix/bsd/osf: Likewise. + * sysdeps/unix/bsd/sequent: Likewise. + * sysdeps/unix/bsd/sony: Likewise. + * sysdeps/unix/bsd/ultrix4: Likewise. + * sysdeps/unix/sysv/aix: Likewise. + * sysdeps/unix/sysv/hpux: Likewise. + * sysdeps/unix/sysv/irix4: Likewise. + * sysdeps/unix/sysv/isc2.2: Likewise. + * sysdeps/unix/sysv/minix: Likewise. + * sysdeps/unix/sysv/sco3.2.4: Likewise. + * sysdeps/unix/sysv/sco3.2: Likewise. + * sysdeps/unix/sysv/sysv4: Likewise. + + * configure.in (ASM_LINE_SEP): Move this setting to ... + * sysdeps/hppa/configure.in: ... here, new file. + * sysdeps/hppa/configure: New generated file. + * configure: Regenerated. + +2004-10-25 Kaz Kojima <kkojima@rr.iij4u.or.jp> + + * sysdeps/sh/dl-machine.h: Include sysdep.h. + (ELF_MACHINE_RUNTIME_TRAMPOLINE): Add CFI directives. + (elf_machine_runtime_setup): Add always_inline attribute. + (_dl_start_user): Pass the correct environ. + (elf_machine_rela): Replace static inline by auto inline, add + always_inline attribute. + (elf_machine_rela_relative): Likewise. + (elf_machine_lazy_rel): Likewise. + +2004-10-24 Ulrich Drepper <drepper@redhat.com> + + * nis/nis_call.c: Pretty printing. Minor cleanups. + * nis/nis_addmember.c (nis_addmember): Add assert to check buffer + bounds. + + * resolv/nss_dns/dns-host.c: Avoid using PLTs. + * include/libc-symbols.h: Define hidden attribute macros for + libnss_nisplus and libutil. + * include/utmp.h: Add libutil_hidden_proto for login_tty. + * login/login_tty.c: Add libutil_hidden_def. + * nis/nisplus-parser.h: Add libnss_nisplus_hidden_proto for parsers. + * nis/nss_nisplus/nisplus-parser.c: Add libnss_nisplus_hidden_def. + * include/pty.h: New file. + * include/rpcsvc/yp.h: New file. + * include/rpcsvc/ypclnt.h: New file. + * include/rpcsvc/ypupd.h: New file. + * include/libc-symbols.h: Define hidden attribute macros for libnsl. + * include/rpcsvc/nislib.h: Use libnsl_hidden_proto for various + functions. + * nis/nis_add.c: Add libnsl_hidden_def. Minor optimizations. + * nis/nis_call.c: Likewise. + * nis/nis_clone_obj.c: Likewise. + * nis/nis_defaults.c: Likewise. + * nis/nis_domain_of_r.c: Likewise. + * nis/nis_error.c: Likewise. + * nis/nis_file.c: Likewise. + * nis/nis_free.c: Likewise. + * nis/nis_local_names.c: Likewise. + * nis/nis_lookup.c: Likewise. + * nis/nis_modify.c: Likewise. + * nis/nis_print.c: Likewise. + * nis/nis_remove.c: Likewise. + * nis/nis_subr.c: Likewise. + * nis/nis_table.c: Likewise. + * nis/nis_util.c: Likewise. + * nis/yp_xdr.c: Likewise. + * nis/ypclnt.c: Likewise. + * nis/ypupdate_xdr.c: Likewise. + + * resolv/res_send.c (send_dg): Cope with failures. + + * include/libc-symbols.h: Define hidden attribute macros for + libnss_files. + * include/netdb.h: Use libnss_files_hidden_proto for the parsers + defined in libnss_files, not libc_hidden_proto. + * include/netinet/ether.h: Likewise. + * include/rpc/netdb.h: Likewise. + * nss/nss_files/files-parse.c: Use hidden_def in parser definitions + instead of libc_hidden_def. + * nss/nss_files/files-netgrp.c: Add libnss_files_hidden_def to + _nss_netgroup_parseline definition. + +2004-10-23 Roland McGrath <roland@frob.com> + + * sysdeps/mach/hurd/i386/tls.h (_hurd_tls_init): Don't return early + after an RPC succeeds. + + * sysdeps/vax, sysdeps/unix/bsd/vax: Directories and all files removed. + These are now in the ports repository. + * sysdeps/tahoe, sysdeps/unix/bsd/tahoe: Likewise. + * sysdeps/cris, sysdeps/unix/sysv/linux/cris: Likewise. + * sysdeps/am29k, sysdeps/i860, sysdeps/i960, sysdeps/m88k: Likewise. + * sysdeps/standalone, sysdeps/z8000: Likewise. + +2004-10-23 Ulrich Drepper <drepper@redhat.com> + + * resolv/res_send.c (send_dg): Combine write and read to socket + into one loop. + +2004-10-22 Roland McGrath <roland@frob.com> + + * Makefile (%.bz2, %.gz): Move these pattern rules ... + * Makerules: ... to here. + +2001-10-31 Alexandre Oliva <aoliva@redhat.com> + + * elf/elf.h: Add R_MN10300_* relocation numbers. + +2004-10-22 Paul Eggert <eggert@cs.ucla.edu> + + [BZ #471] Fix imported from gnulib. + * time/mktime.c (leapyear, ydms_tm_diff): Year is of type + long int, not int, to avoid problems when tm_year == INT_MAX + and tm_mon > 12. + (__mktime_intenral): Compute year using long int arithmetic, + not int arithmetic, to avoid problems on hosts where time_t + and long are 64 bits but int is 32. + + [BZ #468] Import a fix from gnulib. + * time/mktime.c [! DEBUG]: Do not include <string.h>. + It's needed only if DEBUG is nonzero. + + [BZ #470] Import fix from gnulib. + * time/mktime.c [!_LIBC] (__mktime_internal): Define to + mktime_internal, to avoid clashes with any __mktime_internal + function defined in the standard library. + + [BZ #469] Imported from gnulib. + * time/mktime.c (__isleap): Remove; all uses replaced by: + (leapyear): New function, which avoids overflow by not adding + 1900 to year before testing whether it is a leap year. + + [BZ #472] Imported from gnulib. + * time/mktime.c (Local Variables): Remove -DHAVE_TIME_R_POSIX; + no longer used. + +2004-10-22 Ulrich Drepper <drepper@redhat.com> + + * resolv/res_send.c: Remove compatibility code which is unused in + glibc and probably bitrotten. + + * debug/execinfo.h: Remove __THROW from backtrace prototype. + +2004-10-22 Jakub Jelinek <jakub@redhat.com> + + * sysdeps/i386/Makefile (CFLAGS-backtrace.c): Add -fexceptions. + * sysdeps/i386/backtrace.c: Include <bits/libc-lock.h>, <dlfcn.h>, + <stdlib.h> and <unwind.h>. Remove <bp-checks.h> include. + (struct trace_arg): New type. + (unwind_backtrace, unwind_getip, unwind_getcfa, unwind_getgr): New + fn pointers resp. macros. + (init, backtrace_helper): New functions. + (__backtrace): Rewritten to use _Unwind_Backtrace first and fall + back to frame pointer walking. + +2004-10-22 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/unix/sysv/linux/Versions: Things are still in flux, it + seems. Undo last additions. + +2004-10-21 Ulrich Drepper <drepper@redhat.com> + + * posix/execvp.c (execvp): Also ignore ENODEV and ETIMEDOUT errno + values. + 2004-10-20 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/sysv/linux/readonly-area.c (__readonly_area): If /proc @@ -299,9 +299,6 @@ $(foreach dir,$(dist-separate), ) endef -%.bz2: %; bzip2 -9vk $< -%.gz: %; gzip -9vnc $< > $@.new && mv -f $@.new $@ - # Do `make dist dist-version=X.Y.Z' to make tar files of an older version. dist-version = $(version) @@ -1328,6 +1328,8 @@ FORCE: echo-headers: @echo $(headers) +%.bz2: %; bzip2 -9vk $< +%.gz: %; gzip -9vnc $< > $@.new && mv -f $@.new $@ # Common cleaning targets. @@ -6089,49 +6089,6 @@ _ACEOF fi -case "${host_cpu}-${host_os}" in - cris*) - libc_cv_asm_line_sep='@' - cat >>confdefs.h <<_ACEOF -#define ASM_LINE_SEP $libc_cv_asm_line_sep -_ACEOF - - ;; - hppa*linux*) - echo "$as_me:$LINENO: checking for assembler line separator" >&5 -echo $ECHO_N "checking for assembler line separator... $ECHO_C" >&6 -if test "${libc_cv_asm_line_sep+set}" = set; then - echo $ECHO_N "(cached) $ECHO_C" >&6 -else - cat > conftest.s <<EOF - nop ; is_old_puffin -EOF - if { ac_try='${CC-cc} -c $ASFLAGS conftest.s 1>&5' - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 - (eval $ac_try) 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); }; }; then - libc_cv_asm_line_sep='!' - else - if test -z "$enable_hacker_mode"; then - echo "*** You need a newer assembler to compile glibc" - rm -f conftest* - exit 1 - fi - libc_cv_asm_line_sep=';' - fi - rm -f conftest* -fi -echo "$as_me:$LINENO: result: $libc_cv_asm_line_sep" >&5 -echo "${ECHO_T}$libc_cv_asm_line_sep" >&6 - cat >>confdefs.h <<_ACEOF -#define ASM_LINE_SEP $libc_cv_asm_line_sep -_ACEOF - - ;; -esac - echo "$as_me:$LINENO: checking whether CFI directives are supported" >&5 echo $ECHO_N "checking whether CFI directives are supported... $ECHO_C" >&6 if test "${libc_cv_asm_cfi_directives+set}" = set; then diff --git a/configure.in b/configure.in index 829e93578b..9b8a1eb26d 100644 --- a/configure.in +++ b/configure.in @@ -1617,35 +1617,6 @@ elif test $libc_cv_asm_weakext_directive = yes; then AC_DEFINE(HAVE_ASM_WEAKEXT_DIRECTIVE) fi -dnl The standard hppa assembler uses `;' to start comments and `!' -dnl as a line separator. CRIS uses `;' to start comments and `@' for -dnl line separator. -case "${host_cpu}-${host_os}" in - cris*) - libc_cv_asm_line_sep='@' - AC_DEFINE_UNQUOTED(ASM_LINE_SEP, $libc_cv_asm_line_sep) - ;; - hppa*linux*) - AC_CACHE_CHECK(for assembler line separator, - libc_cv_asm_line_sep, [dnl - cat > conftest.s <<EOF - nop ; is_old_puffin -EOF - if AC_TRY_COMMAND(${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD); then - libc_cv_asm_line_sep='!' - else - if test -z "$enable_hacker_mode"; then - echo "*** You need a newer assembler to compile glibc" - rm -f conftest* - exit 1 - fi - libc_cv_asm_line_sep=';' - fi - rm -f conftest*]) - AC_DEFINE_UNQUOTED(ASM_LINE_SEP, $libc_cv_asm_line_sep) - ;; -esac - AC_CACHE_CHECK(whether CFI directives are supported, libc_cv_asm_cfi_directives, [dnl cat > conftest.s <<EOF .text diff --git a/debug/execinfo.h b/debug/execinfo.h index ff11c0c314..fa9927c71a 100644 --- a/debug/execinfo.h +++ b/debug/execinfo.h @@ -25,7 +25,7 @@ __BEGIN_DECLS /* Store up to SIZE return address of the current program state in ARRAY and return the exact number of values stored. */ -extern int backtrace (void **__array, int __size) __THROW __nonnull ((1)); +extern int backtrace (void **__array, int __size) __nonnull ((1)); /* Return names of functions from the backtrace list in ARRAY in a newly diff --git a/elf/dl-load.c b/elf/dl-load.c index 27f6e3f641..ea287cddcc 100644 --- a/elf/dl-load.c +++ b/elf/dl-load.c @@ -1875,7 +1875,7 @@ _dl_map_object (struct link_map *loader, const char *name, int preloaded, { l = GL(dl_ns)[LM_ID_BASE]._ns_loaded; if (l && l->l_type != lt_loaded && l != loader - && l->l_rpath_dirs.dirs != (void *) -1) + && cache_rpath (l, &l->l_rpath_dirs, DT_RPATH, "RPATH")) fd = open_path (name, namelen, preloaded, &l->l_rpath_dirs, &realname, &fb); } diff --git a/elf/dl-open.c b/elf/dl-open.c index 294a523aac..7e890ad7f7 100644 --- a/elf/dl-open.c +++ b/elf/dl-open.c @@ -506,7 +506,7 @@ cannot create TLS data structures")); /* Bump the generation number if necessary. */ if (any_tls) if (__builtin_expect (++GL(dl_tls_generation) == 0, 0)) - __libc_fatal (_("TLS generation counter wrapped! Please send report with the 'glibcbug' script.")); + __libc_fatal (_("TLS generation counter wrapped! Please report this.")); #endif /* Run the initializer functions of new objects. */ @@ -2464,6 +2464,35 @@ typedef Elf32_Addr Elf32_Conflict; #define R_X86_64_NUM 24 +/* AM33 relocations. */ +#define R_MN10300_NONE 0 /* No reloc. */ +#define R_MN10300_32 1 /* Direct 32 bit. */ +#define R_MN10300_16 2 /* Direct 16 bit. */ +#define R_MN10300_8 3 /* Direct 8 bit. */ +#define R_MN10300_PCREL32 4 /* PC-relative 32-bit. */ +#define R_MN10300_PCREL16 5 /* PC-relative 16-bit signed. */ +#define R_MN10300_PCREL8 6 /* PC-relative 8-bit signed. */ +#define R_MN10300_GNU_VTINHERIT 7 /* Ancient C++ vtable garbage... */ +#define R_MN10300_GNU_VTENTRY 8 /* ... collection annotation. */ +#define R_MN10300_24 9 /* Direct 24 bit. */ +#define R_MN10300_GOTPC32 10 /* 32-bit PCrel offset to GOT. */ +#define R_MN10300_GOTPC16 11 /* 16-bit PCrel offset to GOT. */ +#define R_MN10300_GOTOFF32 12 /* 32-bit offset from GOT. */ +#define R_MN10300_GOTOFF24 13 /* 24-bit offset from GOT. */ +#define R_MN10300_GOTOFF16 14 /* 16-bit offset from GOT. */ +#define R_MN10300_PLT32 15 /* 32-bit PCrel to PLT entry. */ +#define R_MN10300_PLT16 16 /* 16-bit PCrel to PLT entry. */ +#define R_MN10300_GOT32 17 /* 32-bit offset to GOT entry. */ +#define R_MN10300_GOT24 18 /* 24-bit offset to GOT entry. */ +#define R_MN10300_GOT16 19 /* 16-bit offset to GOT entry. */ +#define R_MN10300_COPY 20 /* Copy symbol at runtime. */ +#define R_MN10300_GLOB_DAT 21 /* Create GOT entry. */ +#define R_MN10300_JMP_SLOT 22 /* Create PLT entry. */ +#define R_MN10300_RELATIVE 23 /* Adjust by program base. */ + +#define R_MN10300_NUM 24 + + /* M32R relocs. */ #define R_M32R_NONE 0 /* No reloc. */ #define R_M32R_16 1 /* Direct 16 bit. */ diff --git a/fedora/branch.mk b/fedora/branch.mk index 8f05e2326c..2483250036 100644 --- a/fedora/branch.mk +++ b/fedora/branch.mk @@ -1,5 +1,5 @@ # This file is updated automatically by Makefile. glibc-branch := fedora glibc-base := HEAD -fedora-sync-date := 2004-10-20 10:16 UTC -fedora-sync-tag := fedora-glibc-20041020T1016 +fedora-sync-date := 2004-11-02 11:53 UTC +fedora-sync-tag := fedora-glibc-20041102T1153 diff --git a/include/libc-symbols.h b/include/libc-symbols.h index 7dd0d2901b..dcc46cc80f 100644 --- a/include/libc-symbols.h +++ b/include/libc-symbols.h @@ -780,6 +780,60 @@ for linking") # define libdl_hidden_data_ver(local, name) #endif +#if defined NOT_IN_libc && defined IS_IN_libnss_files +# define libnss_files_hidden_proto(name, attrs...) hidden_proto (name, ##attrs) +# define libnss_files_hidden_def(name) hidden_def (name) +# define libnss_files_hidden_weak(name) hidden_weak (name) +# define libnss_files_hidden_ver(local, name) hidden_ver (local, name) +# define libnss_files_hidden_data_def(name) hidden_data_def (name) +# define libnss_files_hidden_data_weak(name) hidden_data_weak (name) +# define libnss_files_hidden_data_ver(local, name) hidden_data_ver(local, name) +#else +# define libnss_files_hidden_proto(name, attrs...) +# define libnss_files_hidden_def(name) +# define libnss_files_hidden_weak(name) +# define libnss_files_hidden_ver(local, name) +# define libnss_files_hidden_data_def(name) +# define libnss_files_hidden_data_weak(name) +# define libnss_files_hidden_data_ver(local, name) +#endif + +#if defined NOT_IN_libc && defined IS_IN_libnsl +# define libnsl_hidden_proto(name, attrs...) hidden_proto (name, ##attrs) +# define libnsl_hidden_def(name) hidden_def (name) +# define libnsl_hidden_weak(name) hidden_weak (name) +# define libnsl_hidden_ver(local, name) hidden_ver (local, name) +# define libnsl_hidden_data_def(name) hidden_data_def (name) +# define libnsl_hidden_data_weak(name) hidden_data_weak (name) +# define libnsl_hidden_data_ver(local, name) hidden_data_ver (local, name) +#else +# define libnsl_hidden_proto(name, attrs...) +# define libnsl_hidden_def(name) +# define libnsl_hidden_weak(name) +# define libnsl_hidden_ver(local, name) +# define libnsl_hidden_data_def(name) +# define libnsl_hidden_data_weak(name) +# define libnsl_hidden_data_ver(local, name) +#endif + +#if defined NOT_IN_libc && defined IS_IN_libnss_nisplus +# define libnss_nisplus_hidden_proto(name, attrs...) hidden_proto (name, ##attrs) +# define libnss_nisplus_hidden_def(name) hidden_def (name) +# define libnss_nisplus_hidden_weak(name) hidden_weak (name) +# define libnss_nisplus_hidden_ver(local, name) hidden_ver (local, name) +# define libnss_nisplus_hidden_data_def(name) hidden_data_def (name) +# define libnss_nisplus_hidden_data_weak(name) hidden_data_weak (name) +# define libnss_nisplus_hidden_data_ver(local, name) hidden_data_ver (local, name) +#else +# define libnss_nisplus_hidden_proto(name, attrs...) +# define libnss_nisplus_hidden_def(name) +# define libnss_nisplus_hidden_weak(name) +# define libnss_nisplus_hidden_ver(local, name) +# define libnss_nisplus_hidden_data_def(name) +# define libnss_nisplus_hidden_data_weak(name) +# define libnss_nisplus_hidden_data_ver(local, name) +#endif + #ifdef HAVE_BUILTIN_REDIRECTION # define libc_hidden_builtin_proto(name, attrs...) libc_hidden_proto (name, ##attrs) # define libc_hidden_builtin_def(name) libc_hidden_def (name) @@ -798,6 +852,24 @@ for linking") # endif #endif +#if defined NOT_IN_libc && defined IS_IN_libutil +# define libutil_hidden_proto(name, attrs...) hidden_proto (name, ##attrs) +# define libutil_hidden_def(name) hidden_def (name) +# define libutil_hidden_weak(name) hidden_weak (name) +# define libutil_hidden_ver(local, name) hidden_ver (local, name) +# define libutil_hidden_data_def(name) hidden_data_def (name) +# define libutil_hidden_data_weak(name) hidden_data_weak (name) +# define libutil_hidden_data_ver(local, name) hidden_data_ver (local, name) +#else +# define libutil_hidden_proto(name, attrs...) +# define libutil_hidden_def(name) +# define libutil_hidden_weak(name) +# define libutil_hidden_ver(local, name) +# define libutil_hidden_data_def(name) +# define libutil_hidden_data_weak(name) +# define libutil_hidden_data_ver(local, name) +#endif + /* Get some dirty hacks. */ #include <symbol-hacks.h> diff --git a/include/netdb.h b/include/netdb.h index e8f28e8c67..0bf84c21c0 100644 --- a/include/netdb.h +++ b/include/netdb.h @@ -202,9 +202,10 @@ extern enum nss_status _nss_netgroup_parseline (char **cursor, struct __netgrent *result, char *buffer, size_t buflen, int *errnop); -libc_hidden_proto (_nss_files_parse_protoent) -libc_hidden_proto (_nss_files_parse_servent) -libc_hidden_proto (_nss_files_parse_netent) +libnss_files_hidden_proto (_nss_files_parse_protoent) +libnss_files_hidden_proto (_nss_files_parse_servent) +libnss_files_hidden_proto (_nss_files_parse_netent) +libnss_files_hidden_proto (_nss_netgroup_parseline) #define DECLARE_NSS_PROTOTYPES(service) \ extern enum nss_status _nss_ ## service ## _setprotoent (int); \ diff --git a/include/netinet/ether.h b/include/netinet/ether.h index 2a9efae0bf..2efe4c04e4 100644 --- a/include/netinet/ether.h +++ b/include/netinet/ether.h @@ -17,7 +17,7 @@ struct parser_data; extern int _nss_files_parse_etherent (char *line, struct etherent *result, struct parser_data *data, size_t datalen, int *errnop); -libc_hidden_proto (_nss_files_parse_etherent) +libnss_files_hidden_proto (_nss_files_parse_etherent) #define DECLARE_NSS_PROTOTYPES(service) \ extern enum nss_status _nss_ ## service ## _setetherent (int __stayopen); \ diff --git a/include/pty.h b/include/pty.h new file mode 100644 index 0000000000..a91be80852 --- /dev/null +++ b/include/pty.h @@ -0,0 +1,6 @@ +#ifndef _PTY_H +#include <login/pty.h> + +libutil_hidden_proto (openpty) + +#endif diff --git a/include/rpc/netdb.h b/include/rpc/netdb.h index ad7cff1a6e..f7021e7aba 100644 --- a/include/rpc/netdb.h +++ b/include/rpc/netdb.h @@ -26,7 +26,7 @@ struct parser_data; extern int _nss_files_parse_rpcent (char *line, struct rpcent *result, struct parser_data *data, size_t datalen, int *errnop); -libc_hidden_proto (_nss_files_parse_rpcent) +libnss_files_hidden_proto (_nss_files_parse_rpcent) #define DECLARE_NSS_PROTOTYPES(service) \ extern enum nss_status _nss_ ## service ## _setrpcent (int); \ diff --git a/include/rpcsvc/nislib.h b/include/rpcsvc/nislib.h index 841c7f73a1..9c2be0e811 100644 --- a/include/rpcsvc/nislib.h +++ b/include/rpcsvc/nislib.h @@ -1 +1,45 @@ +#ifndef __RPCSVC_NISLIB_H__ #include <nis/rpcsvc/nislib.h> + +libnsl_hidden_proto (nis_leaf_of_r) +libnsl_hidden_proto (nis_name_of_r) +libnsl_hidden_proto (nis_getnames) +libnsl_hidden_proto (nis_freenames) +libnsl_hidden_proto (nis_dir_cmp) +libnsl_hidden_proto (nis_destroy_object) +libnsl_hidden_proto (nis_local_directory) +libnsl_hidden_proto (nis_local_group) +libnsl_hidden_proto (nis_local_host) +libnsl_hidden_proto (nis_local_principal) +libnsl_hidden_proto (__free_fdresult) +libnsl_hidden_proto (nis_free_request) +libnsl_hidden_proto (nis_free_directory) +libnsl_hidden_proto (nis_free_object) +libnsl_hidden_proto (nis_freeresult) +libnsl_hidden_proto (readColdStartFile) +libnsl_hidden_proto (nis_print_rights) +libnsl_hidden_proto (nis_print_directory) +libnsl_hidden_proto (nis_print_group) +libnsl_hidden_proto (nis_print_table) +libnsl_hidden_proto (nis_print_link) +libnsl_hidden_proto (nis_print_entry) +libnsl_hidden_proto (nis_print_object) +libnsl_hidden_proto (nis_sperrno) +libnsl_hidden_proto (nis_sperror_r) +libnsl_hidden_proto (__nisbind_destroy) +libnsl_hidden_proto (__nisbind_next) +libnsl_hidden_proto (__nisbind_connect) +libnsl_hidden_proto (__nisbind_create) +libnsl_hidden_proto (nis_lookup) +libnsl_hidden_proto (nis_list) +libnsl_hidden_proto (__nis_finddirectory) +libnsl_hidden_proto (nis_domain_of_r) +libnsl_hidden_proto (nis_modify) +libnsl_hidden_proto (nis_remove) +libnsl_hidden_proto (nis_add) +libnsl_hidden_proto (__nis_default_owner) +libnsl_hidden_proto (__nis_default_group) +libnsl_hidden_proto (__nis_default_access) +libnsl_hidden_proto (nis_clone_object) + +#endif diff --git a/include/rpcsvc/yp.h b/include/rpcsvc/yp.h new file mode 100644 index 0000000000..cc4e00fd0b --- /dev/null +++ b/include/rpcsvc/yp.h @@ -0,0 +1,18 @@ +#ifndef __RPCSVC_YP_H__ +#include <nis/rpcsvc/yp.h> + +libnsl_hidden_proto (xdr_ypstat) +libnsl_hidden_proto (xdr_ypxfrstat) +libnsl_hidden_proto (xdr_domainname) +libnsl_hidden_proto (xdr_mapname) +libnsl_hidden_proto (xdr_peername) +libnsl_hidden_proto (xdr_keydat) +libnsl_hidden_proto (xdr_valdat) +libnsl_hidden_proto (xdr_ypmap_parms) +libnsl_hidden_proto (xdr_ypresp_key_val) +libnsl_hidden_proto (xdr_ypresp_all) +libnsl_hidden_proto (xdr_yppush_status) +libnsl_hidden_proto (xdr_ypbind_resptype) +libnsl_hidden_proto (xdr_ypbind_binding) + +#endif diff --git a/include/rpcsvc/ypclnt.h b/include/rpcsvc/ypclnt.h new file mode 100644 index 0000000000..b38dc6bb4c --- /dev/null +++ b/include/rpcsvc/ypclnt.h @@ -0,0 +1,10 @@ +#ifndef __RPCSVC_YPCLNT_H__ +#include <nis/rpcsvc/ypclnt.h> + +libnsl_hidden_proto (ypbinderr_string) +libnsl_hidden_proto (yp_bind) +libnsl_hidden_proto (yp_get_default_domain) +libnsl_hidden_proto (ypprot_err) +libnsl_hidden_proto (yp_master) + +#endif diff --git a/include/rpcsvc/ypupd.h b/include/rpcsvc/ypupd.h new file mode 100644 index 0000000000..68116e629f --- /dev/null +++ b/include/rpcsvc/ypupd.h @@ -0,0 +1,6 @@ +#ifndef __RPCSVC_YPUPD_H__ +#include <nis/rpcsvc/ypupd.h> + +libnsl_hidden_proto (xdr_yp_buf) + +#endif diff --git a/include/utmp.h b/include/utmp.h index 54f41ba5e5..3a35c599e5 100644 --- a/include/utmp.h +++ b/include/utmp.h @@ -16,4 +16,7 @@ extern int __getutid_r (__const struct utmp *__id, struct utmp *__buffer, struct utmp **__result); extern int __getutline_r (__const struct utmp *__line, struct utmp *__buffer, struct utmp **__result); + +libutil_hidden_proto (login_tty) + #endif diff --git a/localedata/ChangeLog b/localedata/ChangeLog index 5f362c62b7..4467bc16c9 100644 --- a/localedata/ChangeLog +++ b/localedata/ChangeLog @@ -1,3 +1,173 @@ +2004-10-31 Petter Reinholdtsen <pere@hungry.com> + + [BZ #337] + * SUPPORTED: Update bug reporting comment. + * locales/af_ZA: Change contact address from bug-glibc@gnu.org + to bug-glibc-locales@gnu.org (a new alias for the libc-locales mailing + list). + * locales/an_ES: Likewise. + * locales/ar_AE: Likewise. + * locales/ar_BH: Likewise. + * locales/ar_DZ: Likewise. + * locales/ar_EG: Likewise. + * locales/ar_IN: Likewise. + * locales/ar_IQ: Likewise. + * locales/ar_JO: Likewise. + * locales/ar_KW: Likewise. + * locales/ar_LB: Likewise. + * locales/ar_LY: Likewise. + * locales/ar_MA: Likewise. + * locales/ar_OM: Likewise. + * locales/ar_QA: Likewise. + * locales/ar_SA: Likewise. + * locales/ar_SD: Likewise. + * locales/ar_SY: Likewise. + * locales/ar_TN: Likewise. + * locales/ar_YE: Likewise. + * locales/be_BY: Likewise. + * locales/bn_IN: Likewise. + * locales/br_FR@euro: Likewise. + * locales/ca_ES: Likewise. + * locales/ca_ES@euro: Likewise. + * locales/cs_CZ: Likewise. + * locales/da_DK: Likewise. + * locales/de_AT: Likewise. + * locales/de_AT@euro: Likewise. + * locales/de_BE: Likewise. + * locales/de_BE@euro: Likewise. + * locales/de_CH: Likewise. + * locales/de_DE: Likewise. + * locales/de_DE@euro: Likewise. + * locales/de_LU: Likewise. + * locales/de_LU@euro: Likewise. + * locales/el_GR: Likewise. + * locales/el_GR@euro: Likewise. + * locales/en_AU: Likewise. + * locales/en_BW: Likewise. + * locales/en_CA: Likewise. + * locales/en_DK: Likewise. + * locales/en_GB: Likewise. + * locales/en_HK: Likewise. + * locales/en_IE: Likewise. + * locales/en_IE@euro: Likewise. + * locales/en_IN: Likewise. + * locales/en_NZ: Likewise. + * locales/en_PH: Likewise. + * locales/en_SG: Likewise. + * locales/en_US: Likewise. + * locales/en_ZW: Likewise. + * locales/es_AR: Likewise. + * locales/es_BO: Likewise. + * locales/es_CL: Likewise. + * locales/es_CO: Likewise. + * locales/es_CR: Likewise. + * locales/es_DO: Likewise. + * locales/es_EC: Likewise. + * locales/es_ES: Likewise. + * locales/es_ES@euro: Likewise. + * locales/es_GT: Likewise. + * locales/es_HN: Likewise. + * locales/es_MX: Likewise. + * locales/es_NI: Likewise. + * locales/es_PA: Likewise. + * locales/es_PE: Likewise. + * locales/es_PR: Likewise. + * locales/es_PY: Likewise. + * locales/es_SV: Likewise. + * locales/es_US: Likewise. + * locales/es_UY: Likewise. + * locales/es_VE: Likewise. + * locales/et_EE: Likewise. + * locales/eu_ES: Likewise. + * locales/eu_ES@euro: Likewise. + * locales/fi_FI: Likewise. + * locales/fi_FI@euro: Likewise. + * locales/fo_FO: Likewise. + * locales/fr_BE: Likewise. + * locales/fr_BE@euro: Likewise. + * locales/fr_CA: Likewise. + * locales/fr_CH: Likewise. + * locales/fr_FR: Likewise. + * locales/fr_FR@euro: Likewise. + * locales/fr_LU: Likewise. + * locales/fr_LU@euro: Likewise. + * locales/ga_IE: Likewise. + * locales/ga_IE@euro: Likewise. + * locales/gl_ES: Likewise. + * locales/gl_ES@euro: Likewise. + * locales/gu_IN: Likewise. + * locales/gv_GB: Likewise. + * locales/he_IL: Likewise. + * locales/hi_IN: Likewise. + * locales/hr_HR: Likewise. + * locales/hu_HU: Likewise. + * locales/id_ID: Likewise. + * locales/is_IS: Likewise. + * locales/it_CH: Likewise. + * locales/it_IT: Likewise. + * locales/it_IT@euro: Likewise. + * locales/iw_IL: Likewise. + * locales/ja_JP: Likewise. + * locales/kk_KZ: Likewise. + * locales/kl_GL: Likewise. + * locales/kn_IN: Likewise. + * locales/ko_KR: Likewise. + * locales/kw_GB: Likewise. + * locales/lo_LA: Likewise. + * locales/lt_LT: Likewise. + * locales/lv_LV: Likewise. + * locales/ml_IN: Likewise. + * locales/mn_MN: Likewise. + * locales/mr_IN: Likewise. + * locales/ms_MY: Likewise. + * locales/mt_MT: Likewise. + * locales/nb_NO: Likewise. + * locales/nl_BE: Likewise. + * locales/nl_BE@euro: Likewise. + * locales/nl_NL: Likewise. + * locales/nl_NL@euro: Likewise. + * locales/nn_NO: Likewise. + * locales/pa_IN: Likewise. + * locales/pl_PL: Likewise. + * locales/pt_BR: Likewise. + * locales/pt_PT: Likewise. + * locales/pt_PT@euro: Likewise. + * locales/ro_RO: Likewise. + * locales/ru_RU: Likewise. + * locales/ru_UA: Likewise. + * locales/sk_SK: Likewise. + * locales/sl_SI: Likewise. + * locales/sq_AL: Likewise. + * locales/sv_FI: Likewise. + * locales/sv_FI@euro: Likewise. + * locales/sv_SE: Likewise. + * locales/ta_IN: Likewise. + * locales/te_IN: Likewise. + * locales/th_TH: Likewise. + * locales/tr_TR: Likewise. + * locales/uk_UA: Likewise. + * locales/ur_PK: Likewise. + * locales/vi_VN: Likewise. + * locales/wa_BE@euro: Likewise. + * locales/zh_CN: Likewise. + * locales/zh_HK: Likewise. + * locales/zh_SG: Likewise. + * locales/zh_TW: Likewise. + + [BZ #187] + * locales/tr_TR: Add 'yY' and 'nN' to yesexpr and noexpr, to avoid + surprises when using untranslated program. + * locales/tr_TR: Remove trailing '.*' from yesexpr and noexpr to + make it more like the structure of the POSIX locale values. + * locales/tr_TR: Correct numeric decimal point to use comma, and + correct grouping. + Based on patches from Deniz Akkus Kanca and Nilgün Belma Bugüner. + + [BZ #421] + * locales/tr_TR: Update with new currency symbol valid from + 2005-01-01. Patch from Nilgün Belma Bugüner. + * locales/tr_TR: Convert UTF-8 comment to <U#> notation. + 2004-10-11 Ulrich Drepper <drepper@redhat.com> * locales/fa_IR: Add to_inpunct map. diff --git a/localedata/SUPPORTED b/localedata/SUPPORTED index aa0c079e2d..b5865ef856 100644 --- a/localedata/SUPPORTED +++ b/localedata/SUPPORTED @@ -1,6 +1,5 @@ # This file names the currently supported and somewhat tested locales. -# If you have any additions please use the glibcbug script to send an -# appropriate message. +# If you have any additions please file a glibc bug report. SUPPORTED-LOCALES=\ aa_DJ/ISO-8859-1 \ aa_ER/UTF-8 \ diff --git a/localedata/locales/af_ZA b/localedata/locales/af_ZA index 2d0a1900ba..b5699bc77b 100644 --- a/localedata/locales/af_ZA +++ b/localedata/locales/af_ZA @@ -21,7 +21,7 @@ title "Afrikaans locale for South Africa" source "RAP" address "" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Afrikaans" diff --git a/localedata/locales/an_ES b/localedata/locales/an_ES index ef64650ec8..a9722c5dac 100644 --- a/localedata/locales/an_ES +++ b/localedata/locales/an_ES @@ -23,7 +23,7 @@ title "Aragonese locale for Spain" source "" address "" contact "Jordi Mallach Pérez" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Aragonese" diff --git a/localedata/locales/ar_AE b/localedata/locales/ar_AE index 21ac611496..db4a819d48 100644 --- a/localedata/locales/ar_AE +++ b/localedata/locales/ar_AE @@ -9,7 +9,7 @@ title "Arabic language locale for United Arab Emirates" source "IBM Globalization Center of Competency, Yamato Software Laboratory" address "1623-14, Shimotsuruma, Yamato-shi, Kanagawa-ken, 242-8502, Japan" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Arabic" diff --git a/localedata/locales/ar_BH b/localedata/locales/ar_BH index 4ef1d25464..7837f502c2 100644 --- a/localedata/locales/ar_BH +++ b/localedata/locales/ar_BH @@ -9,7 +9,7 @@ title "Arabic language locale for Bahrain" source "IBM Globalization Center of Competency, Yamato Software Laboratory" address "1623-14, Shimotsuruma, Yamato-shi, Kanagawa-ken, 242-8502, Japan" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Arabic" diff --git a/localedata/locales/ar_DZ b/localedata/locales/ar_DZ index 755ed1c3bf..8a28cf9301 100644 --- a/localedata/locales/ar_DZ +++ b/localedata/locales/ar_DZ @@ -9,7 +9,7 @@ title "Arabic language locale for Algeria" source "IBM Globalization Center of Competency, Yamato Software Laboratory" address "1623-14, Shimotsuruma, Yamato-shi, Kanagawa-ken, 242-8502, Japan" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Arabic" diff --git a/localedata/locales/ar_EG b/localedata/locales/ar_EG index 39d55e65fb..8dd93062cf 100644 --- a/localedata/locales/ar_EG +++ b/localedata/locales/ar_EG @@ -9,7 +9,7 @@ title "Arabic language locale for Egypt" source "IBM Globalization Center of Competency, Yamato Software Laboratory" address "1623-14, Shimotsuruma, Yamato-shi, Kanagawa-ken, 242-8502, Japan" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Arabic" diff --git a/localedata/locales/ar_IN b/localedata/locales/ar_IN index f1cbb37904..9ba215d8e1 100644 --- a/localedata/locales/ar_IN +++ b/localedata/locales/ar_IN @@ -9,7 +9,7 @@ title "Arabic language locale for India" source "IBM Globalization Center of Competency, Yamato Software Laboratory" address "1623-14, Shimotsuruma, Yamato-shi, Kanagawa-ken, 242-8502, Japan" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Arabic" diff --git a/localedata/locales/ar_IQ b/localedata/locales/ar_IQ index 1f632130df..3e60a7fd69 100644 --- a/localedata/locales/ar_IQ +++ b/localedata/locales/ar_IQ @@ -9,7 +9,7 @@ title "Arabic language locale for Iraq" source "IBM Globalization Center of Competency, Yamato Software Laboratory" address "1623-14, Shimotsuruma, Yamato-shi, Kanagawa-ken, 242-8502, Japan" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Arabic" diff --git a/localedata/locales/ar_JO b/localedata/locales/ar_JO index 0e9066dce1..0a3154be3d 100644 --- a/localedata/locales/ar_JO +++ b/localedata/locales/ar_JO @@ -9,7 +9,7 @@ title "Arabic language locale for Jordan" source "IBM Globalization Center of Competency, Yamato Software Laboratory" address "1623-14, Shimotsuruma, Yamato-shi, Kanagawa-ken, 242-8502, Japan" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Arabic" diff --git a/localedata/locales/ar_KW b/localedata/locales/ar_KW index 7a81a37f85..31c1b17292 100644 --- a/localedata/locales/ar_KW +++ b/localedata/locales/ar_KW @@ -9,7 +9,7 @@ title "Arabic language locale for Kuwait" source "IBM Globalization Center of Competency, Yamato Software Laboratory" address "1623-14, Shimotsuruma, Yamato-shi, Kanagawa-ken, 242-8502, Japan" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Arabic" diff --git a/localedata/locales/ar_LB b/localedata/locales/ar_LB index 1a2333fa8a..2db8511581 100644 --- a/localedata/locales/ar_LB +++ b/localedata/locales/ar_LB @@ -9,7 +9,7 @@ title "Arabic language locale for Lebanon" source "IBM Globalization Center of Competency, Yamato Software Laboratory" address "1623-14, Shimotsuruma, Yamato-shi, Kanagawa-ken, 242-8502, Japan" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Arabic" diff --git a/localedata/locales/ar_LY b/localedata/locales/ar_LY index 41c98cf5ce..5c77561f4f 100644 --- a/localedata/locales/ar_LY +++ b/localedata/locales/ar_LY @@ -9,7 +9,7 @@ title "Arabic language locale for Libyan Arab Jamahiriya" source "IBM Globalization Center of Competency, Yamato Software Laboratory" address "1623-14, Shimotsuruma, Yamato-shi, Kanagawa-ken, 242-8502, Japan" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Arabic" diff --git a/localedata/locales/ar_MA b/localedata/locales/ar_MA index dc3ea7ccd7..b35f3a48b0 100644 --- a/localedata/locales/ar_MA +++ b/localedata/locales/ar_MA @@ -9,7 +9,7 @@ title "Arabic language locale for Morocco" source "IBM Globalization Center of Competency, Yamato Software Laboratory" address "1623-14, Shimotsuruma, Yamato-shi, Kanagawa-ken, 242-8502, Japan" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Arabic" diff --git a/localedata/locales/ar_OM b/localedata/locales/ar_OM index 2097e6edf7..6ebdfde0a9 100644 --- a/localedata/locales/ar_OM +++ b/localedata/locales/ar_OM @@ -9,7 +9,7 @@ title "Arabic language locale for Oman" source "IBM Globalization Center of Competency, Yamato Software Laboratory" address "1623-14, Shimotsuruma, Yamato-shi, Kanagawa-ken, 242-8502, Japan" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Arabic" diff --git a/localedata/locales/ar_QA b/localedata/locales/ar_QA index 1be6fd182b..bb139814ab 100644 --- a/localedata/locales/ar_QA +++ b/localedata/locales/ar_QA @@ -9,7 +9,7 @@ title "Arabic language locale for Qatar" source "IBM Globalization Center of Competency, Yamato Software Laboratory" address "1623-14, Shimotsuruma, Yamato-shi, Kanagawa-ken, 242-8502, Japan" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Arabic" diff --git a/localedata/locales/ar_SA b/localedata/locales/ar_SA index 5eef02cc1b..7d8423ca2b 100644 --- a/localedata/locales/ar_SA +++ b/localedata/locales/ar_SA @@ -13,7 +13,7 @@ title "Arabic locale for Saudi Arabia" source "" address "" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Arabic" diff --git a/localedata/locales/ar_SD b/localedata/locales/ar_SD index 92e98d927f..7970f5be7a 100644 --- a/localedata/locales/ar_SD +++ b/localedata/locales/ar_SD @@ -9,7 +9,7 @@ title "Arabic language locale for Sudan" source "IBM Globalization Center of Competency, Yamato Software Laboratory" address "1623-14, Shimotsuruma, Yamato-shi, Kanagawa-ken, 242-8502, Japan" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Arabic" diff --git a/localedata/locales/ar_SY b/localedata/locales/ar_SY index 588e0b322c..283daa4de9 100644 --- a/localedata/locales/ar_SY +++ b/localedata/locales/ar_SY @@ -9,7 +9,7 @@ title "Arabic language locale for Syrian Arab Republic" source "IBM Globalization Center of Competency, Yamato Software Laboratory" address "1623-14, Shimotsuruma, Yamato-shi, Kanagawa-ken, 242-8502, Japan" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Arabic" diff --git a/localedata/locales/ar_TN b/localedata/locales/ar_TN index 78ba6831a6..ca8fae4f62 100644 --- a/localedata/locales/ar_TN +++ b/localedata/locales/ar_TN @@ -9,7 +9,7 @@ title "Arabic language locale for Tunisia" source "IBM Globalization Center of Competency, Yamato Software Laboratory" address "1623-14, Shimotsuruma, Yamato-shi, Kanagawa-ken, 242-8502, Japan" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Arabic" diff --git a/localedata/locales/ar_YE b/localedata/locales/ar_YE index c511a8ed25..b2b2038fef 100644 --- a/localedata/locales/ar_YE +++ b/localedata/locales/ar_YE @@ -9,7 +9,7 @@ title "Arabic language locale for Yemen" source "IBM Globalization Center of Competency, Yamato Software Laboratory" address "1623-14, Shimotsuruma, Yamato-shi, Kanagawa-ken, 242-8502, Japan" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Arabic" diff --git a/localedata/locales/be_BY b/localedata/locales/be_BY index 890c997425..0647eea095 100644 --- a/localedata/locales/be_BY +++ b/localedata/locales/be_BY @@ -20,7 +20,7 @@ title "Belarusian locale for Belarus" source "" address "" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Belarusian" diff --git a/localedata/locales/bn_IN b/localedata/locales/bn_IN index c09fd5025a..6edbf68c6b 100644 --- a/localedata/locales/bn_IN +++ b/localedata/locales/bn_IN @@ -8,7 +8,7 @@ LC_IDENTIFICATION title "Bengali language locale for India" source "IBM Globalization Center of Competency, Yamato Software Laboratory" address "1623-14, Shimotsuruma, Yamato-shi, Kanagawa-ken, 242-8502, Japan" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Bengali" diff --git a/localedata/locales/br_FR@euro b/localedata/locales/br_FR@euro index 035ed70a36..62b1da934f 100644 --- a/localedata/locales/br_FR@euro +++ b/localedata/locales/br_FR@euro @@ -15,7 +15,7 @@ LC_IDENTIFICATION title "Breton locale for France with Euro" source "Free Software Foundation, Inc." address "59 Temple Place - Suite 330, Boston, MA 02111-1307, USA" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Breton" diff --git a/localedata/locales/ca_ES b/localedata/locales/ca_ES index 10d5ffd1ca..1750222109 100644 --- a/localedata/locales/ca_ES +++ b/localedata/locales/ca_ES @@ -23,7 +23,7 @@ title "Catalan locale for Catalonia" source "RAP" address "" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Catalan" diff --git a/localedata/locales/ca_ES@euro b/localedata/locales/ca_ES@euro index 73fffd0da9..cb5b85e049 100644 --- a/localedata/locales/ca_ES@euro +++ b/localedata/locales/ca_ES@euro @@ -18,7 +18,7 @@ title "Catalan locale for Catalonia with Euro" source "Free Software Foundation, Inc." address "59 Temple Place - Suite 330, Boston, MA 02111-1307, USA" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Catalan" diff --git a/localedata/locales/cs_CZ b/localedata/locales/cs_CZ index c8829e6f7a..720842d96f 100644 --- a/localedata/locales/cs_CZ +++ b/localedata/locales/cs_CZ @@ -109,7 +109,7 @@ title "Czech locale for the Czech Republic" source "Free Software Foundation, Inc." address "59 Temple Place - Suite 330, Boston, MA 02111-1307, USA" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Czech" diff --git a/localedata/locales/da_DK b/localedata/locales/da_DK index 0c0f2cbc12..39e96b5de1 100644 --- a/localedata/locales/da_DK +++ b/localedata/locales/da_DK @@ -32,7 +32,7 @@ title "Danish locale for Denmark" source "Danish Standards Association" address "Kollegievej 6, DK-2920 Charlottenlund, Danmark" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Danish" diff --git a/localedata/locales/de_AT b/localedata/locales/de_AT index cd36633471..435363e397 100644 --- a/localedata/locales/de_AT +++ b/localedata/locales/de_AT @@ -22,7 +22,7 @@ title "German locale for Austria" source "O:sterreiches Normungsinstitut" address "Postfach 130, A-1021 Wien" contact "Gerhard Budin" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "German" diff --git a/localedata/locales/de_AT@euro b/localedata/locales/de_AT@euro index 6e01cf4e71..9604b255c5 100644 --- a/localedata/locales/de_AT@euro +++ b/localedata/locales/de_AT@euro @@ -22,7 +22,7 @@ title "German locale for Austria with Euro" source "O:sterreiches Normungsinstitut" address "Postfach 130, A-1021 Wien" contact "Gerhard Budin" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "German" diff --git a/localedata/locales/de_BE b/localedata/locales/de_BE index 3b07145064..140b407f07 100644 --- a/localedata/locales/de_BE +++ b/localedata/locales/de_BE @@ -24,7 +24,7 @@ title "German locale for Belgium" source "RAP" address "Sankt J<U00F8>rgens Alle 8, DK-1615 K<U00F8>benhavn V, Danmark" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "German" diff --git a/localedata/locales/de_BE@euro b/localedata/locales/de_BE@euro index 8ea7ab2b99..e5f02dcfc0 100644 --- a/localedata/locales/de_BE@euro +++ b/localedata/locales/de_BE@euro @@ -16,7 +16,7 @@ title "German locale for Belgium with Euro" source "Free Software Foundation, Inc." address "59 Temple Place - Suite 330, Boston, MA 02111-1307, USA" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "German" diff --git a/localedata/locales/de_CH b/localedata/locales/de_CH index 72549f5b2e..96d44b5ee4 100644 --- a/localedata/locales/de_CH +++ b/localedata/locales/de_CH @@ -24,7 +24,7 @@ title "German locale for Switzerland" source "RAP" address "Sankt J<U00F8>rgens Alle 8, DK-1615 K<U00F8>benhavn V, Danmark" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "German" diff --git a/localedata/locales/de_DE b/localedata/locales/de_DE index 434055d0ce..93fded8b2a 100644 --- a/localedata/locales/de_DE +++ b/localedata/locales/de_DE @@ -8,7 +8,7 @@ title "German locale for Germany" source "Free Software Foundation, Inc." address "59 Temple Place - Suite 330, Boston, MA 02111-1307, USA" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "German" diff --git a/localedata/locales/de_DE@euro b/localedata/locales/de_DE@euro index b2770ff611..d639e3fa4d 100644 --- a/localedata/locales/de_DE@euro +++ b/localedata/locales/de_DE@euro @@ -8,7 +8,7 @@ title "German locale for Germany with Euro" source "Free Software Foundation, Inc." address "59 Temple Place - Suite 330, Boston, MA 02111-1307, USA" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "German" diff --git a/localedata/locales/de_LU b/localedata/locales/de_LU index 2abfdfbdad..51ecf37750 100644 --- a/localedata/locales/de_LU +++ b/localedata/locales/de_LU @@ -24,7 +24,7 @@ title "German locale for Luxemburg" source "RAP" address "Sankt J<U00F8>rgens Alle 8, DK-1615 K<U00F8>benhavn V, Danmark" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "German" diff --git a/localedata/locales/de_LU@euro b/localedata/locales/de_LU@euro index 4949935a61..3c41ffb761 100644 --- a/localedata/locales/de_LU@euro +++ b/localedata/locales/de_LU@euro @@ -16,7 +16,7 @@ title "German locale for Luxemburg with Euro" source "Free Software Foundation, Inc." address "59 Temple Place - Suite 330, Boston, MA 02111-1307, USA" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "German" diff --git a/localedata/locales/el_GR b/localedata/locales/el_GR index c9de0f82cf..95278657a3 100644 --- a/localedata/locales/el_GR +++ b/localedata/locales/el_GR @@ -23,7 +23,7 @@ title "Greek locale for Greece" source "RAP" address "Sankt Jorgens Alle 8, DK-1615 Kobenhavn V, Danmark" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Greek" diff --git a/localedata/locales/el_GR@euro b/localedata/locales/el_GR@euro index 93494831b0..bd1f6be068 100644 --- a/localedata/locales/el_GR@euro +++ b/localedata/locales/el_GR@euro @@ -6,7 +6,7 @@ title "Greek locale for Greece with Euro" source "Free Software Foundation, Inc." address "59 Temple Place - Suite 330, Boston, MA 02111-1307, USA" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Greek" diff --git a/localedata/locales/en_AU b/localedata/locales/en_AU index 361213e3b1..bb52db4007 100644 --- a/localedata/locales/en_AU +++ b/localedata/locales/en_AU @@ -24,7 +24,7 @@ title "English locale for Australia" source "RAP" address "Sankt J<U00F8>rgens Alle 8, DK-1615 K<U00F8>benhavn V, Danmark" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "English" diff --git a/localedata/locales/en_BW b/localedata/locales/en_BW index 0833fcf0a9..ea8cf7ecb6 100644 --- a/localedata/locales/en_BW +++ b/localedata/locales/en_BW @@ -21,7 +21,7 @@ title "English locale for Botswana" source "RAP" address "" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "English" diff --git a/localedata/locales/en_CA b/localedata/locales/en_CA index 115cd4c4aa..d1199b5248 100644 --- a/localedata/locales/en_CA +++ b/localedata/locales/en_CA @@ -26,7 +26,7 @@ title "English locale for Canada" source "RAP" address "Sankt J<U00F8>rgens Alle 8, DK-1615 K<U00F8>benhavn V, Danmark" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "English" diff --git a/localedata/locales/en_DK b/localedata/locales/en_DK index 59f28dec56..80d0411b53 100644 --- a/localedata/locales/en_DK +++ b/localedata/locales/en_DK @@ -29,7 +29,7 @@ title "English locale for Denmark" source "Danish Standards Association" address "Kollegievej 6, DK-2920 Charlottenlund, Danmark" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "English" diff --git a/localedata/locales/en_GB b/localedata/locales/en_GB index 373d4f7380..52bf70a639 100644 --- a/localedata/locales/en_GB +++ b/localedata/locales/en_GB @@ -24,7 +24,7 @@ title "English locale for Britain" source "RAP" address "Sankt J<U00F8>rgens Alle 8, DK-1615 K<U00F8>benhavn V, Danmark" contact "Keld Simonsen" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "English" diff --git a/localedata/locales/en_HK b/localedata/locales/en_HK index 226cf7c7a1..aab7b29f53 100644 --- a/localedata/locales/en_HK +++ b/localedata/locales/en_HK @@ -13,7 +13,7 @@ title "English locale for Hong Kong" source "IBM Globalization Center of Competency, Yamato Software Laboratory" address "1623-14, Shimotsuruma, Yamato-shi, Kanagawa-ken, 242-8502, Japan" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "English" diff --git a/localedata/locales/en_IE b/localedata/locales/en_IE index 2327fefe2a..2f31ddcc4e 100644 --- a/localedata/locales/en_IE +++ b/localedata/locales/en_IE @@ -24,7 +24,7 @@ title "English locale for Ireland" source "RAP" address "Sankt J<U00F8>rgens Alle 8, DK-1615 K<U00F8>benhavn V, Danmark" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "English" diff --git a/localedata/locales/en_IE@euro b/localedata/locales/en_IE@euro index a0ce258393..a1c302c9f7 100644 --- a/localedata/locales/en_IE@euro +++ b/localedata/locales/en_IE@euro @@ -16,7 +16,7 @@ title "English locale for Ireland with Euro" source "Free Software Foundation, Inc." address "59 Temple Place - Suite 330, Boston, MA 02111-1307, USA" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "English" diff --git a/localedata/locales/en_IN b/localedata/locales/en_IN index b600421d05..33323c330e 100644 --- a/localedata/locales/en_IN +++ b/localedata/locales/en_IN @@ -10,7 +10,7 @@ title "English language locale for India" source "IBM Globalization Center of Competency, Yamato Software Laboratory" address "1623-14, Shimotsuruma, Yamato-shi, Kanagawa-ken, 242-8502, Japan" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "English" diff --git a/localedata/locales/en_NZ b/localedata/locales/en_NZ index 37009f1968..1ca93909ad 100644 --- a/localedata/locales/en_NZ +++ b/localedata/locales/en_NZ @@ -24,7 +24,7 @@ title "English locale for New Zealand" source "RAP" address "Sankt J<U00F8>rgens Alle 8, DK-1615 K<U00F8>benhavn V, Danmark" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "English" diff --git a/localedata/locales/en_PH b/localedata/locales/en_PH index 51264c3bcd..d822da795b 100644 --- a/localedata/locales/en_PH +++ b/localedata/locales/en_PH @@ -12,7 +12,7 @@ title "English language locale for Philippines" source "IBM Globalization Center of Competency, Yamato Software Laboratory" address "1623-14, Shimotsuruma, Yamato-shi, Kanagawa-ken, 242-8502, Japan" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "English" diff --git a/localedata/locales/en_SG b/localedata/locales/en_SG index d4275ce412..d83c601425 100644 --- a/localedata/locales/en_SG +++ b/localedata/locales/en_SG @@ -10,7 +10,7 @@ title "English language locale for Singapore" source "IBM Globalization Center of Competency, Yamato Software Laboratory" address "1623-14, Shimotsuruma, Yamato-shi, Kanagawa-ken, 242-8502, Japan" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "English" diff --git a/localedata/locales/en_US b/localedata/locales/en_US index 8ad12e137c..7aaa09953a 100644 --- a/localedata/locales/en_US +++ b/localedata/locales/en_US @@ -8,7 +8,7 @@ title "English locale for the USA" source "Free Software Foundation, Inc." address "59 Temple Place - Suite 330, Boston, MA 02111-1307, USA" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "English" diff --git a/localedata/locales/en_ZW b/localedata/locales/en_ZW index 165f652b12..7a31abb0a1 100644 --- a/localedata/locales/en_ZW +++ b/localedata/locales/en_ZW @@ -21,7 +21,7 @@ title "English locale for Zimbabwe" source "RAP" address "" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "English" diff --git a/localedata/locales/es_AR b/localedata/locales/es_AR index 0b2fef3c47..d32bbf2f77 100644 --- a/localedata/locales/es_AR +++ b/localedata/locales/es_AR @@ -25,7 +25,7 @@ title "Spanish locale for Argentina" source "RAP" address "Sankt J<U00F8>rgens Alle 8, DK-1615 K<U00F8>benhavn V, Danmark" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Spanish" diff --git a/localedata/locales/es_BO b/localedata/locales/es_BO index 491c22c6be..ae911c7b14 100644 --- a/localedata/locales/es_BO +++ b/localedata/locales/es_BO @@ -25,7 +25,7 @@ title "Spanish locale for Bolivia" source "RAP" address "Sankt J<U00F8>rgens Alle 8, DK-1615 K<U00F8>benhavn V, Danmark" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Spanish" diff --git a/localedata/locales/es_CL b/localedata/locales/es_CL index d4074f3dfd..4fe2187894 100644 --- a/localedata/locales/es_CL +++ b/localedata/locales/es_CL @@ -25,7 +25,7 @@ title "Spanish locale for Chile" source "RAP" address "Sankt J<U00F8>rgens Alle 8, DK-1615 K<U00F8>benhavn V, Danmark" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Spanish" diff --git a/localedata/locales/es_CO b/localedata/locales/es_CO index 65ceed299e..907048a578 100644 --- a/localedata/locales/es_CO +++ b/localedata/locales/es_CO @@ -25,7 +25,7 @@ title "Spanish locale for Colombia" source "RAP" address "Sankt J<U00F8>rgens Alle 8, DK-1615 K<U00F8>benhavn V, Danmark" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Spanish" diff --git a/localedata/locales/es_CR b/localedata/locales/es_CR index 20ad5eb93f..da541a95a7 100644 --- a/localedata/locales/es_CR +++ b/localedata/locales/es_CR @@ -16,7 +16,7 @@ title "Spanish locale for Costa Rica" source "Free Software Foundation, Inc." address "59 Temple Place - Suite 330, Boston, MA 02111-1307, USA" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Spanish" diff --git a/localedata/locales/es_DO b/localedata/locales/es_DO index 8bea9d6e94..9a7fd5c68b 100644 --- a/localedata/locales/es_DO +++ b/localedata/locales/es_DO @@ -25,7 +25,7 @@ title "Spanish locale for Dominican Republic" source "RAP" address "Sankt J<U00F8>rgens Alle 8, DK-1615 K<U00F8>benhavn V, Danmark" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Spanish" diff --git a/localedata/locales/es_EC b/localedata/locales/es_EC index a50496b3cb..e927d11324 100644 --- a/localedata/locales/es_EC +++ b/localedata/locales/es_EC @@ -25,7 +25,7 @@ title "Spanish locale for Ecuador" source "RAP" address "Sankt J<U00F8>rgens Alle 8, DK-1615 K<U00F8>benhavn V, Danmark" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Spanish" diff --git a/localedata/locales/es_ES b/localedata/locales/es_ES index 84622321a1..60ec25bd5a 100644 --- a/localedata/locales/es_ES +++ b/localedata/locales/es_ES @@ -25,7 +25,7 @@ title "Spanish locale for Spain" source "RAP" address "Sankt J<U00F8>rgens Alle 8, DK-1615 K<U00F8>benhavn V, Danmark" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Spanish" diff --git a/localedata/locales/es_ES@euro b/localedata/locales/es_ES@euro index 4fa1585a7a..1d8bd61447 100644 --- a/localedata/locales/es_ES@euro +++ b/localedata/locales/es_ES@euro @@ -17,7 +17,7 @@ title "Spanish locale for Spain with Euro" source "Free Software Foundation, Inc." address "59 Temple Place - Suite 330, Boston, MA 02111-1307, USA" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Spanish" diff --git a/localedata/locales/es_GT b/localedata/locales/es_GT index fc1b2f2e8d..0d0edf9183 100644 --- a/localedata/locales/es_GT +++ b/localedata/locales/es_GT @@ -25,7 +25,7 @@ title "Spanish locale for Guatemala" source "RAP" address "Sankt J<U00F8>rgens Alle 8, DK-1615 K<U00F8>benhavn V, Danmark" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Spanish" diff --git a/localedata/locales/es_HN b/localedata/locales/es_HN index 1ff4c209a8..3d2c4067fa 100644 --- a/localedata/locales/es_HN +++ b/localedata/locales/es_HN @@ -25,7 +25,7 @@ title "Spanish locale for Honduras" source "RAP" address "Sankt J<U00F8>rgens Alle 8, DK-1615 K<U00F8>benhavn V, Danmark" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Spanish" diff --git a/localedata/locales/es_MX b/localedata/locales/es_MX index 2cb35a2b87..70e5ae7abb 100644 --- a/localedata/locales/es_MX +++ b/localedata/locales/es_MX @@ -25,7 +25,7 @@ title "Spanish locale for Mexico" source "RAP" address "Sankt J<U00F8>rgens Alle 8, DK-1615 K<U00F8>benhavn V, Danmark" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Spanish" diff --git a/localedata/locales/es_NI b/localedata/locales/es_NI index ce9b830385..daf67d27d0 100644 --- a/localedata/locales/es_NI +++ b/localedata/locales/es_NI @@ -16,7 +16,7 @@ title "Spanish locale for Nicaragua" source "Free Software Foundation, Inc." address "59 Temple Place - Suite 330, Boston, MA 02111-1307, USA" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Spanish" diff --git a/localedata/locales/es_PA b/localedata/locales/es_PA index c12427467e..93880d280e 100644 --- a/localedata/locales/es_PA +++ b/localedata/locales/es_PA @@ -25,7 +25,7 @@ title "Spanish locale for Panama" source "RAP" address "Sankt J<U00F8>rgens Alle 8, DK-1615 K<U00F8>benhavn V, Danmark" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Spanish" diff --git a/localedata/locales/es_PE b/localedata/locales/es_PE index 7b7dd27a0b..7e266cb46c 100644 --- a/localedata/locales/es_PE +++ b/localedata/locales/es_PE @@ -25,7 +25,7 @@ title "Spanish locale for Peru" source "RAP" address "Sankt J<U00F8>rgens Alle 8, DK-1615 K<U00F8>benhavn V, Danmark" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Spanish" diff --git a/localedata/locales/es_PR b/localedata/locales/es_PR index a784eff34f..42edaddbaa 100644 --- a/localedata/locales/es_PR +++ b/localedata/locales/es_PR @@ -16,7 +16,7 @@ title "Spanish locale for Puerto Rico" source "Free Software Foundation, Inc." address "59 Temple Place - Suite 330, Boston, MA 02111-1307, USA" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Spanish" diff --git a/localedata/locales/es_PY b/localedata/locales/es_PY index a04f63c2ad..8a6b5a0cf6 100644 --- a/localedata/locales/es_PY +++ b/localedata/locales/es_PY @@ -25,7 +25,7 @@ title "Spanish locale for Paraguay" source "RAP" address "Sankt J<U00F8>rgens Alle 8, DK-1615 K<U00F8>benhavn V, Danmark" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Spanish" diff --git a/localedata/locales/es_SV b/localedata/locales/es_SV index 0882d87907..4c14a953a4 100644 --- a/localedata/locales/es_SV +++ b/localedata/locales/es_SV @@ -25,7 +25,7 @@ title "Spanish locale for El Salvador" source "RAP" address "Sankt J<U00F8>rgens Alle 8, DK-1615 K<U00F8>benhavn V, Danmark" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Spanish" diff --git a/localedata/locales/es_US b/localedata/locales/es_US index 7cbae56fda..0b12c6e203 100644 --- a/localedata/locales/es_US +++ b/localedata/locales/es_US @@ -25,7 +25,7 @@ title "Spanish locale for the USA" source "RAP" address "Sankt J<U00F8>rgens Alle 8, DK-1615 K<U00F8>benhavn V, Danmark" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Spanish" diff --git a/localedata/locales/es_UY b/localedata/locales/es_UY index bc38c9fa28..36d18b1af2 100644 --- a/localedata/locales/es_UY +++ b/localedata/locales/es_UY @@ -25,7 +25,7 @@ title "Spanish locale for Uruguay" source "RAP" address "Sankt J<U00F8>rgens Alle 8, DK-1615 K<U00F8>benhavn V, Danmark" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Spanish" diff --git a/localedata/locales/es_VE b/localedata/locales/es_VE index 6ff392314d..1e890d0f60 100644 --- a/localedata/locales/es_VE +++ b/localedata/locales/es_VE @@ -25,7 +25,7 @@ title "Spanish locale for Venezuela" source "RAP" address "Sankt J<U00F8>rgens Alle 8, DK-1615 K<U00F8>benhavn V, Danmark" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Spanish" diff --git a/localedata/locales/et_EE b/localedata/locales/et_EE index 4faec5cb53..5cae672c73 100644 --- a/localedata/locales/et_EE +++ b/localedata/locales/et_EE @@ -32,7 +32,7 @@ title "Estonian locale for Estonia" source "Estonian Informatics Fund" address "To-nisma:gi 8, Tallinn, EE0100 Estonia" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Estonian" diff --git a/localedata/locales/eu_ES b/localedata/locales/eu_ES index 9c269209df..e4c3c892b1 100644 --- a/localedata/locales/eu_ES +++ b/localedata/locales/eu_ES @@ -28,7 +28,7 @@ title "Basque locale for Spain" source "RAP" address "Sankt J<U00F8>rgens Alle 8, DK-1615 K<U00F8>benhavn V, Danmark" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Basque" diff --git a/localedata/locales/eu_ES@euro b/localedata/locales/eu_ES@euro index c536133ed0..36ee9557f4 100644 --- a/localedata/locales/eu_ES@euro +++ b/localedata/locales/eu_ES@euro @@ -17,7 +17,7 @@ title "Basque language locale for Spain with Euro" source "Free Software Foundation, Inc." address "59 Temple Place - Suite 330, Boston, MA 02111-1307, USA" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Basque" diff --git a/localedata/locales/fi_FI b/localedata/locales/fi_FI index 52eac2f9ff..adfc5f2c02 100644 --- a/localedata/locales/fi_FI +++ b/localedata/locales/fi_FI @@ -29,7 +29,7 @@ title "Finnish locale for Finland" source "RAP" address "Sankt J<U00F8>rgens Alle 8, DK-1615 K<U00F8>benhavn V, Danmark" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Finnish" diff --git a/localedata/locales/fi_FI@euro b/localedata/locales/fi_FI@euro index c9cb78dc7c..f03f0440b7 100644 --- a/localedata/locales/fi_FI@euro +++ b/localedata/locales/fi_FI@euro @@ -17,7 +17,7 @@ title "Finnish locale for Finland with Euro" source "Free Software Foundation, Inc." address "59 Temple Place - Suite 330, Boston, MA 02111-1307, USA" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Finnish" diff --git a/localedata/locales/fo_FO b/localedata/locales/fo_FO index 18fb0f6c7b..20deef722a 100644 --- a/localedata/locales/fo_FO +++ b/localedata/locales/fo_FO @@ -27,7 +27,7 @@ title "Faroese locale for Faroe Islands" source "Danish Standards Association" address "Kollegievej 6, DK-2920 Charlottenlund, Danmark" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Faroese" diff --git a/localedata/locales/fr_BE b/localedata/locales/fr_BE index 549a640d53..af8f1b30c9 100644 --- a/localedata/locales/fr_BE +++ b/localedata/locales/fr_BE @@ -23,7 +23,7 @@ title "French locale for Belgium" source "RAP" address "Sankt J<U00F8>rgens Alle 8, DK-1615 K<U00F8>benhavn V, Danmark" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "French" diff --git a/localedata/locales/fr_BE@euro b/localedata/locales/fr_BE@euro index 0b2f08ea69..51968f8304 100644 --- a/localedata/locales/fr_BE@euro +++ b/localedata/locales/fr_BE@euro @@ -16,7 +16,7 @@ title "French locale for Belgium with Euro" source "Free Software Foundation, Inc." address "59 Temple Place - Suite 330, Boston, MA 02111-1307, USA" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "French" diff --git a/localedata/locales/fr_CA b/localedata/locales/fr_CA index 4ef23f4089..8e13cfc0c8 100644 --- a/localedata/locales/fr_CA +++ b/localedata/locales/fr_CA @@ -24,7 +24,7 @@ title "French locale for Canada" source "RAP" address "Sankt J<U00F8>rgens Alle 8, DK-1615 K<U00F8>benhavn V, Danmark" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "French" diff --git a/localedata/locales/fr_CH b/localedata/locales/fr_CH index a63eda4f3e..e2508e64ce 100644 --- a/localedata/locales/fr_CH +++ b/localedata/locales/fr_CH @@ -24,7 +24,7 @@ title "French locale for Switzerland" source "RAP" address "Sankt J<U00F8>rgens Alle 8, DK-1615 K<U00F8>benhavn V, Danmark" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "French" diff --git a/localedata/locales/fr_FR b/localedata/locales/fr_FR index 70e008fdbf..e1de5da920 100644 --- a/localedata/locales/fr_FR +++ b/localedata/locales/fr_FR @@ -23,7 +23,7 @@ title "French locale for France" source "RAP" address "Sankt J<U00F8>rgens Alle 8, DK-1615 K<U00F8>benhavn V, Danmark" contact "Keld Simonsen" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "French" diff --git a/localedata/locales/fr_FR@euro b/localedata/locales/fr_FR@euro index 391faf5f37..63f805adc9 100644 --- a/localedata/locales/fr_FR@euro +++ b/localedata/locales/fr_FR@euro @@ -15,7 +15,7 @@ LC_IDENTIFICATION title "French locale for France with Euro" source "Free Software Foundation, Inc." address "59 Temple Place - Suite 330, Boston, MA 02111-1307, USA" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "French" diff --git a/localedata/locales/fr_LU b/localedata/locales/fr_LU index 479ea05f07..286ad5b7e4 100644 --- a/localedata/locales/fr_LU +++ b/localedata/locales/fr_LU @@ -23,7 +23,7 @@ title "French locale for Luxemburg" source "RAP" address "Sankt J<U00F8>rgens Alle 8, DK-1615 K<U00F8>benhavn V, Danmark" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "French" diff --git a/localedata/locales/fr_LU@euro b/localedata/locales/fr_LU@euro index c3e7d690a3..3466e4081a 100644 --- a/localedata/locales/fr_LU@euro +++ b/localedata/locales/fr_LU@euro @@ -16,7 +16,7 @@ title "French locale for Luxemburg with Euro" source "Free Software Foundation, Inc." address "59 Temple Place - Suite 330, Boston, MA 02111-1307, USA" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "French" diff --git a/localedata/locales/ga_IE b/localedata/locales/ga_IE index 42004acb43..751f6aba9c 100644 --- a/localedata/locales/ga_IE +++ b/localedata/locales/ga_IE @@ -21,7 +21,7 @@ title "Irish locale for Ireland" source "NSAI" address "Glasnevin, Dublin 9, Ireland" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Irish" diff --git a/localedata/locales/ga_IE@euro b/localedata/locales/ga_IE@euro index 984fa4746c..6feaaca2b2 100644 --- a/localedata/locales/ga_IE@euro +++ b/localedata/locales/ga_IE@euro @@ -15,7 +15,7 @@ title "Irish locale for Ireland with Euro" source "Free Software Foundation, Inc." address "59 Temple Place - Suite 330, Boston, MA 02111-1307, USA" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Irish" diff --git a/localedata/locales/gl_ES b/localedata/locales/gl_ES index 8acf9f950d..29c40bf55d 100644 --- a/localedata/locales/gl_ES +++ b/localedata/locales/gl_ES @@ -24,7 +24,7 @@ title "Galician locale for Spain" source "GPUL" address "Facultade de Informática, Campus de Elvin~a, s/n, 15071 A Corun~a, Spain" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Galician" diff --git a/localedata/locales/gl_ES@euro b/localedata/locales/gl_ES@euro index accf8c9b3f..6934c6078e 100644 --- a/localedata/locales/gl_ES@euro +++ b/localedata/locales/gl_ES@euro @@ -17,7 +17,7 @@ title "Galician locale for Spain with Euro" source "Free Software Foundation, Inc." address "59 Temple Place - Suite 330, Boston, MA 02111-1307, USA" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Galician" diff --git a/localedata/locales/gu_IN b/localedata/locales/gu_IN index aaca913f2c..667e29a91c 100644 --- a/localedata/locales/gu_IN +++ b/localedata/locales/gu_IN @@ -10,7 +10,7 @@ title "Gujarati Language Locale For India" source "IndLinux.org" address "" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Gujarati" diff --git a/localedata/locales/gv_GB b/localedata/locales/gv_GB index 8a1e4636cc..4a1e1481d4 100644 --- a/localedata/locales/gv_GB +++ b/localedata/locales/gv_GB @@ -26,7 +26,7 @@ title "Manx Gaelic locale for Britain" source "Alastair McKinstry" address "Croí Lár, Ballinahalla, Maigh Cuilinn,, Co. Gaillimh, Ireland" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Manx Gaelic" diff --git a/localedata/locales/he_IL b/localedata/locales/he_IL index 05a8f30541..9e80e5e481 100644 --- a/localedata/locales/he_IL +++ b/localedata/locales/he_IL @@ -28,7 +28,7 @@ title "Hebrew locale for Israel" source "RAP" address "Sankt Jo/rgens Alle 8, DK-1615 Ko/benhavn V, Danmark" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Hebrew" diff --git a/localedata/locales/hi_IN b/localedata/locales/hi_IN index e7b762c69b..10284998a6 100644 --- a/localedata/locales/hi_IN +++ b/localedata/locales/hi_IN @@ -9,7 +9,7 @@ title "Hindi language locale for India" source "IBM Globalization Center of Competency, Yamato Software Laboratory" address "1623-14, Shimotsuruma, Yamato-shi, Kanagawa-ken, 242-8502, Japan" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Hindi" diff --git a/localedata/locales/hr_HR b/localedata/locales/hr_HR index 94185a2f00..aec93fb108 100644 --- a/localedata/locales/hr_HR +++ b/localedata/locales/hr_HR @@ -25,7 +25,7 @@ title "Croatian locale for Croatia" source "CARNet/MZT" address "Josipa Marohnica bb, Zagreb, Hrvatska" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Croatian" diff --git a/localedata/locales/hu_HU b/localedata/locales/hu_HU index 29b5ff7322..6dc2b8c70f 100644 --- a/localedata/locales/hu_HU +++ b/localedata/locales/hu_HU @@ -36,7 +36,7 @@ title "Hungarian locale for Hungary" source "RAP" address "Sankt Jorgens Alle 8, DK-1615 Kobenhavn V, Danmark" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Hungarian" diff --git a/localedata/locales/id_ID b/localedata/locales/id_ID index c375f13a22..e64a9aa1b0 100644 --- a/localedata/locales/id_ID +++ b/localedata/locales/id_ID @@ -24,7 +24,7 @@ title "Indonesian locale for Indonesia" source "" address "" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Indonesian" diff --git a/localedata/locales/is_IS b/localedata/locales/is_IS index 687ff6b49d..726ed9fcc2 100644 --- a/localedata/locales/is_IS +++ b/localedata/locales/is_IS @@ -25,7 +25,7 @@ title "Icelandic locale for Iceland" source "Stadlarad I'slands" address "Keldnaholt-ITI', IS-112 Reykjavi'k, Iceland" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Icelandic" diff --git a/localedata/locales/it_CH b/localedata/locales/it_CH index a9f69eb495..a45660f1dd 100644 --- a/localedata/locales/it_CH +++ b/localedata/locales/it_CH @@ -17,7 +17,7 @@ title "Italian locale for Switzerland" source "" address "" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Italian" diff --git a/localedata/locales/it_IT b/localedata/locales/it_IT index b2b36d66ad..9bc8cb8ddb 100644 --- a/localedata/locales/it_IT +++ b/localedata/locales/it_IT @@ -23,7 +23,7 @@ title "Italian locale for Italy" source "RAP" address "Sankt J<U00F8>rgens Alle 8, DK-1615 K<U00F8>benhavn V, Danmark" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Italian" diff --git a/localedata/locales/it_IT@euro b/localedata/locales/it_IT@euro index cf197f2dda..e40615b200 100644 --- a/localedata/locales/it_IT@euro +++ b/localedata/locales/it_IT@euro @@ -16,7 +16,7 @@ title "Italian locale for Italy with Euro" source "Free Software Foundation, Inc." address "59 Temple Place - Suite 330, Boston, MA 02111-1307, USA" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Italian" diff --git a/localedata/locales/iw_IL b/localedata/locales/iw_IL index 66d92513b3..a357029783 100644 --- a/localedata/locales/iw_IL +++ b/localedata/locales/iw_IL @@ -27,7 +27,7 @@ title "Hebrew locale for Israel" source "RAP" address "Sankt Jo/rgens Alle 8, DK-1615 Ko/benhavn V, Danmark" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Hebrew" diff --git a/localedata/locales/ja_JP b/localedata/locales/ja_JP index 5290a86b59..bb3897269a 100644 --- a/localedata/locales/ja_JP +++ b/localedata/locales/ja_JP @@ -12,7 +12,7 @@ title "Japanese language locale for Japan" source "HANATAKA, Shinya, hanataka@abyss.rim.or.jp" address "" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Japanese" diff --git a/localedata/locales/kk_KZ b/localedata/locales/kk_KZ index 683476285f..e287291534 100644 --- a/localedata/locales/kk_KZ +++ b/localedata/locales/kk_KZ @@ -23,7 +23,7 @@ title "Kazakh locale for Kazakhstan" source "NIPI, Kazakhstan Copper Corporation" address "" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Kazakh" diff --git a/localedata/locales/kl_GL b/localedata/locales/kl_GL index e2e3cba857..f4cccd40aa 100644 --- a/localedata/locales/kl_GL +++ b/localedata/locales/kl_GL @@ -28,7 +28,7 @@ title "Greenlandic locale for Greenland" source "Danish Standards Association" address "Kollegievej 6, DK-2920 Charlottenlund, Danmark" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Greenlandic" diff --git a/localedata/locales/kn_IN b/localedata/locales/kn_IN index 40845556fe..a2a04ebd3f 100644 --- a/localedata/locales/kn_IN +++ b/localedata/locales/kn_IN @@ -11,7 +11,7 @@ title "Kannada language locale for India" source "IndLinux.org" address "" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Kannada" diff --git a/localedata/locales/ko_KR b/localedata/locales/ko_KR index e6728decfc..ad78b51638 100644 --- a/localedata/locales/ko_KR +++ b/localedata/locales/ko_KR @@ -44,7 +44,7 @@ title "Korean locale for Republic of Korea" source "" address "" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Korean" diff --git a/localedata/locales/kw_GB b/localedata/locales/kw_GB index 93af45b12e..fc7d352090 100644 --- a/localedata/locales/kw_GB +++ b/localedata/locales/kw_GB @@ -27,7 +27,7 @@ title "Cornish locale for Britain" source "Alastair McKinstry" address "Croí Lár, Ballinahalla, Maigh Cuilinn,, Co. Gaillimh, Ireland" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Cornish" diff --git a/localedata/locales/lo_LA b/localedata/locales/lo_LA index 027aade7dc..9cb6861ebf 100644 --- a/localedata/locales/lo_LA +++ b/localedata/locales/lo_LA @@ -47,7 +47,7 @@ title "Lao locale for Laos" source "" address "" contact "Anousak Souphavanh at: anousak@muanglao.com" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Lao" diff --git a/localedata/locales/lt_LT b/localedata/locales/lt_LT index 448f4b8098..fb3079bfad 100644 --- a/localedata/locales/lt_LT +++ b/localedata/locales/lt_LT @@ -35,7 +35,7 @@ title "Lithuanian locale for Lithuania" source "Lithuanian Computer Society and" address "P.O Box 1147, Donelaicio 60, 3000 Kaunas, Lithuania" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Lithuanian" diff --git a/localedata/locales/lv_LV b/localedata/locales/lv_LV index 016130a99c..0e823112ea 100644 --- a/localedata/locales/lv_LV +++ b/localedata/locales/lv_LV @@ -27,7 +27,7 @@ title "Latvian locale for Latvia" source "Latvian Standard LVS 24-93" address "LU MII, Rainis boul. 29, LV-1459 Riga, Latvia" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Latvian" diff --git a/localedata/locales/ml_IN b/localedata/locales/ml_IN index 91f83ef7f8..7053dd911f 100644 --- a/localedata/locales/ml_IN +++ b/localedata/locales/ml_IN @@ -9,7 +9,7 @@ title " Malayalam language locale for India" source "Free Software Foundation of India, Trivandrum" address "" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Malayalam" diff --git a/localedata/locales/mn_MN b/localedata/locales/mn_MN index e75ff42ddc..5bea18cc4b 100644 --- a/localedata/locales/mn_MN +++ b/localedata/locales/mn_MN @@ -12,7 +12,7 @@ title "Mongolian locale for Mongolia" source "OPENMN" address "" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Mongolian" diff --git a/localedata/locales/mr_IN b/localedata/locales/mr_IN index 24238caa58..67d4f68bfd 100644 --- a/localedata/locales/mr_IN +++ b/localedata/locales/mr_IN @@ -9,7 +9,7 @@ title "Marathi language locale for India" source "IBM Globalization Center of Competency, Yamato Software Laboratory" address "1623-14, Shimotsuruma, Yamato-shi, Kanagawa-ken, 242-8502, Japan" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Marathi" diff --git a/localedata/locales/ms_MY b/localedata/locales/ms_MY index 0fb0ffc826..c7345f0e76 100644 --- a/localedata/locales/ms_MY +++ b/localedata/locales/ms_MY @@ -11,7 +11,7 @@ title "Malay language locale for Malaysia" source "IBM Globalization Center of Competency, Yamato Software Laboratory" address "1623-14, Shimotsuruma, Yamato-shi, Kanagawa-ken, 242-8502, Japan" contact "" -email "bug-glibc@gnu.org, sebol@ikhlas.com" +email "bug-glibc-locales@gnu.org, sebol@ikhlas.com" tel "" fax "" language "Malay" diff --git a/localedata/locales/mt_MT b/localedata/locales/mt_MT index 4096b27f44..918d04345c 100644 --- a/localedata/locales/mt_MT +++ b/localedata/locales/mt_MT @@ -12,7 +12,7 @@ title "Maltese language locale for Malta" source "IBM Globalization Center of Competency, Yamato Software Laboratory" address "1623-14, Shimotsuruma, Yamato-shi, Kanagawa-ken, 242-8502, Japan" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Maltese" diff --git a/localedata/locales/nb_NO b/localedata/locales/nb_NO index f43a7323a3..afead90319 100644 --- a/localedata/locales/nb_NO +++ b/localedata/locales/nb_NO @@ -25,7 +25,7 @@ title "Norwegian (Bokmal) locale for Norway" source "Norsk Standardiseringsforbund" address "University Library,, Drammensveien 41, N-9242 Oslo, Norge" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Norwegian, Bokm<U00E5>l" diff --git a/localedata/locales/nl_BE b/localedata/locales/nl_BE index aad9a20844..7942269130 100644 --- a/localedata/locales/nl_BE +++ b/localedata/locales/nl_BE @@ -24,7 +24,7 @@ title "Dutch locale for Belgium" source "RAP" address "Sankt J<U00F8>rgens Alle 8, DK-1615 K<U00F8>benhavn V, Danmark" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Dutch" diff --git a/localedata/locales/nl_BE@euro b/localedata/locales/nl_BE@euro index 068861ee59..d05477ff00 100644 --- a/localedata/locales/nl_BE@euro +++ b/localedata/locales/nl_BE@euro @@ -16,7 +16,7 @@ title "Dutch locale for Belgium with Euro" source "Free Software Foundation, Inc." address "59 Temple Place - Suite 330, Boston, MA 02111-1307, USA" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Dutch" diff --git a/localedata/locales/nl_NL b/localedata/locales/nl_NL index 44c6ad1cc7..88a9036706 100644 --- a/localedata/locales/nl_NL +++ b/localedata/locales/nl_NL @@ -23,7 +23,7 @@ title "Dutch locale for the Netherlands" source "RAP" address "Sankt J<U00F8>rgens Alle 8, DK-1615 K<U00F8>benhavn V, Danmark" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Dutch" diff --git a/localedata/locales/nl_NL@euro b/localedata/locales/nl_NL@euro index edfb8ef0a9..cd36611643 100644 --- a/localedata/locales/nl_NL@euro +++ b/localedata/locales/nl_NL@euro @@ -16,7 +16,7 @@ title "Dutch locale for the Netherlands with Euro" source "Free Software Foundation, Inc." address "59 Temple Place - Suite 330, Boston, MA 02111-1307, USA" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Dutch" diff --git a/localedata/locales/nn_NO b/localedata/locales/nn_NO index ec48206bc1..26229bcd0d 100644 --- a/localedata/locales/nn_NO +++ b/localedata/locales/nn_NO @@ -9,7 +9,7 @@ title "Nynorsk language locale for Norway" source "IBM Globalization Center of Competency, Yamato Software Laboratory" address "1623-14, Shimotsuruma, Yamato-shi, Kanagawa-ken, 242-8502, Japan" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Norwegian, Nynorsk" diff --git a/localedata/locales/pa_IN b/localedata/locales/pa_IN index 3e7bd2b9bb..a1b49943bf 100644 --- a/localedata/locales/pa_IN +++ b/localedata/locales/pa_IN @@ -8,7 +8,7 @@ title "Punjabi language locale for India" source "IndLinux.org" address "" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Punjabi" diff --git a/localedata/locales/pl_PL b/localedata/locales/pl_PL index 7b3bee0af0..0c820683c8 100644 --- a/localedata/locales/pl_PL +++ b/localedata/locales/pl_PL @@ -25,7 +25,7 @@ title "Polish locale for Poland" source "RAP" address "Sankt Jo/rgens Alle 8, DK-1615 Ko/benhavn V, Danmark" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Polish" diff --git a/localedata/locales/pt_BR b/localedata/locales/pt_BR index 50c69cb82c..3b55671cbd 100644 --- a/localedata/locales/pt_BR +++ b/localedata/locales/pt_BR @@ -24,7 +24,7 @@ title "Portuguese locale for Brasil" source "RAP" address "Sankt J<U00F8>rgens Alle 8, DK-1615 K<U00F8>benhavn V, Danmark" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Portuguese" diff --git a/localedata/locales/pt_PT b/localedata/locales/pt_PT index 79a338ded9..952e6fb7a4 100644 --- a/localedata/locales/pt_PT +++ b/localedata/locales/pt_PT @@ -23,7 +23,7 @@ title "Portuguese locale for Portugal" source "RAP" address "Sankt J<U00F8>rgens Alle 8, DK-1615 K<U00F8>benhavn V, Danmark" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Portuguese" diff --git a/localedata/locales/pt_PT@euro b/localedata/locales/pt_PT@euro index 276fda3113..9a0eb76825 100644 --- a/localedata/locales/pt_PT@euro +++ b/localedata/locales/pt_PT@euro @@ -16,7 +16,7 @@ title "Portuguese locale for Portugal with Euro" source "Free Software Foundation, Inc." address "59 Temple Place - Suite 330, Boston, MA 02111-1307, USA" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Portuguese" diff --git a/localedata/locales/ro_RO b/localedata/locales/ro_RO index 033de4d2f5..6520255980 100644 --- a/localedata/locales/ro_RO +++ b/localedata/locales/ro_RO @@ -24,7 +24,7 @@ title "Romanian locale for Romania" source "RAP" address "Sankt Jorgens Alle 8, DK-1615 Kobenhavn V, Danmark" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Romanian" diff --git a/localedata/locales/ru_RU b/localedata/locales/ru_RU index fdb3427070..04bbc4d25d 100644 --- a/localedata/locales/ru_RU +++ b/localedata/locales/ru_RU @@ -24,7 +24,7 @@ title "Russian locale for Russia" source "RAP" address "Sankt Jorgens Alle 8, DK-1615 Kobenhavn V, Danmark" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Russian" diff --git a/localedata/locales/ru_UA b/localedata/locales/ru_UA index 4250516182..f74df991d2 100644 --- a/localedata/locales/ru_UA +++ b/localedata/locales/ru_UA @@ -20,7 +20,7 @@ title "Russian locale for Ukraine" source "RFC 2319" address "" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Russian" diff --git a/localedata/locales/sk_SK b/localedata/locales/sk_SK index 8d7a4d04d6..8b53b0c62f 100644 --- a/localedata/locales/sk_SK +++ b/localedata/locales/sk_SK @@ -36,7 +36,7 @@ title "Slovak locale for Slovak" source "" address "Narcisov<U00E1> 56, SK-821 01 Bratislava, Slovak Republic" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Slovak" diff --git a/localedata/locales/sl_SI b/localedata/locales/sl_SI index b6aa4d0aa3..2044b27c58 100644 --- a/localedata/locales/sl_SI +++ b/localedata/locales/sl_SI @@ -25,7 +25,7 @@ title "Slovenian locale for Slovenia" source "USM/MZT" address "Kotnikova 6,, Ljubljana, Slovenia" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Slovenian" diff --git a/localedata/locales/sq_AL b/localedata/locales/sq_AL index e0c7485e7e..1c9846515f 100644 --- a/localedata/locales/sq_AL +++ b/localedata/locales/sq_AL @@ -9,7 +9,7 @@ title "Albanian language locale for Albania" source "IBM Globalization Center of Competency, Yamato Software Laboratory" address "1623-14, Shimotsuruma, Yamato-shi, Kanagawa-ken, 242-8502, Japan" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Albanian" diff --git a/localedata/locales/sv_FI b/localedata/locales/sv_FI index 217b09b374..711fd80609 100644 --- a/localedata/locales/sv_FI +++ b/localedata/locales/sv_FI @@ -24,7 +24,7 @@ title "Swedish locale for Finland" source "RAP" address "Sankt J<U00F8>rgens Alle 8, DK-1615 K<U00F8>benhavn V, Danmark" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Swedish" diff --git a/localedata/locales/sv_FI@euro b/localedata/locales/sv_FI@euro index 3df88fbf24..f524e0e1e0 100644 --- a/localedata/locales/sv_FI@euro +++ b/localedata/locales/sv_FI@euro @@ -16,7 +16,7 @@ title "Swedish locale for Finland with Euro" source "Free Software Foundation, Inc." address "59 Temple Place - Suite 330, Boston, MA 02111-1307, USA" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Swedish" diff --git a/localedata/locales/sv_SE b/localedata/locales/sv_SE index 099a71a3ae..25af3f81db 100644 --- a/localedata/locales/sv_SE +++ b/localedata/locales/sv_SE @@ -31,7 +31,7 @@ title "Swedish locale for Sweden" source "RAP" address "Sankt J<U00F8>rgens Alle 8, DK-1615 K<U00F8>benhavn V, Danmark" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Swedish" diff --git a/localedata/locales/ta_IN b/localedata/locales/ta_IN index c7ca06dc54..d1a03ea8e4 100644 --- a/localedata/locales/ta_IN +++ b/localedata/locales/ta_IN @@ -9,7 +9,7 @@ title "Tamil language locale for India" source "IBM Globalization Center of Competency, Yamato Software Laboratory" address "1623-14, Shimotsuruma, Yamato-shi, Kanagawa-ken, 242-8502, Japan" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Tamil" diff --git a/localedata/locales/te_IN b/localedata/locales/te_IN index a8667a02d2..efefeda976 100644 --- a/localedata/locales/te_IN +++ b/localedata/locales/te_IN @@ -9,7 +9,7 @@ title "Telgu language locale for India" source "IBM Globalization Center of Competency, Yamato Software Laboratory" address "1623-14, Shimotsuruma, Yamato-shi, Kanagawa-ken, 242-8502, Japan" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Telgu" diff --git a/localedata/locales/th_TH b/localedata/locales/th_TH index 3b042c9901..3eaa5bb41d 100644 --- a/localedata/locales/th_TH +++ b/localedata/locales/th_TH @@ -49,7 +49,7 @@ title "Thai locale for Thailand" source "" address "" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Thai" diff --git a/localedata/locales/tr_TR b/localedata/locales/tr_TR index 44fee79941..22b76caf05 100644 --- a/localedata/locales/tr_TR +++ b/localedata/locales/tr_TR @@ -24,13 +24,17 @@ escape_char / % 1998-01-11T15:54:39 % Onur Tolga Sehitoglu <onur@ceng.metu.edu.tr>, % Dept. of Comp. Eng. METU/Ankara Turkey +% 2004-05-29T15:13 +% Deniz Akkus Kanca <deniz@arayan.com> +% 2004-10-30T10:28:35 +% Nilg<U00FC>n Belma Bug<U00FC>ner <nilgun@belgeler.org> LC_IDENTIFICATION title "Turkish locale for Turkey" source "RAP" address "Sankt J<U00F8>rgens Alle 8, DK-1615 K<U00F8>benhavn V, Danmark" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Turkish" @@ -3464,18 +3468,19 @@ class "combining_level3"; / END LC_CTYPE LC_MESSAGES -yesexpr "<U005E><U005B><U0065><U0045><U005D><U002E><U002A>" -noexpr "<U005E><U005B><U0068><U0048><U005D><U002E><U002A>" +yesexpr "<U005E><U005B><U0079><U0059><U0065><U0045><U005D>" +noexpr "<U005E><U005B><U006E><U004E><U0068><U0048><U005D>" yesstr "<U0065><U0076><U0065><U0074>" nostr "<U0068><U0061><U0079><U0131><U0072>" END LC_MESSAGES LC_MONETARY -int_curr_symbol "<U0054><U0052><U004C><U0020>" -currency_symbol "<U0054><U004C>" +% ISO-4217 (2004-10-25): TRY 949 2 +int_curr_symbol "<U0054><U0052><U0059><U0020>" +currency_symbol "<U0059><U0054><U004C>" mon_decimal_point "<U002C>" mon_thousands_sep "<U002E>" -mon_grouping 3 +mon_grouping 3;3 positive_sign "" negative_sign "<U002D>" int_frac_digits 2 @@ -3489,9 +3494,9 @@ n_sign_posn 1 END LC_MONETARY LC_NUMERIC -decimal_point "<U002E>" -thousands_sep "" -grouping -1 +decimal_point "<U002C>" +thousands_sep "<U002E>" +grouping 3;3 END LC_NUMERIC LC_TIME @@ -3553,7 +3558,7 @@ END LC_MEASUREMENT LC_NAME name_fmt "<U0025><U0064><U0025><U0074><U0025><U0067><U0025><U0074>/ <U0025><U006D><U0025><U0074><U0025><U0066>" -% Say.MŽýn +% Say<U0131>n name_gen "<U0053><U0061><U0079><U0131><U006E>" % Bay name_mr "<U0042><U0061><U0079>" diff --git a/localedata/locales/uk_UA b/localedata/locales/uk_UA index e841846836..eb482935e2 100644 --- a/localedata/locales/uk_UA +++ b/localedata/locales/uk_UA @@ -22,7 +22,7 @@ title "Ukrainian locale for Ukraine" source "RFC 2319" address "" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Ukrainian" diff --git a/localedata/locales/ur_PK b/localedata/locales/ur_PK index 2c9362e180..71aa261c4d 100644 --- a/localedata/locales/ur_PK +++ b/localedata/locales/ur_PK @@ -19,7 +19,7 @@ title "Urdu Language Locale for Pakistan" source "" address "" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Urdu" diff --git a/localedata/locales/vi_VN b/localedata/locales/vi_VN index 532352cd13..df8fe35f6b 100644 --- a/localedata/locales/vi_VN +++ b/localedata/locales/vi_VN @@ -11,7 +11,7 @@ title "Vietnamese language locale for Vietnam" source "IBM Globalization Center of Competency, Yamato Software Laboratory" address "1623-14, Shimotsuruma, Yamato-shi, Kanagawa-ken, 242-8502, Japan" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Vietnamese" diff --git a/localedata/locales/wa_BE@euro b/localedata/locales/wa_BE@euro index 1c67a8a849..a88b906997 100644 --- a/localedata/locales/wa_BE@euro +++ b/localedata/locales/wa_BE@euro @@ -16,7 +16,7 @@ title "Walloon locale for Belgium with Euro" source "Free Software Foundation, Inc." address "59 Temple Place - Suite 330, Boston, MA 02111-1307, USA" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Walloon" diff --git a/localedata/locales/zh_CN b/localedata/locales/zh_CN index 9831a06d0b..152411da10 100644 --- a/localedata/locales/zh_CN +++ b/localedata/locales/zh_CN @@ -20,7 +20,7 @@ title "Chinese locale for Peoples Republic of China" source "" address "" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Chinese" diff --git a/localedata/locales/zh_HK b/localedata/locales/zh_HK index 3b45ac3d14..b4798eb878 100644 --- a/localedata/locales/zh_HK +++ b/localedata/locales/zh_HK @@ -9,7 +9,7 @@ title "Chinese language locale for Hong Kong" source "IBM Globalization Center of Competency, Yamato Software Laboratory" address "1623-14, Shimotsuruma, Yamato-shi, Kanagawa-ken, 242-8502, Japan" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Chinese" diff --git a/localedata/locales/zh_SG b/localedata/locales/zh_SG index c03eab50e3..60c985c072 100644 --- a/localedata/locales/zh_SG +++ b/localedata/locales/zh_SG @@ -9,7 +9,7 @@ title "Chinese language locale for Singapore" source "IBM Globalization Center of Competency, Yamato Software Laboratory" address "1623-14, Shimotsuruma, Yamato-shi, Kanagawa-ken, 242-8502, Japan" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Chinese" diff --git a/localedata/locales/zh_TW b/localedata/locales/zh_TW index 15e1587802..f9ea7aa1b3 100644 --- a/localedata/locales/zh_TW +++ b/localedata/locales/zh_TW @@ -21,7 +21,7 @@ title "Chinese locale for Taiwan" source "" address "" contact "" -email "bug-glibc@gnu.org" +email "bug-glibc-locales@gnu.org" tel "" fax "" language "Chinese" diff --git a/login/login_tty.c b/login/login_tty.c index 3cf6f1e451..1bb1703267 100644 --- a/login/login_tty.c +++ b/login/login_tty.c @@ -70,3 +70,4 @@ login_tty(fd) (void) close(fd); return (0); } +libutil_hidden_def (login_tty) diff --git a/login/openpty.c b/login/openpty.c index 19852e1d82..fe11d49feb 100644 --- a/login/openpty.c +++ b/login/openpty.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1998, 1999 Free Software Foundation, Inc. +/* Copyright (C) 1998, 1999, 2004 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Zack Weinberg <zack@rabi.phys.columbia.edu>, 1998. @@ -136,3 +136,4 @@ openpty (int *amaster, int *aslave, char *name, struct termios *termp, close (master); return -1; } +libutil_hidden_def (openpty) diff --git a/malloc/malloc.c b/malloc/malloc.c index 2e91952a26..6d6294c6e6 100644 --- a/malloc/malloc.c +++ b/malloc/malloc.c @@ -4198,6 +4198,8 @@ _int_free(mstate av, Void_t* mem) /* free(0) has no effect */ if (mem != 0) { + const char *errstr = NULL; + p = mem2chunk(mem); size = chunksize(p); @@ -4207,7 +4209,9 @@ _int_free(mstate av, Void_t* mem) here by accident or by "design" from some intruder. */ if (__builtin_expect ((uintptr_t) p > (uintptr_t) -size, 0)) { - malloc_printerr (check_action, "free(): invalid pointer", mem); + errstr = "free(): invalid pointer"; + errout: + malloc_printerr (check_action, errstr, mem); return; } @@ -4235,9 +4239,8 @@ _int_free(mstate av, Void_t* mem) record we are going to add (i.e., double free). */ if (__builtin_expect (*fb == p, 0)) { - double_free: - malloc_printerr (check_action, "double free or corruption", mem); - return; + errstr = "double free or corruption (fasttop)"; + goto errout; } p->fd = *fb; *fb = p; @@ -4253,15 +4256,24 @@ _int_free(mstate av, Void_t* mem) /* Lightweight tests: check whether the block is already the top block. */ if (__builtin_expect (p == av->top, 0)) - goto double_free; + { + errstr = "double free or corruption (top)"; + goto errout; + } /* Or whether the next chunk is beyond the boundaries of the arena. */ if (__builtin_expect (contiguous (av) && (char *) nextchunk >= ((char *) av->top + chunksize(av->top)), 0)) - goto double_free; + { + errstr = "double free or corruption (out)"; + goto errout; + } /* Or whether the block is actually not marked used. */ if (__builtin_expect (!prev_inuse(nextchunk), 0)) - goto double_free; + { + errstr = "double free or corruption (!prev)"; + goto errout; + } nextsize = chunksize(nextchunk); assert(nextsize > 0); diff --git a/nis/nis_add.c b/nis/nis_add.c index 29646bd126..f5e783cc2f 100644 --- a/nis/nis_add.c +++ b/nis/nis_add.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1997, 1998 Free Software Foundation, Inc. +/* Copyright (C) 1997, 1998, 2004 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Thorsten Kukuk <kukuk@uni-paderborn.de>, 1997. @@ -72,3 +72,4 @@ nis_add (const_nis_name name, const nis_object *obj2) return res; } +libnsl_hidden_def (nis_add) diff --git a/nis/nis_addmember.c b/nis/nis_addmember.c index e7e429c4fd..bbe1c23977 100644 --- a/nis/nis_addmember.c +++ b/nis/nis_addmember.c @@ -1,4 +1,4 @@ -/* Copyright (c) 1997, 1998, 1999 Free Software Foundation, Inc. +/* Copyright (c) 1997, 1998, 1999, 2004 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1997. @@ -17,6 +17,7 @@ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ +#include <assert.h> #include <string.h> #include <rpcsvc/nis.h> @@ -71,6 +72,8 @@ nis_addmember (const_nis_name member, const_nis_name group) } ++NIS_RES_OBJECT (res)->GR_data.gr_members.gr_members_len; + /* Check the buffer bounds are not exceeded. */ + assert (strlen (NIS_RES_OBJECT(res)->zo_name) + 1 < grouplen + 14); cp = stpcpy (buf, NIS_RES_OBJECT(res)->zo_name); *cp++ = '.'; strncpy (cp, NIS_RES_OBJECT (res)->zo_domain, NIS_MAXNAMELEN); diff --git a/nis/nis_call.c b/nis/nis_call.c index d65b1ddac7..14041a160c 100644 --- a/nis/nis_call.c +++ b/nis/nis_call.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1997, 1998, 2001 Free Software Foundation, Inc. +/* Copyright (C) 1997, 1998, 2001, 2004 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1997. @@ -31,8 +31,8 @@ #include "nis_xdr.h" #include "nis_intern.h" -static struct timeval RPCTIMEOUT = {10, 0}; -static struct timeval UDPTIMEOUT = {5, 0}; +static const struct timeval RPCTIMEOUT = {10, 0}; +static const struct timeval UDPTIMEOUT = {5, 0}; extern u_short __pmap_getnisport (struct sockaddr_in *address, u_long program, u_long version, u_int protocol); @@ -71,6 +71,7 @@ __nisbind_destroy (dir_binding *bind) clnt_destroy (bind->clnt); } } +libnsl_hidden_def (__nisbind_destroy) nis_error __nisbind_next (dir_binding *bind) @@ -114,6 +115,7 @@ __nisbind_next (dir_binding *bind) return NIS_FAIL; } +libnsl_hidden_def (__nisbind_next) nis_error __nisbind_connect (dir_binding *dbp) @@ -150,7 +152,7 @@ __nisbind_connect (dir_binding *dbp) if (dbp->clnt == NULL) return NIS_RPCERROR; - clnt_control (dbp->clnt, CLSET_TIMEOUT, (caddr_t)&RPCTIMEOUT); + clnt_control (dbp->clnt, CLSET_TIMEOUT, (caddr_t) &RPCTIMEOUT); /* If the program exists, close the socket */ if (fcntl (dbp->socket, F_SETFD, 1) == -1) perror ("fcntl: F_SETFD"); @@ -159,12 +161,15 @@ __nisbind_connect (dir_binding *dbp) { if (serv->key_type == NIS_PK_DH) { - char netname[MAXNETNAMELEN+1]; + char netname[MAXNETNAMELEN + 1]; char *p; p = stpcpy (netname, "unix."); - strncpy (p, serv->name,MAXNETNAMELEN-5); + strncpy (p, serv->name, MAXNETNAMELEN - 5); netname[MAXNETNAMELEN] = '\0'; + // XXX What is this supposed to do? If we really want to replace + // XXX the first dot, then we might as well use unix@ as the + // XXX prefix string. --drepper p = strchr (netname, '.'); *p = '@'; dbp->clnt->cl_auth = @@ -179,6 +184,7 @@ __nisbind_connect (dir_binding *dbp) return NIS_SUCCESS; } +libnsl_hidden_def (__nisbind_connect) nis_error __nisbind_create (dir_binding *dbp, const nis_server *serv_val, @@ -216,6 +222,7 @@ __nisbind_create (dir_binding *dbp, const nis_server *serv_val, return NIS_SUCCESS; } +libnsl_hidden_def (__nisbind_create) /* __nisbind_connect (dbp) must be run before calling this function ! So we could use the same binding twice */ @@ -244,7 +251,7 @@ __do_niscall3 (dir_binding *dbp, u_long prog, xdrproc_t xargs, caddr_t req, if ((((nis_result *)resp)->status == NIS_CBRESULTS) && (cb != NULL)) { - __nis_do_callback(dbp, &((nis_result *)resp)->cookie, cb); + __nis_do_callback (dbp, &((nis_result *) resp)->cookie, cb); break; } /* Yes, the missing break is correct. If we doesn't have to @@ -258,9 +265,9 @@ __do_niscall3 (dir_binding *dbp, u_long prog, xdrproc_t xargs, caddr_t req, case NIS_IBREMOVE: case NIS_IBFIRST: case NIS_IBNEXT: - if ((((nis_result *)resp)->status == NIS_SYSTEMERROR) || - (((nis_result *)resp)->status == NIS_NOSUCHNAME) || - (((nis_result *)resp)->status == NIS_NOT_ME)) + if (((nis_result *)resp)->status == NIS_SYSTEMERROR + || ((nis_result *)resp)->status == NIS_NOSUCHNAME + || ((nis_result *)resp)->status == NIS_NOT_ME) { if (__nisbind_next (dbp) == NIS_SUCCESS) { @@ -276,9 +283,9 @@ __do_niscall3 (dir_binding *dbp, u_long prog, xdrproc_t xargs, caddr_t req, } break; case NIS_FINDDIRECTORY: - if ((((fd_result *)resp)->status == NIS_SYSTEMERROR) || - (((fd_result *)resp)->status == NIS_NOSUCHNAME) || - (((fd_result *)resp)->status == NIS_NOT_ME)) + if (((fd_result *)resp)->status == NIS_SYSTEMERROR + || ((fd_result *)resp)->status == NIS_NOSUCHNAME + || ((fd_result *)resp)->status == NIS_NOT_ME) { if (__nisbind_next (dbp) == NIS_SUCCESS) { @@ -295,9 +302,9 @@ __do_niscall3 (dir_binding *dbp, u_long prog, xdrproc_t xargs, caddr_t req, break; case NIS_DUMPLOG: /* log_result */ case NIS_DUMP: - if ((((log_result *)resp)->lr_status == NIS_SYSTEMERROR) || - (((log_result *)resp)->lr_status == NIS_NOSUCHNAME) || - (((log_result *)resp)->lr_status == NIS_NOT_ME)) + if (((log_result *)resp)->lr_status == NIS_SYSTEMERROR + || ((log_result *)resp)->lr_status == NIS_NOSUCHNAME + || ((log_result *)resp)->lr_status == NIS_NOT_ME) { if (__nisbind_next (dbp) == NIS_SUCCESS) { @@ -339,10 +346,8 @@ __do_niscall2 (const nis_server *server, u_int server_len, u_long prog, return status; while (__nisbind_connect (&dbp) != NIS_SUCCESS) - { - if (__nisbind_next (&dbp) != NIS_SUCCESS) - return NIS_NAMEUNREACHABLE; - } + if (__nisbind_next (&dbp) != NIS_SUCCESS) + return NIS_NAMEUNREACHABLE; status = __do_niscall3 (&dbp, prog, xargs, req, xres, resp, flags, cb); @@ -383,11 +388,11 @@ rec_dirsearch (const_nis_name name, directory_obj *dir, nis_error *status) __free_fdresult (fd_res); return dir; } - obj = calloc(1, sizeof(directory_obj)); - xdrmem_create(&xdrs, fd_res->dir_data.dir_data_val, - fd_res->dir_data.dir_data_len, XDR_DECODE); - _xdr_directory_obj(&xdrs, obj); - xdr_destroy(&xdrs); + obj = calloc (1, sizeof (directory_obj)); + xdrmem_create (&xdrs, fd_res->dir_data.dir_data_val, + fd_res->dir_data.dir_data_len, XDR_DECODE); + _xdr_directory_obj (&xdrs, obj); + xdr_destroy (&xdrs); __free_fdresult (fd_res); if (obj != NULL) { @@ -408,9 +413,9 @@ rec_dirsearch (const_nis_name name, directory_obj *dir, nis_error *status) { directory_obj *obj; size_t namelen = strlen (name); - char leaf [namelen + 3]; - char domain [namelen + 3]; - char ndomain [namelen + 3]; + char leaf[namelen + 3]; + char domain[namelen + 3]; + char ndomain[namelen + 3]; char *cp; u_int run = 0; @@ -478,10 +483,10 @@ rec_dirsearch (const_nis_name name, directory_obj *dir, nis_error *status) static directory_obj * first_shoot (const_nis_name name, directory_obj *dir) { - directory_obj *obj; + directory_obj *obj = NULL; fd_result *fd_res; XDR xdrs; - char domain [strlen (name) + 3]; + char domain[strlen (name) + 3]; if (nis_dir_cmp (name, dir->do_name) == SAME_NAME) return dir; @@ -492,25 +497,21 @@ first_shoot (const_nis_name name, directory_obj *dir) return dir; fd_res = __nis_finddirectory (dir, domain); - if (fd_res->status != NIS_SUCCESS) + if (fd_res->status == NIS_SUCCESS + && (obj = calloc (1, sizeof (directory_obj))) != NULL) { - __free_fdresult (fd_res); - return NULL; + xdrmem_create(&xdrs, fd_res->dir_data.dir_data_val, + fd_res->dir_data.dir_data_len, XDR_DECODE); + _xdr_directory_obj (&xdrs, obj); + xdr_destroy (&xdrs); } - obj = calloc(1, sizeof(directory_obj)); - if (obj == NULL) - return NULL; - xdrmem_create(&xdrs, fd_res->dir_data.dir_data_val, - fd_res->dir_data.dir_data_len, XDR_DECODE); - _xdr_directory_obj (&xdrs, obj); - xdr_destroy (&xdrs); + __free_fdresult (fd_res); + if (obj != NULL) - { - nis_free_directory (dir); - return obj; - } - return NULL; + nis_free_directory (dir); + + return obj; } nis_error diff --git a/nis/nis_clone_obj.c b/nis/nis_clone_obj.c index 82d1425081..5f9dd34b51 100644 --- a/nis/nis_clone_obj.c +++ b/nis/nis_clone_obj.c @@ -1,4 +1,4 @@ -/* Copyright (c) 1997, 1998 Free Software Foundation, Inc. +/* Copyright (c) 1997, 1998, 2004 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1997. @@ -29,43 +29,41 @@ nis_clone_object (const nis_object *src, nis_object *dest) unsigned char *addr; unsigned long size; XDR xdrs; - nis_object *res; + nis_object *res = NULL; if (src == NULL) return (NULL); - size = xdr_sizeof ((xdrproc_t)_xdr_nis_object, (char *)src); - if ((addr = calloc(1, size)) == NULL) + size = xdr_sizeof ((xdrproc_t)_xdr_nis_object, (char *) src); + if ((addr = calloc (1, size)) == NULL) return NULL; if (dest == NULL) { if ((res = calloc (1, sizeof (nis_object))) == NULL) - { - free (addr); - return NULL; - } + goto out2; } else res = dest; - xdrmem_create(&xdrs, addr, size, XDR_ENCODE); + xdrmem_create (&xdrs, addr, size, XDR_ENCODE); if (!_xdr_nis_object (&xdrs, (nis_object *)src)) - { - xdr_destroy (&xdrs); - free (addr); - return NULL; - } + goto out3; xdr_destroy (&xdrs); - xdrmem_create(&xdrs, addr, size, XDR_DECODE); - if (!_xdr_nis_object(&xdrs, res)) + xdrmem_create (&xdrs, addr, size, XDR_DECODE); + if (!_xdr_nis_object (&xdrs, res)) { - xdr_destroy (&xdrs); - free (addr); - return NULL; + out3: + if (dest == NULL) + free (res); + res = NULL; } + + out: xdr_destroy (&xdrs); + out2: free (addr); return res; } +libnsl_hidden_def (nis_clone_object) diff --git a/nis/nis_defaults.c b/nis/nis_defaults.c index f68699a07a..f13578635a 100644 --- a/nis/nis_defaults.c +++ b/nis/nis_defaults.c @@ -1,4 +1,4 @@ -/* Copyright (c) 1997, 1998 Free Software Foundation, Inc. +/* Copyright (c) 1997, 1998, 2004 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1997. @@ -395,6 +395,7 @@ __nis_default_owner (char *defaults) return strdup (default_owner); } +libnsl_hidden_def (__nis_default_owner) nis_name __nis_default_group (char *defaults) @@ -435,6 +436,7 @@ __nis_default_group (char *defaults) return strdup (default_group); } +libnsl_hidden_def (__nis_default_group) uint32_t __nis_default_ttl (char *defaults) @@ -483,3 +485,4 @@ __nis_default_access (char *param, unsigned int defaults) return result; } +libnsl_hidden_def (__nis_default_access) diff --git a/nis/nis_domain_of_r.c b/nis/nis_domain_of_r.c index 167a499b80..ca298f3505 100644 --- a/nis/nis_domain_of_r.c +++ b/nis/nis_domain_of_r.c @@ -1,4 +1,4 @@ -/* Copyright (c) 1997 Free Software Foundation, Inc. +/* Copyright (c) 1997, 2004 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1997. @@ -29,7 +29,7 @@ nis_domain_of_r (const_nis_name name, char *buffer, size_t buflen) if (buffer == NULL) { - errno = ERANGE; + __set_errno (ERANGE); return NULL; } @@ -44,14 +44,14 @@ nis_domain_of_r (const_nis_name name, char *buffer, size_t buflen) cptr_len = strlen (cptr); if (cptr_len == 0) - strcpy (buffer, "."); - else if (cptr_len >= buflen) + return strcpy (buffer, "."); + + if (__builtin_expect (cptr_len >= buflen, 0)) { - errno = ERANGE; + __set_errno (ERANGE); return NULL; } - else - memcpy (buffer, cptr, cptr_len + 1); - return buffer; + return memcpy (buffer, cptr, cptr_len + 1); } +libnsl_hidden_proto (nis_domain_of_r) diff --git a/nis/nis_error.c b/nis/nis_error.c index 66dda28840..147f88ce15 100644 --- a/nis/nis_error.c +++ b/nis/nis_error.c @@ -1,4 +1,4 @@ -/* Copyright (c) 1997, 1998, 1999 Free Software Foundation, Inc. +/* Copyright (c) 1997, 1998, 1999, 2004 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1997. @@ -84,6 +84,7 @@ nis_sperrno (const nis_error status) else return gettext (nis_errlist[status]); } +libnsl_hidden_def (nis_sperrno) void nis_perror (const nis_error status, const char *label) @@ -115,6 +116,7 @@ nis_sperror_r (const nis_error status, const char *label, return buffer; } +libnsl_hidden_def (nis_sperror_r) char * nis_sperror (const nis_error status, const char *label) diff --git a/nis/nis_file.c b/nis/nis_file.c index c84fb3c6c9..1f2295787c 100644 --- a/nis/nis_file.c +++ b/nis/nis_file.c @@ -1,4 +1,4 @@ -/* Copyright (c) 1997, 1998, 1999 Free Software Foundation, Inc. +/* Copyright (c) 1997, 1998, 1999, 2004 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Thorsten Kukuk <kukuk@suse.de>, 1997. @@ -28,21 +28,17 @@ static const char cold_start_file[] = "/var/nis/NIS_COLD_START"; directory_obj * readColdStartFile (void) { - XDR xdrs; - FILE *in; - bool_t status = TRUE; - directory_obj *obj; - - in = fopen (cold_start_file, "rb"); + FILE *in = fopen (cold_start_file, "rc"); if (in == NULL) return NULL; - obj = calloc (1, sizeof (directory_obj)); + directory_obj *obj = calloc (1, sizeof (directory_obj)); if (obj != NULL) { + XDR xdrs; xdrstdio_create (&xdrs, in, XDR_DECODE); - status = _xdr_directory_obj (&xdrs, obj); + bool_t status = _xdr_directory_obj (&xdrs, obj); xdr_destroy (&xdrs); if (!status) @@ -56,6 +52,7 @@ readColdStartFile (void) return obj; } +libnsl_hidden_def (readColdStartFile) bool_t writeColdStartFile (const directory_obj *obj) diff --git a/nis/nis_free.c b/nis/nis_free.c index 48b8a0882c..fae9251c4b 100644 --- a/nis/nis_free.c +++ b/nis/nis_free.c @@ -1,4 +1,4 @@ -/* Copyright (c) 1997, 1998 Free Software Foundation, Inc. +/* Copyright (c) 1997, 1998, 2004 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1997. @@ -29,6 +29,7 @@ __free_fdresult (fd_result *res) free (res); } } +libnsl_hidden_def (__free_fdresult) void nis_free_request (ib_request *ibreq) @@ -39,6 +40,7 @@ nis_free_request (ib_request *ibreq) free (ibreq); } } +libnsl_hidden_def (nis_free_request) void nis_free_directory (directory_obj *obj) @@ -49,6 +51,7 @@ nis_free_directory (directory_obj *obj) free (obj); } } +libnsl_hidden_def (nis_free_directory) void nis_free_object (nis_object *obj) @@ -59,6 +62,7 @@ nis_free_object (nis_object *obj) free (obj); } } +libnsl_hidden_def (nis_free_object) void nis_freeresult (nis_result *res) @@ -69,3 +73,4 @@ nis_freeresult (nis_result *res) free (res); } } +libnsl_hidden_def (nis_freeresult) diff --git a/nis/nis_local_names.c b/nis/nis_local_names.c index 3fffb6f67f..30fd208b75 100644 --- a/nis/nis_local_names.c +++ b/nis/nis_local_names.c @@ -1,4 +1,4 @@ -/* Copyright (c) 1997, 1998 Free Software Foundation, Inc. +/* Copyright (c) 1997, 1998, 2004 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1997. @@ -28,18 +28,12 @@ nis_local_group (void) { static char __nisgroup[NIS_MAXNAMELEN + 1]; - if (__nisgroup[0] == '\0') + char *cptr; + if (__nisgroup[0] == '\0' + && (cptr = getenv ("NIS_GROUP")) != NULL + && strlen (cptr) < NIS_MAXNAMELEN) { - char *cptr; - char *cp; - - if ((cptr = getenv ("NIS_GROUP")) == NULL) - return __nisgroup; - - if (strlen (cptr) >= NIS_MAXNAMELEN) - return __nisgroup; - - cp = stpcpy (__nisgroup, cptr); + char *cp = stpcpy (__nisgroup, cptr); if (cp[-1] != '.') { @@ -56,7 +50,7 @@ nis_local_group (void) return __nisgroup; } - +libnsl_hidden_def (nis_local_group) nis_name nis_local_directory (void) @@ -82,6 +76,7 @@ nis_local_directory (void) return __nisdomainname; } +libnsl_hidden_def (nis_local_directory) nis_name nis_local_principal (void) @@ -101,6 +96,7 @@ nis_local_principal (void) uid, nis_local_directory ()); if (len >= NIS_MAXNAMELEN - 1) + nobody: /* XXX The buffer is too small. Can this happen??? */ return strcpy (__principal, "nobody"); @@ -114,7 +110,7 @@ nis_local_principal (void) FOLLOW_PATH, NULL, NULL); if (res == NULL) - return strcpy (__principal, "nobody"); + goto nobody; if (NIS_RES_STATUS (res) == NIS_SUCCESS) { @@ -134,17 +130,18 @@ LOCAL entry for UID %d in directory %s not unique\n"), else { nis_freeresult (res); - return strcpy (__principal, "nobody"); + goto nobody; } } else return strcpy (__principal, nis_local_host ()); /* Should be never reached */ - return strcpy (__principal, "nobody"); + goto nobody; } return __principal; } +libnsl_hidden_def (nis_local_principal) nis_name nis_local_host (void) @@ -178,3 +175,4 @@ nis_local_host (void) return __nishostname; } +libnsl_hidden_def (nis_local_host) diff --git a/nis/nis_lookup.c b/nis/nis_lookup.c index 924931c021..0b97e67a61 100644 --- a/nis/nis_lookup.c +++ b/nis/nis_lookup.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc. +/* Copyright (C) 1997, 1998, 1999, 2004 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Thorsten Kukuk <kukuk@uni-paderborn.de>, 1997. @@ -222,3 +222,4 @@ nis_lookup (const_nis_name name, const unsigned int flags) return res; } +libnsl_hidden_def (nis_lookup) diff --git a/nis/nis_modify.c b/nis/nis_modify.c index 6218fdc0e5..0ec0ec6f42 100644 --- a/nis/nis_modify.c +++ b/nis/nis_modify.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1997, 1998 Free Software Foundation, Inc. +/* Copyright (C) 1997, 1998, 2004 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Thorsten Kukuk <kukuk@uni-paderborn.de>, 1997. @@ -38,7 +38,7 @@ nis_modify (const_nis_name name, const nis_object *obj2) if (res == NULL) return NULL; - req.ns_name = (char *)name; + req.ns_name = (char *) name; memcpy (&obj, obj2, sizeof (nis_object)); @@ -72,3 +72,4 @@ nis_modify (const_nis_name name, const nis_object *obj2) return res; } +libnsl_hidden_def (nis_modify) diff --git a/nis/nis_print.c b/nis/nis_print.c index 4c5a51935b..a8d7e8c7d0 100644 --- a/nis/nis_print.c +++ b/nis/nis_print.c @@ -1,4 +1,4 @@ -/* Copyright (c) 1997, 1998, 1999 Free Software Foundation, Inc. +/* Copyright (c) 1997, 1998, 1999, 2004 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1997. @@ -87,7 +87,7 @@ print_flags (const unsigned int flags) } else { - fputs("TEXTUAL DATA", stdout); + fputs ("TEXTUAL DATA", stdout); if (flags & TA_SEARCHABLE) { if (flags & TA_CASE) @@ -156,6 +156,7 @@ nis_print_rights (const unsigned int access) } fputs (result, stdout); } +libnsl_hidden_def (nis_print_rights) void nis_print_directory (const directory_obj *dir) @@ -243,6 +244,7 @@ nis_print_directory (const directory_obj *dir) } } } +libnsl_hidden_def (nis_print_directory) void nis_print_group (const group_obj *obj) @@ -257,6 +259,7 @@ nis_print_group (const group_obj *obj) for (i = 0; i < obj->gr_members.gr_members_len; i++) printf ("\t%s\n", obj->gr_members.gr_members_val[i]); } +libnsl_hidden_def (nis_print_group) void nis_print_table (const table_obj *obj) @@ -279,6 +282,7 @@ nis_print_table (const table_obj *obj) fputc ('\n', stdout); } } +libnsl_hidden_def (nis_print_table) void nis_print_link (const link_obj *obj) @@ -288,6 +292,7 @@ nis_print_link (const link_obj *obj) printf (_("Linked to : %s\n"), obj->li_name); /* XXX Print the attributs here, if they exists */ } +libnsl_hidden_def (nis_print_link) void nis_print_entry (const entry_obj *obj) @@ -311,6 +316,7 @@ nis_print_entry (const entry_obj *obj) obj->en_cols.en_cols_val[i].ec_value.ec_value_val); } } +libnsl_hidden_def (nis_print_entry) void nis_print_object (const nis_object * obj) @@ -356,6 +362,7 @@ nis_print_object (const nis_object * obj) break; } } +libnsl_hidden_def (nis_print_object) void nis_print_result (const nis_result *res) diff --git a/nis/nis_remove.c b/nis/nis_remove.c index 7ea0e89ecc..3aefccea44 100644 --- a/nis/nis_remove.c +++ b/nis/nis_remove.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1997, 1998 Free Software Foundation, Inc. +/* Copyright (C) 1997, 1998, 2004 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Thorsten Kukuk <kukuk@uni-paderborn.de>, 1997. @@ -56,3 +56,4 @@ nis_remove (const_nis_name name, const nis_object *obj) return res; } +libnsl_hidden_def (nis_remove) diff --git a/nis/nis_subr.c b/nis/nis_subr.c index 78e58aeba9..4c4ef8b5b4 100644 --- a/nis/nis_subr.c +++ b/nis/nis_subr.c @@ -41,7 +41,7 @@ nis_leaf_of_r (const_nis_name name, char *buffer, size_t buflen) if (i > buflen - 1) { - errno = ERANGE; + __set_errno (ERANGE); return NULL; } @@ -49,7 +49,7 @@ nis_leaf_of_r (const_nis_name name, char *buffer, size_t buflen) { if ((size_t)i >= buflen) { - errno = ERANGE; + __set_errno (ERANGE); return NULL; } @@ -58,6 +58,7 @@ nis_leaf_of_r (const_nis_name name, char *buffer, size_t buflen) return buffer; } +libnsl_hidden_def (nis_leaf_of_r) nis_name nis_name_of (const_nis_name name) @@ -84,7 +85,7 @@ nis_name_of_r (const_nis_name name, char *buffer, size_t buflen) if ((size_t) diff >= buflen) { - errno = ERANGE; + __set_errno (ERANGE); return NULL; } @@ -95,14 +96,15 @@ nis_name_of_r (const_nis_name name, char *buffer, size_t buflen) return buffer; } +libnsl_hidden_def (nis_name_of_r) static int count_dots (const_nis_name str) { int count = 0; - size_t i; + size_t l = strlen (str); - for (i = 0; i < strlen (str); ++i) + for (size_t i = 0; i < l; ++i) if (str[i] == '.') ++count; @@ -252,6 +254,7 @@ nis_getnames (const_nis_name name) return getnames; } +libnsl_hidden_def (nis_getnames) void nis_freenames (nis_name *names) @@ -266,6 +269,7 @@ nis_freenames (nis_name *names) free (names); } +libnsl_hidden_def (nis_freenames) name_pos nis_dir_cmp (const_nis_name n1, const_nis_name n2) @@ -303,9 +307,11 @@ nis_dir_cmp (const_nis_name n1, const_nis_name n2) } } +libnsl_hidden_def (nis_dir_cmp) void nis_destroy_object (nis_object *obj) { nis_free_object (obj); } +libnsl_hidden_def (nis_destroy_object) diff --git a/nis/nis_table.c b/nis/nis_table.c index 746444c311..13acdfdf50 100644 --- a/nis/nis_table.c +++ b/nis/nis_table.c @@ -476,6 +476,7 @@ nis_list (const_nis_name name, unsigned int flags, return res; } +libnsl_hidden_def (nis_list) nis_result * nis_add_entry (const_nis_name name, const nis_object *obj2, unsigned int flags) diff --git a/nis/nis_util.c b/nis/nis_util.c index 1220987d9c..9ed8b95907 100644 --- a/nis/nis_util.c +++ b/nis/nis_util.c @@ -46,7 +46,7 @@ __nis_finddirectory (directory_obj *dir, const_nis_name name) return fd_res; } - +libnsl_hidden_def (__nis_finddirectory) /* The hash implementation is in a separate file. */ #include "nis_hash.c" diff --git a/nis/nisplus-parser.h b/nis/nisplus-parser.h index 69b4faae39..f4b8d49596 100644 --- a/nis/nisplus-parser.h +++ b/nis/nisplus-parser.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1997 Free Software Foundation, Inc. +/* Copyright (C) 1997, 2004 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1997. @@ -31,4 +31,8 @@ extern int _nss_nisplus_parse_grent (nis_result *, u_long, struct group *, extern int _nss_nisplus_parse_spent (nis_result *, struct spwd *, char *, size_t, int *); +libnss_nisplus_hidden_proto (_nss_nisplus_parse_pwent) +libnss_nisplus_hidden_proto (_nss_nisplus_parse_grent) +libnss_nisplus_hidden_proto (_nss_nisplus_parse_spent) + #endif diff --git a/nis/nss_nisplus/nisplus-parser.c b/nis/nss_nisplus/nisplus-parser.c index f160338cee..b61733a628 100644 --- a/nis/nss_nisplus/nisplus-parser.c +++ b/nis/nss_nisplus/nisplus-parser.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1997, 1999 Free Software Foundation, Inc. +/* Copyright (C) 1997, 1999, 2004 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1997. @@ -141,6 +141,7 @@ _nss_nisplus_parse_pwent (nis_result *result, struct passwd *pw, return 1; } +libnss_nisplus_hidden_def (_nss_nisplus_parse_pwent) int _nss_nisplus_parse_grent (nis_result *result, u_long entry, struct group *gr, @@ -257,6 +258,7 @@ _nss_nisplus_parse_grent (nis_result *result, u_long entry, struct group *gr, return 1; } +libnss_nisplus_hidden_def (_nss_nisplus_parse_grent) int _nss_nisplus_parse_spent (nis_result *result, struct spwd *sp, @@ -371,3 +373,4 @@ _nss_nisplus_parse_spent (nis_result *result, struct spwd *sp, return 1; } +libnss_nisplus_hidden_def (_nss_nisplus_parse_spent) diff --git a/nis/yp_xdr.c b/nis/yp_xdr.c index f962c4dfcc..0ee80126e8 100644 --- a/nis/yp_xdr.c +++ b/nis/yp_xdr.c @@ -33,60 +33,53 @@ bool_t xdr_ypstat (XDR *xdrs, ypstat *objp) { - if (!xdr_enum (xdrs, (enum_t *) objp)) - return FALSE; - return TRUE; + return xdr_enum (xdrs, (enum_t *) objp); } +libnsl_hidden_def (xdr_ypstat) bool_t xdr_ypxfrstat (XDR *xdrs, ypxfrstat *objp) { - if (!xdr_enum (xdrs, (enum_t *) objp)) - return FALSE; - return TRUE; + return xdr_enum (xdrs, (enum_t *) objp); } +libnsl_hidden_def (xdr_ypxfrstat) bool_t xdr_domainname (XDR *xdrs, domainname *objp) { - if (!xdr_string (xdrs, objp, ~0)) - return FALSE; - return TRUE; + return xdr_string (xdrs, objp, ~0); } +libnsl_hidden_def (xdr_domainname) bool_t xdr_mapname (XDR *xdrs, mapname *objp) { - if (!xdr_string (xdrs, objp, ~0)) - return FALSE; - return TRUE; + return xdr_string (xdrs, objp, ~0); } +libnsl_hidden_def (xdr_mapname) bool_t xdr_peername (XDR *xdrs, peername *objp) { - if (!xdr_string (xdrs, objp, ~0)) - return FALSE; - return TRUE; + return xdr_string (xdrs, objp, ~0); } +libnsl_hidden_def (xdr_peername) bool_t xdr_keydat (XDR *xdrs, keydat *objp) { - if (!xdr_bytes (xdrs, (char **) &objp->keydat_val, - (u_int *) &objp->keydat_len, ~0)) - return FALSE; - return TRUE; + return xdr_bytes (xdrs, (char **) &objp->keydat_val, + (u_int *) &objp->keydat_len, ~0); } +libnsl_hidden_def (xdr_keydat) bool_t xdr_valdat (XDR *xdrs, valdat *objp) { - if (!xdr_bytes (xdrs, (char **) &objp->valdat_val, - (u_int *) &objp->valdat_len, ~0)) - return FALSE; - return TRUE; + return xdr_bytes (xdrs, (char **) &objp->valdat_val, + (u_int *) &objp->valdat_len, ~0); } +libnsl_hidden_def (xdr_valdat) bool_t xdr_ypmap_parms (XDR *xdrs, ypmap_parms *objp) @@ -97,10 +90,9 @@ xdr_ypmap_parms (XDR *xdrs, ypmap_parms *objp) return FALSE; if (!xdr_u_int (xdrs, &objp->ordernum)) return FALSE; - if (!xdr_peername (xdrs, &objp->peer)) - return FALSE; - return TRUE; + return xdr_peername (xdrs, &objp->peer); } +libnsl_hidden_def (xdr_ypmap_parms) bool_t xdr_ypreq_key (XDR *xdrs, ypreq_key *objp) @@ -109,9 +101,7 @@ xdr_ypreq_key (XDR *xdrs, ypreq_key *objp) return FALSE; if (!xdr_mapname (xdrs, &objp->map)) return FALSE; - if (!xdr_keydat (xdrs, &objp->key)) - return FALSE; - return TRUE; + return xdr_keydat (xdrs, &objp->key); } bool_t @@ -119,9 +109,7 @@ xdr_ypreq_nokey (XDR *xdrs, ypreq_nokey *objp) { if (!xdr_domainname (xdrs, &objp->domain)) return FALSE; - if (!xdr_mapname (xdrs, &objp->map)) - return FALSE; - return TRUE; + return xdr_mapname (xdrs, &objp->map); } bool_t @@ -133,9 +121,7 @@ xdr_ypreq_xfr (XDR *xdrs, ypreq_xfr *objp) return FALSE; if (!xdr_u_int (xdrs, &objp->prog)) return FALSE; - if (!xdr_u_int (xdrs, &objp->port)) - return FALSE; - return TRUE; + return xdr_u_int (xdrs, &objp->port); } bool_t @@ -143,9 +129,7 @@ xdr_ypresp_val (XDR *xdrs, ypresp_val *objp) { if (!xdr_ypstat (xdrs, &objp->stat)) return FALSE; - if (!xdr_valdat (xdrs, &objp->val)) - return FALSE; - return TRUE; + return xdr_valdat (xdrs, &objp->val); } bool_t @@ -155,19 +139,16 @@ xdr_ypresp_key_val (XDR *xdrs, ypresp_key_val *objp) return FALSE; if (!xdr_valdat (xdrs, &objp->val)) return FALSE; - if (!xdr_keydat (xdrs, &objp->key)) - return FALSE; - return TRUE; + return xdr_keydat (xdrs, &objp->key); } +libnsl_hidden_def (xdr_ypresp_key_val) bool_t xdr_ypresp_master (XDR *xdrs, ypresp_master *objp) { if (!xdr_ypstat (xdrs, &objp->stat)) return FALSE; - if (!xdr_peername (xdrs, &objp->peer)) - return FALSE; - return TRUE; + return xdr_peername (xdrs, &objp->peer); } bool_t @@ -175,9 +156,7 @@ xdr_ypresp_order (XDR *xdrs, ypresp_order *objp) { if (!xdr_ypstat (xdrs, &objp->stat)) return FALSE; - if (!xdr_u_int (xdrs, &objp->ordernum)) - return FALSE; - return TRUE; + return xdr_u_int (xdrs, &objp->ordernum); } bool_t @@ -188,9 +167,7 @@ xdr_ypresp_all (XDR *xdrs, ypresp_all *objp) switch (objp->more) { case TRUE: - if (!xdr_ypresp_key_val (xdrs, &objp->ypresp_all_u.val)) - return FALSE; - break; + return xdr_ypresp_key_val (xdrs, &objp->ypresp_all_u.val); case FALSE: break; default: @@ -198,15 +175,14 @@ xdr_ypresp_all (XDR *xdrs, ypresp_all *objp) } return TRUE; } +libnsl_hidden_def (xdr_ypresp_all) bool_t xdr_ypresp_xfr (XDR *xdrs, ypresp_xfr *objp) { if (!xdr_u_int (xdrs, &objp->transid)) return FALSE; - if (!xdr_ypxfrstat (xdrs, &objp->xfrstat)) - return FALSE; - return TRUE; + return xdr_ypxfrstat (xdrs, &objp->xfrstat); } bool_t @@ -214,10 +190,8 @@ xdr_ypmaplist (XDR *xdrs, ypmaplist *objp) { if (!xdr_mapname (xdrs, &objp->map)) return FALSE; - if (!xdr_pointer (xdrs, (char **) &objp->next, sizeof (ypmaplist), - (xdrproc_t) xdr_ypmaplist)) - return FALSE; - return TRUE; + return xdr_pointer (xdrs, (char **) &objp->next, sizeof (ypmaplist), + (xdrproc_t) xdr_ypmaplist); } bool_t @@ -225,47 +199,40 @@ xdr_ypresp_maplist (XDR *xdrs, ypresp_maplist *objp) { if (!xdr_ypstat (xdrs, &objp->stat)) return FALSE; - if (!xdr_pointer (xdrs, (char **) &objp->maps, sizeof (ypmaplist), - (xdrproc_t) xdr_ypmaplist)) - return FALSE; - return TRUE; + return xdr_pointer (xdrs, (char **) &objp->maps, sizeof (ypmaplist), + (xdrproc_t) xdr_ypmaplist); } bool_t xdr_yppush_status (XDR *xdrs, yppush_status *objp) { - if (!xdr_enum (xdrs, (enum_t *) objp)) - return FALSE; - return TRUE; + return xdr_enum (xdrs, (enum_t *) objp); } +libnsl_hidden_def (xdr_yppush_status) bool_t xdr_yppushresp_xfr (XDR *xdrs, yppushresp_xfr *objp) { if (!xdr_u_int (xdrs, &objp->transid)) return FALSE; - if (!xdr_yppush_status (xdrs, &objp->status)) - return FALSE; - return TRUE; + return xdr_yppush_status (xdrs, &objp->status); } bool_t xdr_ypbind_resptype (XDR *xdrs, ypbind_resptype *objp) { - if (!xdr_enum (xdrs, (enum_t *) objp)) - return FALSE; - return TRUE; + return xdr_enum (xdrs, (enum_t *) objp); } +libnsl_hidden_def (xdr_ypbind_resptype) bool_t xdr_ypbind_binding (XDR *xdrs, ypbind_binding *objp) { if (!xdr_opaque (xdrs, objp->ypbind_binding_addr, 4)) return FALSE; - if (!xdr_opaque (xdrs, objp->ypbind_binding_port, 2)) - return FALSE; - return TRUE; + return xdr_opaque (xdrs, objp->ypbind_binding_port, 2); } +libnsl_hidden_def (xdr_ypbind_binding) bool_t xdr_ypbind_resp (XDR *xdrs, ypbind_resp *objp) @@ -275,17 +242,11 @@ xdr_ypbind_resp (XDR *xdrs, ypbind_resp *objp) switch (objp->ypbind_status) { case YPBIND_FAIL_VAL: - if (!xdr_u_int (xdrs, &objp->ypbind_resp_u.ypbind_error)) - return FALSE; - break; + return xdr_u_int (xdrs, &objp->ypbind_resp_u.ypbind_error); case YPBIND_SUCC_VAL: - if (!xdr_ypbind_binding (xdrs, &objp->ypbind_resp_u.ypbind_bindinfo)) - return FALSE; - break; - default: - return FALSE; + return xdr_ypbind_binding (xdrs, &objp->ypbind_resp_u.ypbind_bindinfo); } - return TRUE; + return FALSE; } bool_t @@ -295,9 +256,7 @@ xdr_ypbind_setdom (XDR *xdrs, ypbind_setdom *objp) return FALSE; if (!xdr_ypbind_binding (xdrs, &objp->ypsetdom_binding)) return FALSE; - if (!xdr_u_int (xdrs, &objp->ypsetdom_vers)) - return FALSE; - return TRUE; + return xdr_u_int (xdrs, &objp->ypsetdom_vers); } bool_t diff --git a/nis/ypclnt.c b/nis/ypclnt.c index f25c7c710b..65b9c55467 100644 --- a/nis/ypclnt.c +++ b/nis/ypclnt.c @@ -230,6 +230,7 @@ yp_bind (const char *indomain) return status; } +libnsl_hidden_def (yp_bind) static void yp_unbind_locked (const char *indomain) @@ -394,6 +395,7 @@ yp_get_default_domain (char **outdomain) return result; } +libnsl_hidden_def (yp_get_default_domain) int __yp_check (char **domain) @@ -580,6 +582,7 @@ yp_master (const char *indomain, const char *inmap, char **outname) return *outname == NULL ? YPERR_YPERR : YPERR_SUCCESS; } +libnsl_hidden_def (yp_master) int yp_order (const char *indomain, const char *inmap, unsigned int *outorder) @@ -823,36 +826,29 @@ yperr_string (const int error) return _("Unknown NIS error code"); } +static const int8_t yp_2_yperr[] = + { +#define YP2YPERR(yp, yperr) [YP_##yp - YP_VERS] = YPERR_##yperr + YP2YPERR (TRUE, SUCCESS), + YP2YPERR (NOMORE, NOMORE), + YP2YPERR (FALSE, YPERR), + YP2YPERR (NOMAP, MAP), + YP2YPERR (NODOM, DOMAIN), + YP2YPERR (NOKEY, KEY), + YP2YPERR (BADOP, YPERR), + YP2YPERR (BADDB, BADDB), + YP2YPERR (YPERR, YPERR), + YP2YPERR (BADARGS, BADARGS), + YP2YPERR (VERS, VERS) + }; int ypprot_err (const int code) { - switch (code) - { - case YP_TRUE: - return YPERR_SUCCESS; - case YP_NOMORE: - return YPERR_NOMORE; - case YP_FALSE: - return YPERR_YPERR; - case YP_NOMAP: - return YPERR_MAP; - case YP_NODOM: - return YPERR_DOMAIN; - case YP_NOKEY: - return YPERR_KEY; - case YP_BADOP: - return YPERR_YPERR; - case YP_BADDB: - return YPERR_BADDB; - case YP_YPERR: - return YPERR_YPERR; - case YP_BADARGS: - return YPERR_BADARGS; - case YP_VERS: - return YPERR_VERS; - } - return YPERR_YPERR; + if (code < YP_VERS || code > YP_NOKEY) + return YPERR_YPERR; + return yp_2_yperr[code]; } +libnsl_hidden_def (ypprot_err) const char * ypbinderr_string (const int error) @@ -871,7 +867,7 @@ ypbinderr_string (const int error) return _("Unknown ypbind error"); } } - +libnsl_hidden_def (ypbinderr_string) #define WINDOW 60 diff --git a/nis/ypupdate_xdr.c b/nis/ypupdate_xdr.c index e4027b07df..4789e47c3e 100644 --- a/nis/ypupdate_xdr.c +++ b/nis/ypupdate_xdr.c @@ -36,11 +36,10 @@ bool_t xdr_yp_buf (XDR *xdrs, yp_buf *objp) { - if (!xdr_bytes (xdrs, (char **) &objp->yp_buf_val, - (u_int *) &objp->yp_buf_len, ~0)) - return FALSE; - return TRUE; + return xdr_bytes (xdrs, (char **) &objp->yp_buf_val, + (u_int *) &objp->yp_buf_len, ~0); } +libnsl_hidden_def (xdr_yp_buf) bool_t xdr_ypupdate_args (XDR *xdrs, ypupdate_args *objp) @@ -49,9 +48,7 @@ xdr_ypupdate_args (XDR *xdrs, ypupdate_args *objp) return FALSE; if (!xdr_yp_buf (xdrs, &objp->key)) return FALSE; - if (!xdr_yp_buf (xdrs, &objp->datum)) - return FALSE; - return TRUE; + return xdr_yp_buf (xdrs, &objp->datum); } bool_t @@ -59,7 +56,5 @@ xdr_ypdelete_args (XDR *xdrs, ypdelete_args *objp) { if (!xdr_string (xdrs, &objp->mapname, ~0)) return FALSE; - if (!xdr_yp_buf (xdrs, &objp->key)) - return FALSE; - return TRUE; + return xdr_yp_buf (xdrs, &objp->key); } diff --git a/nptl/ChangeLog b/nptl/ChangeLog index 2385b9cd37..31be4c37bb 100644 --- a/nptl/ChangeLog +++ b/nptl/ChangeLog @@ -1,3 +1,34 @@ +2004-10-29 Kaz Kojima <kkojima@rr.iij4u.or.jp> + + * sysdeps/unix/sysv/linux/sh/sem_timedwait.S (sem_timedwait): + Set ETIMEDOUT to errno when time is up. Tweak to avoid + assembler warning. + +2004-10-28 Jakub Jelinek <jakub@redhat.com> + + * pthread_create.c (__pthread_create_2_1): Avoid leaking stacks + if sched_priority is not between minprio and maxprio. + +2004-10-25 Kaz Kojima <kkojima@rr.iij4u.or.jp> + + * sysdeps/unix/sysv/linux/sh/pthread_cond_timedwait.S + (__pthread_cond_timedwait): Use clock_gettime syscall if exists. + + * sysdeps/unix/sysv/linux/sh/lowlevellock.S + (__lll_mutex_timedlock_wait): Fix a bad branch condition. + +2004-10-24 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/unix/sysv/linux/smp.h (is_smp_system): Use + not-cancelable I/O functions. + +2004-10-21 Kaz Kojima <kkojima@rr.iij4u.or.jp> + + * sysdeps/unix/sysv/linux/sh/lowlevellock.S + (__lll_mutex_timedlock_wait): If woken but cannot get the lock, + make sure 2 is stored in the futex and we looked at the old value. + Fix a few other problems to return the correct value. + 2004-10-14 Richard Henderson <rth@redhat.com> * sysdeps/alpha/tcb-offsets.sym (thread_offsetof): Redefine to diff --git a/nptl/pthread_create.c b/nptl/pthread_create.c index 1bab72d1e9..7293f4c71c 100644 --- a/nptl/pthread_create.c +++ b/nptl/pthread_create.c @@ -459,10 +459,12 @@ __pthread_create_2_1 (newthread, attr, start_routine, arg) err = create_thread (pd, iattr, STACK_VARIABLES_ARGS); if (err != 0) { - errout: /* Something went wrong. Free the resources. */ if (!is_detached) - __deallocate_stack (pd); + { + errout: + __deallocate_stack (pd); + } return err; } diff --git a/nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.S b/nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.S index 320fe18fe8..bcb15615e5 100644 --- a/nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.S +++ b/nptl/sysdeps/unix/sysv/linux/sh/lowlevellock.S @@ -117,6 +117,7 @@ __lll_mutex_timedlock_wait: mov #1, r3 mov #2, r4 CMPXCHG (r3, @r8, r4, r2) + tst r2, r2 bt 8f mov r8, r4 @@ -127,13 +128,14 @@ __lll_mutex_timedlock_wait: extu.b r3, r3 trapa #0x14 SYSCALL_INST_PAD - mov r0, r4 + mov r0, r5 -8: +8: mov #0, r3 mov #2, r4 CMPXCHG (r3, @r8, r4, r2) - bf 7f + bf/s 7f + mov #0, r0 6: add #8, r15 @@ -144,8 +146,14 @@ __lll_mutex_timedlock_wait: 7: /* Check whether the time expired. */ mov #-ETIMEDOUT, r1 - cmp/eq r4, r1 + cmp/eq r5, r1 bt 5f + + /* Make sure the current holder knows we are going to sleep. */ + XCHG (r2, @r8, r3) + tst r3, r3 + bt/s 6b + mov #0, r0 bra 1b nop 3: diff --git a/nptl/sysdeps/unix/sysv/linux/sh/pthread_cond_timedwait.S b/nptl/sysdeps/unix/sysv/linux/sh/pthread_cond_timedwait.S index d0c55ecfef..74206a71ec 100644 --- a/nptl/sysdeps/unix/sysv/linux/sh/pthread_cond_timedwait.S +++ b/nptl/sysdeps/unix/sysv/linux/sh/pthread_cond_timedwait.S @@ -133,6 +133,34 @@ __pthread_cond_timedwait: 8: /* Get current time. */ +#ifdef __NR_clock_gettime + /* Get the clock number. */ + mov.l @(cond_nwaiters,r8), r4 + mov #((1 << clock_bits) - 1), r0 + and r0, r4 + /* Only clocks 0 and 1 are allowed. Both are handled in the + kernel. */ + mov r15, r5 + add #16, r5 + mov.w .L__NR_clock_gettime, r3 + trapa #0x12 + SYSCALL_INST_PAD +# ifndef __ASSUME_POSIX_TIMERS + cmp/eq #-ENOSYS, r0 + bt 19f +# endif + + /* Compute relative timeout. */ + mov.l @r13, r2 + mov.l @(4,r13), r3 + mov.l @(16,r15), r0 + bra 0f + mov.l @(20,r15), r1 +.L__NR_clock_gettime: + .word __NR_clock_gettime + +# ifndef __ASSUME_POSIX_TIMERS +19: mov r15, r4 add #16, r4 mov #0, r5 @@ -143,11 +171,30 @@ __pthread_cond_timedwait: /* Compute relative timeout. */ mov.l @(20,r15), r0 mov.w .L1k, r1 - dmulu.l r0, r1 /* Milli seconds to nano seconds. */ + dmulu.l r0, r1 /* Micro seconds to nano seconds. */ mov.l @r13, r2 mov.l @(4,r13), r3 mov.l @(16,r15), r0 sts macl, r1 +#endif +0: +#else + mov r15, r4 + add #16, r4 + mov #0, r5 + mov #SYS_gettimeofday, r3 + trapa #0x12 + SYSCALL_INST_PAD + + /* Compute relative timeout. */ + mov.l @(20,r15), r0 + mov.w .L1k, r1 + dmulu.l r0, r1 /* Micro seconds to nano seconds. */ + mov.l @r13, r2 + mov.l @(4,r13), r3 + mov.l @(16,r15), r0 + sts macl, r1 +#endif sub r0, r2 clrt subc r1, r3 diff --git a/nptl/sysdeps/unix/sysv/linux/sh/sem_timedwait.S b/nptl/sysdeps/unix/sysv/linux/sh/sem_timedwait.S index 27a1bb019d..acb7d0f78b 100644 --- a/nptl/sysdeps/unix/sysv/linux/sh/sem_timedwait.S +++ b/nptl/sysdeps/unix/sysv/linux/sh/sem_timedwait.S @@ -42,8 +42,10 @@ sem_timedwait: mov #0xf9, r1 and r1, r0 cmp/eq #8, r0 - bt 10f - + bf 0f + bra 10f + stc gbr, r0 +0: mov.l @r4, r0 2: tst r0, r0 @@ -115,7 +117,8 @@ sem_timedwait: add #-1, r2 5: cmp/pz r2 - bf 6f /* Time is already up. */ + bf/s 6f /* Time is already up. */ + mov #ETIMEDOUT, r0 /* Store relative timeout. */ mov.l r2, @r15 @@ -196,7 +199,6 @@ sem_timedwait: 10: /* Canceled. */ - stc gbr, r0 mov.w .Lresult, r1 mov #-1, r2 mov.l r2, @(r0,r1) diff --git a/nptl/sysdeps/unix/sysv/linux/smp.h b/nptl/sysdeps/unix/sysv/linux/smp.h index 718fab683b..c1160a7939 100644 --- a/nptl/sysdeps/unix/sysv/linux/smp.h +++ b/nptl/sysdeps/unix/sysv/linux/smp.h @@ -20,6 +20,7 @@ #include <fcntl.h> #include <string.h> #include <sys/sysctl.h> +#include <not-cancel.h> /* Test whether the machine has more than one processor. This is not the best test but good enough. More complicated tests would require `malloc' @@ -37,13 +38,13 @@ is_smp_system (void) buf, &reslen, NULL, 0) < 0) { /* This was not successful. Now try reading the /proc filesystem. */ - int fd = __open ("/proc/sys/kernel/version", O_RDONLY); + int fd = open_not_cancel_2 ("/proc/sys/kernel/version", O_RDONLY); if (__builtin_expect (fd, 0) == -1 - || (reslen = __read (fd, buf, sizeof (buf))) <= 0) + || (reslen = read_not_cancel (fd, buf, sizeof (buf))) <= 0) /* This also didn't work. We give up and say it's a UP machine. */ buf[0] = '\0'; - __close (fd); + close_not_cancel_no_status (fd); } return strstr (buf, "SMP") != NULL; diff --git a/nss/nss_files/files-netgrp.c b/nss/nss_files/files-netgrp.c index e207691996..8bdc68bd14 100644 --- a/nss/nss_files/files-netgrp.c +++ b/nss/nss_files/files-netgrp.c @@ -274,6 +274,7 @@ _nss_netgroup_parseline (char **cursor, struct __netgrent *result, return status; } +libnss_files_hidden_def (_nss_netgroup_parseline) enum nss_status diff --git a/nss/nss_files/files-parse.c b/nss/nss_files/files-parse.c index 7d1e2326d3..3ba37c8941 100644 --- a/nss/nss_files/files-parse.c +++ b/nss/nss_files/files-parse.c @@ -1,5 +1,5 @@ /* Common code for file-based database parsers in nss_files module. - Copyright (C) 1996-2000, 2003 Free Software Foundation, Inc. + Copyright (C) 1996-2000, 2003, 2004 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -73,7 +73,13 @@ struct parser_data /* Export the line parser function so it can be used in nss_db. */ # define parser_stclass /* Global */ # define parse_line CONCAT(_nss_files_parse_,ENTNAME) -# define nss_files_parse_hidden_def(name) libc_hidden_def (name) +# ifdef IS_IN_libc +/* We are defining one of the functions that actually lives in libc + because it is used to implement fget*ent and suchlike. */ +# define nss_files_parse_hidden_def(name) libc_hidden_def (name) +# else +# define nss_files_parse_hidden_def(name) libnss_files_hidden_def (name) +# endif #endif diff --git a/posix/execvp.c b/posix/execvp.c index 6e919526d7..d6f60c02e7 100644 --- a/posix/execvp.c +++ b/posix/execvp.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991,92,95,96,97,98,99,2002 Free Software Foundation, Inc. +/* Copyright (C) 1991,92,1995-99,2002,2004 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -135,6 +135,11 @@ execvp (file, argv) /* Those errors indicate the file is missing or not executable by us, in which case we want to just try the next path directory. */ + case ENODEV: + case ETIMEDOUT: + /* Some strange filesystems like AFS return even + stranger error numbers. They cannot reasonably mean + anything else so ignore those, too. */ break; default: diff --git a/resolv/nss_dns/dns-host.c b/resolv/nss_dns/dns-host.c index f6a2fa65d6..7045c5915b 100644 --- a/resolv/nss_dns/dns-host.c +++ b/resolv/nss_dns/dns-host.c @@ -127,6 +127,14 @@ static enum nss_status getanswer_r (const querybuf *answer, int anslen, size_t buflen, int *errnop, int *h_errnop, int map, int32_t *ttlp, char **canonp); +extern enum nss_status _nss_dns_gethostbyname3_r (const char *name, int af, + struct hostent *result, + char *buffer, size_t buflen, + int *errnop, int *h_errnop, + int32_t *ttlp, + char **canonp); +hidden_proto (_nss_dns_gethostbyname3_r) + enum nss_status _nss_dns_gethostbyname3_r (const char *name, int af, struct hostent *result, char *buffer, size_t buflen, int *errnop, @@ -216,6 +224,7 @@ _nss_dns_gethostbyname3_r (const char *name, int af, struct hostent *result, free (host_buffer.buf); return status; } +hidden_def (_nss_dns_gethostbyname3_r) enum nss_status @@ -236,11 +245,11 @@ _nss_dns_gethostbyname_r (const char *name, struct hostent *result, enum nss_status status = NSS_STATUS_NOTFOUND; if (_res.options & RES_USE_INET6) - status = _nss_dns_gethostbyname2_r (name, AF_INET6, result, buffer, - buflen, errnop, h_errnop); + status = _nss_dns_gethostbyname3_r (name, AF_INET6, result, buffer, + buflen, errnop, h_errnop, NULL, NULL); if (status == NSS_STATUS_NOTFOUND) - status = _nss_dns_gethostbyname2_r (name, AF_INET, result, buffer, - buflen, errnop, h_errnop); + status = _nss_dns_gethostbyname3_r (name, AF_INET, result, buffer, + buflen, errnop, h_errnop, NULL, NULL); return status; } diff --git a/resolv/res_send.c b/resolv/res_send.c index 7773a2f522..8fb21a9446 100644 --- a/resolv/res_send.c +++ b/resolv/res_send.c @@ -73,14 +73,13 @@ static const char rcsid[] = "$BINDId: res_send.c,v 8.38 2000/03/30 20:16:51 vixi * Send query to name server and wait for reply. */ +#include <assert.h> #include <sys/types.h> #include <sys/param.h> #include <sys/time.h> #include <sys/socket.h> #include <sys/uio.h> -#ifdef _LIBC #include <sys/poll.h> -#endif #include <netinet/in.h> #include <arpa/nameser.h> @@ -103,9 +102,6 @@ static const char rcsid[] = "$BINDId: res_send.c,v 8.38 2000/03/30 20:16:51 vixi #define MAXPACKET 65536 #endif -#ifndef _LIBC -#include <isc/eventlib.h> -#else /* From ev_streams.c. */ @@ -170,7 +166,6 @@ evNowTime(struct timespec *res) { TIMEVAL_TO_TIMESPEC (&now, res); } -#endif /* Options. Leave them on. */ /* #undef DEBUG */ @@ -178,10 +173,6 @@ evNowTime(struct timespec *res) { #define EXT(res) ((res)->_u._ext) -#ifndef _LIBC -static const int highestFD = FD_SETSIZE - 1; -#endif - /* Forward. */ static int send_vc(res_state, const u_char *, int, @@ -194,22 +185,11 @@ static void Aerror(const res_state, FILE *, const char *, int, const struct sockaddr *); static void Perror(const res_state, FILE *, const char *, int); #endif -#ifdef _LIBC static int sock_eq(struct sockaddr_in6 *, struct sockaddr_in6 *); -#else -static int sock_eq(struct sockaddr_in *, struct sockaddr_in *); -#endif -#ifdef NEED_PSELECT -static int pselect(int, void *, void *, void *, - struct timespec *, - const sigset_t *); -#endif /* Reachover. */ -#ifdef _LIBC static void convaddr4to6(struct sockaddr_in6 *sa); -#endif void res_pquery(const res_state, const u_char *, int, FILE *); /* Public. */ @@ -224,15 +204,10 @@ void res_pquery(const res_state, const u_char *, int, FILE *); * paul vixie, 29may94 */ int -#ifdef _LIBC res_ourserver_p(const res_state statp, const struct sockaddr_in6 *inp) -#else -res_ourserver_p(const res_state statp, const struct sockaddr_in *inp) -#endif { int ns; -#ifdef _LIBC if (inp->sin6_family == AF_INET) { struct sockaddr_in *in4p = (struct sockaddr_in *) inp; in_port_t port = in4p->sin_port; @@ -260,18 +235,6 @@ res_ourserver_p(const res_state statp, const struct sockaddr_in *inp) return (1); } } -#else - struct sockaddr_in ina = *inp; - for (ns = 0; ns < statp->nscount; ns++) { - const struct sockaddr_in *srv = &statp->nsaddr_list[ns]; - - if (srv->sin_family == ina.sin_family && - srv->sin_port == ina.sin_port && - (srv->sin_addr.s_addr == INADDR_ANY || - srv->sin_addr.s_addr == ina.sin_addr.s_addr)) - return (1); - } -#endif return (0); } @@ -406,18 +369,12 @@ __libc_res_nsend(res_state statp, const u_char *buf, int buflen, if (EXT(statp).nscount != statp->nscount) needclose++; else -#ifdef _LIBC for (ns = 0; ns < MAXNS; ns++) { unsigned int map = EXT(statp).nsmap[ns]; if (map < MAXNS && !sock_eq((struct sockaddr_in6 *) &statp->nsaddr_list[map], EXT(statp).nsaddrs[ns])) -#else - for (ns = 0; ns < statp->nscount; ns++) { - if (!sock_eq(&statp->nsaddr_list[ns], - &EXT(statp).nsaddrs[ns])) -#endif { needclose++; break; @@ -431,7 +388,6 @@ __libc_res_nsend(res_state statp, const u_char *buf, int buflen, * Maybe initialize our private copy of the ns_addr_list. */ if (EXT(statp).nsinit == 0) { -#ifdef _LIBC unsigned char map[MAXNS]; memset (map, MAXNS, sizeof (map)); @@ -471,13 +427,6 @@ __libc_res_nsend(res_state statp, const u_char *buf, int buflen, n++; } } -#else - for (ns = 0; ns < statp->nscount; ns++) { - EXT(statp).nsaddrs[ns] = statp->nsaddr_list[ns]; - EXT(statp).nssocks[ns] = -1; - } - EXT(statp).nscount = ns; -#endif EXT(statp).nsinit = 1; } @@ -487,7 +436,6 @@ __libc_res_nsend(res_state statp, const u_char *buf, int buflen, */ if ((statp->options & RES_ROTATE) != 0 && (statp->options & RES_BLAST) == 0) { -#ifdef _LIBC struct sockaddr_in6 *ina; unsigned int map; @@ -511,35 +459,18 @@ __libc_res_nsend(res_state statp, const u_char *buf, int buflen, EXT(statp).nsaddrs[n] = ina; EXT(statp).nsmap[n] = map; } -#else - struct sockaddr_in ina; - int lastns = statp->nscount - 1; - - ina = statp->nsaddr_list[0]; - for (ns = 0; ns < lastns; ns++) - statp->nsaddr_list[ns] = statp->nsaddr_list[ns + 1]; - statp->nsaddr_list[lastns] = ina; -#endif } /* * Send request, RETRY times, or until successful. */ for (try = 0; try < statp->retry; try++) { -#ifdef _LIBC for (ns = 0; ns < MAXNS; ns++) -#else - for (ns = 0; ns < statp->nscount; ns++) -#endif { -#ifdef _LIBC struct sockaddr_in6 *nsap = EXT(statp).nsaddrs[ns]; if (nsap == NULL) goto next_ns; -#else - struct sockaddr_in *nsap = &statp->nsaddr_list[ns]; -#endif same_ns: if (statp->qhook) { int done = 0, loops = 0; @@ -547,16 +478,11 @@ __libc_res_nsend(res_state statp, const u_char *buf, int buflen, do { res_sendhookact act; -#ifdef _LIBC struct sockaddr_in *nsap4; nsap4 = (struct sockaddr_in *) nsap; act = (*statp->qhook)(&nsap4, &buf, &buflen, ans, anssiz, &resplen); nsap = (struct sockaddr_in6 *) nsap4; -#else - act = (*statp->qhook)(&nsap, &buf, &buflen, - ans, anssiz, &resplen); -#endif switch (act) { case res_goahead: done = 1; @@ -579,19 +505,13 @@ __libc_res_nsend(res_state statp, const u_char *buf, int buflen, } while (!done); } -#ifdef _LIBC -# ifdef DEBUG +#ifdef DEBUG char tmpbuf[40]; -# endif +#endif Dprint(statp->options & RES_DEBUG, (stdout, ";; Querying server (# %d) address = %s\n", ns + 1, inet_ntop(AF_INET6, &nsap->sin6_addr, tmpbuf, sizeof (tmpbuf)))); -#else - Dprint(statp->options & RES_DEBUG, - (stdout, ";; Querying server (# %d) address = %s\n", - ns + 1, inet_ntoa(nsap->sin_addr))); -#endif if (v_circuit) { /* Use VC; at most one attempt per server. */ @@ -641,14 +561,9 @@ __libc_res_nsend(res_state statp, const u_char *buf, int buflen, do { res_sendhookact act; -#ifdef _LIBC act = (*statp->rhook)((struct sockaddr_in *) nsap, buf, buflen, ans, anssiz, &resplen); -#else - act = (*statp->rhook)(nsap, buf, buflen, - ans, anssiz, &resplen); -#endif switch (act) { case res_goahead: case res_done: @@ -704,11 +619,7 @@ send_vc(res_state statp, u_char *ans = *ansp; int anssiz = *anssizp; HEADER *anhp = (HEADER *) ans; -#ifdef _LIBC struct sockaddr_in6 *nsap = EXT(statp).nsaddrs[ns]; -#else - struct sockaddr_in *nsap = &statp->nsaddr_list[ns]; -#endif int truncating, connreset, resplen, n; struct iovec iov[2]; u_short len; @@ -720,11 +631,7 @@ send_vc(res_state statp, /* Are we still talking to whom we want to talk to? */ if (statp->_vcsock >= 0 && (statp->_flags & RES_F_VC) != 0) { -#ifdef _LIBC struct sockaddr_in6 peer; -#else - struct sockaddr_in peer; -#endif int size = sizeof peer; if (getpeername(statp->_vcsock, @@ -739,15 +646,7 @@ send_vc(res_state statp, if (statp->_vcsock >= 0) res_nclose(statp); -#ifdef _LIBC statp->_vcsock = socket(nsap->sin6_family, SOCK_STREAM, 0); -#else - statp->_vcsock = socket(PF_INET, SOCK_STREAM, 0); - if (statp->_vcsock > highestFD) { - res_nclose(statp); - __set_errno (ENOTSOCK); - } -#endif if (statp->_vcsock < 0) { *terrno = errno; Perror(statp, stderr, "socket(vc)", errno); @@ -904,25 +803,15 @@ send_dg(res_state statp, u_char *ans = *ansp; int anssiz = *anssizp; HEADER *anhp = (HEADER *) ans; -#ifdef _LIBC struct sockaddr_in6 *nsap = EXT(statp).nsaddrs[ns]; -#else - const struct sockaddr_in *nsap = &statp->nsaddr_list[ns]; -#endif struct timespec now, timeout, finish; -#ifdef _LIBC struct pollfd pfd[1]; int ptimeout; struct sockaddr_in6 from; static int socket_pf = 0; -#else - fd_set dsmask; - struct sockaddr_in from; -#endif - int fromlen, resplen, seconds, n, s; + int fromlen, resplen, seconds, n; if (EXT(statp).nssocks[ns] == -1) { -#ifdef _LIBC /* only try IPv6 if IPv6 NS and if not failed before */ if ((EXT(statp).nscount6 > 0) && (socket_pf != PF_INET)) { EXT(statp).nssocks[ns] = @@ -932,24 +821,14 @@ send_dg(res_state statp, } if (EXT(statp).nssocks[ns] < 0) EXT(statp).nssocks[ns] = socket(PF_INET, SOCK_DGRAM, 0); -#else - EXT(statp).nssocks[ns] = socket(PF_INET, SOCK_DGRAM, 0); - if (EXT(statp).nssocks[ns] > highestFD) { - res_nclose(statp); - __set_errno (ENOTSOCK); - } -#endif if (EXT(statp).nssocks[ns] < 0) { *terrno = errno; Perror(statp, stderr, "socket(dg)", errno); return (-1); } -#ifndef CANNOT_CONNECT_DGRAM -#ifdef _LIBC /* If IPv6 socket and nsap is IPv4, make it IPv4-mapped */ if ((socket_pf == PF_INET6) && (nsap->sin6_family == AF_INET)) convaddr4to6(nsap); -#endif /* * On a 4.3BSD+ machine (client and server, * actually), sending to a nameserver datagram @@ -968,7 +847,6 @@ send_dg(res_state statp, res_nclose(statp); return (0); } -#endif /* !CANNOT_CONNECT_DGRAM */ /* Make socket non-blocking. */ int fl = __fcntl (EXT(statp).nssocks[ns], F_GETFL); if (fl != -1) @@ -977,7 +855,7 @@ send_dg(res_state statp, Dprint(statp->options & RES_DEBUG, (stdout, ";; new DG socket\n")) } - s = EXT(statp).nssocks[ns]; + /* * Compute time for the total operation. */ @@ -990,28 +868,29 @@ send_dg(res_state statp, evConsTime(&timeout, seconds, 0); evAddTime(&finish, &now, &timeout); int need_recompute = 0; - resend: -#ifdef _LIBC + int nwritten = 0; + pfd[0].fd = EXT(statp).nssocks[ns]; + pfd[0].events = POLLOUT; + wait: + if (need_recompute) { + evNowTime(&now); + if (evCmpTime(finish, now) <= 0) { + Perror(statp, stderr, "select", errno); + res_nclose(statp); + return (0); + } + evSubTime(&timeout, &finish, &now); + } /* Convert struct timespec in milliseconds. */ ptimeout = timeout.tv_sec * 1000 + timeout.tv_nsec / 1000000; - pfd[0].fd = s; - pfd[0].events = POLLOUT; - n = __poll (pfd, 1, 0); + n = 0; + if (nwritten == 0) + n = __poll (pfd, 1, 0); if (__builtin_expect (n == 0, 0)) { n = __poll (pfd, 1, ptimeout); need_recompute = 1; } -#else - FD_ZERO(&dsmask); - FD_SET(s, &dsmask); - struct timeval zerotime = { 0, 0 }; - n = pselect(s + 1, NULL, &dsmask, NULL, &zerotime, NULL); - if (n == 0) { - n = pselect(s + 1, NULL, &dsmask, NULL, &timeout, NULL); - need_recompute = 1; - } -#endif if (n == 0) { Dprint(statp->options & RES_DEBUG, (stdout, ";; timeout sending\n")); @@ -1024,183 +903,136 @@ send_dg(res_state statp, evNowTime(&now); if (evCmpTime(finish, now) > 0) { evSubTime(&timeout, &finish, &now); - goto resend; + goto wait; } } - Perror(statp, stderr, "select", errno); + Perror(statp, stderr, "poll", errno); res_nclose(statp); return (0); } __set_errno (0); -#ifndef CANNOT_CONNECT_DGRAM - if (send(s, (char*)buf, buflen, 0) != buflen) { - if (errno == EINTR || errno == EAGAIN) - goto recompute_resend; - Perror(statp, stderr, "send", errno); - res_nclose(statp); - return (0); - } -#else /* !CANNOT_CONNECT_DGRAM */ -#ifdef _LIBC - /* If IPv6 socket and nsap is IPv4, make it IPv4-mapped */ - if ((socket_pf == PF_INET6) && (nsap->sin6_family == AF_INET)) - convaddr4to6(nsap); -#endif - if (sendto(s, (char*)buf, buflen, 0, - (struct sockaddr *)nsap, sizeof *nsap) != buflen) - { - if (errno == EINTR || errno == EAGAIN) - goto recompute_resend; - Aerror(statp, stderr, "sendto", errno, - (struct sockaddr *) nsap); - res_nclose(statp); - return (0); - } -#endif /* !CANNOT_CONNECT_DGRAM */ - - wait: - if (need_recompute) { - evNowTime(&now); - if (evCmpTime(finish, now) <= 0) { - err_return: - Perror(statp, stderr, "select", errno); + if (pfd[0].revents & POLLOUT) { + if (send(pfd[0].fd, (char*)buf, buflen, 0) != buflen) { + if (errno == EINTR || errno == EAGAIN) + goto recompute_resend; + Perror(statp, stderr, "send", errno); + res_nclose(statp); + return (0); + } + pfd[0].events = POLLIN; + ++nwritten; + goto wait; + } else if (pfd[0].revents & POLLIN) { + fromlen = sizeof(struct sockaddr_in6); + if (anssiz < MAXPACKET + && anscp + && (ioctl (pfd[0].fd, FIONREAD, &resplen) < 0 + || anssiz < resplen)) { + ans = malloc (MAXPACKET); + if (ans == NULL) + ans = *ansp; + else { + anssiz = MAXPACKET; + *anssizp = MAXPACKET; + *ansp = ans; + *anscp = ans; + anhp = (HEADER *) ans; + } + } + resplen = recvfrom(pfd[0].fd, (char*)ans, anssiz,0, + (struct sockaddr *)&from, &fromlen); + if (resplen <= 0) { + if (errno == EINTR || errno == EAGAIN) { + need_recompute = 1; + goto wait; + } + Perror(statp, stderr, "recvfrom", errno); res_nclose(statp); return (0); } - evSubTime(&timeout, &finish, &now); - } -#ifdef _LIBC - /* Convert struct timespec in milliseconds. */ - ptimeout = timeout.tv_sec * 1000 + timeout.tv_nsec / 1000000; - - pfd[0].events = POLLIN; - n = __poll (pfd, 1, ptimeout); -#else - n = pselect(s + 1, &dsmask, NULL, NULL, &timeout, NULL); -#endif - if (n == 0) { - Dprint(statp->options & RES_DEBUG, (stdout, - ";; timeout receiving\n")); *gotsomewhere = 1; - return (0); - } - if (n < 0) { - if (errno == EINTR) { - need_recompute = 1; + if (resplen < HFIXEDSZ) { + /* + * Undersized message. + */ + Dprint(statp->options & RES_DEBUG, + (stdout, ";; undersized: %d\n", + resplen)); + *terrno = EMSGSIZE; + res_nclose(statp); + return (0); + } + if (hp->id != anhp->id) { + /* + * response from old query, ignore it. + * XXX - potential security hazard could + * be detected here. + */ + DprintQ((statp->options & RES_DEBUG) || + (statp->pfcode & RES_PRF_REPLY), + (stdout, ";; old answer:\n"), + ans, (resplen > anssiz) ? anssiz : resplen); goto wait; } - goto err_return; - } - __set_errno (0); -#ifdef _LIBC - fromlen = sizeof(struct sockaddr_in6); -#else - fromlen = sizeof(struct sockaddr_in); -#endif - if (anssiz < MAXPACKET - && anscp - && (ioctl (s, FIONREAD, &resplen) < 0 - || anssiz < resplen)) { - ans = malloc (MAXPACKET); - if (ans == NULL) - ans = *ansp; - else { - anssiz = MAXPACKET; - *anssizp = MAXPACKET; - *ansp = ans; - *anscp = ans; - anhp = (HEADER *) ans; + if (!(statp->options & RES_INSECURE1) && + !res_ourserver_p(statp, &from)) { + /* + * response from wrong server? ignore it. + * XXX - potential security hazard could + * be detected here. + */ + DprintQ((statp->options & RES_DEBUG) || + (statp->pfcode & RES_PRF_REPLY), + (stdout, ";; not our server:\n"), + ans, (resplen > anssiz) ? anssiz : resplen); + goto wait; } - } - resplen = recvfrom(s, (char*)ans, anssiz,0, - (struct sockaddr *)&from, &fromlen); - if (resplen <= 0) { - if (errno == EINTR || errno == EAGAIN) { - need_recompute = 1; + if (!(statp->options & RES_INSECURE2) && + !res_queriesmatch(buf, buf + buflen, + ans, ans + anssiz)) { + /* + * response contains wrong query? ignore it. + * XXX - potential security hazard could + * be detected here. + */ + DprintQ((statp->options & RES_DEBUG) || + (statp->pfcode & RES_PRF_REPLY), + (stdout, ";; wrong query name:\n"), + ans, (resplen > anssiz) ? anssiz : resplen); goto wait; } - Perror(statp, stderr, "recvfrom", errno); - res_nclose(statp); - return (0); - } - *gotsomewhere = 1; - if (resplen < HFIXEDSZ) { + if (anhp->rcode == SERVFAIL || + anhp->rcode == NOTIMP || + anhp->rcode == REFUSED) { + DprintQ(statp->options & RES_DEBUG, + (stdout, "server rejected query:\n"), + ans, (resplen > anssiz) ? anssiz : resplen); + res_nclose(statp); + /* don't retry if called from dig */ + if (!statp->pfcode) + return (0); + } + if (!(statp->options & RES_IGNTC) && anhp->tc) { + /* + * To get the rest of answer, + * use TCP with same server. + */ + Dprint(statp->options & RES_DEBUG, + (stdout, ";; truncated answer\n")); + *v_circuit = 1; + res_nclose(statp); + return (1); + } /* - * Undersized message. + * All is well, or the error is fatal. Signal that the + * next nameserver ought not be tried. */ - Dprint(statp->options & RES_DEBUG, - (stdout, ";; undersized: %d\n", - resplen)); - *terrno = EMSGSIZE; + return (resplen); + } else if (pfd[0].revents & (POLLERR | POLLHUP | POLLNVAL)) { + /* Something went wrong. We can stop trying. */ res_nclose(statp); return (0); } - if (hp->id != anhp->id) { - /* - * response from old query, ignore it. - * XXX - potential security hazard could - * be detected here. - */ - DprintQ((statp->options & RES_DEBUG) || - (statp->pfcode & RES_PRF_REPLY), - (stdout, ";; old answer:\n"), - ans, (resplen > anssiz) ? anssiz : resplen); - goto wait; - } - if (!(statp->options & RES_INSECURE1) && - !res_ourserver_p(statp, &from)) { - /* - * response from wrong server? ignore it. - * XXX - potential security hazard could - * be detected here. - */ - DprintQ((statp->options & RES_DEBUG) || - (statp->pfcode & RES_PRF_REPLY), - (stdout, ";; not our server:\n"), - ans, (resplen > anssiz) ? anssiz : resplen); - goto wait; - } - if (!(statp->options & RES_INSECURE2) && - !res_queriesmatch(buf, buf + buflen, - ans, ans + anssiz)) { - /* - * response contains wrong query? ignore it. - * XXX - potential security hazard could - * be detected here. - */ - DprintQ((statp->options & RES_DEBUG) || - (statp->pfcode & RES_PRF_REPLY), - (stdout, ";; wrong query name:\n"), - ans, (resplen > anssiz) ? anssiz : resplen); - goto wait; - } - if (anhp->rcode == SERVFAIL || - anhp->rcode == NOTIMP || - anhp->rcode == REFUSED) { - DprintQ(statp->options & RES_DEBUG, - (stdout, "server rejected query:\n"), - ans, (resplen > anssiz) ? anssiz : resplen); - res_nclose(statp); - /* don't retry if called from dig */ - if (!statp->pfcode) - return (0); - } - if (!(statp->options & RES_IGNTC) && anhp->tc) { - /* - * To get the rest of answer, - * use TCP with same server. - */ - Dprint(statp->options & RES_DEBUG, - (stdout, ";; truncated answer\n")); - *v_circuit = 1; - res_nclose(statp); - return (1); - } - /* - * All is well, or the error is fatal. Signal that the - * next nameserver ought not be tried. - */ - return (resplen); } #ifdef DEBUG @@ -1239,7 +1071,6 @@ Perror(const res_state statp, FILE *file, const char *string, int error) { #endif static int -#ifdef _LIBC sock_eq(struct sockaddr_in6 *a1, struct sockaddr_in6 *a2) { if (a1->sin6_family == a2->sin6_family) { if (a1->sin6_family == AF_INET) @@ -1262,15 +1093,7 @@ sock_eq(struct sockaddr_in6 *a1, struct sockaddr_in6 *a2) { (a1->sin6_addr.s6_addr32[3] == ((struct sockaddr_in *)a2)->sin_addr.s_addr)); } -#else -sock_eq(struct sockaddr_in *a1, struct sockaddr_in *a2) { - return ((a1->sin_family == a2->sin_family) && - (a1->sin_port == a2->sin_port) && - (a1->sin_addr.s_addr == a2->sin_addr.s_addr)); -} -#endif -#ifdef _LIBC /* * Converts IPv4 family, address and port to * IPv6 family, IPv4-mapped IPv6 address and port. @@ -1289,30 +1112,3 @@ convaddr4to6(struct sockaddr_in6 *sa) sa->sin6_addr.s6_addr32[2] = htonl(0xFFFF); sa->sin6_addr.s6_addr32[3] = addr; } -#endif - -#ifdef NEED_PSELECT -/* XXX needs to move to the porting library. */ -static int -pselect(int nfds, void *rfds, void *wfds, void *efds, - struct timespec *tsp, const sigset_t *sigmask) -{ - struct timeval tv, *tvp; - sigset_t sigs; - int n; - - if (tsp) { - tvp = &tv; - tv = evTimeVal(*tsp); - } else - tvp = NULL; - if (sigmask) - sigprocmask(SIG_SETMASK, sigmask, &sigs); - n = select(nfds, rfds, wfds, efds, tvp); - if (sigmask) - sigprocmask(SIG_SETMASK, &sigs, NULL); - if (tsp) - TIMEVAL_TO_TIMESPEC (tv, *tsp); - return (n); -} -#endif diff --git a/sysdeps/am29k/ffs.c b/sysdeps/am29k/ffs.c deleted file mode 100644 index 6f080db442..0000000000 --- a/sysdeps/am29k/ffs.c +++ /dev/null @@ -1,43 +0,0 @@ -/* ffs -- find first set bit in a word, counted from least significant end. - For Amd 290x0. - Copyright (C) 1991, 1992, 1997, 2004 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Torbjorn Granlund (tege@sics.se). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <bstring.h> - -#undef ffs - -#ifdef __GNUC__ - -int -__ffs (x) - int x; -{ - int cnt; - - asm ("clz %0,%1" : "=r" (cnt) : "r" (x & -x)); - - return 32 - cnt; -} -weak_alias (__ffs, ffs) -libc_hidden_builtin_def (ffs) - -#else -#include <sysdeps/generic/ffs.c> -#endif diff --git a/sysdeps/cris/Dist b/sysdeps/cris/Dist deleted file mode 100644 index cf1ffb6a08..0000000000 --- a/sysdeps/cris/Dist +++ /dev/null @@ -1 +0,0 @@ -_mcount.S diff --git a/sysdeps/cris/Implies b/sysdeps/cris/Implies deleted file mode 100644 index 780c4e2467..0000000000 --- a/sysdeps/cris/Implies +++ /dev/null @@ -1,3 +0,0 @@ -wordsize-32 -ieee754/flt-32 -ieee754/dbl-64 diff --git a/sysdeps/cris/Makefile b/sysdeps/cris/Makefile deleted file mode 100644 index 1ecb78c3e0..0000000000 --- a/sysdeps/cris/Makefile +++ /dev/null @@ -1,44 +0,0 @@ -# Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc. -# This file is part of the GNU C Library. - -# The GNU C Library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. - -# The GNU C Library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. - -# You should have received a copy of the GNU Lesser General Public -# License along with the GNU C Library; if not, write to the Free -# Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA -# 02111-1307 USA. - -# We don't support long doubles as a distinct type. We don't need to set -# this variable; it's here mostly for documentational purposes. - -long-double-fcts = no - -# FIXME: Note that this is a machine-specific stub; profiling is not -# implemented. -ifeq ($(subdir),gmon) -sysdep_routines += _mcount -endif - -# FIXME: This test seems generally bogus. Wrong types in function calls -# and assumes FE_TONEAREST is defined. Does it work somewhere? -# Presumably it does, so let's settle for filtering it out target-wise -# until it's agreed what should be done. -ifeq ($(subdir),math) -tests := $(filter-out test-fenv, $(tests)) -endif - -# PIC code must be assembled with special options, passed on by gcc when -# given the -fpic option. -ASFLAGS-.os = -fpic - -# Overflow occurs at 2**15/4 (8192) symbols. Glibc uses about 2000. -# So use -fpic: smaller-size relocs; smaller, faster code. -pic-ccflag = -fpic diff --git a/sysdeps/cris/__longjmp.S b/sysdeps/cris/__longjmp.S deleted file mode 100644 index cce27ca25e..0000000000 --- a/sysdeps/cris/__longjmp.S +++ /dev/null @@ -1,38 +0,0 @@ -/* longjmp for CRIS. - Copyright (C) 2001 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sysdep.h> -#define _SETJMP_H -#define _ASM -#include <bits/setjmp.h> - - .syntax no_register_prefix - -/* Saving and restoring CCR is meaningless, so we don't do it. */ -ENTRY (__longjmp) - /* Note that r10 = jmp_buf, r11 = retval. */ - move [r10+16*4],srp - test.d r11 - beq 0f /* Already a 1 in place. */ - nop - /* Offset for r9, the return value (see setjmp). */ - move.d r11,[r10+6*4] -0: - movem [r10],pc -END (__longjmp) diff --git a/sysdeps/cris/_mcount.S b/sysdeps/cris/_mcount.S deleted file mode 100644 index a939131645..0000000000 --- a/sysdeps/cris/_mcount.S +++ /dev/null @@ -1,36 +0,0 @@ -/* Machine-specific calling sequence for `mcount' profiling function for CRIS. - Copyright (C) 2001 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* FIXME: This isn't implemented yet. This is just a machine-specific - stub. Perhaps a real implementation can make use of it. */ - -#include <sysdep.h> - -#undef CALL_MCOUNT -#define CALL_MCOUNT - -ENTRY (_mcount) - SETUP_PIC - /* Sorry, isn't implemented yet. - Can't call abort; that will recurse. Force SEGV instead. */ - test.d [99] -1: - ba 1b - nop -END (_mcount) diff --git a/sysdeps/cris/bits/endian.h b/sysdeps/cris/bits/endian.h deleted file mode 100644 index 034307e395..0000000000 --- a/sysdeps/cris/bits/endian.h +++ /dev/null @@ -1,7 +0,0 @@ -/* CRIS is little-endian. */ - -#ifndef _ENDIAN_H -# error "Never use <bits/endian.h> directly; include <endian.h> instead." -#endif - -#define __BYTE_ORDER __LITTLE_ENDIAN diff --git a/sysdeps/cris/bits/setjmp.h b/sysdeps/cris/bits/setjmp.h deleted file mode 100644 index 0d7825bc86..0000000000 --- a/sysdeps/cris/bits/setjmp.h +++ /dev/null @@ -1,54 +0,0 @@ -/* Copyright (C) 1997, 1998 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* Define the machine-dependent type `jmp_buf', CRIS version. */ - -/* Note that saving and restoring CCR has no meaning in user mode, so we - don't actually do it; the slot is now reserved. - - jmp_buf[0] - PC - jmp_buf[1] - SP (R14) - jmp_buf[2] - R13 - jmp_buf[3] - R12 - jmp_buf[4] - R11 - jmp_buf[5] - R10 - jmp_buf[6] - R9 - jmp_buf[7] - R8 - jmp_buf[8] - R7 - jmp_buf[9] - R6 - jmp_buf[10] - R5 - jmp_buf[11] - R4 - jmp_buf[12] - R3 - jmp_buf[13] - R2 - jmp_buf[14] - R1 - jmp_buf[15] - R0 - jmp_buf[16] - SRP - jmp_buf[17] - CCR */ - -#ifndef _ASM -typedef unsigned long int __jmp_buf[18]; -#endif - -#if defined (__USE_MISC) || defined (_ASM) -#define JB_SP 1 -#endif - -/* Test if longjmp to JMPBUF would unwind the frame - containing a local variable at ADDRESS. */ -#define _JMPBUF_UNWINDS(jmpbuf, address) \ - ((unsigned long int) (address) < (jmpbuf)[JB_SP]) diff --git a/sysdeps/cris/bits/string.h b/sysdeps/cris/bits/string.h deleted file mode 100644 index fa893d3653..0000000000 --- a/sysdeps/cris/bits/string.h +++ /dev/null @@ -1,26 +0,0 @@ -/* Optimized, inlined string functions. CRIS version. - Copyright (C) 1997, 2001 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _STRING_H -# error "Never use <bits/string.h> directly; include <string.h> instead." -#endif - -/* Currently the only purpose of this file is to tell the generic inline - macros that unaligned memory access is possible. */ -#define _STRING_ARCH_unaligned 1 diff --git a/sysdeps/cris/dl-machine.h b/sysdeps/cris/dl-machine.h deleted file mode 100644 index 368733e73f..0000000000 --- a/sysdeps/cris/dl-machine.h +++ /dev/null @@ -1,391 +0,0 @@ -/* Machine-dependent ELF dynamic relocation inline functions. CRIS version. - Copyright (C) 1996-2001, 2002, 2003 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef dl_machine_h -#define dl_machine_h - -#define ELF_MACHINE_NAME "CRIS" - -#include <sys/param.h> - -#ifdef __PIC__ -# define CALL_FN(x) \ - "move.d $pc,$r9\n\t" \ - "add.d " #x " - .,$r9\n\t" \ - "jsr $r9" -#else -# define CALL_FN(x) "jsr " #x -#endif - -/* Return nonzero iff ELF header is compatible with the running host. */ - -static inline int -elf_machine_matches_host (const Elf32_Ehdr *ehdr) -{ - return ehdr->e_machine == EM_CRIS; -} - -/* Return the link-time address of _DYNAMIC. Conveniently, this is the - first element of the GOT. This must be inlined in a function which - uses global data. */ - -static inline Elf32_Addr -elf_machine_dynamic (void) -{ - /* Don't just set this to an asm variable "r0" since that's not logical - (like, the variable is uninitialized and the register is fixed) and - may make GCC trip over itself doing register allocation. Yes, I'm - paranoid. Why do you ask? */ - Elf32_Addr *got; - - __asm__ ("move.d $r0,%0" : "=rm" (got)); - return *got; -} - -/* Return the run-time load address of the shared object. We do it like - m68k and i386, by taking an arbitrary local symbol, forcing a GOT entry - for it, and peeking into the GOT table, which is set to the link-time - file-relative symbol value (regardless of whether the target is REL or - RELA). We subtract this link-time file-relative value from the "local" - value we calculate from GOT position and GOT offset. FIXME: Perhaps - there's some other symbol we could use, that we don't *have* to force a - GOT entry for. */ - -static inline Elf32_Addr -elf_machine_load_address (void) -{ - Elf32_Addr gotaddr_diff; - __asm__ ("sub.d [$r0+_dl_start:GOT16],$r0,%0\n\t" - "add.d _dl_start:GOTOFF,%0" : "=r" (gotaddr_diff)); - return gotaddr_diff; -} - -/* Set up the loaded object described by L so its unrelocated PLT - entries will jump to the on-demand fixup code in dl-runtime.c. */ - -static inline int -elf_machine_runtime_setup (struct link_map *l, int lazy, int profile) -{ - Elf32_Addr *got; - extern void _dl_runtime_resolve (Elf32_Word); - extern void _dl_runtime_profile (Elf32_Word); - - if (l->l_info[DT_JMPREL] && lazy) - { - /* The GOT entries for functions in the PLT have not yet been - filled in. Their initial contents will arrange when called - to push an offset into the .rela.plt section, push - _GLOBAL_OFFSET_TABLE_[1], and then jump to - _GLOBAL_OFFSET_TABLE_[2]. */ - got = (Elf32_Addr *) D_PTR (l, l_info[DT_PLTGOT]); - got[1] = (Elf32_Addr) l; /* Identify this shared object. */ - - /* The got[2] entry contains the address of a function which gets - called to get the address of a so far unresolved function and - jump to it. The profiling extension of the dynamic linker allows - to intercept the calls to collect information. In this case we - don't store the address in the GOT so that all future calls also - end in this function. */ - if (__builtin_expect (profile, 0)) - { - got[2] = (Elf32_Addr) &_dl_runtime_profile; - - if (_dl_name_match_p (GL(dl_profile), l)) - { - /* This is the object we are looking for. Say that we really - want profiling and the timers are started. */ - GL(dl_profile_map) = l; - } - } - else - /* This function will get called to fix up the GOT entry indicated by - the offset on the stack, and then jump to the resolved address. */ - got[2] = (Elf32_Addr) &_dl_runtime_resolve; - } - - return lazy; -} - -/* This code is used in dl-runtime.c to call the `fixup' function - and then redirect to the address it returns. - - We get here with the offset into the relocation table pushed on stack, - and the link map in MOF. */ - -#define TRAMPOLINE_TEMPLATE(tramp_name, fixup_name) \ -"; Trampoline for " #fixup_name "\n\ - .globl " #tramp_name "\n\ - .type " #tramp_name ", @function\n\ -" #tramp_name ":\n\ - push $r13\n\ - push $r12\n\ - push $r11\n\ - push $r10\n\ - push $r9\n\ - push $srp\n\ - move.d [$sp+6*4],$r11\n\ - move $mof,$r10\n\ - " CALL_FN (fixup_name) "\n\ - move.d $r10,[$sp+6*4]\n\ - pop $srp\n\ - pop $r9\n\ - pop $r10\n\ - pop $r11\n\ - pop $r12\n\ - pop $r13\n\ - jump [$sp+]\n\ - .size " #tramp_name ", . - " #tramp_name "\n" -#ifndef PROF -#define ELF_MACHINE_RUNTIME_TRAMPOLINE \ -asm (TRAMPOLINE_TEMPLATE (_dl_runtime_resolve, fixup) \ - TRAMPOLINE_TEMPLATE (_dl_runtime_profile, profile_fixup)); -#else -#define ELF_MACHINE_RUNTIME_TRAMPOLINE \ -asm (TRAMPOLINE_TEMPLATE (_dl_runtime_resolve, fixup) \ - ".globl _dl_runtime_profile\n" \ - ".set _dl_runtime_profile, _dl_runtime_resolve"); -#endif - - -/* Mask identifying addresses reserved for the user program, - where the dynamic linker should not map anything. */ -#define ELF_MACHINE_USER_ADDRESS_MASK 0xf8000000UL - -/* Initial entry point code for the dynamic linker. - The C function `_dl_start' is the real entry point; - its return value is the user program's entry point. */ - -#define RTLD_START asm ("\ - .text\n\ - .globl _start\n\ - .type _start,@function\n\ -_start:\n\ - move.d $sp,$r10\n\ - " CALL_FN (_dl_start) "\n\ - /* FALLTHRU */\n\ -\n\ - .globl _dl_start_user\n\ - .type _dl_start_user,@function\n\ -_dl_start_user:\n\ - ; Save the user entry point address in R1.\n\ - move.d $r10,$r1\n\ - ; Point R0 at the GOT.\n\ - move.d $pc,$r0\n\ - sub.d .:GOTOFF,$r0\n\ - ; See if we were run as a command with the executable file\n\ - ; name as an extra leading argument.\n\ - move.d [$r0+_dl_skip_args:GOT16],$r13\n\ - move.d [$r13],$r9\n\ - ; Get the original argument count\n\ - move.d [$sp],$r11\n\ - ; Subtract _dl_skip_args from it.\n\ - sub.d $r9,$r11\n\ - ; Adjust the stack pointer to skip _dl_skip_args words.\n\ - addi $r9.d,$sp\n\ - ; Put the new argc in place as expected by the user entry.\n\ - move.d $r11,[$sp]\n\ - ; Call _dl_init (struct link_map *main_map, int argc, char **argv, char **env)\n\ - ; env: skip scaled argc and skip stored argc and NULL at end of argv[].\n\ - move.d $sp,$r13\n\ - addi $r11.d,$r13\n\ - addq 8,$r13\n\ - ; argv: skip stored argc.\n\ - move.d $sp,$r12\n\ - addq 4,$r12\n\ - ; main_map: at _dl_loaded.\n\ - move.d [$r0+_rtld_local:GOT16],$r9\n\ - move.d [$r9],$r10\n\ - move.d _dl_init_internal:PLTG,$r9\n\ - add.d $r0,$r9\n\ - jsr $r9\n\ - ; Pass our finalizer function to the user in R10.\n\ - move.d [$r0+_dl_fini:GOT16],$r10\n\ - ; Terminate the frame-pointer.\n\ - moveq 0,$r8\n\ - ; Cause SEGV if user entry returns.\n\ - move $r8,$srp\n\ - ; Jump to the user's entry point.\n\ - jump $r1\n\ - .size _dl_start_user, . - _dl_start_user\n\ - .previous"); - -/* The union of reloc-type-classes where the reloc TYPE is a member. - - TYPE is in the class ELF_RTYPE_CLASS_PLT if it can describe a - relocation for a PLT entry, that is, for which a PLT entry should not - be allowed to define the value. The GNU linker for CRIS can merge a - .got.plt entry (R_CRIS_JUMP_SLOT) with a .got entry (R_CRIS_GLOB_DAT), - so we need to match both these reloc types. - - TYPE is in the class ELF_RTYPE_CLASS_NOCOPY if it should not be allowed - to resolve to one of the main executable's symbols, as for a COPY - reloc. */ -#define elf_machine_type_class(type) \ - ((((((type) == R_CRIS_JUMP_SLOT)) \ - || ((type) == R_CRIS_GLOB_DAT)) * ELF_RTYPE_CLASS_PLT) \ - | (((type) == R_CRIS_COPY) * ELF_RTYPE_CLASS_COPY)) - -/* A reloc type used for ld.so cmdline arg lookups to reject PLT entries. */ -#define ELF_MACHINE_JMP_SLOT R_CRIS_JUMP_SLOT - -/* CRIS never uses Elf32_Rel relocations. */ -#define ELF_MACHINE_NO_REL 1 - -/* We define an initialization functions. This is called very early in - _dl_sysdep_start. */ -#define DL_PLATFORM_INIT dl_platform_init () - -static inline void __attribute__ ((unused)) -dl_platform_init (void) -{ - if (GL(dl_platform) != NULL && *GL(dl_platform) == '\0') - /* Avoid an empty string which would disturb us. */ - GL(dl_platform) = NULL; -} - -static inline Elf32_Addr -elf_machine_fixup_plt (struct link_map *map, lookup_t t, - const Elf32_Rela *reloc, - Elf32_Addr *reloc_addr, Elf32_Addr value) -{ - return *reloc_addr = value; -} - -/* Return the final value of a plt relocation. */ -static inline Elf32_Addr -elf_machine_plt_value (struct link_map *map, const Elf32_Rela *reloc, - Elf32_Addr value) -{ - return value + reloc->r_addend; -} - -#endif /* !dl_machine_h */ - -#ifdef RESOLVE - -/* Perform the relocation specified by RELOC and SYM (which is fully resolved). - MAP is the object containing the reloc. */ - -static inline void -elf_machine_rela (struct link_map *map, const Elf32_Rela *reloc, - const Elf32_Sym *sym, const struct r_found_version *version, - void *const reloc_addr_arg) -{ - Elf32_Addr *const reloc_addr = reloc_addr_arg; - const unsigned int r_type = ELF32_R_TYPE (reloc->r_info); - - if (__builtin_expect (r_type == R_CRIS_RELATIVE, 0)) - *reloc_addr = map->l_addr + reloc->r_addend; - else - { -#ifndef RTLD_BOOTSTRAP - const Elf32_Sym *const refsym = sym; -#endif - Elf32_Addr value; - if (sym->st_shndx != SHN_UNDEF - && ELF32_ST_BIND (sym->st_info) == STB_LOCAL) - value = map->l_addr; - else - { - value = RESOLVE (&sym, version, r_type); - if (sym) - value += sym->st_value; - } - value += reloc->r_addend; /* Assume copy relocs have zero addend. */ - - switch (r_type) - { -#ifndef RTLD_BOOTSTRAP - case R_CRIS_COPY: - if (sym == NULL) - /* This can happen in trace mode if an object could not be - found. */ - break; - if (sym->st_size > refsym->st_size - || (GL(dl_verbose) && sym->st_size < refsym->st_size)) - { - const char *strtab; - - strtab = (const void *) D_PTR (map, l_info[DT_STRTAB]); - _dl_error_printf ("\ -%s: Symbol `%s' has different size in shared object, consider re-linking\n", - rtld_progname ?: "<program name unknown>", - strtab + refsym->st_name); - } - memcpy (reloc_addr_arg, (void *) value, - MIN (sym->st_size, refsym->st_size)); - break; - - case R_CRIS_32: -#endif - case R_CRIS_GLOB_DAT: - case R_CRIS_JUMP_SLOT: - *reloc_addr = value; - break; -#ifndef RTLD_BOOTSTRAP - case R_CRIS_8: - *(char *) reloc_addr = value; - break; - case R_CRIS_16: - *(short *) reloc_addr = value; - break; - case R_CRIS_8_PCREL: - *(char *) reloc_addr - = value + reloc->r_addend - (Elf32_Addr) reloc_addr - 1; - break; - case R_CRIS_16_PCREL: - *(short *) reloc_addr - = value + reloc->r_addend - (Elf32_Addr) reloc_addr - 2; - break; - case R_CRIS_32_PCREL: - *reloc_addr = value + reloc->r_addend - (Elf32_Addr) reloc_addr - 4; - break; -#endif - case R_CRIS_NONE: - break; -#if !defined RTLD_BOOTSTRAP || defined _NDEBUG - default: - _dl_reloc_bad_type (map, r_type, 0); - break; -#endif - } - } -} - -static inline void -elf_machine_rela_relative (Elf32_Addr l_addr, const Elf32_Rela *reloc, - void *const reloc_addr_arg) -{ - Elf32_Addr *const reloc_addr = reloc_addr_arg; - *reloc_addr = l_addr + reloc->r_addend; -} - -static inline void -elf_machine_lazy_rel (struct link_map *map, - Elf32_Addr l_addr, const Elf32_Rela *reloc) -{ - Elf32_Addr *const reloc_addr = (void *) (l_addr + reloc->r_offset); - const unsigned int r_type = ELF32_R_TYPE (reloc->r_info); - if (__builtin_expect (r_type == R_CRIS_JUMP_SLOT, 1)) - *reloc_addr += l_addr; - else - _dl_reloc_bad_type (map, r_type, 1); -} - -#endif /* RESOLVE */ diff --git a/sysdeps/cris/elf/start.S b/sysdeps/cris/elf/start.S deleted file mode 100644 index a3f85bcd01..0000000000 --- a/sysdeps/cris/elf/start.S +++ /dev/null @@ -1,141 +0,0 @@ -/* Startup code compliant to the ELF CRIS ABI (to-be-written). - Copyright (C) 2001, 2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - In addition to the permissions in the GNU Lesser General Public - License, the Free Software Foundation gives you unlimited - permission to link the compiled version of this file with other - programs, and to distribute those programs without any restriction - coming from the use of this file. (The GNU Lesser General Public - License restrictions do apply in other respects; for example, they - cover modification of the file, and distribution when not linked - into another program.) - - Note that people who make modified versions of this file are not - obligated to grant this special exception for their modified - versions; it is their choice whether to do so. The GNU Lesser - General Public License gives permission to release a modified - version without this exception; this exception also makes it - possible to release a modified version which carries forward this - exception. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sysdep.h> - -/* This is the canonical entry point, usually the first thing in the text - segment. When the entry point runs, most registers' values are - unspecified, except for: - - R10 Contains a function pointer to be registered with `atexit'. - This is how the dynamic linker arranges to have DT_FINI - functions called for shared libraries that have been loaded - before this code runs. - - SP The stack contains the arguments and environment: - [SP] argc - [SP+4] argv[0] - ... - [SP+4*argc] NULL - [SP+4*(argc+1)] envp[0] - ... - NULL -*/ - - .syntax no_register_prefix - - .text - .globl _start - .type _start,@function -_start: - /* Clear the frame pointer, to mark the outermost frame. */ - moveq 0,r8 - - /* Move the shared library termination function to the right place - for __libc_main. */ - move.d r10,r9 - - /* Extract the arguments as encoded on the stack and set up the - arguments for `main': argc, argv. envp will be determined - later in __libc_start_main. */ - - /* Get the argument count. */ - move.d [sp],r11 - - /* Store the stack pointer as end of stack. We overwrite - the incoming argc. */ - move.d sp,[sp] - - /* The argument vector starts just after the argument count. */ - move.d sp,r12 - addq 4,r12 - - /* There are seven arguments to __libc_start_main: - r10: main - Address of it. - r11: argc - r12: argv - r13: init - Function to call. - - [sp]: fini - Function to register with atexit. - [sp+4]: rtld_fini - Another function to register with atexit. - [sp+8]: stack_end - Top of stack (actually same as argv). - - The last two are passed on stack. */ - - /* Store the fini function coming from the dynamic loader. */ - push r9 - - /* Get the addresses of our own entry points to `.fini' and - `.init'. */ - -#ifdef __PIC__ - /* If for some reason this program is compiled as PIC, set up R0. */ - move.d pc,r0 - sub.d .:GOTOFF,r0 - - move.d __libc_csu_init:PLTG,r13 - add.d r0,r13 - move.d __libc_csu_fini:PLTG,r9 - add.d r0,r9 - move.d main:PLTG,r10 - add.d r0,r10 -#else - move.d __libc_csu_init,r13 - move.d __libc_csu_fini,r9 - move.d main,r10 -#endif - push r9 - - /* Call the user's main function, and exit with its value. But - let the libc call main. */ - PLTCALL (__libc_start_main) - - /* Crash if somehow `exit' does return. We have at least 8192 - invalid addresses to choose from. */ - test.d [6502] - - /* Stop the unstoppable. */ -0: - ba 0b - nop - -/* Define a symbol for the first piece of initialized data. */ - .data - .globl __data_start -__data_start: - .long 0 - .weak data_start - data_start = __data_start diff --git a/sysdeps/cris/machine-gmon.h b/sysdeps/cris/machine-gmon.h deleted file mode 100644 index 2f36a34d67..0000000000 --- a/sysdeps/cris/machine-gmon.h +++ /dev/null @@ -1,28 +0,0 @@ -/* PowerPC-specific implementation of profiling support. - Copyright (C) 1997, 2001 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -void __mcount_internal (unsigned long frompc, unsigned long selfpc); - -#define _MCOUNT_DECL(frompc, selfpc) \ -void __mcount_internal (unsigned long frompc, unsigned long selfpc) - - -/* Define MCOUNT as empty since we have the implementation in another - file. FIXME: Just stubs, currently. */ -#define MCOUNT diff --git a/sysdeps/cris/memcopy.h b/sysdeps/cris/memcopy.h deleted file mode 100644 index 134d361217..0000000000 --- a/sysdeps/cris/memcopy.h +++ /dev/null @@ -1,57 +0,0 @@ -/* Copyright (C) 2001 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sysdeps/generic/memcopy.h> - -/* We override the word-copying macros, partly because misalignment in one - pointer isn't cause for a special function, partly because we want to - get rid of wordcopy.c; these macros are only used in memmove.c (and - it's sibling bcopy) since we have arch-specific mempcpy, memcpy and - memset. */ - -#undef OP_T_THRES -#define OP_T_THRES OPSIZ - -#define WORD_COPY_FWD(dst_bp, src_bp, nbytes_left, nbytes) \ - do \ - { \ - unsigned long enddst_bp = dst_bp + nbytes - (nbytes % OPSIZ); \ - nbytes_left = (nbytes % OPSIZ); \ - while (dst_bp < (unsigned long) enddst_bp) \ - { \ - op_t x = *(op_t *) src_bp; \ - src_bp += sizeof x; \ - *(op_t *) dst_bp = x; \ - dst_bp += sizeof x; \ - } \ - } while (0) - -#define WORD_COPY_BWD(dst_bp, src_bp, nbytes_left, nbytes) \ - do \ - { \ - unsigned long enddst_bp = dst_bp - nbytes + (nbytes % OPSIZ); \ - nbytes_left = (nbytes % OPSIZ); \ - while (dst_bp > enddst_bp) \ - { \ - op_t x; \ - src_bp -= sizeof x; \ - x = *(op_t *) src_bp; \ - dst_bp -= sizeof x; \ - *(op_t *) dst_bp = x; \ - } \ - } while (0) diff --git a/sysdeps/cris/memusage.h b/sysdeps/cris/memusage.h deleted file mode 100644 index 58b57ff370..0000000000 --- a/sysdeps/cris/memusage.h +++ /dev/null @@ -1,27 +0,0 @@ -/* Copyright (C) 2001 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* No asm variables, just for reasons of solid healthy paranoia. */ -#define GETSP() \ - ({ \ - uintptr_t stack_ptr; \ - __asm__ ("move.d $sp,%0" : "=rm" (stack_ptr)); \ - stack_ptr; \ - }) - -#include <sysdeps/generic/memusage.h> diff --git a/sysdeps/cris/setjmp.S b/sysdeps/cris/setjmp.S deleted file mode 100644 index c5a512f49b..0000000000 --- a/sysdeps/cris/setjmp.S +++ /dev/null @@ -1,66 +0,0 @@ -/* setjmp for CRIS. - Copyright (C) 2001 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sysdep.h> -#define _SETJMP_H -#define _ASM -#include <bits/setjmp.h> - - .syntax no_register_prefix - -ENTRY (__sigsetjmp) -.Local__sigsetjmp: - moveq 1,r9 - movem sp,[r10+1*4] -#ifdef __PIC__ - move.d pc,r9 - addq 0f-.,r9 -#else - move.d 0f,r9 -#endif - move.d r9,[r10] - move srp,[r10+16*4] - move ccr,[r10+17*4] - PLTJUMP (__sigjmp_save) -0: /* This is where longjmp returns. (Don't use "ret" - it's a macro. */ - Ret - move.d r9,r10 -END (__sigsetjmp) - -/* Binary compatibility entry points. Having these in separate files - is not meaningful and just adds library overhead. */ - -ENTRY (__setjmp) - ba .Local__sigsetjmp - moveq 0,r11 -END (__setjmp) - -ENTRY (_setjmp) - ba .Local__sigsetjmp - moveq 0,r11 -END (_setjmp) - -ENTRY (setjmp) - ba .Local__sigsetjmp - moveq 1,r11 -END (setjmp) - -weak_extern (__setjmp) -weak_extern (_setjmp) -weak_extern (setjmp) diff --git a/sysdeps/cris/stackinfo.h b/sysdeps/cris/stackinfo.h deleted file mode 100644 index 43c944834f..0000000000 --- a/sysdeps/cris/stackinfo.h +++ /dev/null @@ -1,28 +0,0 @@ -/* Copyright (C) 2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* This file contains a bit of information about the stack allocation - of the processor. */ - -#ifndef _STACKINFO_H -#define _STACKINFO_H 1 - -/* On cris the stack grows down. */ -#define _STACK_GROWS_DOWN 1 - -#endif /* stackinfo.h */ diff --git a/sysdeps/cris/sysdep.h b/sysdeps/cris/sysdep.h deleted file mode 100644 index 913d5ad9b7..0000000000 --- a/sysdeps/cris/sysdep.h +++ /dev/null @@ -1,114 +0,0 @@ -/* Assembler macros for CRIS. - Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sysdeps/generic/sysdep.h> - -#ifndef HAVE_ELF -# error ELF is assumed. Generalize the code and retry. -#endif - -#ifndef NO_UNDERSCORES -# error User-label prefix (underscore) assumed absent. Generalize the code and retry. -#endif - -#ifdef __ASSEMBLER__ - -/* Syntactic details of assembly-code. */ - -/* It is *not* generally true that "ELF uses byte-counts for .align, most - others use log2 of count of bytes", like some neighboring configs say. - See "align" in gas/read.c which is not overridden by - gas/config/obj-elf.c. It takes a log2 argument. *Some* targets - override it to take a byte argument. People should read source instead - of relying on hearsay. */ -# define ALIGNARG(log2) log2 - -# define ASM_TYPE_DIRECTIVE(name,typearg) .type name,typearg -# define ASM_SIZE_DIRECTIVE(name) .size name,.-name - -/* The non-PIC jump is preferred, since it does not stall, and does not - invoke generation of a PLT. These macros assume that $r0 is set up as - GOT register. */ -# ifdef __PIC__ -# define PLTJUMP(_x) \ - add.d C_SYMBOL_NAME (_x):PLT,$pc - -# define PLTCALL(_x) \ - move.d C_SYMBOL_NAME (_x):PLTG,$r9 @ \ - add.d $r0,$r9 @ \ - jsr $r9 - -# define SETUP_PIC \ - push $r0 @ \ - move.d $pc,$r0 @ \ - sub.d .:GOTOFF,$r0 - -# define TEARDOWN_PIC pop $r0 -# else -# define PLTJUMP(_x) jump C_SYMBOL_NAME (_x) -# define PLTCALL(_x) jsr C_SYMBOL_NAME (_x) -# define SETUP_PIC -# define TEARDOWN_PIC -# endif - -/* Define an entry point visible from C. */ -# define ENTRY(name) \ - .text @ \ - ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME (name) @ \ - ASM_TYPE_DIRECTIVE (C_SYMBOL_NAME (name), function) @ \ - .align ALIGNARG (2) @ \ - C_LABEL(name) @ \ - CALL_MCOUNT - -# undef END -# define END(name) \ - ASM_SIZE_DIRECTIVE (C_SYMBOL_NAME (name)) - -/* If compiled for profiling, call `mcount' at the start of each function. - FIXME: Note that profiling is not actually implemented. This is just - example code which might not even compile, though it is believed to be - correct. */ -# ifdef PROF -# define CALL_MCOUNT \ - push $srp @ \ - push $r9 @ \ - push $r10 @ \ - push $r11 @ \ - push $r12 @ \ - push $r13 @ \ - SETUP_PIC @ \ - PLTCALL (mcount) @ \ - TEARDOWN_PIC @ \ - pop $r13 @ \ - pop $r12 @ \ - pop $r11 @ \ - pop $r10 @ \ - pop $r9 @ \ - pop $srp -# else -# define CALL_MCOUNT /* Do nothing. */ -# endif - -/* Since C identifiers are not normally prefixed with an underscore - on this system, the asm identifier `syscall_error' intrudes on the - C name space. Make sure we use an innocuous name. */ -# define syscall_error __syscall_error -# define mcount _mcount - -#endif /* __ASSEMBLER__ */ diff --git a/sysdeps/cris/wordcopy.c b/sysdeps/cris/wordcopy.c deleted file mode 100644 index 6525e9f035..0000000000 --- a/sysdeps/cris/wordcopy.c +++ /dev/null @@ -1 +0,0 @@ -/* Empty; not needed. */ diff --git a/sysdeps/hppa/configure b/sysdeps/hppa/configure new file mode 100755 index 0000000000..07bde0e0ee --- /dev/null +++ b/sysdeps/hppa/configure @@ -0,0 +1,34 @@ +# This file is generated from configure.in by Autoconf. DO NOT EDIT! + +hppa*linux*) +echo "$as_me:$LINENO: checking for assembler line separator" >&5 +echo $ECHO_N "checking for assembler line separator... $ECHO_C" >&6 +if test "${libc_cv_asm_line_sep+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat > conftest.s <<EOF +nop ; is_old_puffin +EOF +if { ac_try='${CC-cc} -c $ASFLAGS conftest.s 1>&5' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + libc_cv_asm_line_sep='!' +else + if test -z "$enable_hacker_mode"; then + echo "*** You need a newer assembler to compile glibc" + rm -f conftest* + exit 1 + fi + libc_cv_asm_line_sep=';' +fi +rm -f conftest* +fi +echo "$as_me:$LINENO: result: $libc_cv_asm_line_sep" >&5 +echo "${ECHO_T}$libc_cv_asm_line_sep" >&6 +cat >>confdefs.h <<_ACEOF +#define ASM_LINE_SEP $libc_cv_asm_line_sep +_ACEOF + diff --git a/sysdeps/hppa/configure.in b/sysdeps/hppa/configure.in new file mode 100644 index 0000000000..1ec6780835 --- /dev/null +++ b/sysdeps/hppa/configure.in @@ -0,0 +1,22 @@ +GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory. + +dnl The standard hppa assembler uses `;' to start comments and `!' +dnl as a line separator. +hppa*linux*) +AC_CACHE_CHECK(for assembler line separator, + libc_cv_asm_line_sep, [dnl +cat > conftest.s <<EOF +nop ; is_old_puffin +EOF +if AC_TRY_COMMAND(${CC-cc} -c $ASFLAGS conftest.s 1>&AS_MESSAGE_LOG_FD); then + libc_cv_asm_line_sep='!' +else + if test -z "$enable_hacker_mode"; then + echo "*** You need a newer assembler to compile glibc" + rm -f conftest* + exit 1 + fi + libc_cv_asm_line_sep=';' +fi +rm -f conftest*]) +AC_DEFINE_UNQUOTED(ASM_LINE_SEP, $libc_cv_asm_line_sep) diff --git a/sysdeps/i386/Makefile b/sysdeps/i386/Makefile index fb14806029..52faaa3109 100644 --- a/sysdeps/i386/Makefile +++ b/sysdeps/i386/Makefile @@ -21,6 +21,10 @@ CFLAGS-dl-load.c += -Wno-unused CFLAGS-dl-reloc.c += -Wno-unused endif +ifeq ($(subdir),debug) +CFLAGS-backtrace.c += -fexceptions +endif + # Most of the glibc routines don't ever call user defined callbacks # nor use any FPU or SSE* and as such don't need bigger %esp alignment # than 4 bytes. diff --git a/sysdeps/i386/backtrace.c b/sysdeps/i386/backtrace.c index 10ff44d11d..cb7530396b 100644 --- a/sysdeps/i386/backtrace.c +++ b/sysdeps/i386/backtrace.c @@ -1,5 +1,5 @@ /* Return backtrace of current program state. - Copyright (C) 1998, 2000 Free Software Foundation, Inc. + Copyright (C) 1998, 2000, 2003, 2004 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998. @@ -18,8 +18,64 @@ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ +#include <bits/libc-lock.h> +#include <dlfcn.h> #include <execinfo.h> -#include <bp-checks.h> +#include <stdlib.h> +#include <unwind.h> + +struct trace_arg +{ + void **array; + int cnt, size; + void *lastebp, *lastesp; +}; + +#ifdef SHARED +static _Unwind_Reason_Code (*unwind_backtrace) (_Unwind_Trace_Fn, void *); +static _Unwind_Ptr (*unwind_getip) (struct _Unwind_Context *); +static _Unwind_Ptr (*unwind_getcfa) (struct _Unwind_Context *); +static _Unwind_Ptr (*unwind_getgr) (struct _Unwind_Context *, int); + +static void +init (void) +{ + void *handle = __libc_dlopen ("libgcc_s.so.1"); + + if (handle == NULL) + return; + + unwind_backtrace = __libc_dlsym (handle, "_Unwind_Backtrace"); + unwind_getip = __libc_dlsym (handle, "_Unwind_GetIP"); + unwind_getcfa = __libc_dlsym (handle, "_Unwind_GetCFA"); + unwind_getgr = __libc_dlsym (handle, "_Unwind_GetGR"); + if (unwind_getip == NULL || unwind_getgr == NULL || unwind_getcfa == NULL) + unwind_backtrace = NULL; +} +#else +# define unwind_backtrace _Unwind_Backtrace +# define unwind_getip _Unwind_GetIP +# define unwind_getcfa _Unwind_GetCFA +# define unwind_getgr _Unwind_GetGR +#endif + +static _Unwind_Reason_Code +backtrace_helper (struct _Unwind_Context *ctx, void *a) +{ + struct trace_arg *arg = a; + + /* We are first called with address in the __backtrace function. + Skip it. */ + if (arg->cnt != -1) + arg->array[arg->cnt] = (void *) unwind_getip (ctx); + if (++arg->cnt == arg->size) + return _URC_END_OF_STACK; + + /* %ebp is DWARF2 register 5 on IA-32. */ + arg->lastebp = (void *) unwind_getgr (ctx, 5); + arg->lastesp = (void *) unwind_getcfa (ctx); + return _URC_NO_REASON; +} /* This is a global variable set at program start time. It marks the @@ -27,46 +83,61 @@ extern void *__libc_stack_end; -/* This is the stack alyout we see with every stack frame. +/* This is the stack layout we see with every stack frame + if not compiled without frame pointer. +-----------------+ +-----------------+ %ebp -> | %ebp last frame--------> | %ebp last frame--->... | | | | | return address | | return address | +-----------------+ +-----------------+ -*/ + + First try as far to get as far as possible using + _Unwind_Backtrace which handles -fomit-frame-pointer + as well, but requires .eh_frame info. Then fall back to + walking the stack manually. */ + struct layout { - struct layout *__unbounded next; - void *__unbounded return_address; + struct layout *ebp; + void *ret; }; + int __backtrace (array, size) void **array; int size; { - /* We assume that all the code is generated with frame pointers set. */ - register void *ebp __asm__ ("ebp"); - register void *esp __asm__ ("esp"); - struct layout *current; - int cnt = 0; - - /* We skip the call to this function, it makes no sense to record it. */ - current = BOUNDED_1 ((struct layout *) ebp); - while (cnt < size) + struct trace_arg arg = { .array = array, .size = size, .cnt = -1 }; +#ifdef SHARED + __libc_once_define (static, once); + + __libc_once (once, init); + if (unwind_backtrace == NULL) + return 0; +#endif + + if (size >= 1) + unwind_backtrace (backtrace_helper, &arg); + + if (arg.cnt > 1 && arg.array[arg.cnt - 1] == NULL) + --arg.cnt; + else if (arg.cnt < size) { - if ((void *) current < esp || (void *) current > __libc_stack_end) - /* This means the address is out of range. Note that for the - toplevel we see a frame pointer with value NULL which clearly is - out of range. */ - break; + struct layout *ebp = (struct layout *) arg.lastebp; - array[cnt++] = current->return_address; + while (arg.cnt < size) + { + /* Check for out of range. */ + if ((void *) ebp < arg.lastesp || (void *) ebp > __libc_stack_end + || ((long) ebp & 3)) + break; - current = current->next; + array[arg.cnt++] = ebp->ret; + ebp = ebp->ebp; + } } - - return cnt; + return arg.cnt != -1 ? arg.cnt : 0; } weak_alias (__backtrace, backtrace) diff --git a/sysdeps/i860/memcopy.h b/sysdeps/i860/memcopy.h deleted file mode 100644 index 3bb9ba5138..0000000000 --- a/sysdeps/i860/memcopy.h +++ /dev/null @@ -1,33 +0,0 @@ -/* Copyright (C) 1991, 1997 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sysdeps/generic/memcopy.h> - -#if 0 -#undef MERGE -/* In order to make this work properly, an 's' constraint need to be added - to tm-i860.h, to mean the SC register. */ -#define MERGE(w0, sh_1, w1, sh_2) \ - ({ \ - unsigned int __merge; \ - asm("shrd %2,%1,%0" : \ - "=r" (__merge) : \ - "r" (w0), "r" (w1), "s" (sh_1)); \ - __merge; \ - }) -#endif diff --git a/sysdeps/i960/Implies b/sysdeps/i960/Implies deleted file mode 100644 index 1d569744ab..0000000000 --- a/sysdeps/i960/Implies +++ /dev/null @@ -1,3 +0,0 @@ -# i960 family uses IEEE 754 floating point. -ieee754/flt-32 -ieee754/dbl-64 diff --git a/sysdeps/i960/add_n.s b/sysdeps/i960/add_n.s deleted file mode 100644 index 6031f6d4c3..0000000000 --- a/sysdeps/i960/add_n.s +++ /dev/null @@ -1,21 +0,0 @@ -.text - .align 4 - .globl ___mpn_add_n -___mpn_add_n: - mov 0,g6 # clear carry-save register - cmpo 1,0 # clear cy - -Loop: subo 1,g3,g3 # update loop counter - ld (g1),g5 # load from s1_ptr - addo 4,g1,g1 # s1_ptr++ - ld (g2),g4 # load from s2_ptr - addo 4,g2,g2 # s2_ptr++ - cmpo g6,1 # restore cy from g6, relies on cy being 0 - addc g4,g5,g4 # main add - subc 0,0,g6 # save cy in g6 - st g4,(g0) # store result to res_ptr - addo 4,g0,g0 # res_ptr++ - cmpobne 0,g3,Loop # when branch is taken, clears C bit - - mov g6,g0 - ret diff --git a/sysdeps/i960/addmul_1.s b/sysdeps/i960/addmul_1.s deleted file mode 100644 index 1a3de95e50..0000000000 --- a/sysdeps/i960/addmul_1.s +++ /dev/null @@ -1,26 +0,0 @@ -.text - .align 4 - .globl ___mpn_mul_1 -___mpn_mul_1: - subo g2,0,g2 - shlo 2,g2,g4 - subo g4,g1,g1 - subo g4,g0,g13 - mov 0,g0 - - cmpo 1,0 # clear C bit on AC.cc - -Loop: ld (g1)[g2*4],g5 - emul g3,g5,g6 - ld (g13)[g2*4],g5 - - addc g0,g6,g6 # relies on that C bit is clear - addc 0,g7,g7 - addc g5,g6,g6 # relies on that C bit is clear - st g6,(g13)[g2*4] - addc 0,g7,g0 - - addo g2,1,g2 - cmpobne 0,g2,Loop # when branch is taken, clears C bit - - ret diff --git a/sysdeps/i960/ffs.c b/sysdeps/i960/ffs.c deleted file mode 100644 index ad907a4ecb..0000000000 --- a/sysdeps/i960/ffs.c +++ /dev/null @@ -1,46 +0,0 @@ -/* ffs -- find first set bit in a word, counted from least significant end. - For i960 Core architecture - This file is part of the GNU C Library. - Copyright (C) 1994, 1997, 2004 Free Software Foundation, Inc. - Contributed by Joel Sherrill (jsherril@redstone-emh2.army.mil), - On-Line Applications Research Corporation. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <string.h> - -#undef ffs - -#if defined (__GNUC__) && defined (__i960__) - -int -__ffs (x) - int x; -{ - int cnt; - - asm ("scanbit %1,%0" : "=d" (cnt) : "rm" (x & -x)); - - return cnt; -} -weak_alias (__ffs, ffs) -libc_hidden_builtin_def (ffs) - -#else - -#include <sysdeps/generic/ffs.c> - -#endif diff --git a/sysdeps/i960/mul_1.s b/sysdeps/i960/mul_1.s deleted file mode 100644 index e75ea42d39..0000000000 --- a/sysdeps/i960/mul_1.s +++ /dev/null @@ -1,23 +0,0 @@ -.text - .align 4 - .globl ___mpn_mul_1 -___mpn_mul_1: - subo g2,0,g2 - shlo 2,g2,g4 - subo g4,g1,g1 - subo g4,g0,g13 - mov 0,g0 - - cmpo 1,0 # clear C bit on AC.cc - -Loop: ld (g1)[g2*4],g5 - emul g3,g5,g6 - - addc g0,g6,g6 # relies on that C bit is clear - st g6,(g13)[g2*4] - addc 0,g7,g0 - - addo g2,1,g2 - cmpobne 0,g2,Loop # when branch is taken, clears C bit - - ret diff --git a/sysdeps/i960/sub_n.s b/sysdeps/i960/sub_n.s deleted file mode 100644 index 13ebbfa9f2..0000000000 --- a/sysdeps/i960/sub_n.s +++ /dev/null @@ -1,21 +0,0 @@ -.text - .align 4 - .globl ___mpn_sub_n -___mpn_sub_n: - mov 1,g6 # set carry-save register - cmpo 1,0 # clear cy - -Loop: subo 1,g3,g3 # update loop counter - ld (g1),g5 # load from s1_ptr - addo 4,g1,g1 # s1_ptr++ - ld (g2),g4 # load from s2_ptr - addo 4,g2,g2 # s2_ptr++ - cmpo g6,1 # restore cy from g6, relies on cy being 0 - subc g4,g5,g4 # main subtract - subc 0,0,g6 # save cy in g6 - st g4,(g0) # store result to res_ptr - addo 4,g0,g0 # res_ptr++ - cmpobne 0,g3,Loop # when branch is taken, cy will be 0 - - mov g6,g0 - ret diff --git a/sysdeps/m68k/dl-machine.h b/sysdeps/m68k/dl-machine.h index e52893889d..146c5866a9 100644 --- a/sysdeps/m68k/dl-machine.h +++ b/sysdeps/m68k/dl-machine.h @@ -223,7 +223,7 @@ elf_machine_plt_value (struct link_map *map, const Elf32_Rela *reloc, /* Perform the relocation specified by RELOC and SYM (which is fully resolved). MAP is the object containing the reloc. */ -static inline void __attribute__ ((always_inline)) +auto inline void __attribute__ ((unused, always_inline)) elf_machine_rela (struct link_map *map, const Elf32_Rela *reloc, const Elf32_Sym *sym, const struct r_found_version *version, void *const reloc_addr_arg) @@ -294,7 +294,7 @@ elf_machine_rela (struct link_map *map, const Elf32_Rela *reloc, } } -static inline void +auto inline void __attribute__ ((unused, always_inline)) elf_machine_rela_relative (Elf32_Addr l_addr, const Elf32_Rela *reloc, void *const reloc_addr_arg) { @@ -302,7 +302,7 @@ elf_machine_rela_relative (Elf32_Addr l_addr, const Elf32_Rela *reloc, *reloc_addr = l_addr + reloc->r_addend; } -static inline void +auto inline void __attribute__ ((unused, always_inline)) elf_machine_lazy_rel (struct link_map *map, Elf32_Addr l_addr, const Elf32_Rela *reloc) { diff --git a/sysdeps/m88k/add_n.s b/sysdeps/m88k/add_n.s deleted file mode 100644 index a10730d7c4..0000000000 --- a/sysdeps/m88k/add_n.s +++ /dev/null @@ -1,104 +0,0 @@ -; mc88100 __mpn_add -- Add two limb vectors of the same length > 0 and store -; sum in a third limb vector. - -; Copyright (C) 1992, 1994, 1995 Free Software Foundation, Inc. - -; This file is part of the GNU MP Library. - -; The GNU MP Library is free software; you can redistribute it and/or modify -; it under the terms of the GNU Lesser General Public License as published by -; the Free Software Foundation; either version 2.1 of the License, or (at your -; option) any later version. - -; The GNU MP Library is distributed in the hope that it will be useful, but -; WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -; or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public -; License for more details. - -; You should have received a copy of the GNU Lesser General Public License -; along with the GNU MP Library; see the file COPYING.LIB. If not, write to -; the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, -; MA 02111-1307, USA. - - -; INPUT PARAMETERS -; res_ptr r2 -; s1_ptr r3 -; s2_ptr r4 -; size r5 - -; This code has been optimized to run one instruction per clock, avoiding -; load stalls and writeback contention. As a result, the instruction -; order is not always natural. - -; The speed is about 4.6 clocks/limb + 18 clocks/limb-vector on an 88100, -; but on the 88110, it seems to run much slower, 6.6 clocks/limb. - - text - align 16 - global ___mpn_add_n -___mpn_add_n: - ld r6,r3,0 ; read first limb from s1_ptr - extu r10,r5,3 - ld r7,r4,0 ; read first limb from s2_ptr - - subu.co r5,r0,r5 ; (clear carry as side effect) - mak r5,r5,3<4> - bcnd eq0,r5,Lzero - - or r12,r0,lo16(Lbase) - or.u r12,r12,hi16(Lbase) - addu r12,r12,r5 ; r12 is address for entering in loop - - extu r5,r5,2 ; divide by 4 - subu r2,r2,r5 ; adjust res_ptr - subu r3,r3,r5 ; adjust s1_ptr - subu r4,r4,r5 ; adjust s2_ptr - - or r8,r6,r0 - - jmp.n r12 - or r9,r7,r0 - -Loop: addu r3,r3,32 - st r8,r2,28 - addu r4,r4,32 - ld r6,r3,0 - addu r2,r2,32 - ld r7,r4,0 -Lzero: subu r10,r10,1 ; add 0 + 8r limbs (adj loop cnt) -Lbase: ld r8,r3,4 - addu.cio r6,r6,r7 - ld r9,r4,4 - st r6,r2,0 - ld r6,r3,8 ; add 7 + 8r limbs - addu.cio r8,r8,r9 - ld r7,r4,8 - st r8,r2,4 - ld r8,r3,12 ; add 6 + 8r limbs - addu.cio r6,r6,r7 - ld r9,r4,12 - st r6,r2,8 - ld r6,r3,16 ; add 5 + 8r limbs - addu.cio r8,r8,r9 - ld r7,r4,16 - st r8,r2,12 - ld r8,r3,20 ; add 4 + 8r limbs - addu.cio r6,r6,r7 - ld r9,r4,20 - st r6,r2,16 - ld r6,r3,24 ; add 3 + 8r limbs - addu.cio r8,r8,r9 - ld r7,r4,24 - st r8,r2,20 - ld r8,r3,28 ; add 2 + 8r limbs - addu.cio r6,r6,r7 - ld r9,r4,28 - st r6,r2,24 - bcnd.n ne0,r10,Loop ; add 1 + 8r limbs - addu.cio r8,r8,r9 - - st r8,r2,28 ; store most significant limb - - jmp.n r1 - addu.ci r2,r0,r0 ; return carry-out from most sign. limb diff --git a/sysdeps/m88k/ffs.c b/sysdeps/m88k/ffs.c deleted file mode 100644 index b7db70fd3b..0000000000 --- a/sysdeps/m88k/ffs.c +++ /dev/null @@ -1,45 +0,0 @@ -/* ffs -- find first set bit in a word, counted from least significant end. - For Motorola 88000. - This file is part of the GNU C Library. - Copyright (C) 1991, 1992, 1997, 2004 Free Software Foundation, Inc. - Contributed by Torbjorn Granlund (tege@sics.se). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <bstring.h> - -#undef ffs - -#ifdef __GNUC__ - -int -__ffs (x) - int x; -{ - int cnt; - - if (x == 0) - return 0; - - asm ("ff1 %0,%1" : "=r" (cnt) : "r" (x & -x)); - return cnt + 1; -} -weak_alias (__ffs, ffs) -libc_hidden_builtin_def (ffs) - -#else -#include <sysdeps/generic/ffs.c> -#endif diff --git a/sysdeps/m88k/m88100/add_n.S b/sysdeps/m88k/m88100/add_n.S deleted file mode 100644 index 2107eb55cb..0000000000 --- a/sysdeps/m88k/m88100/add_n.S +++ /dev/null @@ -1,133 +0,0 @@ -; mc88100 __mpn_add -- Add two limb vectors of the same length > 0 and store -; sum in a third limb vector. - -; Copyright (C) 1992, 1994 Free Software Foundation, Inc. - -; This file is part of the GNU MP Library. - -; The GNU MP Library is free software; you can redistribute it and/or modify -; it under the terms of the GNU General Public License as published by -; the Free Software Foundation; either version 2, or (at your option) -; any later version. - -; The GNU MP Library is distributed in the hope that it will be useful, -; but WITHOUT ANY WARRANTY; without even the implied warranty of -; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -; GNU General Public License for more details. - -; You should have received a copy of the GNU General Public License -; along with the GNU MP Library; see the file COPYING. If not, write to -; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. - - -; INPUT PARAMETERS -; res_ptr r2 -; s1_ptr r3 -; s2_ptr r4 -; size r5 - -; This code has been optimized to run one instruction per clock, avoiding -; load stalls and writeback contention. As a result, the instruction -; order is not always natural. - -; The speed is approximately 4.3 clocks/limb + 18 clocks/limb-vector. - -#include "sysdep.h" - -ENTRY (__mpn_add_n) - ld r6,r3,0 ; read first limb from s1_ptr - extu r10,r5,4 - ld r7,r4,0 ; read first limb from s2_ptr - - subu.co r5,r0,r5 ; (clear carry as side effect) - mak r5,r5,4<4> - bcnd eq0,r5,Lzero - - or r12,r0,lo16(Lbase) - or.u r12,r12,hi16(Lbase) - addu r12,r12,r5 ; r12 is address for entering in loop - - extu r5,r5,2 ; divide by 4 - subu r2,r2,r5 ; adjust res_ptr - subu r3,r3,r5 ; adjust s1_ptr - subu r4,r4,r5 ; adjust s2_ptr - - or r8,r6,r0 - - jmp.n r12 - or r9,r7,r0 - -Loop: addu r3,r3,64 - st r8,r2,60 - addu r4,r4,64 - ld r6,r3,0 - addu r2,r2,64 - ld r7,r4,0 -Lzero: subu r10,r10,1 ; add 0 + 16r limbs (adjust loop counter) -Lbase: ld r8,r3,4 - addu.cio r6,r6,r7 - ld r9,r4,4 - st r6,r2,0 - ld r6,r3,8 ; add 15 + 16r limbs - addu.cio r8,r8,r9 - ld r7,r4,8 - st r8,r2,4 - ld r8,r3,12 ; add 14 + 16r limbs - addu.cio r6,r6,r7 - ld r9,r4,12 - st r6,r2,8 - ld r6,r3,16 ; add 13 + 16r limbs - addu.cio r8,r8,r9 - ld r7,r4,16 - st r8,r2,12 - ld r8,r3,20 ; add 12 + 16r limbs - addu.cio r6,r6,r7 - ld r9,r4,20 - st r6,r2,16 - ld r6,r3,24 ; add 11 + 16r limbs - addu.cio r8,r8,r9 - ld r7,r4,24 - st r8,r2,20 - ld r8,r3,28 ; add 10 + 16r limbs - addu.cio r6,r6,r7 - ld r9,r4,28 - st r6,r2,24 - ld r6,r3,32 ; add 9 + 16r limbs - addu.cio r8,r8,r9 - ld r7,r4,32 - st r8,r2,28 - ld r8,r3,36 ; add 8 + 16r limbs - addu.cio r6,r6,r7 - ld r9,r4,36 - st r6,r2,32 - ld r6,r3,40 ; add 7 + 16r limbs - addu.cio r8,r8,r9 - ld r7,r4,40 - st r8,r2,36 - ld r8,r3,44 ; add 6 + 16r limbs - addu.cio r6,r6,r7 - ld r9,r4,44 - st r6,r2,40 - ld r6,r3,48 ; add 5 + 16r limbs - addu.cio r8,r8,r9 - ld r7,r4,48 - st r8,r2,44 - ld r8,r3,52 ; add 4 + 16r limbs - addu.cio r6,r6,r7 - ld r9,r4,52 - st r6,r2,48 - ld r6,r3,56 ; add 3 + 16r limbs - addu.cio r8,r8,r9 - ld r7,r4,56 - st r8,r2,52 - ld r8,r3,60 ; add 2 + 16r limbs - addu.cio r6,r6,r7 - ld r9,r4,60 - st r6,r2,56 - bcnd.n ne0,r10,Loop ; add 1 + 16r limbs - addu.cio r8,r8,r9 - - st r8,r2,60 ; store most significant limb - - jmp.n r1 - addu.ci r2,r0,r0 ; return carry-out from most sign. limb diff --git a/sysdeps/m88k/m88100/add_n.s b/sysdeps/m88k/m88100/add_n.s deleted file mode 100644 index 0741ec91de..0000000000 --- a/sysdeps/m88k/m88100/add_n.s +++ /dev/null @@ -1,103 +0,0 @@ -; mc88100 __mpn_add -- Add two limb vectors of the same length > 0 and store -; sum in a third limb vector. - -; Copyright (C) 1992, 1994 Free Software Foundation, Inc. - -; This file is part of the GNU MP Library. - -; The GNU MP Library is free software; you can redistribute it and/or modify -; it under the terms of the GNU Lesser General Public License as published by -; the Free Software Foundation; either version 2.1 of the License, or (at your -; option) any later version. - -; The GNU MP Library is distributed in the hope that it will be useful, but -; WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -; or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public -; License for more details. - -; You should have received a copy of the GNU Lesser General Public License -; along with the GNU MP Library; see the file COPYING.LIB. If not, write to -; the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - - -; INPUT PARAMETERS -; res_ptr r2 -; s1_ptr r3 -; s2_ptr r4 -; size r5 - -; This code has been optimized to run one instruction per clock, avoiding -; load stalls and writeback contention. As a result, the instruction -; order is not always natural. - -; The speed is about 4.6 clocks/limb + 18 clocks/limb-vector on an 88100, -; but on the 88110, it seems to run much slower, 6.6 clocks/limb. - - text - align 16 - global ___mpn_add_n -___mpn_add_n: - ld r6,r3,0 ; read first limb from s1_ptr - extu r10,r5,3 - ld r7,r4,0 ; read first limb from s2_ptr - - subu.co r5,r0,r5 ; (clear carry as side effect) - mak r5,r5,3<4> - bcnd eq0,r5,Lzero - - or r12,r0,lo16(Lbase) - or.u r12,r12,hi16(Lbase) - addu r12,r12,r5 ; r12 is address for entering in loop - - extu r5,r5,2 ; divide by 4 - subu r2,r2,r5 ; adjust res_ptr - subu r3,r3,r5 ; adjust s1_ptr - subu r4,r4,r5 ; adjust s2_ptr - - or r8,r6,r0 - - jmp.n r12 - or r9,r7,r0 - -Loop: addu r3,r3,32 - st r8,r2,28 - addu r4,r4,32 - ld r6,r3,0 - addu r2,r2,32 - ld r7,r4,0 -Lzero: subu r10,r10,1 ; add 0 + 8r limbs (adj loop cnt) -Lbase: ld r8,r3,4 - addu.cio r6,r6,r7 - ld r9,r4,4 - st r6,r2,0 - ld r6,r3,8 ; add 7 + 8r limbs - addu.cio r8,r8,r9 - ld r7,r4,8 - st r8,r2,4 - ld r8,r3,12 ; add 6 + 8r limbs - addu.cio r6,r6,r7 - ld r9,r4,12 - st r6,r2,8 - ld r6,r3,16 ; add 5 + 8r limbs - addu.cio r8,r8,r9 - ld r7,r4,16 - st r8,r2,12 - ld r8,r3,20 ; add 4 + 8r limbs - addu.cio r6,r6,r7 - ld r9,r4,20 - st r6,r2,16 - ld r6,r3,24 ; add 3 + 8r limbs - addu.cio r8,r8,r9 - ld r7,r4,24 - st r8,r2,20 - ld r8,r3,28 ; add 2 + 8r limbs - addu.cio r6,r6,r7 - ld r9,r4,28 - st r6,r2,24 - bcnd.n ne0,r10,Loop ; add 1 + 8r limbs - addu.cio r8,r8,r9 - - st r8,r2,28 ; store most significant limb - - jmp.n r1 - addu.ci r2,r0,r0 ; return carry-out from most sign. limb diff --git a/sysdeps/m88k/m88100/mul_1.S b/sysdeps/m88k/m88100/mul_1.S deleted file mode 100644 index 503897b298..0000000000 --- a/sysdeps/m88k/m88100/mul_1.S +++ /dev/null @@ -1,127 +0,0 @@ -; mc88100 __mpn_mul_1 -- Multiply a limb vector with a single limb and -; store the product in a second limb vector. - -; Copyright (C) 1992, 1994 Free Software Foundation, Inc. - -; This file is part of the GNU MP Library. - -; The GNU MP Library is free software; you can redistribute it and/or modify -; it under the terms of the GNU General Public License as published by -; the Free Software Foundation; either version 2, or (at your option) -; any later version. - -; The GNU MP Library is distributed in the hope that it will be useful, -; but WITHOUT ANY WARRANTY; without even the implied warranty of -; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -; GNU General Public License for more details. - -; You should have received a copy of the GNU General Public License -; along with the GNU MP Library; see the file COPYING. If not, write to -; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. - - -; INPUT PARAMETERS -; res_ptr r2 -; s1_ptr r3 -; size r4 -; s2_limb r5 - -; Common overhead is about 11 cycles/invocation. - -; The speed for S2_LIMB >= 0x10000 is approximately 21 cycles/limb. (The -; pipeline stalls 2 cycles due to WB contention.) - -; The speed for S2_LIMB < 0x10000 is approximately 16 cycles/limb. (The -; pipeline stalls 2 cycles due to WB contention and 1 cycle due to latency.) - -; To enhance speed: -; 1. Unroll main loop 4-8 times. -; 2. Schedule code to avoid WB contention. It might be tempting to move the -; ld instruction in the loops down to save 2 cycles (less WB contention), -; but that looses because the ultimate value will be read from outside -; the allocated space. But if we handle the ultimate multiplication in -; the tail, we can do this. -; 3. Make the multiplication with less instructions. I think the code for -; (S2_LIMB >= 0x10000) is not minimal. -; With these techniques the (S2_LIMB >= 0x10000) case would run in 17 or -; less cycles/limb; the (S2_LIMB < 0x10000) case would run in 11 -; cycles/limb. (Assuming infinite unrolling.) - -#include "sysdep.h" - -ENTRY (__mpn_mul_1) - - ; Make S1_PTR and RES_PTR point at the end of their blocks - ; and negate SIZE. - lda r3,r3[r4] - lda r6,r2[r4] ; RES_PTR in r6 since r2 is retval - subu r4,r0,r4 - - addu.co r2,r0,r0 ; r2 = cy = 0 - ld r9,r3[r4] - mask r7,r5,0xffff ; r7 = lo(S2_LIMB) - extu r8,r5,16 ; r8 = hi(S2_LIMB) - bcnd.n eq0,r8,Lsmall ; jump if (hi(S2_LIMB) == 0) - subu r6,r6,4 - -; General code for any value of S2_LIMB. - - ; Make a stack frame and save r25 and r26 - subu r31,r31,16 - st.d r25,r31,8 - - ; Enter the loop in the middle - br.n L1 - addu r4,r4,1 - -Loop: - ld r9,r3[r4] - st r26,r6[r4] -; bcnd ne0,r0,0 ; bubble - addu r4,r4,1 -L1: mul r26,r9,r5 ; low word of product mul_1 WB ld - mask r12,r9,0xffff ; r12 = lo(s1_limb) mask_1 - mul r11,r12,r7 ; r11 = prod_0 mul_2 WB mask_1 - mul r10,r12,r8 ; r10 = prod_1a mul_3 - extu r13,r9,16 ; r13 = hi(s1_limb) extu_1 WB mul_1 - mul r12,r13,r7 ; r12 = prod_1b mul_4 WB extu_1 - mul r25,r13,r8 ; r25 = prod_2 mul_5 WB mul_2 - extu r11,r11,16 ; r11 = hi(prod_0) extu_2 WB mul_3 - addu r10,r10,r11 ; addu_1 WB extu_2 -; bcnd ne0,r0,0 ; bubble WB addu_1 - addu.co r10,r10,r12 ; WB mul_4 - mask.u r10,r10,0xffff ; move the 16 most significant bits... - addu.ci r10,r10,r0 ; ...to the low half of the word... - rot r10,r10,16 ; ...and put carry in pos 16. - addu.co r26,r26,r2 ; add old carry limb - bcnd.n ne0,r4,Loop - addu.ci r2,r25,r10 ; compute new carry limb - - st r26,r6[r4] - ld.d r25,r31,8 - jmp.n r1 - addu r31,r31,16 - -; Fast code for S2_LIMB < 0x10000 -Lsmall: - ; Enter the loop in the middle - br.n SL1 - addu r4,r4,1 - -SLoop: - ld r9,r3[r4] ; - st r8,r6[r4] ; - addu r4,r4,1 ; -SL1: mul r8,r9,r5 ; low word of product - mask r12,r9,0xffff ; r12 = lo(s1_limb) - extu r13,r9,16 ; r13 = hi(s1_limb) - mul r11,r12,r7 ; r11 = prod_0 - mul r12,r13,r7 ; r12 = prod_1b - addu.cio r8,r8,r2 ; add old carry limb - extu r10,r11,16 ; r11 = hi(prod_0) - addu r10,r10,r12 ; - bcnd.n ne0,r4,SLoop - extu r2,r10,16 ; r2 = new carry limb - - jmp.n r1 - st r8,r6[r4] diff --git a/sysdeps/m88k/m88100/mul_1.s b/sysdeps/m88k/m88100/mul_1.s deleted file mode 100644 index 77242778d7..0000000000 --- a/sysdeps/m88k/m88100/mul_1.s +++ /dev/null @@ -1,128 +0,0 @@ -; mc88100 __mpn_mul_1 -- Multiply a limb vector with a single limb and -; store the product in a second limb vector. - -; Copyright (C) 1992, 1994 Free Software Foundation, Inc. - -; This file is part of the GNU MP Library. - -; The GNU MP Library is free software; you can redistribute it and/or modify -; it under the terms of the GNU Lesser General Public License as published by -; the Free Software Foundation; either version 2.1 of the License, or (at your -; option) any later version. - -; The GNU MP Library is distributed in the hope that it will be useful, but -; WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -; or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public -; License for more details. - -; You should have received a copy of the GNU Lesser General Public License -; along with the GNU MP Library; see the file COPYING.LIB. If not, write to -; the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - - -; INPUT PARAMETERS -; res_ptr r2 -; s1_ptr r3 -; size r4 -; s2_limb r5 - -; Common overhead is about 11 cycles/invocation. - -; The speed for S2_LIMB >= 0x10000 is approximately 21 cycles/limb. (The -; pipeline stalls 2 cycles due to WB contention.) - -; The speed for S2_LIMB < 0x10000 is approximately 16 cycles/limb. (The -; pipeline stalls 2 cycles due to WB contention and 1 cycle due to latency.) - -; To enhance speed: -; 1. Unroll main loop 4-8 times. -; 2. Schedule code to avoid WB contention. It might be tempting to move the -; ld instruction in the loops down to save 2 cycles (less WB contention), -; but that looses because the ultimate value will be read from outside -; the allocated space. But if we handle the ultimate multiplication in -; the tail, we can do this. -; 3. Make the multiplication with less instructions. I think the code for -; (S2_LIMB >= 0x10000) is not minimal. -; With these techniques the (S2_LIMB >= 0x10000) case would run in 17 or -; less cycles/limb; the (S2_LIMB < 0x10000) case would run in 11 -; cycles/limb. (Assuming infinite unrolling.) - - text - align 16 - global ___mpn_mul_1 -___mpn_mul_1: - - ; Make S1_PTR and RES_PTR point at the end of their blocks - ; and negate SIZE. - lda r3,r3[r4] - lda r6,r2[r4] ; RES_PTR in r6 since r2 is retval - subu r4,r0,r4 - - addu.co r2,r0,r0 ; r2 = cy = 0 - ld r9,r3[r4] - mask r7,r5,0xffff ; r7 = lo(S2_LIMB) - extu r8,r5,16 ; r8 = hi(S2_LIMB) - bcnd.n eq0,r8,Lsmall ; jump if (hi(S2_LIMB) == 0) - subu r6,r6,4 - -; General code for any value of S2_LIMB. - - ; Make a stack frame and save r25 and r26 - subu r31,r31,16 - st.d r25,r31,8 - - ; Enter the loop in the middle - br.n L1 - addu r4,r4,1 - -Loop: - ld r9,r3[r4] - st r26,r6[r4] -; bcnd ne0,r0,0 ; bubble - addu r4,r4,1 -L1: mul r26,r9,r5 ; low word of product mul_1 WB ld - mask r12,r9,0xffff ; r12 = lo(s1_limb) mask_1 - mul r11,r12,r7 ; r11 = prod_0 mul_2 WB mask_1 - mul r10,r12,r8 ; r10 = prod_1a mul_3 - extu r13,r9,16 ; r13 = hi(s1_limb) extu_1 WB mul_1 - mul r12,r13,r7 ; r12 = prod_1b mul_4 WB extu_1 - mul r25,r13,r8 ; r25 = prod_2 mul_5 WB mul_2 - extu r11,r11,16 ; r11 = hi(prod_0) extu_2 WB mul_3 - addu r10,r10,r11 ; addu_1 WB extu_2 -; bcnd ne0,r0,0 ; bubble WB addu_1 - addu.co r10,r10,r12 ; WB mul_4 - mask.u r10,r10,0xffff ; move the 16 most significant bits... - addu.ci r10,r10,r0 ; ...to the low half of the word... - rot r10,r10,16 ; ...and put carry in pos 16. - addu.co r26,r26,r2 ; add old carry limb - bcnd.n ne0,r4,Loop - addu.ci r2,r25,r10 ; compute new carry limb - - st r26,r6[r4] - ld.d r25,r31,8 - jmp.n r1 - addu r31,r31,16 - -; Fast code for S2_LIMB < 0x10000 -Lsmall: - ; Enter the loop in the middle - br.n SL1 - addu r4,r4,1 - -SLoop: - ld r9,r3[r4] ; - st r8,r6[r4] ; - addu r4,r4,1 ; -SL1: mul r8,r9,r5 ; low word of product - mask r12,r9,0xffff ; r12 = lo(s1_limb) - extu r13,r9,16 ; r13 = hi(s1_limb) - mul r11,r12,r7 ; r11 = prod_0 - mul r12,r13,r7 ; r12 = prod_1b - addu.cio r8,r8,r2 ; add old carry limb - extu r10,r11,16 ; r11 = hi(prod_0) - addu r10,r10,r12 ; - bcnd.n ne0,r4,SLoop - extu r2,r10,16 ; r2 = new carry limb - - jmp.n r1 - st r8,r6[r4] diff --git a/sysdeps/m88k/m88100/sub_n.S b/sysdeps/m88k/m88100/sub_n.S deleted file mode 100644 index 927ece4f15..0000000000 --- a/sysdeps/m88k/m88100/sub_n.S +++ /dev/null @@ -1,134 +0,0 @@ -; mc88100 __mpn_sub -- Subtract two limb vectors of the same length > 0 and -; store difference in a third limb vector. - -; Copyright (C) 1992, 1994 Free Software Foundation, Inc. - -; This file is part of the GNU MP Library. - -; The GNU MP Library is free software; you can redistribute it and/or modify -; it under the terms of the GNU General Public License as published by -; the Free Software Foundation; either version 2, or (at your option) -; any later version. - -; The GNU MP Library is distributed in the hope that it will be useful, -; but WITHOUT ANY WARRANTY; without even the implied warranty of -; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -; GNU General Public License for more details. - -; You should have received a copy of the GNU General Public License -; along with the GNU MP Library; see the file COPYING. If not, write to -; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. - - -; INPUT PARAMETERS -; res_ptr r2 -; s1_ptr r3 -; s2_ptr r4 -; size r5 - -; This code has been optimized to run one instruction per clock, avoiding -; load stalls and writeback contention. As a result, the instruction -; order is not always natural. - -; The speed is approximately 4.3 clocks/limb + 18 clocks/limb-vector. - -#include "sysdep.h" - -ENTRY (__mpn_sub_n) - ld r6,r3,0 ; read first limb from s1_ptr - extu r10,r5,4 - ld r7,r4,0 ; read first limb from s2_ptr - - subu.co r5,r0,r5 ; (clear carry as side effect) - mak r5,r5,4<4> - bcnd eq0,r5,Lzero - - or r12,r0,lo16(Lbase) - or.u r12,r12,hi16(Lbase) - addu r12,r12,r5 ; r12 is address for entering in loop - - extu r5,r5,2 ; divide by 4 - subu r2,r2,r5 ; adjust res_ptr - subu r3,r3,r5 ; adjust s1_ptr - subu r4,r4,r5 ; adjust s2_ptr - - or r8,r6,r0 - - jmp.n r12 - or r9,r7,r0 - -Loop: addu r3,r3,64 - st r8,r2,60 - addu r4,r4,64 - ld r6,r3,0 - addu r2,r2,64 - ld r7,r4,0 -Lzero: subu r10,r10,1 ; subtract 0 + 16r limbs (adjust loop counter) -Lbase: ld r8,r3,4 - subu.cio r6,r6,r7 - ld r9,r4,4 - st r6,r2,0 - ld r6,r3,8 ; subtract 15 + 16r limbs - subu.cio r8,r8,r9 - ld r7,r4,8 - st r8,r2,4 - ld r8,r3,12 ; subtract 14 + 16r limbs - subu.cio r6,r6,r7 - ld r9,r4,12 - st r6,r2,8 - ld r6,r3,16 ; subtract 13 + 16r limbs - subu.cio r8,r8,r9 - ld r7,r4,16 - st r8,r2,12 - ld r8,r3,20 ; subtract 12 + 16r limbs - subu.cio r6,r6,r7 - ld r9,r4,20 - st r6,r2,16 - ld r6,r3,24 ; subtract 11 + 16r limbs - subu.cio r8,r8,r9 - ld r7,r4,24 - st r8,r2,20 - ld r8,r3,28 ; subtract 10 + 16r limbs - subu.cio r6,r6,r7 - ld r9,r4,28 - st r6,r2,24 - ld r6,r3,32 ; subtract 9 + 16r limbs - subu.cio r8,r8,r9 - ld r7,r4,32 - st r8,r2,28 - ld r8,r3,36 ; subtract 8 + 16r limbs - subu.cio r6,r6,r7 - ld r9,r4,36 - st r6,r2,32 - ld r6,r3,40 ; subtract 7 + 16r limbs - subu.cio r8,r8,r9 - ld r7,r4,40 - st r8,r2,36 - ld r8,r3,44 ; subtract 6 + 16r limbs - subu.cio r6,r6,r7 - ld r9,r4,44 - st r6,r2,40 - ld r6,r3,48 ; subtract 5 + 16r limbs - subu.cio r8,r8,r9 - ld r7,r4,48 - st r8,r2,44 - ld r8,r3,52 ; subtract 4 + 16r limbs - subu.cio r6,r6,r7 - ld r9,r4,52 - st r6,r2,48 - ld r6,r3,56 ; subtract 3 + 16r limbs - subu.cio r8,r8,r9 - ld r7,r4,56 - st r8,r2,52 - ld r8,r3,60 ; subtract 2 + 16r limbs - subu.cio r6,r6,r7 - ld r9,r4,60 - st r6,r2,56 - bcnd.n ne0,r10,Loop ; subtract 1 + 16r limbs - subu.cio r8,r8,r9 - - st r8,r2,60 ; store most significant limb - - addu.ci r2,r0,r0 ; return carry-out from most sign. limb - jmp.n r1 - xor r2,r2,1 diff --git a/sysdeps/m88k/m88100/sub_n.s b/sysdeps/m88k/m88100/sub_n.s deleted file mode 100644 index a132c212a6..0000000000 --- a/sysdeps/m88k/m88100/sub_n.s +++ /dev/null @@ -1,104 +0,0 @@ -; mc88100 __mpn_sub -- Subtract two limb vectors of the same length > 0 and -; store difference in a third limb vector. - -; Copyright (C) 1992, 1994 Free Software Foundation, Inc. - -; This file is part of the GNU MP Library. - -; The GNU MP Library is free software; you can redistribute it and/or modify -; it under the terms of the GNU Lesser General Public License as published by -; the Free Software Foundation; either version 2.1 of the License, or (at your -; option) any later version. - -; The GNU MP Library is distributed in the hope that it will be useful, but -; WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -; or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public -; License for more details. - -; You should have received a copy of the GNU Lesser General Public License -; along with the GNU MP Library; see the file COPYING.LIB. If not, write to -; the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - - -; INPUT PARAMETERS -; res_ptr r2 -; s1_ptr r3 -; s2_ptr r4 -; size r5 - -; This code has been optimized to run one instruction per clock, avoiding -; load stalls and writeback contention. As a result, the instruction -; order is not always natural. - -; The speed is about 4.6 clocks/limb + 18 clocks/limb-vector on an 88100, -; but on the 88110, it seems to run much slower, 6.6 clocks/limb. - - text - align 16 - global ___mpn_sub_n -___mpn_sub_n: - ld r6,r3,0 ; read first limb from s1_ptr - extu r10,r5,3 - ld r7,r4,0 ; read first limb from s2_ptr - - subu.co r5,r0,r5 ; (clear carry as side effect) - mak r5,r5,3<4> - bcnd eq0,r5,Lzero - - or r12,r0,lo16(Lbase) - or.u r12,r12,hi16(Lbase) - addu r12,r12,r5 ; r12 is address for entering in loop - - extu r5,r5,2 ; divide by 4 - subu r2,r2,r5 ; adjust res_ptr - subu r3,r3,r5 ; adjust s1_ptr - subu r4,r4,r5 ; adjust s2_ptr - - or r8,r6,r0 - - jmp.n r12 - or r9,r7,r0 - -Loop: addu r3,r3,32 - st r8,r2,28 - addu r4,r4,32 - ld r6,r3,0 - addu r2,r2,32 - ld r7,r4,0 -Lzero: subu r10,r10,1 ; subtract 0 + 8r limbs (adj loop cnt) -Lbase: ld r8,r3,4 - subu.cio r6,r6,r7 - ld r9,r4,4 - st r6,r2,0 - ld r6,r3,8 ; subtract 7 + 8r limbs - subu.cio r8,r8,r9 - ld r7,r4,8 - st r8,r2,4 - ld r8,r3,12 ; subtract 6 + 8r limbs - subu.cio r6,r6,r7 - ld r9,r4,12 - st r6,r2,8 - ld r6,r3,16 ; subtract 5 + 8r limbs - subu.cio r8,r8,r9 - ld r7,r4,16 - st r8,r2,12 - ld r8,r3,20 ; subtract 4 + 8r limbs - subu.cio r6,r6,r7 - ld r9,r4,20 - st r6,r2,16 - ld r6,r3,24 ; subtract 3 + 8r limbs - subu.cio r8,r8,r9 - ld r7,r4,24 - st r8,r2,20 - ld r8,r3,28 ; subtract 2 + 8r limbs - subu.cio r6,r6,r7 - ld r9,r4,28 - st r6,r2,24 - bcnd.n ne0,r10,Loop ; subtract 1 + 8r limbs - subu.cio r8,r8,r9 - - st r8,r2,28 ; store most significant limb - - addu.ci r2,r0,r0 ; return carry-out from most sign. limb - jmp.n r1 - xor r2,r2,1 diff --git a/sysdeps/m88k/m88110/add_n.S b/sysdeps/m88k/m88110/add_n.S deleted file mode 100644 index 3c90674483..0000000000 --- a/sysdeps/m88k/m88110/add_n.S +++ /dev/null @@ -1,200 +0,0 @@ -; mc88110 __mpn_add_n -- Add two limb vectors of the same length > 0 and store -; sum in a third limb vector. - -; Copyright (C) 1995, 1996 Free Software Foundation, Inc. - -; This file is part of the GNU MP Library. - -; The GNU MP Library is free software; you can redistribute it and/or modify -; it under the terms of the GNU Lesser General Public License as published by -; the Free Software Foundation; either version 2.1 of the License, or (at your -; option) any later version. - -; The GNU MP Library is distributed in the hope that it will be useful, but -; WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -; or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public -; License for more details. - -; You should have received a copy of the GNU Lesser General Public License -; along with the GNU MP Library; see the file COPYING.LIB. If not, write to -; the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, -; MA 02111-1307, USA. - - -; INPUT PARAMETERS -#define res_ptr r2 -#define s1_ptr r3 -#define s2_ptr r4 -#define size r5 - -#include "sysdep.h" - - text - align 16 - global C_SYMBOL_NAME(__mpn_add_n) -C_SYMBOL_NAME(__mpn_add_n): - addu.co r0,r0,r0 ; clear cy flag - xor r12,s2_ptr,res_ptr - bb1 2,r12,L1 -; ** V1a ** -L0: bb0 2,res_ptr,L_v1 ; branch if res_ptr is aligned? -/* Add least significant limb separately to align res_ptr and s2_ptr */ - ld r10,s1_ptr,0 - addu s1_ptr,s1_ptr,4 - ld r8,s2_ptr,0 - addu s2_ptr,s2_ptr,4 - subu size,size,1 - addu.co r6,r10,r8 - st r6,res_ptr,0 - addu res_ptr,res_ptr,4 -L_v1: cmp r12,size,2 - bb1 lt,r12,Lend2 - - ld r10,s1_ptr,0 - ld r12,s1_ptr,4 - ld.d r8,s2_ptr,0 - subu size,size,10 - bcnd lt0,size,Lfin1 -/* Add blocks of 8 limbs until less than 8 limbs remain */ - align 8 -Loop1: subu size,size,8 - addu.cio r6,r10,r8 - ld r10,s1_ptr,8 - addu.cio r7,r12,r9 - ld r12,s1_ptr,12 - ld.d r8,s2_ptr,8 - st.d r6,res_ptr,0 - addu.cio r6,r10,r8 - ld r10,s1_ptr,16 - addu.cio r7,r12,r9 - ld r12,s1_ptr,20 - ld.d r8,s2_ptr,16 - st.d r6,res_ptr,8 - addu.cio r6,r10,r8 - ld r10,s1_ptr,24 - addu.cio r7,r12,r9 - ld r12,s1_ptr,28 - ld.d r8,s2_ptr,24 - st.d r6,res_ptr,16 - addu.cio r6,r10,r8 - ld r10,s1_ptr,32 - addu.cio r7,r12,r9 - ld r12,s1_ptr,36 - addu s1_ptr,s1_ptr,32 - ld.d r8,s2_ptr,32 - addu s2_ptr,s2_ptr,32 - st.d r6,res_ptr,24 - addu res_ptr,res_ptr,32 - bcnd ge0,size,Loop1 - -Lfin1: addu size,size,8-2 - bcnd lt0,size,Lend1 -/* Add blocks of 2 limbs until less than 2 limbs remain */ -Loope1: addu.cio r6,r10,r8 - ld r10,s1_ptr,8 - addu.cio r7,r12,r9 - ld r12,s1_ptr,12 - ld.d r8,s2_ptr,8 - st.d r6,res_ptr,0 - subu size,size,2 - addu s1_ptr,s1_ptr,8 - addu s2_ptr,s2_ptr,8 - addu res_ptr,res_ptr,8 - bcnd ge0,size,Loope1 -Lend1: addu.cio r6,r10,r8 - addu.cio r7,r12,r9 - st.d r6,res_ptr,0 - - bb0 0,size,Lret1 -/* Add last limb */ - ld r10,s1_ptr,8 - ld r8,s2_ptr,8 - addu.cio r6,r10,r8 - st r6,res_ptr,8 - -Lret1: jmp.n r1 - addu.ci r2,r0,r0 ; return carry-out from most sign. limb - -L1: xor r12,s1_ptr,res_ptr - bb1 2,r12,L2 -; ** V1b ** - or r12,r0,s2_ptr - or s2_ptr,r0,s1_ptr - or s1_ptr,r0,r12 - br L0 - -; ** V2 ** -/* If we come here, the alignment of s1_ptr and res_ptr as well as the - alignment of s2_ptr and res_ptr differ. Since there are only two ways - things can be aligned (that we care about) we now know that the alignment - of s1_ptr and s2_ptr are the same. */ - -L2: cmp r12,size,1 - bb1 eq,r12,Ljone - bb0 2,s1_ptr,L_v2 ; branch if s1_ptr is aligned -/* Add least significant limb separately to align res_ptr and s2_ptr */ - ld r10,s1_ptr,0 - addu s1_ptr,s1_ptr,4 - ld r8,s2_ptr,0 - addu s2_ptr,s2_ptr,4 - subu size,size,1 - addu.co r6,r10,r8 - st r6,res_ptr,0 - addu res_ptr,res_ptr,4 - -L_v2: subu size,size,8 - bcnd lt0,size,Lfin2 -/* Add blocks of 8 limbs until less than 8 limbs remain */ - align 8 -Loop2: subu size,size,8 - ld.d r8,s1_ptr,0 - ld.d r6,s2_ptr,0 - addu.cio r8,r8,r6 - st r8,res_ptr,0 - addu.cio r9,r9,r7 - st r9,res_ptr,4 - ld.d r8,s1_ptr,8 - ld.d r6,s2_ptr,8 - addu.cio r8,r8,r6 - st r8,res_ptr,8 - addu.cio r9,r9,r7 - st r9,res_ptr,12 - ld.d r8,s1_ptr,16 - ld.d r6,s2_ptr,16 - addu.cio r8,r8,r6 - st r8,res_ptr,16 - addu.cio r9,r9,r7 - st r9,res_ptr,20 - ld.d r8,s1_ptr,24 - ld.d r6,s2_ptr,24 - addu.cio r8,r8,r6 - st r8,res_ptr,24 - addu.cio r9,r9,r7 - st r9,res_ptr,28 - addu s1_ptr,s1_ptr,32 - addu s2_ptr,s2_ptr,32 - addu res_ptr,res_ptr,32 - bcnd ge0,size,Loop2 - -Lfin2: addu size,size,8-2 - bcnd lt0,size,Lend2 -Loope2: ld.d r8,s1_ptr,0 - ld.d r6,s2_ptr,0 - addu.cio r8,r8,r6 - st r8,res_ptr,0 - addu.cio r9,r9,r7 - st r9,res_ptr,4 - subu size,size,2 - addu s1_ptr,s1_ptr,8 - addu s2_ptr,s2_ptr,8 - addu res_ptr,res_ptr,8 - bcnd ge0,size,Loope2 -Lend2: bb0 0,size,Lret2 -/* Add last limb */ -Ljone: ld r10,s1_ptr,0 - ld r8,s2_ptr,0 - addu.cio r6,r10,r8 - st r6,res_ptr,0 - -Lret2: jmp.n r1 - addu.ci r2,r0,r0 ; return carry-out from most sign. limb diff --git a/sysdeps/m88k/m88110/addmul_1.s b/sysdeps/m88k/m88110/addmul_1.s deleted file mode 100644 index a9845efa38..0000000000 --- a/sysdeps/m88k/m88110/addmul_1.s +++ /dev/null @@ -1,61 +0,0 @@ -; mc88110 __mpn_addmul_1 -- Multiply a limb vector with a single limb and -; store the product in a second limb vector. - -; Copyright (C) 1996 Free Software Foundation, Inc. - -; This file is part of the GNU MP Library. - -; The GNU MP Library is free software; you can redistribute it and/or modify -; it under the terms of the GNU Lesser General Public License as published by -; the Free Software Foundation; either version 2.1 of the License, or (at your -; option) any later version. - -; The GNU MP Library is distributed in the hope that it will be useful, but -; WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -; or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public -; License for more details. - -; You should have received a copy of the GNU Lesser General Public License -; along with the GNU MP Library; see the file COPYING.LIB. If not, write to -; the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, -; MA 02111-1307, USA. - - -; INPUT PARAMETERS -; res_ptr r2 -; s1_ptr r3 -; size r4 -; s2_limb r5 - - text - align 16 - global ___mpn_addmul_1 -___mpn_addmul_1: - lda r3,r3[r4] - lda r8,r2[r4] ; RES_PTR in r8 since r2 is retval - subu r4,r0,r4 - addu.co r2,r0,r0 ; r2 = cy = 0 - - ld r6,r3[r4] - addu r4,r4,1 - subu r8,r8,4 - bcnd.n eq0,r4,Lend - mulu.d r10,r6,r5 - -Loop: ld r7,r8[r4] - ld r6,r3[r4] - addu.cio r9,r11,r2 - addu.ci r2,r10,r0 - addu.co r9,r9,r7 - st r9,r8[r4] - addu r4,r4,1 - mulu.d r10,r6,r5 - bcnd ne0,r4,Loop - -Lend: ld r7,r8,0 - addu.cio r9,r11,r2 - addu.ci r2,r10,r0 - addu.co r9,r9,r7 - st r9,r8,0 - jmp.n r1 - addu.ci r2,r2,r0 diff --git a/sysdeps/m88k/m88110/mul_1.S b/sysdeps/m88k/m88110/mul_1.S deleted file mode 100644 index 7a07623865..0000000000 --- a/sysdeps/m88k/m88110/mul_1.S +++ /dev/null @@ -1,80 +0,0 @@ -; mc88110 __mpn_mul_1 -- Multiply a limb vector with a single limb and -; store the product in a second limb vector. - -; Copyright (C) 1992, 1994 Free Software Foundation, Inc. - -; This file is part of the GNU MP Library. - -; The GNU MP Library is free software; you can redistribute it and/or modify -; it under the terms of the GNU General Public License as published by -; the Free Software Foundation; either version 2, or (at your option) -; any later version. - -; The GNU MP Library is distributed in the hope that it will be useful, -; but WITHOUT ANY WARRANTY; without even the implied warranty of -; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -; GNU General Public License for more details. - -; You should have received a copy of the GNU General Public License -; along with the GNU MP Library; see the file COPYING. If not, write to -; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. - - -; INPUT PARAMETERS -; res_ptr r2 -; s1_ptr r3 -; size r4 -; s2_limb r5 - -#include "sysdep.h" - -ENTRY (__mpn_mul_1) - ld r6,r3,0 - sub r4,r0,r4 - sub r3,r3,r4 ; r3 is offset s1_ptr - sub r2,r2,r4 - sub r8,r2,8 ; r8 is offset res_ptr - mulu.d r10,r6,r5 - - addu r4,r4,1 - bcnd eq0,r4,Lend - addu.co r2,r0,0 ; clear cy_limb - -Loop: ld r6,r3[r4] - addu.cio r9,r11,r2 - or r2,r10,r0 ; could be avoided if unrolled - addu r4,r4,1 - mulu.d r10,r6,r5 - bcnd ne0,r4,Loop - st r9,r8[r4] - -Lend: addu.cio r9,r11,r2 - st r9,r8,4 - jmp.n r1 - addu.ci r2,r10,r0 - -; This is the Right Way to do this on '110. 4 cycles / 64-bit limb. -; ld.d r10, -; mulu.d -; addu.cio -; addu.cio -; st.d -; mulu.d ,r11,r5 -; ld.d r12, -; mulu.d ,r10,r5 -; addu.cio -; addu.cio -; st.d -; mulu.d -; ld.d r10, -; mulu.d -; addu.cio -; addu.cio -; st.d -; mulu.d -; ld.d r10, -; mulu.d -; addu.cio -; addu.cio -; st.d -; mulu.d diff --git a/sysdeps/m88k/m88110/mul_1.s b/sysdeps/m88k/m88110/mul_1.s deleted file mode 100644 index 103869dc42..0000000000 --- a/sysdeps/m88k/m88110/mul_1.s +++ /dev/null @@ -1,59 +0,0 @@ -; mc88110 __mpn_mul_1 -- Multiply a limb vector with a single limb and -; store the product in a second limb vector. - -; Copyright (C) 1992, 1994, 1995 Free Software Foundation, Inc. - -; This file is part of the GNU MP Library. - -; The GNU MP Library is free software; you can redistribute it and/or modify -; it under the terms of the GNU Lesser General Public License as published by -; the Free Software Foundation; either version 2.1 of the License, or (at your -; option) any later version. - -; The GNU MP Library is distributed in the hope that it will be useful, but -; WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -; or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public -; License for more details. - -; You should have received a copy of the GNU Lesser General Public License -; along with the GNU MP Library; see the file COPYING.LIB. If not, write to -; the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, -; MA 02111-1307, USA. - - -; INPUT PARAMETERS -; res_ptr r2 -; s1_ptr r3 -; size r4 -; s2_limb r5 - - text - align 16 - global ___mpn_mul_1 -___mpn_mul_1: - ; Make S1_PTR and RES_PTR point at the end of their blocks - ; and negate SIZE. - lda r3,r3[r4] - lda r8,r2[r4] ; RES_PTR in r8 since r2 is retval - subu r4,r0,r4 - - addu.co r2,r0,r0 ; r2 = cy = 0 - - ld r6,r3[r4] - addu r4,r4,1 - mulu.d r10,r6,r5 - bcnd.n eq0,r4,Lend - subu r8,r8,8 - -Loop: ld r6,r3[r4] - addu.cio r9,r11,r2 - or r2,r10,r0 ; could be avoided if unrolled - addu r4,r4,1 - mulu.d r10,r6,r5 - bcnd.n ne0,r4,Loop - st r9,r8[r4] - -Lend: addu.cio r9,r11,r2 - st r9,r8,4 - jmp.n r1 - addu.ci r2,r10,r0 diff --git a/sysdeps/m88k/m88110/sub_n.S b/sysdeps/m88k/m88110/sub_n.S deleted file mode 100644 index a937882dbd..0000000000 --- a/sysdeps/m88k/m88110/sub_n.S +++ /dev/null @@ -1,276 +0,0 @@ -; mc88110 __mpn_sub_n -- Subtract two limb vectors of the same length > 0 and -; store difference in a third limb vector. - -; Copyright (C) 1995, 1996 Free Software Foundation, Inc. - -; This file is part of the GNU MP Library. - -; The GNU MP Library is free software; you can redistribute it and/or modify -; it under the terms of the GNU Lesser General Public License as published by -; the Free Software Foundation; either version 2.1 of the License, or (at your -; option) any later version. - -; The GNU MP Library is distributed in the hope that it will be useful, but -; WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -; or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public -; License for more details. - -; You should have received a copy of the GNU Lesser General Public License -; along with the GNU MP Library; see the file COPYING.LIB. If not, write to -; the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, -; MA 02111-1307, USA. - - -; INPUT PARAMETERS -#define res_ptr r2 -#define s1_ptr r3 -#define s2_ptr r4 -#define size r5 - -#include "sysdep.h" - - text - align 16 - global C_SYMBOL_NAME(__mpn_sub_n) -C_SYMBOL_NAME(__mpn_sub_n): - subu.co r0,r0,r0 ; set cy flag - xor r12,s2_ptr,res_ptr - bb1 2,r12,L1 -; ** V1a ** -L0: bb0 2,res_ptr,L_v1 ; branch if res_ptr is aligned -/* Add least significant limb separately to align res_ptr and s2_ptr */ - ld r10,s1_ptr,0 - addu s1_ptr,s1_ptr,4 - ld r8,s2_ptr,0 - addu s2_ptr,s2_ptr,4 - subu size,size,1 - subu.co r6,r10,r8 - st r6,res_ptr,0 - addu res_ptr,res_ptr,4 -L_v1: cmp r12,size,2 - bb1 lt,r12,Lend2 - - ld r10,s1_ptr,0 - ld r12,s1_ptr,4 - ld.d r8,s2_ptr,0 - subu size,size,10 - bcnd lt0,size,Lfin1 -/* Add blocks of 8 limbs until less than 8 limbs remain */ - align 8 -Loop1: subu size,size,8 - subu.cio r6,r10,r8 - ld r10,s1_ptr,8 - subu.cio r7,r12,r9 - ld r12,s1_ptr,12 - ld.d r8,s2_ptr,8 - st.d r6,res_ptr,0 - subu.cio r6,r10,r8 - ld r10,s1_ptr,16 - subu.cio r7,r12,r9 - ld r12,s1_ptr,20 - ld.d r8,s2_ptr,16 - st.d r6,res_ptr,8 - subu.cio r6,r10,r8 - ld r10,s1_ptr,24 - subu.cio r7,r12,r9 - ld r12,s1_ptr,28 - ld.d r8,s2_ptr,24 - st.d r6,res_ptr,16 - subu.cio r6,r10,r8 - ld r10,s1_ptr,32 - subu.cio r7,r12,r9 - ld r12,s1_ptr,36 - addu s1_ptr,s1_ptr,32 - ld.d r8,s2_ptr,32 - addu s2_ptr,s2_ptr,32 - st.d r6,res_ptr,24 - addu res_ptr,res_ptr,32 - bcnd ge0,size,Loop1 - -Lfin1: addu size,size,8-2 - bcnd lt0,size,Lend1 -/* Add blocks of 2 limbs until less than 2 limbs remain */ -Loope1: subu.cio r6,r10,r8 - ld r10,s1_ptr,8 - subu.cio r7,r12,r9 - ld r12,s1_ptr,12 - ld.d r8,s2_ptr,8 - st.d r6,res_ptr,0 - subu size,size,2 - addu s1_ptr,s1_ptr,8 - addu s2_ptr,s2_ptr,8 - addu res_ptr,res_ptr,8 - bcnd ge0,size,Loope1 -Lend1: subu.cio r6,r10,r8 - subu.cio r7,r12,r9 - st.d r6,res_ptr,0 - - bb0 0,size,Lret1 -/* Add last limb */ - ld r10,s1_ptr,8 - ld r8,s2_ptr,8 - subu.cio r6,r10,r8 - st r6,res_ptr,8 - -Lret1: addu.ci r2,r0,r0 ; return carry-out from most sign. limb - jmp.n r1 - xor r2,r2,1 - -L1: xor r12,s1_ptr,res_ptr - bb1 2,r12,L2 -; ** V1b ** - bb0 2,res_ptr,L_v1b ; branch if res_ptr is aligned -/* Add least significant limb separately to align res_ptr and s1_ptr */ - ld r10,s2_ptr,0 - addu s2_ptr,s2_ptr,4 - ld r8,s1_ptr,0 - addu s1_ptr,s1_ptr,4 - subu size,size,1 - subu.co r6,r8,r10 - st r6,res_ptr,0 - addu res_ptr,res_ptr,4 -L_v1b: cmp r12,size,2 - bb1 lt,r12,Lend2 - - ld r10,s2_ptr,0 - ld r12,s2_ptr,4 - ld.d r8,s1_ptr,0 - subu size,size,10 - bcnd lt0,size,Lfin1b -/* Add blocks of 8 limbs until less than 8 limbs remain */ - align 8 -Loop1b: subu size,size,8 - subu.cio r6,r8,r10 - ld r10,s2_ptr,8 - subu.cio r7,r9,r12 - ld r12,s2_ptr,12 - ld.d r8,s1_ptr,8 - st.d r6,res_ptr,0 - subu.cio r6,r8,r10 - ld r10,s2_ptr,16 - subu.cio r7,r9,r12 - ld r12,s2_ptr,20 - ld.d r8,s1_ptr,16 - st.d r6,res_ptr,8 - subu.cio r6,r8,r10 - ld r10,s2_ptr,24 - subu.cio r7,r9,r12 - ld r12,s2_ptr,28 - ld.d r8,s1_ptr,24 - st.d r6,res_ptr,16 - subu.cio r6,r8,r10 - ld r10,s2_ptr,32 - subu.cio r7,r9,r12 - ld r12,s2_ptr,36 - addu s2_ptr,s2_ptr,32 - ld.d r8,s1_ptr,32 - addu s1_ptr,s1_ptr,32 - st.d r6,res_ptr,24 - addu res_ptr,res_ptr,32 - bcnd ge0,size,Loop1b - -Lfin1b: addu size,size,8-2 - bcnd lt0,size,Lend1b -/* Add blocks of 2 limbs until less than 2 limbs remain */ -Loope1b:subu.cio r6,r8,r10 - ld r10,s2_ptr,8 - subu.cio r7,r9,r12 - ld r12,s2_ptr,12 - ld.d r8,s1_ptr,8 - st.d r6,res_ptr,0 - subu size,size,2 - addu s1_ptr,s1_ptr,8 - addu s2_ptr,s2_ptr,8 - addu res_ptr,res_ptr,8 - bcnd ge0,size,Loope1b -Lend1b: subu.cio r6,r8,r10 - subu.cio r7,r9,r12 - st.d r6,res_ptr,0 - - bb0 0,size,Lret1b -/* Add last limb */ - ld r10,s2_ptr,8 - ld r8,s1_ptr,8 - subu.cio r6,r8,r10 - st r6,res_ptr,8 - -Lret1b: addu.ci r2,r0,r0 ; return carry-out from most sign. limb - jmp.n r1 - xor r2,r2,1 - -; ** V2 ** -/* If we come here, the alignment of s1_ptr and res_ptr as well as the - alignment of s2_ptr and res_ptr differ. Since there are only two ways - things can be aligned (that we care about) we now know that the alignment - of s1_ptr and s2_ptr are the same. */ - -L2: cmp r12,size,1 - bb1 eq,r12,Ljone - bb0 2,s1_ptr,L_v2 ; branch if s1_ptr is aligned -/* Add least significant limb separately to align res_ptr and s2_ptr */ - ld r10,s1_ptr,0 - addu s1_ptr,s1_ptr,4 - ld r8,s2_ptr,0 - addu s2_ptr,s2_ptr,4 - subu size,size,1 - subu.co r6,r10,r8 - st r6,res_ptr,0 - addu res_ptr,res_ptr,4 - -L_v2: subu size,size,8 - bcnd lt0,size,Lfin2 -/* Add blocks of 8 limbs until less than 8 limbs remain */ - align 8 -Loop2: subu size,size,8 - ld.d r8,s1_ptr,0 - ld.d r6,s2_ptr,0 - subu.cio r8,r8,r6 - st r8,res_ptr,0 - subu.cio r9,r9,r7 - st r9,res_ptr,4 - ld.d r8,s1_ptr,8 - ld.d r6,s2_ptr,8 - subu.cio r8,r8,r6 - st r8,res_ptr,8 - subu.cio r9,r9,r7 - st r9,res_ptr,12 - ld.d r8,s1_ptr,16 - ld.d r6,s2_ptr,16 - subu.cio r8,r8,r6 - st r8,res_ptr,16 - subu.cio r9,r9,r7 - st r9,res_ptr,20 - ld.d r8,s1_ptr,24 - ld.d r6,s2_ptr,24 - subu.cio r8,r8,r6 - st r8,res_ptr,24 - subu.cio r9,r9,r7 - st r9,res_ptr,28 - addu s1_ptr,s1_ptr,32 - addu s2_ptr,s2_ptr,32 - addu res_ptr,res_ptr,32 - bcnd ge0,size,Loop2 - -Lfin2: addu size,size,8-2 - bcnd lt0,size,Lend2 -Loope2: ld.d r8,s1_ptr,0 - ld.d r6,s2_ptr,0 - subu.cio r8,r8,r6 - st r8,res_ptr,0 - subu.cio r9,r9,r7 - st r9,res_ptr,4 - subu size,size,2 - addu s1_ptr,s1_ptr,8 - addu s2_ptr,s2_ptr,8 - addu res_ptr,res_ptr,8 - bcnd ge0,size,Loope2 -Lend2: bb0 0,size,Lret2 -/* Add last limb */ -Ljone: ld r10,s1_ptr,0 - ld r8,s2_ptr,0 - subu.cio r6,r10,r8 - st r6,res_ptr,0 - -Lret2: addu.ci r2,r0,r0 ; return carry-out from most sign. limb - jmp.n r1 - xor r2,r2,1 diff --git a/sysdeps/m88k/mul_1.s b/sysdeps/m88k/mul_1.s deleted file mode 100644 index 7aa6d64064..0000000000 --- a/sysdeps/m88k/mul_1.s +++ /dev/null @@ -1,127 +0,0 @@ -; mc88100 __mpn_mul_1 -- Multiply a limb vector with a single limb and -; store the product in a second limb vector. - -; Copyright (C) 1992, 1994, 1995 Free Software Foundation, Inc. - -; This file is part of the GNU MP Library. - -; The GNU MP Library is free software; you can redistribute it and/or modify -; it under the terms of the GNU Lesser General Public License as published by -; the Free Software Foundation; either version 2.1 of the License, or (at your -; option) any later version. - -; The GNU MP Library is distributed in the hope that it will be useful, but -; WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -; or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public -; License for more details. - -; You should have received a copy of the GNU Lesser General Public License -; along with the GNU MP Library; see the file COPYING.LIB. If not, write to -; the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, -; MA 02111-1307, USA. - - -; INPUT PARAMETERS -; res_ptr r2 -; s1_ptr r3 -; size r4 -; s2_limb r5 - -; Common overhead is about 11 cycles/invocation. - -; The speed for S2_LIMB >= 0x10000 is approximately 21 cycles/limb. (The -; pipeline stalls 2 cycles due to WB contention.) - -; The speed for S2_LIMB < 0x10000 is approximately 16 cycles/limb. (The -; pipeline stalls 2 cycles due to WB contention and 1 cycle due to latency.) - -; To enhance speed: -; 1. Unroll main loop 4-8 times. -; 2. Schedule code to avoid WB contention. It might be tempting to move the -; ld instruction in the loops down to save 2 cycles (less WB contention), -; but that looses because the ultimate value will be read from outside -; the allocated space. But if we handle the ultimate multiplication in -; the tail, we can do this. -; 3. Make the multiplication with less instructions. I think the code for -; (S2_LIMB >= 0x10000) is not minimal. -; With these techniques the (S2_LIMB >= 0x10000) case would run in 17 or -; less cycles/limb; the (S2_LIMB < 0x10000) case would run in 11 -; cycles/limb. (Assuming infinite unrolling.) - - text - align 16 - global ___mpn_mul_1 -___mpn_mul_1: - - ; Make S1_PTR and RES_PTR point at the end of their blocks - ; and negate SIZE. - lda r3,r3[r4] - lda r6,r2[r4] ; RES_PTR in r6 since r2 is retval - subu r4,r0,r4 - - addu.co r2,r0,r0 ; r2 = cy = 0 - ld r9,r3[r4] - mask r7,r5,0xffff ; r7 = lo(S2_LIMB) - extu r8,r5,16 ; r8 = hi(S2_LIMB) - bcnd.n eq0,r8,Lsmall ; jump if (hi(S2_LIMB) == 0) - subu r6,r6,4 - -; General code for any value of S2_LIMB. - - ; Make a stack frame and save r25 and r26 - subu r31,r31,16 - st.d r25,r31,8 - - ; Enter the loop in the middle - br.n L1 - addu r4,r4,1 - -Loop: ld r9,r3[r4] - st r26,r6[r4] -; bcnd ne0,r0,0 ; bubble - addu r4,r4,1 -L1: mul r26,r9,r5 ; low word of product mul_1 WB ld - mask r12,r9,0xffff ; r12 = lo(s1_limb) mask_1 - mul r11,r12,r7 ; r11 = prod_0 mul_2 WB mask_1 - mul r10,r12,r8 ; r10 = prod_1a mul_3 - extu r13,r9,16 ; r13 = hi(s1_limb) extu_1 WB mul_1 - mul r12,r13,r7 ; r12 = prod_1b mul_4 WB extu_1 - mul r25,r13,r8 ; r25 = prod_2 mul_5 WB mul_2 - extu r11,r11,16 ; r11 = hi(prod_0) extu_2 WB mul_3 - addu r10,r10,r11 ; addu_1 WB extu_2 -; bcnd ne0,r0,0 ; bubble WB addu_1 - addu.co r10,r10,r12 ; WB mul_4 - mask.u r10,r10,0xffff ; move the 16 most significant bits... - addu.ci r10,r10,r0 ; ...to the low half of the word... - rot r10,r10,16 ; ...and put carry in pos 16. - addu.co r26,r26,r2 ; add old carry limb - bcnd.n ne0,r4,Loop - addu.ci r2,r25,r10 ; compute new carry limb - - st r26,r6[r4] - ld.d r25,r31,8 - jmp.n r1 - addu r31,r31,16 - -; Fast code for S2_LIMB < 0x10000 -Lsmall: - ; Enter the loop in the middle - br.n SL1 - addu r4,r4,1 - -SLoop: ld r9,r3[r4] ; - st r8,r6[r4] ; - addu r4,r4,1 ; -SL1: mul r8,r9,r5 ; low word of product - mask r12,r9,0xffff ; r12 = lo(s1_limb) - extu r13,r9,16 ; r13 = hi(s1_limb) - mul r11,r12,r7 ; r11 = prod_0 - mul r12,r13,r7 ; r12 = prod_1b - addu.cio r8,r8,r2 ; add old carry limb - extu r10,r11,16 ; r11 = hi(prod_0) - addu r10,r10,r12 ; - bcnd.n ne0,r4,SLoop - extu r2,r10,16 ; r2 = new carry limb - - jmp.n r1 - st r8,r6[r4] diff --git a/sysdeps/m88k/sub_n.s b/sysdeps/m88k/sub_n.s deleted file mode 100644 index 7616dc46b4..0000000000 --- a/sysdeps/m88k/sub_n.s +++ /dev/null @@ -1,106 +0,0 @@ -; mc88100 __mpn_sub -- Subtract two limb vectors of the same length > 0 and -; store difference in a third limb vector. - -; Copyright (C) 1992, 1994, 1996 Free Software Foundation, Inc. - -; This file is part of the GNU MP Library. - -; The GNU MP Library is free software; you can redistribute it and/or modify -; it under the terms of the GNU Lesser General Public License as published by -; the Free Software Foundation; either version 2.1 of the License, or (at your -; option) any later version. - -; The GNU MP Library is distributed in the hope that it will be useful, but -; WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -; or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public -; License for more details. - -; You should have received a copy of the GNU Lesser General Public License -; along with the GNU MP Library; see the file COPYING.LIB. If not, write to -; the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, -; MA 02111-1307, USA. - - -; INPUT PARAMETERS -; res_ptr r2 -; s1_ptr r3 -; s2_ptr r4 -; size r5 - -; This code has been optimized to run one instruction per clock, avoiding -; load stalls and writeback contention. As a result, the instruction -; order is not always natural. - -; The speed is about 4.6 clocks/limb + 18 clocks/limb-vector on an 88100, -; but on the 88110, it seems to run much slower, 6.6 clocks/limb. - - text - align 16 - global ___mpn_sub_n -___mpn_sub_n: - ld r6,r3,0 ; read first limb from s1_ptr - extu r10,r5,3 - ld r7,r4,0 ; read first limb from s2_ptr - - subu r5,r0,r5 - mak r5,r5,3<4> - bcnd.n eq0,r5,Lzero - subu.co r0,r0,r0 ; initialize carry - - or r12,r0,lo16(Lbase) - or.u r12,r12,hi16(Lbase) - addu r12,r12,r5 ; r12 is address for entering in loop - - extu r5,r5,2 ; divide by 4 - subu r2,r2,r5 ; adjust res_ptr - subu r3,r3,r5 ; adjust s1_ptr - subu r4,r4,r5 ; adjust s2_ptr - - or r8,r6,r0 - - jmp.n r12 - or r9,r7,r0 - -Loop: addu r3,r3,32 - st r8,r2,28 - addu r4,r4,32 - ld r6,r3,0 - addu r2,r2,32 - ld r7,r4,0 -Lzero: subu r10,r10,1 ; subtract 0 + 8r limbs (adj loop cnt) -Lbase: ld r8,r3,4 - subu.cio r6,r6,r7 - ld r9,r4,4 - st r6,r2,0 - ld r6,r3,8 ; subtract 7 + 8r limbs - subu.cio r8,r8,r9 - ld r7,r4,8 - st r8,r2,4 - ld r8,r3,12 ; subtract 6 + 8r limbs - subu.cio r6,r6,r7 - ld r9,r4,12 - st r6,r2,8 - ld r6,r3,16 ; subtract 5 + 8r limbs - subu.cio r8,r8,r9 - ld r7,r4,16 - st r8,r2,12 - ld r8,r3,20 ; subtract 4 + 8r limbs - subu.cio r6,r6,r7 - ld r9,r4,20 - st r6,r2,16 - ld r6,r3,24 ; subtract 3 + 8r limbs - subu.cio r8,r8,r9 - ld r7,r4,24 - st r8,r2,20 - ld r8,r3,28 ; subtract 2 + 8r limbs - subu.cio r6,r6,r7 - ld r9,r4,28 - st r6,r2,24 - bcnd.n ne0,r10,Loop ; subtract 1 + 8r limbs - subu.cio r8,r8,r9 - - st r8,r2,28 ; store most significant limb - - addu.ci r2,r0,r0 ; return carry-out from most sign. limb - jmp.n r1 - xor r2,r2,1 diff --git a/sysdeps/mach/hurd/fork.c b/sysdeps/mach/hurd/fork.c index c3f8a1a86b..8728596915 100644 --- a/sysdeps/mach/hurd/fork.c +++ b/sysdeps/mach/hurd/fork.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1994,95,96,97,99,2001,02 Free Software Foundation, Inc. +/* Copyright (C) 1994,95,96,97,99,2001,02, 04 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -26,6 +26,7 @@ #include "set-hooks.h" #include <assert.h> #include "hurdmalloc.h" /* XXX */ +#include <tls.h> #undef __fork @@ -529,6 +530,13 @@ __fork (void) /* Set the child user thread up to return 1 from the setjmp above. */ _hurd_longjmp_thread_state (&state, env, 1); + +#if USE_TLS + /* Do special thread setup for TLS if needed. */ + if (err = _hurd_tls_fork (thread, &state)) + LOSE; +#endif + if (err = __thread_set_state (thread, MACHINE_THREAD_STATE_FLAVOR, (natural_t *) &state, statecount)) LOSE; diff --git a/sysdeps/mach/hurd/i386/tls.h b/sysdeps/mach/hurd/i386/tls.h index 8adbee98fc..ff849716e0 100644 --- a/sysdeps/mach/hurd/i386/tls.h +++ b/sysdeps/mach/hurd/i386/tls.h @@ -45,24 +45,31 @@ # include <errno.h> # include <assert.h> +#define HURD_TLS_DESC_DECL(desc, tcb) \ + struct descriptor desc = \ + { /* low word: */ \ + 0xffff /* limit 0..15 */ \ + | (((unsigned int) (tcb)) << 16) /* base 0..15 */ \ + , /* high word: */ \ + ((((unsigned int) (tcb)) >> 16) & 0xff) /* base 16..23 */ \ + | ((0x12 | 0x60 | 0x80) << 8) /* access = ACC_DATA_W|ACC_PL_U|ACC_P */ \ + | (0xf << 16) /* limit 16..19 */ \ + | ((4 | 8) << 20) /* granularity = SZ_32|SZ_G */ \ + | (((unsigned int) (tcb)) & 0xff000000) /* base 24..31 */ \ + } + + static inline const char * __attribute__ ((unused)) _hurd_tls_init (tcbhead_t *tcb, int secondcall) { - const unsigned int base = (unsigned int) tcb; - struct descriptor desc = - { /* low word: */ - 0xffff /* limit 0..15 */ - | (base << 16) /* base 0..15 */ - , /* high word: */ - ((base >> 16) & 0xff) /* base 16..23 */ - | ((0x12 | 0x60 | 0x80) << 8) /* access = ACC_DATA_W|ACC_PL_U|ACC_P */ - | (0xf << 16) /* limit 16..19 */ - | ((4 | 8) << 20) /* granularity = SZ_32|SZ_G */ - | (base & 0xff000000) /* base 24..31 */ - }; + HURD_TLS_DESC_DECL (desc, tcb); if (!secondcall) { + /* This field is used by TLS accesses to get our "thread pointer" + from the TLS point of view. */ + tcb->tcb = tcb; + /* Cache our thread port. */ tcb->self = __mach_thread_self (); @@ -75,9 +82,10 @@ _hurd_tls_init (tcbhead_t *tcb, int secondcall) sel = 0x27; err = __i386_set_ldt (tcb->self, sel, &desc, 1); assert_perror (err); - return "i386_set_ldt failed"; + if (err) + return "i386_set_ldt failed"; } - else + else if (err) { assert_perror (err); /* Separate from above with different line #. */ return "i386_set_gdt failed"; @@ -95,13 +103,15 @@ _hurd_tls_init (tcbhead_t *tcb, int secondcall) { error_t err = __i386_set_ldt (tcb->self, sel, &desc, 1); assert_perror (err); - return "i386_set_ldt failed"; + if (err) + return "i386_set_ldt failed"; } else { error_t err = __i386_set_gdt (tcb->self, &sel, desc); assert_perror (err); - return "i386_set_gdt failed"; + if (err) + return "i386_set_gdt failed"; } } @@ -133,6 +143,31 @@ _hurd_tls_init (tcbhead_t *tcb, int secondcall) asm ("movl %%gs:%P1,%0" : "=q" (_dtv) : "i" (offsetof (tcbhead_t, dtv)));\ _dtv; }) +#include <mach/machine/thread_status.h> + +/* Set up TLS in the new thread of a fork child, copying from our own. */ +static inline error_t __attribute__ ((unused)) +_hurd_tls_fork (thread_t child, struct i386_thread_state *state) +{ + /* Fetch the selector set by _hurd_tls_init. */ + int sel; + asm ("mov %%gs, %w0" : "=q" (sel)); + if (sel == state->ds) /* _hurd_tls_init was never called. */ + return 0; + + tcbhead_t *const tcb = THREAD_SELF; + HURD_TLS_DESC_DECL (desc, tcb); + error_t err; + + if (__builtin_expect (sel, 0x50) & 4) /* LDT selector */ + err = __i386_set_ldt (child, sel, &desc, 1); + else + err = __i386_set_gdt (child, &sel, desc); + + state->gs = sel; + return err; +} + # endif /* !ASSEMBLER */ #endif /* HAVE_TLS_SUPPORT */ diff --git a/sysdeps/sh/dl-machine.h b/sysdeps/sh/dl-machine.h index d3cd73762e..271666a2a3 100644 --- a/sysdeps/sh/dl-machine.h +++ b/sysdeps/sh/dl-machine.h @@ -26,7 +26,7 @@ #define ELF_MACHINE_NAME "SH" #include <sys/param.h> - +#include <sysdep.h> #include <assert.h> /* Return nonzero iff ELF header is compatible with the running host. */ @@ -72,7 +72,7 @@ elf_machine_load_address (void) /* Set up the loaded object described by L so its unrelocated PLT entries will jump to the on-demand fixup code in dl-runtime.c. */ -static inline int __attribute__ ((unused)) +static inline int __attribute__ ((unused, always_inline)) elf_machine_runtime_setup (struct link_map *l, int lazy, int profile) { Elf32_Addr *got; @@ -141,27 +141,45 @@ elf_machine_runtime_setup (struct link_map *l, int lazy, int profile) #ifdef HAVE_FPU #define FGR_SAVE "\ sts.l fpscr, @-r15\n\ + " CFI_ADJUST_CFA_OFFSET (4) "\n\ mov #8,r3\n\ swap.w r3, r3\n\ lds r3, fpscr\n\ fmov.s fr11, @-r15\n\ + " CFI_ADJUST_CFA_OFFSET (4) "\n\ fmov.s fr10, @-r15\n\ + " CFI_ADJUST_CFA_OFFSET (4) "\n\ fmov.s fr9, @-r15\n\ + " CFI_ADJUST_CFA_OFFSET (4) "\n\ fmov.s fr8, @-r15\n\ + " CFI_ADJUST_CFA_OFFSET (4) "\n\ fmov.s fr7, @-r15\n\ + " CFI_ADJUST_CFA_OFFSET (4) "\n\ fmov.s fr6, @-r15\n\ + " CFI_ADJUST_CFA_OFFSET (4) "\n\ fmov.s fr5, @-r15\n\ - fmov.s fr4, @-r15" + " CFI_ADJUST_CFA_OFFSET (4) "\n\ + fmov.s fr4, @-r15\n\ + " CFI_ADJUST_CFA_OFFSET (4) #define FGR_LOAD "\ fmov.s @r15+, fr4\n\ + " CFI_ADJUST_CFA_OFFSET (-4) "\n\ fmov.s @r15+, fr5\n\ + " CFI_ADJUST_CFA_OFFSET (-4) "\n\ fmov.s @r15+, fr6\n\ + " CFI_ADJUST_CFA_OFFSET (-4) "\n\ fmov.s @r15+, fr7\n\ + " CFI_ADJUST_CFA_OFFSET (-4) "\n\ fmov.s @r15+, fr8\n\ + " CFI_ADJUST_CFA_OFFSET (-4) "\n\ fmov.s @r15+, fr9\n\ + " CFI_ADJUST_CFA_OFFSET (-4) "\n\ fmov.s @r15+, fr10\n\ + " CFI_ADJUST_CFA_OFFSET (-4) "\n\ fmov.s @r15+, fr11\n\ - lds.l @r15+, fpscr" + " CFI_ADJUST_CFA_OFFSET (-4) "\n\ + lds.l @r15+, fpscr\n\ + " CFI_ADJUST_CFA_OFFSET (-4) #else #define FGR_SAVE "" #define FGR_LOAD "" @@ -172,19 +190,29 @@ elf_machine_runtime_setup (struct link_map *l, int lazy, int profile) .text\n\ .globl _dl_runtime_resolve\n\ .type _dl_runtime_resolve, @function\n\ + " CFI_STARTPROC "\n\ .align 5\n\ _dl_runtime_resolve:\n\ mov.l r2,@-r15\n\ + " CFI_ADJUST_CFA_OFFSET (4) "\n\ mov.l r3,@-r15\n\ + " CFI_ADJUST_CFA_OFFSET (4) "\n\ mov.l r4,@-r15\n\ + " CFI_ADJUST_CFA_OFFSET (4) "\n\ mov.l r5,@-r15\n\ + " CFI_ADJUST_CFA_OFFSET (4) "\n\ mov.l r6,@-r15\n\ + " CFI_ADJUST_CFA_OFFSET (4) "\n\ mov.l r7,@-r15\n\ + " CFI_ADJUST_CFA_OFFSET (4) "\n\ mov.l r12,@-r15\n\ + " CFI_ADJUST_CFA_OFFSET (4) "\n\ movt r3 ! Save T flag.\n\ mov.l r3,@-r15\n\ + " CFI_ADJUST_CFA_OFFSET (4) "\n\ " FGR_SAVE "\n\ sts.l pr,@-r15\n\ + " CFI_ADJUST_CFA_OFFSET (4) "\n\ tst r0,r0\n\ bt 1f\n\ mov r0,r2\n\ @@ -195,37 +223,57 @@ _dl_runtime_resolve:\n\ jsr @r0 ! Call resolver.\n\ mov r1,r6 ! reloc offset\n\ lds.l @r15+,pr ! Get register content back.\n\ + " CFI_ADJUST_CFA_OFFSET (-4) "\n\ " FGR_LOAD "\n\ mov.l @r15+,r3\n\ + " CFI_ADJUST_CFA_OFFSET (-4) "\n\ shal r3 ! Lode T flag.\n\ mov.l @r15+,r12\n\ + " CFI_ADJUST_CFA_OFFSET (-4) "\n\ mov.l @r15+,r7\n\ + " CFI_ADJUST_CFA_OFFSET (-4) "\n\ mov.l @r15+,r6\n\ + " CFI_ADJUST_CFA_OFFSET (-4) "\n\ mov.l @r15+,r5\n\ + " CFI_ADJUST_CFA_OFFSET (-4) "\n\ mov.l @r15+,r4\n\ + " CFI_ADJUST_CFA_OFFSET (-4) "\n\ mov.l @r15+,r3\n\ + " CFI_ADJUST_CFA_OFFSET (-4) "\n\ jmp @r0 ! Jump to function address.\n\ mov.l @r15+,r2\n\ + " CFI_ADJUST_CFA_OFFSET (-4) "\n\ .align 2\n\ 3:\n\ .long " GOTJMP (fixup) "\n\ + " CFI_ENDPROC "\n\ .size _dl_runtime_resolve, .-_dl_runtime_resolve\n\ \n\ .globl _dl_runtime_profile\n\ .type _dl_runtime_profile, @function\n\ + " CFI_STARTPROC "\n\ .align 5\n\ _dl_runtime_profile:\n\ mov.l r2,@-r15\n\ + " CFI_ADJUST_CFA_OFFSET (4) "\n\ mov.l r3,@-r15\n\ + " CFI_ADJUST_CFA_OFFSET (4) "\n\ mov.l r4,@-r15\n\ + " CFI_ADJUST_CFA_OFFSET (4) "\n\ mov.l r5,@-r15\n\ + " CFI_ADJUST_CFA_OFFSET (4) "\n\ mov.l r6,@-r15\n\ + " CFI_ADJUST_CFA_OFFSET (4) "\n\ mov.l r7,@-r15\n\ + " CFI_ADJUST_CFA_OFFSET (4) "\n\ mov.l r12,@-r15\n\ + " CFI_ADJUST_CFA_OFFSET (4) "\n\ movt r3 ! Save T flag.\n\ mov.l r3,@-r15\n\ + " CFI_ADJUST_CFA_OFFSET (4) "\n\ " FGR_SAVE "\n\ sts.l pr,@-r15\n\ + " CFI_ADJUST_CFA_OFFSET (4) "\n\ tst r0,r0\n\ bt 1f\n\ mov r0,r2\n\ @@ -237,20 +285,30 @@ _dl_runtime_profile:\n\ jsr @r0 ! Call resolver.\n\ mov r1,r6 ! reloc offset\n\ lds.l @r15+,pr ! Get register content back.\n\ + " CFI_ADJUST_CFA_OFFSET (-4) "\n\ " FGR_LOAD "\n\ mov.l @r15+,r3\n\ + " CFI_ADJUST_CFA_OFFSET (-4) "\n\ shal r3 ! Lode T flag.\n\ mov.l @r15+,r12\n\ + " CFI_ADJUST_CFA_OFFSET (-4) "\n\ mov.l @r15+,r7\n\ + " CFI_ADJUST_CFA_OFFSET (-4) "\n\ mov.l @r15+,r6\n\ + " CFI_ADJUST_CFA_OFFSET (-4) "\n\ mov.l @r15+,r5\n\ + " CFI_ADJUST_CFA_OFFSET (-4) "\n\ mov.l @r15+,r4\n\ + " CFI_ADJUST_CFA_OFFSET (-4) "\n\ mov.l @r15+,r3\n\ + " CFI_ADJUST_CFA_OFFSET (-4) "\n\ jmp @r0 ! Jump to function address.\n\ mov.l @r15+,r2\n\ + " CFI_ADJUST_CFA_OFFSET (-4) "\n\ .align 2\n\ 3:\n\ .long " GOTJMP (profile_fixup) "\n\ + " CFI_ENDPROC "\n\ .size _dl_runtime_profile, .-_dl_runtime_profile\n\ .previous\n\ "); @@ -265,16 +323,25 @@ _dl_runtime_profile:\n\ _dl_runtime_resolve:\n\ _dl_runtime_profile:\n\ mov.l r2,@-r15\n\ + " CFI_ADJUST_CFA_OFFSET (4) "\n\ mov.l r3,@-r15\n\ + " CFI_ADJUST_CFA_OFFSET (4) "\n\ mov.l r4,@-r15\n\ + " CFI_ADJUST_CFA_OFFSET (4) "\n\ mov.l r5,@-r15\n\ + " CFI_ADJUST_CFA_OFFSET (4) "\n\ mov.l r6,@-r15\n\ + " CFI_ADJUST_CFA_OFFSET (4) "\n\ mov.l r7,@-r15\n\ + " CFI_ADJUST_CFA_OFFSET (4) "\n\ mov.l r12,@-r15\n\ + " CFI_ADJUST_CFA_OFFSET (4) "\n\ movt r3 ! Save T flag.\n\ mov.l r3,@-r15\n\ + " CFI_ADJUST_CFA_OFFSET (4) "\n\ " FGR_SAVE "\n\ sts.l pr,@-r15\n\ + " CFI_ADJUST_CFA_OFFSET (4) "\n\ tst r0,r0\n\ bt 1f\n\ mov r0,r2\n\ @@ -286,20 +353,30 @@ _dl_runtime_profile:\n\ jsr @r0 ! Call resolver.\n\ mov r1,r6 ! reloc offset\n\ lds.l @r15+,pr ! Get register content back.\n\ + " CFI_ADJUST_CFA_OFFSET (-4) "\n\ " FGR_LOAD "\n\ mov.l @r15+,r3\n\ + " CFI_ADJUST_CFA_OFFSET (-4) "\n\ shal r3 ! Lode T flag.\n\ mov.l @r15+,r12\n\ + " CFI_ADJUST_CFA_OFFSET (-4) "\n\ mov.l @r15+,r7\n\ + " CFI_ADJUST_CFA_OFFSET (-4) "\n\ mov.l @r15+,r6\n\ + " CFI_ADJUST_CFA_OFFSET (-4) "\n\ mov.l @r15+,r5\n\ + " CFI_ADJUST_CFA_OFFSET (-4) "\n\ mov.l @r15+,r4\n\ + " CFI_ADJUST_CFA_OFFSET (-4) "\n\ mov.l @r15+,r3\n\ + " CFI_ADJUST_CFA_OFFSET (-4) "\n\ jmp @r0 ! Jump to function address.\n\ mov.l @r15+,r2\n\ + " CFI_ADJUST_CFA_OFFSET (-4) "\n\ .align 2\n\ 3:\n\ .long " GOTJMP (fixup) "\n\ + " CFI_ENDPROC "\n\ .size _dl_runtime_resolve, .-_dl_runtime_resolve\n\ .size _dl_runtime_profile, .-_dl_runtime_profile\n\ .previous\n\ @@ -355,6 +432,7 @@ _dl_start_user:\n\ mov r5,r7\n\ shll2 r7\n\ add r15,r7\n\ + add #8,r7\n\ mov.l .L_dl_loaded,r0\n\ mov.l @(r0,r12),r0\n\ mov.l @r0,r4\n\ @@ -442,7 +520,8 @@ elf_machine_plt_value (struct link_map *map, const Elf32_Rela *reloc, /* Perform the relocation specified by RELOC and SYM (which is fully resolved). MAP is the object containing the reloc. */ -static inline void +auto inline void +__attribute ((always_inline)) elf_machine_rela (struct link_map *map, const Elf32_Rela *reloc, const Elf32_Sym *sym, const struct r_found_version *version, void *const reloc_addr_arg) @@ -618,7 +697,8 @@ elf_machine_rela (struct link_map *map, const Elf32_Rela *reloc, } } -static inline void +auto inline void +__attribute__ ((always_inline)) elf_machine_rela_relative (Elf32_Addr l_addr, const Elf32_Rela *reloc, void *const reloc_addr_arg) { @@ -636,7 +716,8 @@ elf_machine_rela_relative (Elf32_Addr l_addr, const Elf32_Rela *reloc, #undef COPY_UNALIGNED_WORD } -static inline void +auto inline void +__attribute__ ((always_inline)) elf_machine_lazy_rel (struct link_map *map, Elf32_Addr l_addr, const Elf32_Rela *reloc) { diff --git a/sysdeps/standalone/Dist b/sysdeps/standalone/Dist deleted file mode 100644 index b6b12b709a..0000000000 --- a/sysdeps/standalone/Dist +++ /dev/null @@ -1,2 +0,0 @@ -filedesc.h -standalone.h diff --git a/sysdeps/standalone/Subdirs b/sysdeps/standalone/Subdirs deleted file mode 100644 index 4125ae86db..0000000000 --- a/sysdeps/standalone/Subdirs +++ /dev/null @@ -1,4 +0,0 @@ -# The `bare' subdirectory defines some structure for a target-specific -# library of functions which are actually implemented in -# sysdeps/standalone/CPU/TARGET. -bare diff --git a/sysdeps/standalone/arm/bits/errno.h b/sysdeps/standalone/arm/bits/errno.h deleted file mode 100644 index 8e10754330..0000000000 --- a/sysdeps/standalone/arm/bits/errno.h +++ /dev/null @@ -1,65 +0,0 @@ -/* Copyright (C) 1991,1994,1996,1997,1998,2004 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* This file defines the `errno' constants for standalone ARM machines. - These constants are essentially arbitrary. */ - -#if !defined __Emath_defined && (defined _ERRNO_H || defined __need_Emath) -# undef __need_Emath -# define __Emath_defined 1 - -# define EDOM 1 -# define ERANGE 2 -#endif - -#ifdef _ERRNO_H -# define ENOSYS 3 -# define EINVAL 4 -# define ESPIPE 5 -# define EBADF 6 -# define ENOMEM 7 -# define EACCES 8 -# define ENFILE 9 -# define EMFILE 10 -# define ENAMETOOLONG 11 /* File name too long */ -# define ELOOP 12 /* Too many symbolic links encountered */ -# define ENOMSG 13 /* No message of desired type */ -# define E2BIG 14 /* Arg list too long */ -# define EINTR 15 -# define EILSEQ 16 -# define ENOEXEC 17 -# define ENOENT 18 -# define EPROTOTYPE 19 -# define ESRCH 20 -# define EPERM 21 -# define ENOTDIR 22 -# define ESTALE 23 -# define EISDIR 24 -# define EOPNOTSUPP 25 /* Operation not supported. */ -# define ENOTTY 26 -# define EAGAIN 27 -# define EIO 28 -# define ENOSPC 29 -# define EEXIST 30 -# define EBUSY 31 -# define EOVERFLOW 32 -#endif - - -/* Function to get address of global `errno' variable. */ -extern int *__errno_location (void) __THROW __attribute__ ((__const__)); diff --git a/sysdeps/standalone/arm/sysdep.c b/sysdeps/standalone/arm/sysdep.c deleted file mode 100644 index 8c17234226..0000000000 --- a/sysdeps/standalone/arm/sysdep.c +++ /dev/null @@ -1,32 +0,0 @@ -/* Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sysdep.h> - -/* errno has to be defined somewhere, and it might as well be here. */ -int errno = 0; - -/* The same goes for these magic signal functions. This is a standalone - environment so we do nothing. */ -void _sig_dfl(int sig) -{ -} - -void _sig_ign(int sig) -{ -} diff --git a/sysdeps/standalone/bits/errno.h b/sysdeps/standalone/bits/errno.h deleted file mode 100644 index 217c6d5d82..0000000000 --- a/sysdeps/standalone/bits/errno.h +++ /dev/null @@ -1,59 +0,0 @@ -/* Copyright (C) 1991, 1994, 1996, 1997, 1998 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* This file defines the `errno' constants. */ - -#if !defined __Emath_defined && (defined _ERRNO_H || defined __need_Emath) -#undef __need_Emath -#define __Emath_defined 1 - -# define EDOM 1 -# define EILSEQ 17 -# define ERANGE 2 -#endif - -#ifdef _ERRNO_H -# define ENOSYS 3 -# define EINVAL 4 -# define ESPIPE 5 -# define EBADF 6 -# define ENOMEM 7 -# define EACCES 8 -# define ENFILE 9 -# define EMFILE 10 -# define ENOMSG 11 -# define ENAMETOOLONG 12 -# define ELOOP 13 -# define E2BIG 15 -# define EINTR 16 -# define ENOEXEC 18 -# define ENOENT 19 -# define EPROTOTYPE 20 -# define ESRCH 21 -# define EPERM 22 -# define EEXIST 23 -# define ENOTDIR 24 -# define ESTALE 25 -# define ENOTTY 26 -# define EISDIR 27 -# define EOPNOTSUPP 28 -# define EAGAIN 29 -# define EIO 30 -# define ENOSPC 31 -# define EBUSY 32 -#endif diff --git a/sysdeps/standalone/brk.c b/sysdeps/standalone/brk.c deleted file mode 100644 index 32e148edcc..0000000000 --- a/sysdeps/standalone/brk.c +++ /dev/null @@ -1,66 +0,0 @@ -/* Copyright (C) 1991, 1994, 1995, 1997 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Ported to standalone by Joel Sherrill jsherril@redstone-emh2.army.mil, - On-Line Applications Research Corporation. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <stdlib.h> - -void *__curbrk; -void *__rorig; -void *__rlimit; - -int -__brk (inaddr) - void *inaddr; -{ - - if ( ( (void *)inaddr > (void *)__rlimit ) || - ( (void *)inaddr < (void *)__rorig ) ) - return -1; - - __curbrk = inaddr; - return 0; -} - -/* Initialization Code for Memory Allocation */ - -void *__C_heap_start; -int __C_heap_size; - -#ifdef HAVE_GNU_LD -static -#endif -void -__NONE_set_memvals (argc, argv, envp) - int argc; - char **argv; - char **envp; -{ - - __rorig = - __curbrk = __C_heap_start; - __rlimit = __curbrk + __C_heap_size; - - (void) &__NONE_set_memvals; /* Avoid "defined but not used" warning. */ -} - -#ifdef HAVE_GNU_LD -text_set_element (__libc_subinit, __NONE_set_memvals); -#endif - -weak_alias (__brk, brk) diff --git a/sysdeps/standalone/close.c b/sysdeps/standalone/close.c deleted file mode 100644 index 8c2caf1975..0000000000 --- a/sysdeps/standalone/close.c +++ /dev/null @@ -1,43 +0,0 @@ -/* Copyright (C) 1994, 1995, 1996, 1997, 2002 Free Software Foundation, Inc. - Ported to standalone by Joel Sherrill jsherril@redstone-emh2.army.mil, - On-Line Applications Research Corporation. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <errno.h> -#include <unistd.h> - -#define _STDIO_H -#include <bits/stdio_lim.h> -#include "filedesc.h" - -/* Close the file descriptor FD. */ -int -__close (fd) - int fd; -{ - if ( !__FD_Is_valid( fd ) || !__FD_Table[ fd ].in_use ) - { - __set_errno (EBADF); - return -1; - } - - __FD_Table[ fd ].in_use = 0; - return 0; -} -libc_hidden_def (__close) -weak_alias (__close, close) diff --git a/sysdeps/standalone/dirstream.h b/sysdeps/standalone/dirstream.h deleted file mode 100644 index 6f58294b4c..0000000000 --- a/sysdeps/standalone/dirstream.h +++ /dev/null @@ -1,43 +0,0 @@ -/* Copyright (C) 1993, 1997 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _DIRSTREAM_H - -#define _DIRSTREAM_H 1 - -#define __need_size_t -#include <stddef.h> - -/* Directory stream type. - - The miscellaneous Unix `readdir' implementations read directory data - into a buffer and fill in a `struct dirent' copy in the `DIR' object. */ - -struct __dirstream - { - int __fd; /* File descriptor. */ - - char *__data; /* Directory block. */ - size_t __allocation; /* Space allocated for the block. */ - size_t __offset; /* Current offset into the block. */ - size_t __size; /* Total valid data in the block. */ - - struct dirent __entry; /* Returned by `readdir'. */ - }; - -#endif /* dirstream.h */ diff --git a/sysdeps/standalone/filedesc.h b/sysdeps/standalone/filedesc.h deleted file mode 100644 index b7c15b5010..0000000000 --- a/sysdeps/standalone/filedesc.h +++ /dev/null @@ -1,48 +0,0 @@ -/* Copyright (C) 1994, 1997, 1998 Free Software Foundation, Inc. - Ported to standalone by Joel Sherrill jsherril@redstone-emh2.army.mil, - On-Line Applications Research Corporation. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* - * This is the file descriptor used by the no OS implementation - * of __open, __read, __write, and __close. - */ - -#ifndef __FILEDESC_h -#define __FILEDESC_h - -#define __need_FOPEN_MAX -#include <bits/stdio_lim.h> - -#ifndef __DECLARE_FILE_DESCRIPTORS__ -#define FILEDESC_EXTERN extern -#else -#define FILEDESC_EXTERN -#endif - -typedef struct { - int in_use; /* 1 if in use, 0 otherwise */ - int flags; /* Flags from open */ -} __no_os_file_descriptor; - -#define __FD_Is_valid( _fd ) \ - ( (_fd) >= 0 && (_fd) < FOPEN_MAX ) - -FILEDESC_EXTERN __no_os_file_descriptor __FD_Table[ FOPEN_MAX ]; - -#endif diff --git a/sysdeps/standalone/i386/Dist b/sysdeps/standalone/i386/Dist deleted file mode 100644 index 98d13be9af..0000000000 --- a/sysdeps/standalone/i386/Dist +++ /dev/null @@ -1 +0,0 @@ -i386.h diff --git a/sysdeps/standalone/i386/force_cpu386/Dist b/sysdeps/standalone/i386/force_cpu386/Dist deleted file mode 100644 index 8b7b09e10a..0000000000 --- a/sysdeps/standalone/i386/force_cpu386/Dist +++ /dev/null @@ -1 +0,0 @@ -target.ld diff --git a/sysdeps/standalone/i386/force_cpu386/Makefile b/sysdeps/standalone/i386/force_cpu386/Makefile deleted file mode 100644 index 5cb4f2819d..0000000000 --- a/sysdeps/standalone/i386/force_cpu386/Makefile +++ /dev/null @@ -1,26 +0,0 @@ -# Copyright (C) 1994, 1997 Free Software Foundation, Inc. -# This file is part of the GNU C Library. -# Contributed by Joel Sherrill (jsherril@redstone-emh2.army.mil), -# On-Line Applications Research Corporation. - -# The GNU C Library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. - -# The GNU C Library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. - -# You should have received a copy of the GNU Lesser General Public -# License along with the GNU C Library; if not, write to the Free -# Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA -# 02111-1307 USA. - -ifeq (bare,$(subdir)) -install-others += $(inst_libdir)/force_cpu386.ld -$(inst_libdir)/force_cpu386.ld: $(sysdep_dir)/standalone/i386/target.ld \ - $(+force) - $(do-install) -endif diff --git a/sysdeps/standalone/i386/force_cpu386/_exit.c b/sysdeps/standalone/i386/force_cpu386/_exit.c deleted file mode 100644 index 2da822e99b..0000000000 --- a/sysdeps/standalone/i386/force_cpu386/_exit.c +++ /dev/null @@ -1,47 +0,0 @@ -/* Copyright (C) 1991, 1997, 1999, 2004 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Joel Sherrill (jsherril@redstone-emh2.army.mil), - On-Line Applications Research Corporation. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <unistd.h> -#include <stdlib.h> - -/* This returns control to FORCEbug. */ - -void Bsp_cleanup (void); - -/* The function `_exit' should take a status argument and simply - terminate program execution, using the low-order 8 bits of the - given integer as status. */ - -__NORETURN void -_exit (status) - int status; -{ - /* status is ignored */ - Bsp_cleanup(); -} -weak_alias (_exit, _Exit) - -#ifdef HAVE_GNU_LD - -#include <gnu-stabs.h> - -stub_warning(_exit); - -#endif /* GNU stabs. */ diff --git a/sysdeps/standalone/i386/force_cpu386/brdinit.c b/sysdeps/standalone/i386/force_cpu386/brdinit.c deleted file mode 100644 index 8392ce5857..0000000000 --- a/sysdeps/standalone/i386/force_cpu386/brdinit.c +++ /dev/null @@ -1,42 +0,0 @@ -/* Copyright (C) 1994, 1997, 2004 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Joel Sherrill (jsherril@redstone-emh2.army.mil), - On-Line Applications Research Corporation. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <standalone.h> -#include "i386.h" - -/* _Board_Initialize() - -This routine initializes the FORCE CPU386 board. */ - -void _Console_Initialize (void); - -void -_Board_Initialize () -{ - /* - * FORCE documentation incorrectly states that the bus request - * level is initialized to 3. It is actually initialized by - * FORCEbug to 0. - */ - - outport_byte (0x00, 0x3f); /* resets VMEbus request level */ - - _Console_Initialize (); -} diff --git a/sysdeps/standalone/i386/force_cpu386/console.c b/sysdeps/standalone/i386/force_cpu386/console.c deleted file mode 100644 index 4c7271b660..0000000000 --- a/sysdeps/standalone/i386/force_cpu386/console.c +++ /dev/null @@ -1,163 +0,0 @@ -/* Copyright (C) 1994, 1997 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Joel Sherrill (jsherril@redstone-emh2.army.mil), - On-Line Applications Research Corporation. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <standalone.h> -#include "i386.h" - -/* Console IO routines for a FORCE CPU386 board. */ - -/* Force CPU/386 specific IO addressing - * - * The following determines whether Port B or the Console should - * be used for console I/O. Setting ONE (and only ONE) of these to 1 - * enables I/O on that port. - * - * PORT A - DUSCC MC68562 Channel A (*** not supported here ***) - * PORT B - DUSCC MC68562 Channel B - * PORT C - MFP MC68901 Channel (*** FORCEbug console ***) - */ - -#define PORTB 1 /* use port b as console */ -#define PORTC 0 /* use console port as console */ - -#if ( PORTB == 1 ) -#define TX_STATUS 0x1b6 /* DUSCC General Status Register */ -#define RX_STATUS 0x1b6 /* DUSCC General Status Register */ -#define TX_BUFFER 0x1e0 /* DUSCC Transmitter Channel B */ -#define RX_BUFFER 0x1e8 /* DUSCC Receiver Channel B */ -#define Is_tx_ready( _status ) ( (_status) & 0x20 ) -#define Is_rx_ready( _status ) ( (_status) & 0x10 ) -#endif - -#if ( PORTC == 1 ) -#define TX_STATUS 0x12c /* MFP Transmit Status Register */ -#define RX_STATUS 0x12a /* MFP Receive Status Register */ -#define TX_BUFFER 0x12e /* MFP Transmitter Channel */ -#define RX_BUFFER 0x12e /* MFP Receiver Channel */ -#define Is_tx_ready( _status ) ( (_status) & 0x80 ) -#define Is_rx_ready( _status ) ( (_status) & 0x80 ) -#endif - -/* _Console_Initialize - -On the Force board the console require some initialization. */ - -void -_Console_Initialize () -{ - register unsigned8 ignored; - - /* FORCE technical support mentioned that it may be necessary to - read the DUSCC RX_BUFFER port four times to remove all junk. - This code is a little more paranoid. */ - - inport_byte( RX_BUFFER, ignored ); - inport_byte( RX_BUFFER, ignored ); - inport_byte( RX_BUFFER, ignored ); - inport_byte( RX_BUFFER, ignored ); - inport_byte( RX_BUFFER, ignored ); -} - -/* Miscellaneous support for console IO */ - -static inline int _Force386_is_rx_ready () -{ - register unsigned8 status; - - inport_byte( RX_STATUS, status ); - - if ( Is_rx_ready( status ) ) return 1; - else return 0; -} - -static inline int _Force386_is_tx_ready () -{ - register unsigned8 status; - - inport_byte( TX_STATUS, status ); - - if ( Is_tx_ready( status ) ) return 1; - else return 0; -} - - -static inline int _Force386_read_data () -{ - register unsigned8 ch; - -#if ( PORTB == 1 ) - /* Force example code resets the Channel B Receiver here. - * It appears to cause XON's to be lost. - */ - - /* outport_byte( RX_STATUS, 0x10 ); */ -#endif - - inport_byte( RX_BUFFER, ch ); - - return ch; -} - -/* _Console_Putc - -This routine transmits a character. It supports XON/XOFF flow control. */ - -#define XON 0x11 /* control-Q */ -#define XOFF 0x13 /* control-S */ - -int -_Console_Putc (ch) - char ch; -{ - register unsigned8 inch; - - while ( !_Force386_is_tx_ready() ); - - while ( _Force386_is_rx_ready() == 1 ) { /* must be an XOFF */ - inch = _Force386_read_data(); - if ( inch == XOFF ) - do { - while ( _Force386_is_rx_ready() == 0 ); - inch = _Force386_read_data(); - } while ( inch != XON ); - } - - outport_byte( TX_BUFFER, ch ); - return( 0 ); -} - -/* _Console_Getc - -This routine reads a character from the UART and returns it. */ - -int -_Console_Getc (poll) - int poll; -{ - if ( poll ) { - if ( !_Force386_is_rx_ready() ) - return -1; - else - return _Force386_read_data(); - } else { - while ( !_Force386_is_rx_ready() ); - return _Force386_read_data(); - } -} diff --git a/sysdeps/standalone/i386/force_cpu386/strtsupp.S b/sysdeps/standalone/i386/force_cpu386/strtsupp.S deleted file mode 100644 index 5d9ac5c4a1..0000000000 --- a/sysdeps/standalone/i386/force_cpu386/strtsupp.S +++ /dev/null @@ -1,87 +0,0 @@ -/* Copyright (C) 1994, 1997 Free Software Foundation, Inc. - Contributed by Joel Sherrill (jsherril@redstone-emh2.army.mil), - On-Line Applications Research Corporation. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* This file assists the board independent startup code by - * loading the proper segment register values. The values - * loaded are dependent on the FORCEBUG. - * - * NOTE: No stack has been established when this routine - * is invoked. It returns by jumping back to the start code. - * - */ - -/* - * FORCEBUG loads us into a virtual address space which - * really starts at PHYSICAL_ADDRESS_BASE. - * - */ - -.set PHYSICAL_ADDRESS_BASE, 0x00002000 - -/* - * At reset time, FORCEBUG normally has the segment selectors preloaded. - * If a human resets the instruction pointer, this will not have occurred. - * However, no guarantee can be made of the other registers if cs:ip was - * modified to restart the program. Because of this, the BSP reloads all - * segment registers (except cs) with the values they have following - * a reset. - */ - - -.set RESET_SS, 0x40 # initial value of stack segment register -.set RESET_DS, 0x40 # initial value of data segment register -.set RESET_ES, 0x40 # initial value of extra segment register -.set RESET_FS, 0x40 # initial value of "f" segment register -.set RESET_GS, 0x30 # initial value of "g" segment register - - -#define LOAD_SEGMENTS(_value,_segreg) \ - movw $_value##,%ax ; \ - movw %ax,##_segreg - - - .global _load_segments - - .global _establish_stack - -_load_segments: - - LOAD_SEGMENTS( RESET_SS, %ss ) - LOAD_SEGMENTS( RESET_DS, %ds ) - LOAD_SEGMENTS( RESET_ES, %es ) - LOAD_SEGMENTS( RESET_FS, %fs ) - LOAD_SEGMENTS( RESET_GS, %gs ) - - jmp _establish_stack # return to the bsp entry code - - .global _return_to_monitor -_return_to_monitor: - - movb $0,%al - int $0x20 # restart FORCEbug - jmp start # FORCEbug does not reset PC - - .data - - .global _Do_Load_IDT -_Do_Load_IDT: .byte 1 - - .global _Do_Load_GDT -_Do_Load_GDT: .byte 0 diff --git a/sysdeps/standalone/i386/force_cpu386/target.ld b/sysdeps/standalone/i386/force_cpu386/target.ld deleted file mode 100644 index d040cf9784..0000000000 --- a/sysdeps/standalone/i386/force_cpu386/target.ld +++ /dev/null @@ -1,58 +0,0 @@ -/* Copyright (C) 1994, 1997 Free Software Foundation, Inc. - Contributed by Joel Sherrill (jsherril@redstone-emh2.army.mil), - On-Line Applications Research Corporation. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* This file contains directives for the GNU linker which are specific -to the FORCE CPU386 board. */ - -MEMORY - { - ram : org = 0x0, l = 1M - } - -/* This value is also when the space is allocated. If you change -this one, change the other one!!! */ - -heap_size = 0x20000; - -SECTIONS -{ - .text 0x0 : - { - _text_start = ABSOLUTE(.) ; - *(.text) - _etext = ALIGN( 0x10 ) ; - } - .data ADDR( .text ) + SIZEOF( .text ): - { - _data_start = . ; - *(.data) - _edata = ALIGN( 0x10 ) ; - } - .bss ADDR( .data ) + SIZEOF( .data ): - { - _bss_start = . ; - *(.bss) - *(COMMON) - heap_memory = .; - . += 0x20000; - _end = . ; - __end = . ; - } -} diff --git a/sysdeps/standalone/i386/i386.h b/sysdeps/standalone/i386/i386.h deleted file mode 100644 index 364e8abb3d..0000000000 --- a/sysdeps/standalone/i386/i386.h +++ /dev/null @@ -1,326 +0,0 @@ -/* Copyright (C) 1994, 1997 Free Software Foundation, Inc. - Contributed by Joel Sherrill (jsherril@redstone-emh2.army.mil), - On-Line Applications Research Corporation. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* i386.h - * - * This file contains macros which are used to access i80386 - * registers which are not addressable by C. This file contains - * functions which are useful to those developing target - * specific support routines. - */ - -#ifndef i386_h__ -#define i386_h__ - -typedef unsigned char unsigned8; -typedef unsigned short unsigned16; -typedef unsigned int unsigned32; - -#define disable_intr( isrlevel ) \ - { (isrlevel) = 0; \ - asm volatile ( "pushf ; \ - pop %0 ; \ - cli " \ - : "=r" ((isrlevel)) : "0" ((isrlevel)) ); \ - } - - -#define enable_intr( isrlevel ) \ - { asm volatile ( "push %0 ; \ - popf " \ - : "=r" ((isrlevel)) : "0" ((isrlevel)) ); \ - } - -#define delay( _microseconds ) \ - { \ - unsigned32 _counter; \ - \ - _counter = (_microseconds); \ - \ - asm volatile ( "0: nop;" \ - " mov %0,%0 ;" \ - " loop 0" : "=c" (_counter) \ - : "0" (_counter) \ - ); \ - \ - } - -/* segment access functions */ - -static inline unsigned16 get_cs() -{ - register unsigned16 segment = 0; - - asm volatile ( "movw %%cs,%0" : "=r" (segment) : "0" (segment) ); - - return segment; -} - -static inline unsigned16 get_ds() -{ - register unsigned16 segment = 0; - - asm volatile ( "movw %%ds,%0" : "=r" (segment) : "0" (segment) ); - - return segment; -} - -static inline unsigned16 get_es() -{ - register unsigned16 segment = 0; - - asm volatile ( "movw %%es,%0" : "=r" (segment) : "0" (segment) ); - - return segment; -} - -static inline unsigned16 get_ss() -{ - register unsigned16 segment = 0; - - asm volatile ( "movw %%ss,%0" : "=r" (segment) : "0" (segment) ); - - return segment; -} - -static inline unsigned16 get_fs() -{ - register unsigned16 segment = 0; - - asm volatile ( "movw %%fs,%0" : "=r" (segment) : "0" (segment) ); - - return segment; -} - -static inline unsigned16 get_gs() -{ - register unsigned16 segment = 0; - - asm volatile ( "movw %%gs,%0" : "=r" (segment) : "0" (segment) ); - - return segment; -} - -/* i80x86 I/O instructions */ - -#define outport_byte( _port, _value ) \ - { register unsigned16 __port = _port; \ - register unsigned8 __value = _value; \ - \ - asm volatile ( "outb %0,%1" : "=a" (__value), "=d" (__port) \ - : "0" (__value), "1" (__port) \ - ); \ - } - -#define outport_word( _port, _value ) \ - { register unsigned16 __port = _port; \ - register unsigned16 __value = _value; \ - \ - asm volatile ( "outw %0,%1" : "=a" (__value), "=d" (__port) \ - : "0" (__value), "1" (__port) \ - ); \ - } - -#define outport_long( _port, _value ) \ - { register unsigned16 __port = _port; \ - register unsigned32 __value = _value; \ - \ - asm volatile ( "outl %0,%1" : "=a" (__value), "=d" (__port) \ - : "0" (__value), "1" (__port) \ - ); \ - } - -#define inport_byte( _port, _value ) \ - { register unsigned16 __port = _port; \ - register unsigned8 __value = 0; \ - \ - asm volatile ( "inb %1,%0" : "=a" (__value), "=d" (__port) \ - : "0" (__value), "1" (__port) \ - ); \ - _value = __value; \ - } - -#define inport_word( _port, _value ) \ - { register unsigned16 __port = _port; \ - register unsigned16 __value = 0; \ - \ - asm volatile ( "inw %1,%0" : "=a" (__value), "=d" (__port) \ - : "0" (__value), "1" (__port) \ - ); \ - _value = __value; \ - } - -#define inport_long( _port, _value ) \ - { register unsigned16 __port = _port; \ - register unsigned32 __value = 0; \ - \ - asm volatile ( "inl %1,%0" : "=a" (__value), "=d" (__port) \ - : "0" (__value), "1" (__port) \ - ); \ - _value = __value; \ - } - -/* structures */ - -/* See Chapter 5 - Memory Management in i386 manual */ - -struct GDT_slot { - unsigned16 limit_0_15; - unsigned16 base_0_15; - unsigned8 base_16_23; - unsigned8 type_dt_dpl_p; - unsigned8 limit_16_19_granularity; - unsigned8 base_24_31; -}; - -/* See Chapter 9 - Exceptions and Interrupts in i386 manual - * - * NOTE: This is the IDT entry for interrupt gates ONLY. - */ - -struct IDT_slot { - unsigned16 offset_0_15; - unsigned16 segment_selector; - unsigned8 reserved; - unsigned8 p_dpl; - unsigned16 offset_16_31; -}; - -struct DTR_load_save_format { - unsigned16 limit; - unsigned32 physical_address; -}; - -/* variables */ - -extern struct IDT_slot Interrupt_descriptor_table[ 256 ]; -extern struct GDT_slot Global_descriptor_table[ 8192 ]; - -/* functions */ - -#ifdef CPU_INITIALIZE -#define EXTERN -#else -#undef EXTERN -#define EXTERN extern -#endif - -void *Logical_to_physical( - unsigned16 segment, - void *address -); - -void *Physical_to_logical( - unsigned16 segment, - void *address -); - -/* complicated static inline functions */ - -#define get_GDTR( _gdtr_address ) \ - { \ - void *_gdtr = (_gdtr_address); \ - \ - asm volatile( "sgdt (%0)" : "=r" (_gdtr) : "0" (_gdtr) ); \ - } - -#define get_GDT_slot( _gdtr_base, _segment, _slot_address ) \ - { \ - register unsigned32 _gdt_slot = (_gdtr_base) + (_segment); \ - register volatile void *_slot = (_slot_address); \ - register unsigned32 _temporary = 0; \ - \ - asm volatile( "movl %%gs:(%0),%1 ; \ - movl %1,(%2) ; \ - movl %%gs:4(%0),%1 ; \ - movl %1,4(%2)" \ - : "=r" (_gdt_slot), "=r" (_temporary), "=r" (_slot) \ - : "0" (_gdt_slot), "1" (_temporary), "2" (_slot) \ - ); \ - } - -#define set_GDT_slot( _gdtr_base, _segment, _slot_address ) \ - { \ - register unsigned32 _gdt_slot = (_gdtr_base) + (_segment); \ - register volatile void *_slot = (_slot_address); \ - register unsigned32 _temporary = 0; \ - \ - asm volatile( "movl (%2),%1 ; \ - movl %1,%%gs:(%0) ; \ - movl 4(%2),%1 ; \ - movl %1,%%gs:4(%0) \ - " \ - : "=r" (_gdt_slot), "=r" (_temporary), "=r" (_slot) \ - : "0" (_gdt_slot), "1" (_temporary), "2" (_slot) \ - ); \ - } - -static inline void set_segment( - unsigned16 segment, - unsigned32 base, - unsigned32 limit -) -{ - struct DTR_load_save_format gdtr; - volatile struct GDT_slot Gdt_slot; - volatile struct GDT_slot *gdt_slot = &Gdt_slot; - unsigned16 tmp_segment = 0; - unsigned32 limit_adjusted; - - - /* load physical address of the GDT */ - - get_GDTR( &gdtr ); - - gdt_slot->type_dt_dpl_p = 0x92; /* present, dpl=0, */ - /* application=1, */ - /* type=data read/write */ - gdt_slot->limit_16_19_granularity = 0x40; /* 32 bit segment */ - - limit_adjusted = limit; - if ( limit > 4095 ) { - gdt_slot->limit_16_19_granularity |= 0x80; /* set granularity bit */ - limit_adjusted /= 4096; - } - - gdt_slot->limit_16_19_granularity |= (limit_adjusted >> 16) & 0xff; - gdt_slot->limit_0_15 = limit_adjusted & 0xffff; - - gdt_slot->base_0_15 = base & 0xffff; - gdt_slot->base_16_23 = (base >> 16) & 0xff; - gdt_slot->base_24_31 = (base >> 24); - - set_GDT_slot( gdtr.physical_address, segment, gdt_slot ); - - /* Now, reload all segment registers so the limit takes effect. */ - - asm volatile( "movw %%ds,%0 ; movw %0,%%ds\n" - "movw %%es,%0 ; movw %0,%%es\n" - "movw %%fs,%0 ; movw %0,%%fs\n" - "movw %%gs,%0 ; movw %0,%%gs\n" - "movw %%ss,%0 ; movw %0,%%ss" - : "=r" (tmp_segment) - : "0" (tmp_segment) - ); - -} - -#endif -/* end of include file */ diff --git a/sysdeps/standalone/i386/start.S b/sysdeps/standalone/i386/start.S deleted file mode 100644 index b3fd315e5a..0000000000 --- a/sysdeps/standalone/i386/start.S +++ /dev/null @@ -1,338 +0,0 @@ -/* Copyright (C) 1994, 1997 Free Software Foundation, Inc. - Contributed by Joel Sherrill (jsherril@redstone-emh2.army.mil), - On-Line Applications Research Corporation. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - In addition to the permissions in the GNU Lesser General Public - License, the Free Software Foundation gives you unlimited - permission to link the compiled version of this file with other - programs, and to distribute those programs without any restriction - coming from the use of this file. (The GNU Lesser General Public - License restrictions do apply in other respects; for example, they - cover modification of the file, and distribution when not linked - into another program.) - - Note that people who make modified versions of this file are not - obligated to grant this special exception for their modified - versions; it is their choice whether to do so. The GNU Lesser - General Public License gives permission to release a modified - version without this exception; this exception also makes it - possible to release a modified version which carries forward this - exception. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* entry.s - * - * This file contains the entry point for the application. - * The name of this entry point is compiler dependent. - * It jumps to the BSP which is responsible for performing - * all initialization. - * - */ - - .data - .global _Do_Load_IDT - .global _Do_Load_GDT - - .text - .global start # GNU default entry point - .global _establish_stack - - .global _bsp_start - .global _load_segments - .global __exit - -start: - nop - cli # DISABLE INTERRUPTS!!! -# -# Load the segment registers -# -# NOTE: Upon return, gs will contain the segment descriptor for -# a segment which maps directly to all of physical memory. -# - jmp _load_segments # load board dependent segments - -# -# Set up the stack -# - -_establish_stack: - - movl $stack_end,%esp # set stack pointer - movl $stack_end,%ebp # set base pointer - -# -# Zero out the BSS segment -# -zero_bss: - cld # make direction flag count up - movl $_end,%ecx # find end of .bss - movl $_bss_start,%edi # edi = beginning of .bss - subl %edi,%ecx # ecx = size of .bss in bytes - shrl $2,%ecx # size of .bss in longs - xorl %eax,%eax # value to clear out memory - repne # while ecx != 0 - stosl # clear a long in the bss - -# -# Set the C heap information for malloc -# - movl $heap_size,___C_heap_size # set ___C_heap_size - movl $heap_memory,___C_heap_start # set ___C_heap_start - -# -# Copy the Global Descriptor Table to our space -# - - sgdt _Original_GDTR # save original GDT - movzwl _Original_GDTR_limit,%ecx # size of GDT in bytes; limit - # is 8192 entries * 8 bytes per - - # make ds:esi point to the original GDT - - movl _Original_GDTR_base,%esi - push %ds # save ds - movw %gs,%ax - movw %ax,%ds - - # make es:edi point to the new (our copy) GDT - movl $_Global_descriptor_table,%edi - - rep - movsb # copy the GDT (ds:esi -> es:edi) - - pop %ds # restore ds - - # Build and load new contents of GDTR - movw _Original_GDTR_limit,%ecx # set new limit - movw %cx,_New_GDTR_limit - - push $_Global_descriptor_table - push %es - call _Logical_to_physical - addl $6,%esp - movl %eax,_New_GDTR_base # set new base - - cmpb $0,_Do_Load_GDT # Should the new GDT be loaded? - je no_gdt_load # NO, then branch - lgdt _New_GDTR # load the new GDT -no_gdt_load: - -# -# Copy the Interrupt Descriptor Table to our space -# - - sidt _Original_IDTR # save original IDT - movzwl _Original_IDTR_limit,%ecx # size of IDT in bytes; limit - # is 256 entries * 8 bytes per - - - # make ds:esi point to the original IDT - movl _Original_IDTR_base,%esi - - push %ds # save ds - movw %gs,%ax - movw %ax,%ds - - # make es:edi point to the new (our copy) IDT - movl $_Interrupt_descriptor_table,%edi - - rep - movsb # copy the IDT (ds:esi -> es:edi) - pop %ds # restore ds - - # Build and load new contents of IDTR - movw _Original_IDTR_limit,%ecx # set new limit - movw %cx,_New_IDTR_limit - - push $_Interrupt_descriptor_table - push %es - call _Logical_to_physical - addl $6,%esp - movl %eax,_New_IDTR_base # set new base - - cmpb $0,_Do_Load_IDT # Should the new IDT be loaded? - je no_idt_load # NO, then branch - lidt _New_IDTR # load the new IDT -no_idt_load: - -# -# Initialize the i387. -# -# Using the NO WAIT form of the instruction insures that if -# it is not present the board will not lock up or get an -# exception. -# - - fninit # MUST USE NO-WAIT FORM - - call __Board_Initialize # initialize the board - - pushl $0 # envp = NULL - pushl $0 # argv = NULL - pushl $0 # argc = NULL - call ___libc_init # initialize the library and - # call main - addl $12,%esp - - pushl $0 # argc = NULL - call __exit # call the Board specific exit - addl $4,%esp - -# -# Clean up -# - - - .global _Bsp_cleanup - - .global _return_to_monitor - -_Bsp_cleanup: - cmpb $0,_Do_Load_IDT # Was the new IDT loaded? - je no_idt_restore # NO, then branch - lidt _Original_IDTR # restore the new IDT -no_idt_restore: - - cmpb $0,_Do_Load_GDT # Was the new GDT loaded? - je no_gdt_restore # NO, then branch - lgdt _Original_GDTR # restore the new GDT -no_gdt_restore: - jmp _return_to_monitor - -# -# void *Logical_to_physical( -# rtems_unsigned16 segment, -# void *address -# ); -# -# Returns thirty-two bit physical address for segment:address. -# - - .global _Logical_to_physical - -.set SEGMENT_ARG, 4 -.set ADDRESS_ARG, 8 - -_Logical_to_physical: - - xorl %eax,%eax # clear eax - movzwl SEGMENT_ARG(%esp),%ecx # ecx = segment value - movl $_Global_descriptor_table,%edx # edx = address of our GDT - addl %ecx,%edx # edx = address of desired entry - movb 7(%edx),%ah # ah = base 31:24 - movb 4(%edx),%al # al = base 23:16 - shll $16,%eax # move ax into correct bits - movw 2(%edx),%ax # ax = base 0:15 - movl ADDRESS_ARG(%esp),%ecx # ecx = address to convert - addl %eax,%ecx # ecx = physical address equivalent - movl %ecx,%eax # eax = ecx - ret - -# -# void *Physical_to_logical( -# rtems_unsigned16 segment, -# void *address -# ); -# -# Returns thirty-two bit physical address for segment:address. -# - - .global _Physical_to_logical - -#.set SEGMENT_ARG, 4 -#.set ADDRESS_ARG, 8 -- use sets from above - -_Physical_to_logical: - - xorl %eax,%eax # clear eax - movzwl SEGMENT_ARG(%esp),%ecx # ecx = segment value - movl $_Global_descriptor_table,%edx # edx = address of our GDT - addl %ecx,%edx # edx = address of desired entry - movb 7(%edx),%ah # ah = base 31:24 - movb 4(%edx),%al # al = base 23:16 - shll $16,%eax # move ax into correct bits - movw 2(%edx),%ax # ax = base 0:15 - movl ADDRESS_ARG(%esp),%ecx # ecx = address to convert - subl %eax,%ecx # ecx = logical address equivalent - movl %ecx,%eax # eax = ecx - ret - - -/* - * Data Declarations. Start with a macro which helps declare space. - */ - - .bss - -#define DECLARE_SPACE(_name,_space,_align) \ - .globl _name ; \ - .align _align ; \ -_name##: .space _space - -#define DECLARE_LABEL(_name) \ - .globl _name ; \ -_name##: - -#define DECLARE_PTR(_name) DECLARE_SPACE(_name,4,2) -#define DECLARE_U32(_name) DECLARE_SPACE(_name,4,2) -#define DECLARE_U16(_name) DECLARE_SPACE(_name,2,1) - -/* - * Require environment stuff - */ - -DECLARE_LABEL(_environ) -DECLARE_PTR(environ) - -DECLARE_LABEL(_errno) -DECLARE_U32(errno) - -/* - * Miscellaneous Variables used to restore the CPU state. - * - * Start with a macro to declare the space for the contents of - * a Descriptor Table register. - */ - -#define DECLARE_DTR_SPACE(_name) \ - .global _name ; \ - .align 4 ; \ -_name##: ; \ -_name##_limit: .space 2 ; \ -_name##_base: .space 4 - -DECLARE_SPACE(_Interrupt_descriptor_table,256*8,4) -DECLARE_SPACE(_Global_descriptor_table,8192*8,4) - -DECLARE_DTR_SPACE(_Original_IDTR) -DECLARE_DTR_SPACE(_New_IDTR) -DECLARE_DTR_SPACE(_Original_GDTR) -DECLARE_DTR_SPACE(_New_GDTR) - -DECLARE_SPACE(_Physical_base_of_ds,4,4) -DECLARE_SPACE(_Physical_base_of_cs,4,4) - -/* - * Stack Size and Space - */ - - .set stack_size, 0x20000 - -DECLARE_SPACE(stack_memory,stack_size,4) -DECLARE_LABEL(stack_end) diff --git a/sysdeps/standalone/i960/Dist b/sysdeps/standalone/i960/Dist deleted file mode 100644 index e1747ef91e..0000000000 --- a/sysdeps/standalone/i960/Dist +++ /dev/null @@ -1 +0,0 @@ -i960ca.h diff --git a/sysdeps/standalone/i960/i960ca.h b/sysdeps/standalone/i960/i960ca.h deleted file mode 100644 index 0dcf5c374a..0000000000 --- a/sysdeps/standalone/i960/i960ca.h +++ /dev/null @@ -1,206 +0,0 @@ -/* Copyright (C) 1994, 1996, 1997 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Joel Sherrill (jsherril@redstone-emh2.army.mil), - On-Line Applications Research Corporation. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* i960ca.h - * - * This file contains macros which are used to access i80960CA - * registers which are not addressable by C. The functions - * in this file should be useful to the developer of target - * specific code. - */ - -#ifndef i960ca_h__ -#define i960ca_h__ - -typedef unsigned char unsigned8; -typedef unsigned short unsigned16; -typedef unsigned int unsigned32; - -/* - * Intel i80960CA Processor Control Block - */ - -struct i80960ca_prcb { - unsigned32 *fault_tbl; /* fault table base address */ - struct i80960ca_ctltbl - *control_tbl; /* control table base address */ - unsigned32 initial_ac; /* AC register initial value */ - unsigned32 fault_config; /* fault configuration word */ - void *intr_tbl; /* interrupt table base address */ - void *sys_proc_tbl; /* system procedure table */ - /* base address */ - unsigned32 reserved; /* reserved */ - unsigned32 *intr_stack; /* interrupt stack pointer */ - unsigned32 ins_cache_cfg; /* instruction cache */ - /* configuration word */ - unsigned32 reg_cache_cfg; /* register cache */ - /* configuration word */ -}; - -/* - * Intel i80960CA Control Table - */ - -struct i80960ca_ctltbl { - /* Control Group 0 */ - unsigned32 ipb0; /* IP breakpoint 0 */ - unsigned32 ipb1; /* IP breakpoint 1 */ - unsigned32 dab0; /* data address breakpoint 0 */ - unsigned32 dab1; /* data address breakpoint 1 */ - /* Control Group 1 */ - unsigned32 imap0; /* interrupt map 0 */ - unsigned32 imap1; /* interrupt map 1 */ - unsigned32 imap2; /* interrupt map 2 */ - unsigned32 icon; /* interrupt control */ - /* Control Group 2 */ - unsigned32 mcon0; /* memory region 0 configuration */ - unsigned32 mcon1; /* memory region 1 configuration */ - unsigned32 mcon2; /* memory region 2 configuration */ - unsigned32 mcon3; /* memory region 3 configuration */ - /* Control Group 3 */ - unsigned32 mcon4; /* memory region 4 configuration */ - unsigned32 mcon5; /* memory region 5 configuration */ - unsigned32 mcon6; /* memory region 6 configuration */ - unsigned32 mcon7; /* memory region 7 configuration */ - /* Control Group 4 */ - unsigned32 mcon8; /* memory region 8 configuration */ - unsigned32 mcon9; /* memory region 9 configuration */ - unsigned32 mcon10; /* memory region 10 configuration */ - unsigned32 mcon11; /* memory region 11 configuration */ - /* Control Group 5 */ - unsigned32 mcon12; /* memory region 12 configuration */ - unsigned32 mcon13; /* memory region 13 configuration */ - unsigned32 mcon14; /* memory region 14 configuration */ - unsigned32 mcon15; /* memory region 15 configuration */ - /* Control Group 6 */ - unsigned32 bpcon; /* breakpoint control */ - unsigned32 tc; /* trace control */ - unsigned32 bcon; /* bus configuration control */ - unsigned32 reserved; /* reserved */ -}; - -#define disable_intr( oldlevel ) \ - { (oldlevel) = 0x1f0000; \ - asm volatile ( "modpc 0,%1,%1" \ - : "=d" ((oldlevel)) \ - : "0" ((oldlevel)) ); \ - } - -#define enable_intr( oldlevel ) \ - { unsigned32 _mask = 0x1f0000; \ - asm volatile ( "modpc 0,%0,%1" \ - : "=d" (_mask), "=d" ((oldlevel)) \ - : "0" (_mask), "1" ((oldlevel)) ); \ - } - -#define flash_intr( oldlevel ) \ - { unsigned32 _mask = 0x1f0000; \ - asm volatile ( "modpc 0,%0,%1 ; \ - mov %0,%1 ; \ - modpc 0,%0,%1" \ - : "=d" (_mask), "=d" ((oldlevel)) \ - : "0" (_mask), "1" ((oldlevel)) ); \ - } - -#define atomic_modify( mask, addr, prev ) \ - { register unsigned32 _mask = (mask); \ - register unsigned32 *_addr = (unsigned32 *)(addr); \ - asm volatile( "atmod %0,%1,%1" \ - : "=d" (_addr), "=d" (_mask) \ - : "0" (_addr), "1" (_mask) ); \ - (prev) = _mask; \ - } - -#define delay( microseconds ) \ - { register unsigned32 _delay=(microseconds); \ - register unsigned32 _tmp; \ - asm volatile( "delay0: \ - remo 3,31,%0 ; \ - cmpo 0,%0 ; \ - subo 1,%1,%1 ; \ - cmpobne.t 0,%1,delay0 " \ - : "=d" (_tmp), "=d" (_delay) \ - : "0" (_tmp), "1" (_delay) ); \ - } - -#define enable_tracing() \ - { register unsigned32 _pc = 0x1; \ - asm volatile( "modpc 0,%0,%0" : "=d" (_pc) : "0" (_pc) ); \ - } - -#define unmask_intr( xint ) \ - { register unsigned32 _mask= (1<<(xint)); \ - asm volatile( "or sf1,%0,sf1" : "=d" (_mask) : "0" (_mask) ); \ - } - -#define mask_intr( xint ) \ - { register unsigned32 _mask= (1<<(xint)); \ - asm volatile( "andnot %0,sf1,sf1" : "=d" (_mask) : "0" (_mask) ); \ - } - -#define clear_intr( xint ) \ - { register unsigned32 _xint=(xint); \ - asm volatile( "loop_til_cleared:" \ - " clrbit %0,sf0,sf0 ;" \ - " bbs %0,sf0,loop_til_cleared" \ - : "=d" (_xint) : "0" (_xint) ); \ - } - -#define reload_ctl_group( group ) \ - { register int _cmd = ((group)|0x400) ; \ - asm volatile( "sysctl %0,%0,%0" : "=d" (_cmd) : "0" (_cmd) ); \ - } - -#define cause_intr( intr ) \ - { register int _intr = (intr); \ - asm volatile( "sysctl %0,%0,%0" : "=d" (_intr) : "0" (_intr) ); \ - } - -#define soft_reset( prcb ) \ - { register struct i80960ca_prcb *_prcb = (prcb); \ - register unsigned32 *_next=0; \ - register unsigned32 _cmd = 0x30000; \ - asm volatile( "lda next,%1; \ - sysctl %0,%1,%2; \ - next: mov g0,g0" \ - : "=d" (_cmd), "=d" (_next), "=d" (_prcb) \ - : "0" (_cmd), "1" (_next), "2" (_prcb) ); \ - } - -static inline unsigned32 pend_intrs() -{ register unsigned32 _intr=0; - asm volatile( "mov sf0,%0" : "=d" (_intr) : "0" (_intr) ); - return ( _intr ); -} - -static inline unsigned32 mask_intrs() -{ register unsigned32 _intr=0; - asm volatile( "mov sf1,%0" : "=d" (_intr) : "0" (_intr) ); - return( _intr ); -} - -static inline unsigned32 get_fp() -{ register unsigned32 _fp=0; - asm volatile( "mov fp,%0" : "=d" (_fp) : "0" (_fp) ); - return ( _fp ); -} - -#endif -/* end of include file */ diff --git a/sysdeps/standalone/i960/nindy960/Makefile b/sysdeps/standalone/i960/nindy960/Makefile deleted file mode 100644 index 40ead970ad..0000000000 --- a/sysdeps/standalone/i960/nindy960/Makefile +++ /dev/null @@ -1,24 +0,0 @@ -# Copyright (C) 1993, 1997 Free Software Foundation, Inc. -# This file is part of the GNU C Library. -# Contributed by Joel Sherrill (jsherril@redstone-emh2.army.mil), -# On-Line Applications Research Corporation. - -# The GNU C Library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. - -# The GNU C Library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. - -# You should have received a copy of the GNU Lesser General Public -# License along with the GNU C Library; if not, write to the Free -# Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA -# 02111-1307 USA. - - -# The nindy960 support has only been tested on the following boards: -# -# + Cyclone CVME961 VMEbus single board computer. diff --git a/sysdeps/standalone/i960/nindy960/_exit.c b/sysdeps/standalone/i960/nindy960/_exit.c deleted file mode 100644 index 9cd3f8519e..0000000000 --- a/sysdeps/standalone/i960/nindy960/_exit.c +++ /dev/null @@ -1,55 +0,0 @@ -/* Copyright (C) 1991, 1997, 1999 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Joel Sherrill (jsherril@redstone-emh2.army.mil), - On-Line Applications Research Corporation. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <unistd.h> -#include <stdlib.h> - -/* The function `_exit' should take a status argument and simply - terminate program execution, using the low-order 8 bits of the - given integer as status. */ - -/* This returns control to Nindy. */ -/* XXX where is __NORETURN ? */ -__NORETURN void -_exit (status) - int status; -{ - /* status is ignored */ - - asm volatile( "mov 0,g0; \ - fmark ; \ - syncf ; \ - .word 0xfeedface ; \ - bx start" : : ); - /* The constant 0xfeedface is a magic word for break which - * is defined by NINDY. The branch extended restarts the - * application if the user types "go". - */ -} -weak_alias (_exit, _Exit) - - -#ifdef HAVE_GNU_LD - -#include <gnu-stabs.h> - -stub_warning(_exit); - -#endif /* GNU stabs. */ diff --git a/sysdeps/standalone/i960/nindy960/brdinit.c b/sysdeps/standalone/i960/nindy960/brdinit.c deleted file mode 100644 index 9985a9930e..0000000000 --- a/sysdeps/standalone/i960/nindy960/brdinit.c +++ /dev/null @@ -1,64 +0,0 @@ -/* Copyright (C) 1994, 1997 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Joel Sherrill (jsherril@redstone-emh2.army.mil), - On-Line Applications Research Corporation. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <standalone.h> -#include "i960ca.h" - -/* _Board_Initialize() - -This routine initializes the board. - -NOTE: Only tested on a Cyclone CVME961 but should be OK on any i960ca board. */ - -void -_Board_Initialize () -{ - struct i80960ca_prcb *prcb; /* ptr to processor control block */ - struct i80960ca_ctltbl *ctl_tbl; /* ptr to control table */ - - static inline struct i80960ca_prcb *get_prcb() - { register struct i80960ca_prcb *_prcb = 0; - asm volatile( "calls 5; \ - mov g0,%0" \ - : "=d" (_prcb) \ - : "0" (_prcb) ); - return ( _prcb ); - } - - prcb = get_prcb (); - ctl_tbl = prcb->control_tbl; - - /* The following configures the data breakpoint (which must be set - * before this is executed) to break on writes only. - */ - - ctl_tbl->bpcon &= ~0x00cc0000; - reload_ctl_group (6); - - /* bit 31 of the Register Cache Control can be set to - * enable an alternative caching algorithm. It does - * not appear to help our applications. - */ - - /* Configure Number of Register Caches */ - - prcb->reg_cache_cfg = 8; - soft_reset (prcb); -} diff --git a/sysdeps/standalone/i960/nindy960/console.c b/sysdeps/standalone/i960/nindy960/console.c deleted file mode 100644 index b062d9215b..0000000000 --- a/sysdeps/standalone/i960/nindy960/console.c +++ /dev/null @@ -1,76 +0,0 @@ -/* Copyright (C) 1994, 1997 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Joel Sherrill (jsherril@redstone-emh2.army.mil), - On-Line Applications Research Corporation. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <standalone.h> -#include "i960ca.h" - -/* Console IO routines for a NINDY960 board. */ - -/* - * NINDY_IO( ... ) - * - * Interface to NINDY. - */ - -#define NINDY_INPUT 0 -#define NINDY_OUTPUT 1 - -void ___NINDY_IO_WRAPPER( void ) /* never called */ -{ - asm volatile ( " .text" ); - asm volatile ( " .align 4" ); - asm volatile ( " .globl _NINDY_IO" ); - asm volatile ( "_NINDY_IO:" ); - asm volatile ( " calls 0 /* call console routines */" ); - asm volatile ( " ret" ); -} - -/***** !!!! HOW DO I EXFUN NINDY_IO? !!!! *****/ - -/* _Console_Putc - -This routine transmits a character using NINDY. */ - -int -_Console_Putc (ch) - char ch; -{ - NINDY_IO( NINDY_OUTPUT, ch ); - return( 0 ); -} - -/* _Console_Getc - -This routine reads a character from NINDY and returns it. */ - -int -_Console_Getc (poll) - int poll; -{ - char ch; - - if ( poll ) { - /* I don't know how to poll with NINDY */ - return -1; - } else { - NINDY_IO( NINDY_INPUT, &ch ); - return ch; - } -} diff --git a/sysdeps/standalone/i960/start.S b/sysdeps/standalone/i960/start.S deleted file mode 100644 index 579beb77fb..0000000000 --- a/sysdeps/standalone/i960/start.S +++ /dev/null @@ -1,152 +0,0 @@ -/* Copyright (C) 1994, 1997 Free Software Foundation, Inc. - Contributed by Joel Sherrill (jsherril@redstone-emh2.army.mil), - On-Line Applications Research Corporation. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - In addition to the permissions in the GNU Lesser General Public - License, the Free Software Foundation gives you unlimited - permission to link the compiled version of this file with other - programs, and to distribute those programs without any restriction - coming from the use of this file. (The GNU Lesser General Public - License restrictions do apply in other respects; for example, they - cover modification of the file, and distribution when not linked - into another program.) - - Note that people who make modified versions of this file are not - obligated to grant this special exception for their modified - versions; it is their choice whether to do so. The GNU Lesser - General Public License gives permission to release a modified - version without this exception; this exception also makes it - possible to release a modified version which carries forward this - exception. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* entry.s - * - * This file contains the entry point for the application. - * The name of this entry point is compiler dependent. - * It jumps to the BSP which is responsible for performing - * all initialization. - * - */ - - .text - .globl start # GNU960 default entry point - -start: - mov 3, r12 - modpc r12, r12, r12 # enable tracing/trace faults - mov g5, g5 # NOP - mov 0, g14 # initialize constant for C - - /* - * zero out uninitialized data area - */ -zerobss: - lda _end, r4 /* find end of .bss */ - lda _bss_start, r5 /* find beginning of .bss */ - ldconst 0, r6 - -loop: st r6, (r5) /* to zero out uninitialized */ - addo 4, r5, r5 /* data area */ - cmpobl r5, r4, loop /* loop until _end reached */ - - - lda heap_memory, r12 /* tell C lib where heap is */ - st r12,___C_heap_start - lda heap_size, r12 /* tell C lib how big heap is */ - st r12,___C_heap_size - lda stack_memory,r12 /* set up stack pointer: */ - mov r12, sp - mov 0, g14 /* initialize constant for C */ - - call init_frames - ret /* return to monitor */ - -init_frames: - ldconst 0x3b001000, g0 - ldconst 0x00009107, g1 - modac g1, g0, g0 /* set AC controls */ - - /* - * Call application mainline. - * Someday, real values of argc and argv will be set up. - * For now, they are set to 0. - */ - - callx __Board_Initialize /* Initialize the board */ - - ldconst 0,g0 - ldconst 0,g1 - ldconst 0,g2 - callx ___libc_init /* initialize the library and */ - /* call main */ - /* - * if we return from main, we have "fallen" off the end - * of the program, therefore status is 0 - * so move 0 to g0 (exit parameter) - */ - - mov 0, g0 - callx __exit - ret - - -/* - * Data Declarations. Start with a macro which helps declare space. - */ - -#define DECLARE_SPACE(_name,_space,_align) \ - .globl _name ; \ - .align _align ; \ -.comm _name##,_space - -#define DECLARE_LABEL(_name) \ - .globl _name ; \ -_name##: - -#define DECLARE_PTR(_name) DECLARE_SPACE(_name,4,2) -#define DECLARE_U32(_name) DECLARE_SPACE(_name,4,2) -#define DECLARE_U16(_name) DECLARE_SPACE(_name,2,1) - -/* - * Require environment stuff - */ - -DECLARE_LABEL(_environ) -DECLARE_PTR(environ) - -DECLARE_LABEL(_errno) -DECLARE_U32(errno) - -/* - * Stack Size and Space - */ - - .set stack_size, 0x20000 - -DECLARE_SPACE(stack_memory,stack_size,4) -DECLARE_LABEL(stack_end) - -/* - * Heap Size and Space - */ - - .set heap_size, 0x20000 - -DECLARE_SPACE(heap_memory,heap_size,4) -DECLARE_LABEL(heap_end) diff --git a/sysdeps/standalone/m68k/m68020/Dist b/sysdeps/standalone/m68k/m68020/Dist deleted file mode 100644 index 90b37b40eb..0000000000 --- a/sysdeps/standalone/m68k/m68020/Dist +++ /dev/null @@ -1 +0,0 @@ -m68020.h diff --git a/sysdeps/standalone/m68k/m68020/m68020.h b/sysdeps/standalone/m68k/m68020/m68020.h deleted file mode 100644 index 8eee00753e..0000000000 --- a/sysdeps/standalone/m68k/m68020/m68020.h +++ /dev/null @@ -1,87 +0,0 @@ -/* Copyright (C) 1994, 1997 Free Software Foundation, Inc. - Contributed by Joel Sherrill (jsherril@redstone-emh2.army.mil), - On-Line Applications Research Corporation. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* m68020.h - * - * This file contains macros which are used to access MC68020 - * registers which are not addressable by C. These are - * useful when developing the board specific support. - */ - -#ifndef m68020_h__ -#define m68020_h__ - -typedef void ( *mc68020_isr )( void ); - -#define disable_intr( level ) \ - { (level) = 0; \ - asm volatile ( "movew %%sr,%0 ; \ - orw #0x0700,%%sr" \ - : "=d" ((level)) : "0" ((level)) ); \ - } - -#define enable_intr( level ) \ - { asm volatile ( "movew %0,%%sr " \ - : "=d" ((level)) : "0" ((level)) ); \ - } - -#define flash_intr( level ) \ - { asm volatile ( "movew %0,%%sr ; \ - orw #0x0700,%%sr" \ - : "=d" ((level)) : "0" ((level)) ); \ - } - -#define get_vbr( vbr ) \ - { (vbr) = 0; \ - asm volatile ( "movec %%vbr,%0 " \ - : "=a" (vbr) : "0" (vbr) ); \ - } - -#define set_vbr( vbr ) \ - { register mc68020_isr *_vbr= (mc68020_isr *)(vbr); \ - asm volatile ( "movec %0,%%vbr " \ - : "=a" (_vbr) : "0" (_vbr) ); \ - } - -#define enable_caching() \ - { register unsigned int _ctl=0x01; \ - asm volatile ( "movec %0,%%cacr" \ - : "=d" (_ctl) : "0" (_ctl) ); \ - } - -#define delay( microseconds ) \ - { register unsigned int _delay=(microseconds); \ - register unsigned int _tmp=123; \ - asm volatile( "0: \ - nbcd %0 ; \ - nbcd %0 ; \ - dbf %1,0 " \ - : "=d" (_tmp), "=d" (_delay) \ - : "0" (_tmp), "1" (_delay) ); \ - } - -#define enable_tracing() -#define cause_intr( X ) -#define clear_intr( X ) - -extern mc68020_isr M68Kvec[]; /* vector table address */ - -#endif -/* end of include file */ diff --git a/sysdeps/standalone/m68k/m68020/mvme135/Implies b/sysdeps/standalone/m68k/m68020/mvme135/Implies deleted file mode 100644 index 7142fe2985..0000000000 --- a/sysdeps/standalone/m68k/m68020/mvme135/Implies +++ /dev/null @@ -1,2 +0,0 @@ -# Motorola MVME135 and MVME136 are compatible. -standalone/m68k/m68020/mvme136 diff --git a/sysdeps/standalone/m68k/m68020/mvme136/Dist b/sysdeps/standalone/m68k/m68020/mvme136/Dist deleted file mode 100644 index 97b90583eb..0000000000 --- a/sysdeps/standalone/m68k/m68020/mvme136/Dist +++ /dev/null @@ -1 +0,0 @@ -mvme136.ld diff --git a/sysdeps/standalone/m68k/m68020/mvme136/Makefile b/sysdeps/standalone/m68k/m68020/mvme136/Makefile deleted file mode 100644 index 122c1b183e..0000000000 --- a/sysdeps/standalone/m68k/m68020/mvme136/Makefile +++ /dev/null @@ -1,23 +0,0 @@ -# Copyright (C) 1993, 1997 Free Software Foundation, Inc. -# This file is part of the GNU C Library. -# Contributed by Joel Sherrill (jsherril@redstone-emh2.army.mil), -# On-Line Applications Research Corporation. - -# The GNU C Library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. - -# The GNU C Library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. - -# You should have received a copy of the GNU Lesser General Public -# License along with the GNU C Library; if not, write to the Free -# Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA -# 02111-1307 USA. - -ifeq (bare,$(subdir)) -install-lib += mvme136.ld -endif diff --git a/sysdeps/standalone/m68k/m68020/mvme136/_exit.c b/sysdeps/standalone/m68k/m68020/mvme136/_exit.c deleted file mode 100644 index e5e078c198..0000000000 --- a/sysdeps/standalone/m68k/m68020/mvme136/_exit.c +++ /dev/null @@ -1,50 +0,0 @@ -/* Copyright (C) 1994, 1997, 1999 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Joel Sherrill (jsherril@redstone-emh2.army.mil), - On-Line Applications Research Corporation. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <unistd.h> -#include <stdlib.h> -#include "m68020.h" - -/* Return control to 135Bug */ - -void -__exit_trap () -{ - set_vbr( 0 ); /* restore 135Bug vectors */ - asm volatile( "trap #15" ); /* trap to 135Bug */ - asm volatile( ".short 0x63" ); /* return to 135Bug (.RETURN) */ - asm volatile( "jmp main" ); /* restart program */ -} - -/* The function `_exit' should take a status argument and simply - terminate program execution, using the low-order 8 bits of the - given integer as status. */ - -void -__attribute__ ((noreturn)) -_exit (status) - int status; -{ - /* status is ignored */ - - M68Kvec[ 45 ] = __exit_trap; /* install exit_trap handler */ - asm volatile( "trap #13" ); /* insures SUPV mode */ -} -weak_alias (_exit, _Exit) diff --git a/sysdeps/standalone/m68k/m68020/mvme136/brdinit.c b/sysdeps/standalone/m68k/m68020/mvme136/brdinit.c deleted file mode 100644 index 95b81c1e1b..0000000000 --- a/sysdeps/standalone/m68k/m68020/mvme136/brdinit.c +++ /dev/null @@ -1,51 +0,0 @@ -/* Copyright (C) 1994, 1997 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Joel Sherrill (jsherril@redstone-emh2.army.mil), - On-Line Applications Research Corporation. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <standalone.h> -#include "m68020.h" - -/* _Board_Initialize() - -This routine initializes the Motorola MVME135/MVME136. */ - -void -_Board_Initialize () -{ - mc68020_isr *monitors_vector_table; - int index; - - monitors_vector_table = (mc68020_isr *)0; /* 135Bug Vectors are at 0 */ - set_vbr( monitors_vector_table ); - - for ( index=2 ; index<=255 ; index++ ) - M68Kvec[ index ] = monitors_vector_table[ 32 ]; - - M68Kvec[ 2 ] = monitors_vector_table[ 2 ]; /* bus error vector */ - M68Kvec[ 4 ] = monitors_vector_table[ 4 ]; /* breakpoints vector */ - M68Kvec[ 9 ] = monitors_vector_table[ 9 ]; /* trace vector */ - M68Kvec[ 47 ] = monitors_vector_table[ 47 ]; /* system call vector */ - - set_vbr( &M68Kvec ); - - (*(unsigned char *)0xfffb0067) = 0x7f; /* make VME access round-robin */ - - enable_caching (); - -} diff --git a/sysdeps/standalone/m68k/m68020/mvme136/console.c b/sysdeps/standalone/m68k/m68020/mvme136/console.c deleted file mode 100644 index 85dee983bf..0000000000 --- a/sysdeps/standalone/m68k/m68020/mvme136/console.c +++ /dev/null @@ -1,101 +0,0 @@ -/* Copyright (C) 1994, 1996 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Joel Sherrill (jsherril@redstone-emh2.army.mil), - On-Line Applications Research Corporation. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <standalone.h> -#include "m68020.h" - -/* Console IO routines for a Motorola MVME135/MVME136 board. - -They currently use the B port. It should be possible to -use the A port by filling in the reset of the chip structure, -adding an ifdef for PORTA/PORTB, and switching the addresses, -and maybe the macros based on the macro. */ - -/* M68681 DUART chip register structures and constants */ - -typedef struct { - volatile unsigned char fill1[ 5 ]; /* channel A regs ( not used ) */ - volatile unsigned char isr; /* interrupt status reg */ - volatile unsigned char fill2[ 2 ]; /* counter regs (not used) */ - volatile unsigned char mr1mr2b; /* MR1B and MR2B regs */ - volatile unsigned char srb; /* status reg channel B */ - volatile unsigned char fill3; /* do not access */ - volatile unsigned char rbb; /* receive buffer channel B */ - volatile unsigned char ivr; /* interrupt vector register */ -} r_m681_info; - -typedef struct { - volatile unsigned char fill1[ 4 ]; /* channel A regs (not used) */ - volatile unsigned char acr; /* auxillary control reg */ - volatile unsigned char imr; /* interrupt mask reg */ - volatile unsigned char fill2[ 2 ]; /* counter regs (not used) */ - volatile unsigned char mr1mr2b; /* MR1B and MR2B regs */ - volatile unsigned char csrb; /* clock select reg */ - volatile unsigned char crb; /* command reg */ - volatile unsigned char tbb; /* transmit buffer channel B */ - volatile unsigned char ivr; /* interrupt vector register */ -} w_m681_info; - -#define RD_M68681 ((r_m681_info *)0xfffb0040) /* ptr to the M68681 */ -#define WR_M68681 ((w_m681_info *)0xfffb0040) /* ptr to the M68681 */ -#define RXRDYB 0x01 /* status reg recv ready mask */ -#define TXRDYB 0x04 /* status reg trans ready mask */ - -/* _Console_Putc - -This routine transmits a character out the M68681. It supports -XON/XOFF flow control. */ - -#define XON 0x11 /* control-Q */ -#define XOFF 0x13 /* control-S */ - -int -_Console_Putc (ch) - char ch; -{ - while ( ! (RD_M68681->srb & TXRDYB) ) ; - while ( RD_M68681->srb & RXRDYB ) /* must be an XOFF */ - if ( RD_M68681->rbb == XOFF ) - do { - while ( ! (RD_M68681->srb & RXRDYB) ) ; - } while ( RD_M68681->rbb != XON ); - - WR_M68681->tbb = ch; - return( 0 ); -} - -/* _Console_Getc - -This routine reads a character from the UART and returns it. */ - -int -_Console_Getc (poll) - int poll; -{ - if ( poll ) { - if ( !(RD_M68681->srb & RXRDYB) ) - return -1; - else - return RD_M68681->rbb; - } else { - while ( !(RD_M68681->srb & RXRDYB) ); - return RD_M68681->rbb; - } -} diff --git a/sysdeps/standalone/m68k/m68020/mvme136/mvme136.ld b/sysdeps/standalone/m68k/m68020/mvme136/mvme136.ld deleted file mode 100644 index 9a352f0095..0000000000 --- a/sysdeps/standalone/m68k/m68020/mvme136/mvme136.ld +++ /dev/null @@ -1,61 +0,0 @@ -/* Copyright (C) 1994, 1997 Free Software Foundation, Inc. - Contributed by Joel Sherrill (jsherril@redstone-emh2.army.mil), - On-Line Applications Research Corporation. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* This file contains directives for the GNU linker which are specific -to the Motorola MVME136/MVME135 boards. */ - -MEMORY - { - ram : org = 0x3000, l = 1M - } - -/* This value is also when the space is allocated. If you change -this one, change the other one!!! */ - -heap_size = 0x20000; - -SECTIONS -{ - .text 0x3000 : - { - text_start = ABSOLUTE(.) ; - *(.text) - etext = ALIGN( 0x10 ) ; - } - - .data ADDR( .text ) + SIZEOF( .text ): - { - data_start = . ; - *(.data) - edata = ALIGN( 0x10 ) ; - } - - .bss ADDR( .data ) + SIZEOF( .data ): - { - bss_start = . ; - _bss_start = . ; - *(.bss) - *(COMMON) - heap_memory = .; - . += 0x20000; - end = . ; - _end = . ; - } -} diff --git a/sysdeps/standalone/m68k/m68020/start.S b/sysdeps/standalone/m68k/m68020/start.S deleted file mode 100644 index 166605fb4f..0000000000 --- a/sysdeps/standalone/m68k/m68020/start.S +++ /dev/null @@ -1,172 +0,0 @@ -/* Copyright (C) 1994, 1996, 1997 Free Software Foundation, Inc. - Contributed by Joel Sherrill (jsherril@redstone-emh2.army.mil), - On-Line Applications Research Corporation. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - In addition to the permissions in the GNU Lesser General Public - License, the Free Software Foundation gives you unlimited - permission to link the compiled version of this file with other - programs, and to distribute those programs without any restriction - coming from the use of this file. (The GNU Lesser General Public - License restrictions do apply in other respects; for example, they - cover modification of the file, and distribution when not linked - into another program.) - - Note that people who make modified versions of this file are not - obligated to grant this special exception for their modified - versions; it is their choice whether to do so. The GNU Lesser - General Public License gives permission to release a modified - version without this exception; this exception also makes it - possible to release a modified version which carries forward this - exception. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* entry.s - * - * This file contains the entry point for the application. - * The name of this entry point is compiler dependent. - * It jumps to the BSP which is responsible for performing - * all initialization. - */ - - .text - .globl start | Default entry point - .globl _start | Default entry point - .globl M68Kvec | Vector Table - .globl _M68Kvec | Vector Table - -start: -_start: -M68Kvec: | standard location for vectors -_M68Kvec: | standard location for vectors - nop | for linkers with problem - | using location zero as entry - jmp around - .space 4088 | to avoid initial intr stack - | from 135BUG on MVME13? as entry - | and start code at 0x4000 -around: - move.w %sr,initial_sr | save initial values - movec %isp,%a0 - movel %a0,initial_isp - movec %usp,%a0 - movel %a0,initial_usp - movec %msp,%a0 - movel %a0,initial_msp - oriw #0x0700,%sr | INTERRUPTS OFF!!! - - - - | - | zero out uninitialized data area - | -zerobss: - moveal #end,%a0 | find end of .bss - moveal #_bss_start,%a1 | find beginning of .bss - movel #0,%d0 - -loop: movel #0,%a1@+ | to zero out uninitialized - cmpal %a0,%a1 - jlt loop | loop until _end reached - - movel #heap_size,__C_heap_size | set ___C_heap_size - movel #heap_memory,__C_heap_start | set ___C_heap_start - moveal #interrupt_stack_end,%a0 | set interrupt stack pointer - movec %a0,%isp - moveal #stack_end,%a0 | set master stack pointer - movec %a0,%msp - moveal #stack_end,%a6 | set base pointer - movw #0x3000,%sr | SUPV MODE,INTERRUPTS ON!!! - -#ifdef NEED_UNDERSCORES - jsr __Board_Initialize | initialize the board -#else - jsr _Board_Initialize | initialize the board -#endif - - move.l #0,%sp@- | envp = NULL - move.l #0,%sp@- | argv = NULL - move.l #0,%sp@- | argc = NULL -#ifdef NEED_UNDERSCORES - jsr ___libc_init | initialize the library and - | call main -#else - jsr __libc_init | initialize the library and - | call main -#endif - add.l #12,%sp - - move.l #0,%sp@- | argc = NULL - jsr __exit | call the Board specific exit - addq.l #4,%sp - - move.l initial_isp,%a0 | if __exit returns then we can - movec %a0,%isp | restore the initial values - move.l initial_usp,%a0 - movec %a0,%usp - move.l initial_msp,%a0 - movec %a0,%msp - move.w initial_sr,%sr - rts - - - .bss - -/* - * So initial stack registers and status register can be saved. - */ - -#define DECLARE_SPACE(_name,_space,_align) \ - .globl _name ; \ - .align _align ; \ -_name##: .space _space - -#define DECLARE_LABEL(_name) \ - .globl _name ; \ -_name##: - -#define DECLARE_PTR(_name) DECLARE_SPACE(_name,4,2) -#define DECLARE_U32(_name) DECLARE_SPACE(_name,4,2) -#define DECLARE_U16(_name) DECLARE_SPACE(_name,2,1) - -DECLARE_U32(initial_isp) -DECLARE_U32(initial_msp) -DECLARE_U32(initial_usp) -DECLARE_U16(initial_sr) - -/* - * Require environment stuff - */ - -DECLARE_LABEL(_environ) -DECLARE_PTR(environ) - -DECLARE_LABEL(__errno) -DECLARE_LABEL(_errno) -DECLARE_U32(errno) - -/* - * Stack Size and Space - */ - - .set stack_size, 0x20000 - -DECLARE_SPACE(stack_memory,stack_size,4) -DECLARE_LABEL(stack_end) - -DECLARE_SPACE(interrupt_stack_memory,0x1000,4) -DECLARE_LABEL(interrupt_stack_end) diff --git a/sysdeps/standalone/open.c b/sysdeps/standalone/open.c deleted file mode 100644 index e0a3432415..0000000000 --- a/sysdeps/standalone/open.c +++ /dev/null @@ -1,125 +0,0 @@ -/* Copyright (C) 1994, 1995, 1996, 1997, 2002 Free Software Foundation, Inc. - Ported to standalone by Joel Sherrill jsherril@redstone-emh2.army.mil, - On-Line Applications Research Corporation. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <errno.h> -#include <fcntl.h> -#include <stdarg.h> -#include <stddef.h> - -#include <stdio.h> -#include <bits/stdio_lim.h> -#include <unistd.h> - -#define __DECLARE_FILE_DESCRIPTORS__ - -#include "filedesc.h" - -/* Open FILE with access OFLAG. If OFLAG includes O_CREAT, - a third argument is the file protection. */ -int -__open (file, oflag) - const char *file; - int oflag; -{ - int mode; - int newfd; - int index; - - if (file == NULL) - { - __set_errno (EINVAL); - return -1; - } - - if (oflag & O_CREAT) - { - va_list arg; - va_start(arg, oflag); - mode = va_arg(arg, int); - va_end(arg); - } - - /* - * Find an open slot. - */ - - newfd = -1; - - for ( index=0 ; index< FOPEN_MAX ; index++ ) - if ( !__FD_Table[ index ].in_use ) { - newfd = index; - break; - } - - if ( newfd == -1 ) { - __set_errno (ENFILE); - return -1; - } - - /* - * Initialize the open slot - */ - - __FD_Table[ newfd ].in_use = 1; - __FD_Table[ newfd ].flags = oflag; - - return newfd; -} -libc_hidden_def (__open) - -/* Initialization Code for Console I/O */ - -#ifdef HAVE_GNU_LD -static -#endif -void -__NONE_init_console_io (argc, argv, envp) - int argc; - char **argv; - char **envp; -{ - int index; - - for ( index=0 ; index< FOPEN_MAX ; index++ ) - __FD_Table[ index ].in_use = 0; - - stdin = fopen( "", "r" ); - - stdout = fopen( "", "w" ); - - stderr = fopen( "", "w" ); - - /* - * Line buffer the standard input and output and use no buffering for - * standard error. - */ - - setvbuf( stdin, NULL, _IOLBF, BUFSIZ ); - setvbuf( stdout, NULL, _IOLBF, BUFSIZ ); - setvbuf( stderr, NULL, _IONBF, BUFSIZ ); - - (void) &__NONE_init_console_io; /* Avoid "defined but not used" warning. */ -} - -#ifdef HAVE_GNU_LD -text_set_element (__libc_subinit, __NONE_init_console_io); -#endif - -weak_alias (__open, open) diff --git a/sysdeps/standalone/read.c b/sysdeps/standalone/read.c deleted file mode 100644 index 0fb9e7a1ec..0000000000 --- a/sysdeps/standalone/read.c +++ /dev/null @@ -1,86 +0,0 @@ -/* Copyright (C) 1994, 1995, 1996, 1997, 2002 Free Software Foundation, Inc. - Ported to standalone by Joel Sherrill jsherril@redstone-emh2.army.mil, - On-Line Applications Research Corporation. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <errno.h> -#include <unistd.h> -#include <stddef.h> - -#include "filedesc.h" -#include <fcntl.h> -#include <standalone.h> - -/* Read NBYTES into BUF from FD. Return the number read or -1. */ -ssize_t -__libc_read (int fd, void *buf, size_t nbytes) -{ - char *buffer = (char *) buf; - int data; - int poll; - - __set_errno (0); - - if (nbytes == 0) - return 0; - - if ( !__FD_Is_valid( fd ) || !__FD_Table[ fd ].in_use ) - { - __set_errno (EBADF); - return -1; - } - if (buf == NULL) - { - __set_errno (EINVAL); - return -1; - } - - if ( __FD_Table[ fd ].flags & O_WRONLY ) /* is it write only? */ - { - __set_errno (EBADF); - return -1; - } - - /* If this is a non-blocking fd, then we want to poll the console. */ - - poll = ( __FD_Table[ fd ].flags & O_NONBLOCK ) ? 1 : 0; - - /* Read a single character. This is a cheap way to insure that the - upper layers get every character because _Console_Getc can't timeout - or otherwise know when to stop. */ - - - data = _Console_Getc(poll); - - if ( data == -1 ) /* if no data return */ - return -1; - - (void) _Console_Putc(data); /* echo the character */ - - if ( data == '\r' ) { /* translate CR -> CR/LF */ - (void) _Console_Putc('\n'); - data = '\n'; - } - - *buffer = data; - return 1; -} -libc_hidden_def (__libc_read) -weak_alias (__libc_read, __read) -libc_hidden_weak (__read) -weak_alias (__libc_read, read) diff --git a/sysdeps/standalone/standalone.h b/sysdeps/standalone/standalone.h deleted file mode 100644 index 20a0c33806..0000000000 --- a/sysdeps/standalone/standalone.h +++ /dev/null @@ -1,31 +0,0 @@ -/* Copyright (C) 1994, 1997, 2004 Free Software Foundation, Inc. - Contributed by Joel Sherrill (jsherril@redstone-emh2.army.mil), - On-Line Applications Research Corporation. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _STANDALONE_H -#define _STANDALONE_H - -#include <sys/cdefs.h> - -extern void _Board_Initialize (void); - -extern int _Console_Putc (char c); -extern int _Console_Getc (int poll); - -#endif diff --git a/sysdeps/standalone/write.c b/sysdeps/standalone/write.c deleted file mode 100644 index 5d3823065f..0000000000 --- a/sysdeps/standalone/write.c +++ /dev/null @@ -1,73 +0,0 @@ -/* Copyright (C) 1994, 1995, 1996, 1997, 2002 Free Software Foundation, Inc. - Ported to standalone by Joel Sherrill jsherril@redstone-emh2.army.mil, - On-Line Applications Research Corporation. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sysdep.h> -#include <errno.h> -#include <unistd.h> -#include <stddef.h> - -#include "filedesc.h" -#include <fcntl.h> -#include <standalone.h> - -/* Write NBYTES of BUF to FD. Return the number written, or -1. */ -ssize_t -__libc_write (int fd, const void *buf, size_t nbytes) -{ - int count; - const char *data = buf; - - if (nbytes == 0) - return 0; - if ( !__FD_Is_valid( fd ) || !__FD_Table[ fd ].in_use ) - { - __set_errno (EBADF); - return -1; - } - if (buf == NULL) - { - __set_errno (EINVAL); - return -1; - } - - if ( !(__FD_Table[ fd ].flags & (O_WRONLY|O_RDWR)) ) /* is it writeable? */ - { - __set_errno (EBADF); - return -1; - } - - /* - * All open file descriptors are mapped to the console. - */ - - for ( count=0 ; count != nbytes ; count++ ) { - if ( _Console_Putc(data[ count ]) == -1 ) - return -1; - if ( data[count] == '\n' && _Console_Putc('\r') == -1 ) - return -1; - } - - return count; -} - -libc_hidden_def (__libc_write) -weak_alias (__libc_write, __write) -libc_hidden_weak (__write) -weak_alias (__libc_write, write) diff --git a/sysdeps/tahoe/Implies b/sysdeps/tahoe/Implies deleted file mode 100644 index 5a3163701f..0000000000 --- a/sysdeps/tahoe/Implies +++ /dev/null @@ -1,2 +0,0 @@ -# A Tahoe is mostly just like a Vax. -vax diff --git a/sysdeps/unix/bsd/hp/Dist b/sysdeps/unix/bsd/hp/Dist deleted file mode 100644 index ccd3a610ee..0000000000 --- a/sysdeps/unix/bsd/hp/Dist +++ /dev/null @@ -1 +0,0 @@ -m68k/dl-brk.S diff --git a/sysdeps/unix/bsd/hp/m68k/brk.S b/sysdeps/unix/bsd/hp/m68k/brk.S deleted file mode 100644 index 037d4d0d07..0000000000 --- a/sysdeps/unix/bsd/hp/m68k/brk.S +++ /dev/null @@ -1,46 +0,0 @@ -/* Copyright (C) 1991, 1993, 1994, 1995, 1997 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sysdep.h> - -#ifndef SYS_brk -#define SYS_brk 17 -#endif - -#ifndef HAVE_GNU_LD -#define __end _end -#endif - -.data -.globl ___curbrk -___curbrk: - .long __end - -.text -ENTRY (__brk) - movel #__end, d0 - cmpl sp@(4), d0 - ble 0f - movel d0, sp@(4) -0: DO_CALL (#SYS_brk, 1) - movel sp@(4), ___curbrk - clrl d0 - rts -error: jmp syscall_error - -weak_alias (__brk, brk) diff --git a/sysdeps/unix/bsd/hp/m68k/dl-brk.S b/sysdeps/unix/bsd/hp/m68k/dl-brk.S deleted file mode 100644 index eeb96544e3..0000000000 --- a/sysdeps/unix/bsd/hp/m68k/dl-brk.S +++ /dev/null @@ -1 +0,0 @@ -#include <brk.S> diff --git a/sysdeps/unix/bsd/hp/m68k/start.c b/sysdeps/unix/bsd/hp/m68k/start.c deleted file mode 100644 index e04ca0632d..0000000000 --- a/sysdeps/unix/bsd/hp/m68k/start.c +++ /dev/null @@ -1,10 +0,0 @@ -/* hp300 4.3 BSD starts at 4, rather than 0, when the start address is 0. - Go figure. */ -asm(".globl __start"); -asm("__start: .long 0"); - -#define _start __start0 - -#define DUMMIES dummy0 - -#include <sysdeps/unix/start.c> diff --git a/sysdeps/unix/bsd/hp/m68k/sysdep.h b/sysdeps/unix/bsd/hp/m68k/sysdep.h deleted file mode 100644 index 75aee674f5..0000000000 --- a/sysdeps/unix/bsd/hp/m68k/sysdep.h +++ /dev/null @@ -1,56 +0,0 @@ -/* Copyright (C) 1991, 92, 93, 94, 95, 97 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* This code wants to be run through m4. */ - -#include <sysdeps/unix/sysdep.h> - -#ifdef __ASSEMBLER__ - -#define POUND # - -#ifdef __STDC__ -#define ENTRY(name) \ - .globl _##name; \ - .even; \ - _##name##: -#else -#define ENTRY(name) \ - .globl _/**/name; \ - .even; \ - _/**/name/**/: -#endif - -#define PSEUDO(name, syscall_name, args) \ - .even; \ - .globl syscall_error; \ - error: jmp syscall_error; \ - ENTRY (name) \ - DO_CALL (POUND SYS_ify (syscall_name), args) - -#define DO_CALL(syscall, args) \ - movel syscall, d0; \ - trap POUND 0; \ - bcs error - -#define ret rts -#define r0 d0 -#define r1 d1 -#define MOVE(x,y) movel x , y - -#endif /* __ASSEMBLER__ */ diff --git a/sysdeps/unix/bsd/hp/m68k/vfork.S b/sysdeps/unix/bsd/hp/m68k/vfork.S deleted file mode 100644 index abcc1c3389..0000000000 --- a/sysdeps/unix/bsd/hp/m68k/vfork.S +++ /dev/null @@ -1,56 +0,0 @@ -/* Copyright (C) 1991, 1994, 1995, 1997, 2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sysdep.h> - -#ifndef SYS_vfork -#define SYS_vfork 66 -#endif - -/* Clone the calling process, but without copying the whole address space. - The calling process is suspended until the new process exits or is - replaced by a call to `execve'. Return -1 for errors, 0 to the new process, - and the process ID of the new process to the old process. */ -.globl ___vfork -___vfork: - /* Pop the return PC value into A0. */ - moveal sp@+, a0 - - /* Stuff the syscall number in D0 and trap into the kernel. */ - movel #SYS_vfork, d0 - trap #0 - bcs error /* Branch forward if it failed. */ - - /* It succeeded. See which fork we're in. D1 is now 0 for the - parent and 1 for the child. Decrement it to make it -1 (all - bits set) for the parent, and 0 (no bits set) for the child. - Then AND it with D0, so the parent gets D0&-1==R0, and the child - gets D0&0==0. */ - subl #1, d1 - andl d1, d0 - - /* Jump to the return PC. */ - jmp a0@ - -error: - movel d0, _errno - moveq #-1, d0 - jmp a0@ -libc_hidden_def (__vfork) - -weak_alias (__vfork, vfork) diff --git a/sysdeps/unix/bsd/hp/m68k/wait3.S b/sysdeps/unix/bsd/hp/m68k/wait3.S deleted file mode 100644 index 5b63191827..0000000000 --- a/sysdeps/unix/bsd/hp/m68k/wait3.S +++ /dev/null @@ -1,39 +0,0 @@ -/* Copyright (C) 1991, 1992, 1995, 1997 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sysdep.h> - -ENTRY(__wait3) - movel sp@(8), d1 - moveal sp@(12), a0 - movel #SYS_wait, d0 - /* Set all condition codes to tell the kernel this is wait3. */ - movew #31, ccr - trap #0 - bcs error - - tstl sp@(4) - beq 1f - moveal sp@(4), a0 - movel d1, a0@ -1: rts - -.globl syscall_error -error: jmp syscall_error - -weak_alias (__wait3, wait3) diff --git a/sysdeps/unix/bsd/osf/Dist b/sysdeps/unix/bsd/osf/Dist deleted file mode 100644 index e792f44bd5..0000000000 --- a/sysdeps/unix/bsd/osf/Dist +++ /dev/null @@ -1 +0,0 @@ -alpha/dl-brk.S diff --git a/sysdeps/unix/bsd/osf/Implies b/sysdeps/unix/bsd/osf/Implies deleted file mode 100644 index 82719f5a5d..0000000000 --- a/sysdeps/unix/bsd/osf/Implies +++ /dev/null @@ -1,2 +0,0 @@ -# OSF/1 has the canonical set of <sys/mman.h> system calls. -unix/mman diff --git a/sysdeps/unix/bsd/osf/Makefile b/sysdeps/unix/bsd/osf/Makefile deleted file mode 100644 index 743788a41a..0000000000 --- a/sysdeps/unix/bsd/osf/Makefile +++ /dev/null @@ -1,3 +0,0 @@ -# Without -non_shared (via the compiler's -static flag), we'll end up -# with some unresolved symbols wrt exceptions. -LDFLAGS := $(LDFLAGS) -static diff --git a/sysdeps/unix/bsd/osf/alpha/bits/stat.h b/sysdeps/unix/bsd/osf/alpha/bits/stat.h deleted file mode 100644 index 20f358f70a..0000000000 --- a/sysdeps/unix/bsd/osf/alpha/bits/stat.h +++ /dev/null @@ -1,79 +0,0 @@ -/* Copyright (C) 1993, 1996, 1997, 1999, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SYS_STAT_H -# error "Never include <bits/stat.h> directly; use <sys/stat.h> instead." -#endif - -#include <bits/types.h> - -/* Structure describing file characteristics. */ -struct stat - { - int st_dev; /* Device. */ - unsigned int st_ino; /* File serial number. */ - unsigned int st_mode; /* File mode. */ - unsigned short st_nlink; /* Link count. */ - unsigned int st_uid; /* User ID of the file's owner. */ - unsigned int st_gid; /* Group ID of the file's group.*/ - int st_rdev; /* Device number, if device. */ - - long st_size; /* Size of file, in bytes. */ - - int st_atime; /* Time of last access. */ - int st_atime_usec; - int st_mtime; /* Time of last modification. */ - int st_mtime_usec; - int st_ctime; /* Time of last status change. */ - int st_ctime_usec; - - __blksize_t st_blksize; /* Optimal block size for I/O. */ -#define _STATBUF_ST_BLKSIZE /* Tell code we have this member. */ - - __blkcnt_t st_blocks; /* Number of 512-byte blocks allocated. */ - unsigned int st_flags; - unsigned int st_gen; - }; - -/* Encoding of the file mode. */ - -#define __S_IFMT 0170000 /* These bits determine file type. */ - -/* File types. */ -#define __S_IFDIR 0040000 /* Directory. */ -#define __S_IFCHR 0020000 /* Character device. */ -#define __S_IFBLK 0060000 /* Block device. */ -#define __S_IFREG 0100000 /* Regular file. */ -#define __S_IFIFO 0010000 /* FIFO. */ - -#define __S_IFLNK 0120000 /* Symbolic link. */ -#define __S_IFSOCK 0140000 /* Socket. */ - -/* POSIX.1b objects. */ -#define __S_TYPEISMQ(buf) (0) -#define __S_TYPEISSEM(buf) (0) -#define __S_TYPEISSHM(buf) (0) - -/* Protection bits. */ - -#define __S_ISUID 04000 /* Set user ID on execution. */ -#define __S_ISGID 02000 /* Set group ID on execution. */ -#define __S_ISVTX 01000 /* Save swapped text after use (sticky). */ -#define __S_IREAD 0400 /* Read by owner. */ -#define __S_IWRITE 0200 /* Write by owner. */ -#define __S_IEXEC 0100 /* Execute by owner. */ diff --git a/sysdeps/unix/bsd/osf/alpha/brk.S b/sysdeps/unix/bsd/osf/alpha/brk.S deleted file mode 100644 index 51abaa6c1b..0000000000 --- a/sysdeps/unix/bsd/osf/alpha/brk.S +++ /dev/null @@ -1,54 +0,0 @@ -/* Copyright (C) 1993, 1995, 1997 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Brendan Kehoe (brendan@zen.org). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sysdep.h> - -#ifndef SYS_brk -#define SYS_brk 17 -#endif - -#ifndef HAVE_GNU_LD -#define __end end -#endif - -.data - .extern __end,8 - .globl __curbrk -__curbrk: - .quad __end - -.text -ENTRY(__brk) - /* FIXME We do not check for asking for less than a page yet. */ - ldiq v0, SYS_brk - call_pal PAL_callsys - bne a3, error - - /* Update __curbrk and exit cleanly. */ -/* ldgp gp, 0(t12) */ - stq a0, __curbrk - - mov zero, v0 - ret - /* What a horrible way to die. */ -error: ldgp gp,0(gp) - jmp zero,syscall_error - .end __brk - -weak_alias (__brk, brk) diff --git a/sysdeps/unix/bsd/osf/alpha/dl-brk.S b/sysdeps/unix/bsd/osf/alpha/dl-brk.S deleted file mode 100644 index eeb96544e3..0000000000 --- a/sysdeps/unix/bsd/osf/alpha/dl-brk.S +++ /dev/null @@ -1 +0,0 @@ -#include <brk.S> diff --git a/sysdeps/unix/bsd/osf/alpha/fork.S b/sysdeps/unix/bsd/osf/alpha/fork.S deleted file mode 100644 index a4ec14b56f..0000000000 --- a/sysdeps/unix/bsd/osf/alpha/fork.S +++ /dev/null @@ -1,28 +0,0 @@ -/* Copyright (C) 1993, 1995, 1997, 2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Brendan Kehoe (brendan@zen.org). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sysdep.h> - -SYSCALL__ (fork, 0) - cmovne a4, 0, v0 - ret - .end __fork -libc_hidden_def (__fork) - -weak_alias (__fork, fork) diff --git a/sysdeps/unix/bsd/osf/alpha/killpg.S b/sysdeps/unix/bsd/osf/alpha/killpg.S deleted file mode 100644 index 741616bc76..0000000000 --- a/sysdeps/unix/bsd/osf/alpha/killpg.S +++ /dev/null @@ -1,27 +0,0 @@ -/* Copyright (C) 1993, 1997 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Brendan Kehoe (brendan@zen.org). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sysdep.h> - -#include <sys/ult_syscall.h> -#define SYS_killpg SYS_ult_killpg - -SYSCALL (killpg, 2) - ret - .end killpg diff --git a/sysdeps/unix/bsd/osf/alpha/recv.S b/sysdeps/unix/bsd/osf/alpha/recv.S deleted file mode 100644 index 92a273d150..0000000000 --- a/sysdeps/unix/bsd/osf/alpha/recv.S +++ /dev/null @@ -1,26 +0,0 @@ -/* Copyright (C) 1991, 1992, 1997 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sysdep.h> - -#include <sys/ult_syscall.h> -#define SYS_recv SYS_ult_recv - -SYSCALL (recv, 4) - ret - .end recv diff --git a/sysdeps/unix/bsd/osf/alpha/send.S b/sysdeps/unix/bsd/osf/alpha/send.S deleted file mode 100644 index 7d61d46a1b..0000000000 --- a/sysdeps/unix/bsd/osf/alpha/send.S +++ /dev/null @@ -1,26 +0,0 @@ -/* Copyright (C) 1991, 1992, 1997 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sysdep.h> - -#include <sys/ult_syscall.h> -#define SYS_send SYS_ult_send - -SYSCALL (send, 4) - ret - .end send diff --git a/sysdeps/unix/bsd/osf/alpha/sigblock.S b/sysdeps/unix/bsd/osf/alpha/sigblock.S deleted file mode 100644 index 5db55f4474..0000000000 --- a/sysdeps/unix/bsd/osf/alpha/sigblock.S +++ /dev/null @@ -1,29 +0,0 @@ -/* Copyright (C) 1994, 1995, 1997 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Brendan Kehoe (brendan@zen.org). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sysdep.h> - -#include <sys/ult_syscall.h> -#define SYS_sigblock SYS_ult_sigblock - -SYSCALL__ (sigblock, 1) - ret - .end __sigblock - -weak_alias (__sigblock, sigblock) diff --git a/sysdeps/unix/bsd/osf/alpha/sigpause.S b/sysdeps/unix/bsd/osf/alpha/sigpause.S deleted file mode 100644 index 7646366473..0000000000 --- a/sysdeps/unix/bsd/osf/alpha/sigpause.S +++ /dev/null @@ -1,30 +0,0 @@ -/* Copyright (C) 1993,95,97,2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Brendan Kehoe (brendan@zen.org). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sysdep.h> - -#include <sys/ult_syscall.h> -#define SYS_sigpause SYS_ult_sigpause - -SYSCALL__ (sigpause, 1) - ret - .end __sigpause -libc_hidden_def (__sigpause) - -weak_alias (__sigpause, sigpause) diff --git a/sysdeps/unix/bsd/osf/alpha/sigsetmask.S b/sysdeps/unix/bsd/osf/alpha/sigsetmask.S deleted file mode 100644 index 93333aa0b6..0000000000 --- a/sysdeps/unix/bsd/osf/alpha/sigsetmask.S +++ /dev/null @@ -1,29 +0,0 @@ -/* Copyright (C) 1993, 1995, 1997 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Brendan Kehoe (brendan@zen.org). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sysdep.h> - -#include <sys/ult_syscall.h> -#define SYS_sigsetmask SYS_ult_sigsetmask - -SYSCALL__ (sigsetmask, 1) - ret - .end __sigsetmask - -weak_alias (__sigsetmask, sigsetmask) diff --git a/sysdeps/unix/bsd/osf/alpha/sigvec.S b/sysdeps/unix/bsd/osf/alpha/sigvec.S deleted file mode 100644 index 45fcc58a03..0000000000 --- a/sysdeps/unix/bsd/osf/alpha/sigvec.S +++ /dev/null @@ -1,29 +0,0 @@ -/* Copyright (C) 1993, 1995, 1997 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Brendan Kehoe (brendan@zen.org). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sysdep.h> - -#include <sys/ult_syscall.h> -#define SYS_sigvec SYS_ult_sigvec - -SYSCALL__ (sigvec, 3) - ret - .end __sigvec - -weak_alias (__sigvec, sigvec) diff --git a/sysdeps/unix/bsd/osf/alpha/start.S b/sysdeps/unix/bsd/osf/alpha/start.S deleted file mode 100644 index 1fa52a6430..0000000000 --- a/sysdeps/unix/bsd/osf/alpha/start.S +++ /dev/null @@ -1,83 +0,0 @@ -/* Copyright (C) 1993, 1995, 1997 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Brendan Kehoe (brendan@zen.org). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - In addition to the permissions in the GNU Lesser General Public - License, the Free Software Foundation gives you unlimited - permission to link the compiled version of this file with other - programs, and to distribute those programs without any restriction - coming from the use of this file. (The GNU Lesser General Public - License restrictions do apply in other respects; for example, they - cover modification of the file, and distribution when not linked - into another program.) - - Note that people who make modified versions of this file are not - obligated to grant this special exception for their modified - versions; it is their choice whether to do so. The GNU Lesser - General Public License gives permission to release a modified - version without this exception; this exception also makes it - possible to release a modified version which carries forward this - exception. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sysdep.h> - -#if 0 -.sdata -.globl STARTFRM -STARTFRM = 0 -#endif - -.text -ENTRY(__start) - lda sp, -16(sp) - stq zero, 8(sp) - - /* This branch puts the address of the current insn in t0. */ - br t0, 10f -10: - /* We set the GP register by using the address of the ldgp */ - /* (what we just put into t0). */ - ldgp gp, 0(t0) - - /* get argc */ - ldl a0, 16(sp) - - /* get argv */ - lda a1, 24(sp) - - /* move ahead to envp */ - s8addq a0, a1, a2 - addq a2, 0x8, a2 - - /* Store in environ. */ - stq a2, environ - - /* Clear out errno. */ -/* ldgp gp, 0(t12) */ - stl zero, errno - - /* Call main. */ - jsr ra, main - ldgp gp, 0(ra) - - mov v0, a0 - - jsr ra, exit - ldgp gp, 0(ra) - - .end __start diff --git a/sysdeps/unix/bsd/osf/alpha/syscalls.list b/sysdeps/unix/bsd/osf/alpha/syscalls.list deleted file mode 100644 index ac883925e1..0000000000 --- a/sysdeps/unix/bsd/osf/alpha/syscalls.list +++ /dev/null @@ -1,3 +0,0 @@ -# File name Caller Syscall name # args Strong name Weak names - -wait4 - wait4 4 __wait4 wait4 diff --git a/sysdeps/unix/bsd/osf/alpha/sysdep.h b/sysdeps/unix/bsd/osf/alpha/sysdep.h deleted file mode 100644 index 84ac541aa1..0000000000 --- a/sysdeps/unix/bsd/osf/alpha/sysdep.h +++ /dev/null @@ -1,30 +0,0 @@ -/* Copyright (C) 1993, 1995, 1997 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Brendan Kehoe (brendan@zen.org). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* OSF/1 does not precede the asm names of C symbols with a `_'. */ -#define NO_UNDERSCORES - -#include <sysdeps/unix/alpha/sysdep.h> - -#ifdef __ASSEMBLER__ - -#include <machine/pal.h> /* get PAL_callsys */ -#include <regdef.h> - -#endif diff --git a/sysdeps/unix/bsd/osf/alpha/vhangup.S b/sysdeps/unix/bsd/osf/alpha/vhangup.S deleted file mode 100644 index 3c2b04af7d..0000000000 --- a/sysdeps/unix/bsd/osf/alpha/vhangup.S +++ /dev/null @@ -1,26 +0,0 @@ -/* Copyright (C) 1991, 1992, 1997 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sysdep.h> - -#include <sys/ult_syscall.h> -#define SYS_vhangup SYS_ult_vhangup - -SYSCALL (vhangup, 1) - ret - .end vhangup diff --git a/sysdeps/unix/bsd/osf/alpha/waitpid.c b/sysdeps/unix/bsd/osf/alpha/waitpid.c deleted file mode 100644 index 8378982ac7..0000000000 --- a/sysdeps/unix/bsd/osf/alpha/waitpid.c +++ /dev/null @@ -1 +0,0 @@ -#include <sysdeps/unix/bsd/bsd4.4/waitpid.c> diff --git a/sysdeps/unix/bsd/osf/bits/mman.h b/sysdeps/unix/bsd/osf/bits/mman.h deleted file mode 100644 index d4672cccab..0000000000 --- a/sysdeps/unix/bsd/osf/bits/mman.h +++ /dev/null @@ -1,71 +0,0 @@ -/* Flags for BSD-style memory management. OSF/1 version. - Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _BITS_MMAN_H -#define _BITS_MMAN_H 1 - -/* Protections are chosen from these bits, OR'd together. The - implementation does not necessarily support PROT_EXEC or PROT_WRITE - without PROT_READ. The only guarantees are that no writing will be - allowed without PROT_WRITE and no access will be allowed for PROT_NONE. */ - -#define PROT_NONE 0x00 /* No access. */ -#define PROT_READ 0x01 /* Pages can be read. */ -#define PROT_WRITE 0x02 /* Pages can be written. */ -#define PROT_EXEC 0x04 /* Pages can be executed. */ - -/* Flags contain mapping type, sharing type and options. */ - -/* Mapping type (must choose one and only one of these). */ -#ifdef __USE_BSD -# define MAP_FILE 0x00 /* Mapped from a file or device. */ -# define MAP_ANON 0x10 /* Allocated from anonymous virtual memory. */ -# define MAP_ANONYMOUS MAP_ANON -# define MAP_TYPE 0xf0 /* Mask for type field. */ -#endif - -/* Sharing types (must choose one and only one of these). */ -#define MAP_SHARED 0x01 /* Share changes. */ -#define MAP_PRIVATE 0x02 /* Changes private; copy pages on write. */ - -/* Other flags. */ -#define MAP_FIXED 0x0100 /* Map address must be exactly as requested. */ -#ifdef __USE_BSD -# define MAP_VARIABLE 0 /* Absence of MAP_FIXED. */ -# define MAP_HASSEMPHORE 0x0200 /* Region may contain semaphores. */ -# define MAP_INHERIT 0x0400 /* Region is retained after exec. */ -# define MAP_UNALIGNED 0x0800 /* File offset need not be page-aligned. */ -#endif - -/* Advice to `madvise'. */ -#ifdef __USE_BSD -# define MADV_NORMAL 0 /* No further special treatment. */ -# define MADV_RANDOM 1 /* Expect random page references. */ -# define MADV_SEQUENTIAL 2 /* Expect sequential page references. */ -# define MADV_WILLNEED 3 /* Will need these pages. */ -# define MADV_DONTNEED 4 /* Don't need these pages. */ -# define MADV_SPACEAVAIL 5 /* Ensure that resources are available. */ -#endif - -/* Flags to `msync'. */ -#define MS_ASYNC 1 /* Asynchronous cache flush. */ -#define MS_SYNC 3 /* Synchronous cache flush. */ -#define MS_INVALIDATE 4 /* Invalidate cached pages. */ - -#endif /* bits/mman.h */ diff --git a/sysdeps/unix/bsd/osf/bits/sigaction.h b/sysdeps/unix/bsd/osf/bits/sigaction.h deleted file mode 100644 index 13f9144fa2..0000000000 --- a/sysdeps/unix/bsd/osf/bits/sigaction.h +++ /dev/null @@ -1,50 +0,0 @@ -/* Structure and constant definitions for sigaction et al. OSF/1 version. - Copyright (C) 1993, 1996, 1997 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Brendan Kehoe (brendan@zen.org). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SIGNAL_H -# error "Never include <bits/sigaction.h> directly; use <signal.h> instead." -#endif - -/* Structure describing the action to be taken when a signal arrives. */ -struct sigaction - { - /* Signal handler. */ - __sighandler_t sa_handler; - - /* Additional set of signals to be blocked. */ - __sigset_t sa_mask; - - /* Special flags. */ - int sa_flags; - }; - -/* Bits in `sa_flags'. */ -#ifdef __USE_BSD -# define SA_ONSTACK 0x1 /* Take signal on signal stack. */ -# define SA_RESTART 0x2 /* Restart syscall on signal return. */ -# define SA_DISABLE 0x4 /* Disable alternate signal stack. */ -#endif -#define SA_NOCLDSTOP 0x4 /* Don't send SIGCHLD when children stop. */ - - -/* Values for the HOW argument to `sigprocmask'. */ -#define SIG_BLOCK 1 /* Block signals. */ -#define SIG_UNBLOCK 2 /* Unblock signals. */ -#define SIG_SETMASK 3 /* Set the set of blocked signals. */ diff --git a/sysdeps/unix/bsd/osf/syscalls.list b/sysdeps/unix/bsd/osf/syscalls.list deleted file mode 100644 index 731763b3eb..0000000000 --- a/sysdeps/unix/bsd/osf/syscalls.list +++ /dev/null @@ -1,3 +0,0 @@ -# File name Caller Syscall name # args Strong name Weak names - -msync - msync 3 msync diff --git a/sysdeps/unix/bsd/osf/system.c b/sysdeps/unix/bsd/osf/system.c deleted file mode 100644 index ef42ea2155..0000000000 --- a/sysdeps/unix/bsd/osf/system.c +++ /dev/null @@ -1,2 +0,0 @@ -/* OSF/1 does have `waitpid'. Avoid unix/system.c, which says we don't. */ -#include <sysdeps/posix/system.c> diff --git a/sysdeps/unix/bsd/sequent/i386/getgroups.S b/sysdeps/unix/bsd/sequent/i386/getgroups.S deleted file mode 100644 index 55fa7288d4..0000000000 --- a/sysdeps/unix/bsd/sequent/i386/getgroups.S +++ /dev/null @@ -1,44 +0,0 @@ -/* Copyright (C) 1994, 1995, 1997 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sysdep.h> -#include <limits.h> - -/* Dynix erroneously reports `getgroups (0, 0)' as an error. - We fix up for that case. */ - -#define syscall_error myerror -SYSCALL__ (getgroups, 2) -#undef syscall_error - ret -myerror: - tstl 4(%esp) /* Was the first arg 0? */ - jnz syscall_error /* If not, go to the normal error case. */ - /* When called with (0, 0), we want to return the number of groups - without storing anything. The Dynix system call gives an error - for this case, so we fix up by calling it with a local array we - never use, and just use the return value. */ - subl %esp, $(NGROUPS_MAX * 4) /* Allocate a local array. */ - movl $NGROUPS_MAX, %ecx /* Pass NGROUPS_MAX for first arg. */ - movl %esp, %edx /* Pass local array for second arg. */ - DO_CALL (getgroups, 2) /* Do the system call. */ - addl %esp, $(NGROUPS_MAX * 4) /* Pop the local array. */ - jb syscall_error /* Check for error from the system call. */ - ret /* Return its value. */ - -weak_alias (__getgroups, getgroups) diff --git a/sysdeps/unix/bsd/sequent/i386/sigvec.S b/sysdeps/unix/bsd/sequent/i386/sigvec.S deleted file mode 100644 index 62373e1315..0000000000 --- a/sysdeps/unix/bsd/sequent/i386/sigvec.S +++ /dev/null @@ -1,45 +0,0 @@ -/* Copyright (C) 1993, 1995, 1997 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sysdep.h> - -/* The Dynix `sigvec' system call takes an extra argument, - which is the address of the trampoline function. */ - -.text -.align 4 -trampoline: - cld /* Clear direction flag. */ - call %eax /* Call the handler, address in %eax. */ - addl $8, %esp /* Pop signum & code off the stack. */ - /* __sigreturn will restore the context, and never return here. */ - call C_SYMBOL_NAME (__sigreturn) - -.globl syscall_error -ENTRY (__sigvec) - pushl $trampoline /* Push fourth arg: trampoline address. */ - pushl 16(%esp) /* Push third arg: our third arg. */ - pushl 16(%esp) /* Push second arg: our second arg. */ - pushl 16(%esp) /* Push first arg: our first arg. */ - mov %esp, %ecx /* Point the syscall at the arguments. */ - addl $16, %esp /* Pop those four args. */ - DO_CALL (sigvec, 4) /* Do the system call. */ - jb syscall_error /* Check for error. */ - ret - -weak_alias (__sigvec, sigvec) diff --git a/sysdeps/unix/bsd/sequent/i386/syscall.S b/sysdeps/unix/bsd/sequent/i386/syscall.S deleted file mode 100644 index 9ff189885b..0000000000 --- a/sysdeps/unix/bsd/sequent/i386/syscall.S +++ /dev/null @@ -1,31 +0,0 @@ -/* `syscall' function for Sequent Symmetry running Dynix version 3. - Copyright (C) 1994, 1997 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sysdep.h> - -.text -.globl syscall_error -.align 4 -ENTRY (syscall) - leal 8(%esp), %ecx /* Load address of second argument. */ - movl $SYS_HANDLER, %eax /* Use BSD system calls. */ - movw 4(%esp), %ax /* Load system call number into low word. */ - int $T_SVC6 /* Pretend it takes six args. */ - jb syscall_error - ret diff --git a/sysdeps/unix/bsd/sequent/i386/sysdep.h b/sysdeps/unix/bsd/sequent/i386/sysdep.h deleted file mode 100644 index c3d9d919b7..0000000000 --- a/sysdeps/unix/bsd/sequent/i386/sysdep.h +++ /dev/null @@ -1,82 +0,0 @@ -/* System call interface code for Sequent Symmetry running Dynix version 3. - Copyright (C) 1993, 1995, 1997 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sysdeps/unix/i386/sysdep.h> - -#ifdef __ASSEMBLER__ - -/* Get the symbols for system call interrupts. */ -#include <machine/trap.h> - -/* Use the BSD versions of system calls, by setting the high 16 bits - of the syscall number (see /usr/include/syscall.h). */ -#define SYS_HANDLER (SYS_bsd << 16) - -/* Dynix uses an interrupt interface to system calls. - "int $T_SVCn" are syscall interfaces for 0-6 arg functions. - (see /usr/include/machine/trap.h). */ - -#undef DO_CALL - -#ifdef __STDC__ -#define DO_CALL(syscall_name, args) \ - movl $(SYS_HANDLER | SYS_##syscall_name), %eax; \ - int $T_SVC##args; -#else -#define DO_CALL(syscall_name, args) \ - movl $(SYS_HANDLER | SYS_/**/syscall_name), %eax; \ - int $T_SVC/**/args; -#endif - -#undef PSEUDO -#define PSEUDO(name, syscall_name, args) \ - .text; \ - .globl syscall_error; \ - .align 4; \ - ENTRY (name) \ - ARGS (args) \ - DO_CALL (syscall_name, args) \ - jb syscall_error - -/* For one and two-argument calls, Dynix takes the arguments in %ecx and - %edx. For 3-6 argument calls, Dynix takes the address of the first - argument in %ecx. */ - -#ifdef __STDC__ -#define ARGS(n) ARGS_##n -#else -#define ARGS(n) ARGS_/**/n -#endif - -#define ARGS_0 -#define ARGS_1 movl 4(%esp), %ecx; -#define ARGS_2 movl 4(%esp), %ecx; movl 8(%esp), %edx; -#define ARGS_3 leal 4(%esp), %ecx; -#define ARGS_4 ARGS_3 -#define ARGS_5 ARGS_3 -#define ARGS_6 ARGS_3 - -/* Dynix reverses %ecx and %edx relative to most i386 Unices. */ - -#undef r1 -#define r1 %ecx /* Secondary return-value register. */ -#undef scratch -#define scratch %edx /* Call-clobbered register for random use. */ - -#endif /* __ASSEMBLER__ */ diff --git a/sysdeps/unix/bsd/sony/newsos/m68k/Implies b/sysdeps/unix/bsd/sony/newsos/m68k/Implies deleted file mode 100644 index 7b5f3cfc96..0000000000 --- a/sysdeps/unix/bsd/sony/newsos/m68k/Implies +++ /dev/null @@ -1,2 +0,0 @@ -# A news800 is almost exactly like an hp300 -unix/bsd/hp/m68k diff --git a/sysdeps/unix/bsd/sony/newsos/m68k/sysdep.h b/sysdeps/unix/bsd/sony/newsos/m68k/sysdep.h deleted file mode 100644 index db124fa15f..0000000000 --- a/sysdeps/unix/bsd/sony/newsos/m68k/sysdep.h +++ /dev/null @@ -1,56 +0,0 @@ -/* Copyright (C) 1993, 1994, 1995, 1997 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sysdeps/unix/sysdep.h> - -#ifdef __ASSEMBLER__ - -#define POUND # - -#ifdef __STDC__ -#define ENTRY(name) \ - .globl _##name; \ - .even; \ - _##name##: -#else -#define ENTRY(name) \ - .globl _/**/name; \ - .even; \ - _/**/name/**/: -#endif - -#define PSEUDO(name, syscall_name, args) \ - .even; \ - .globl syscall_error; \ - error: jmp syscall_error; \ - ENTRY (name) \ - DO_CALL (POUND SYS_ify (syscall_name), args) - -#define DO_CALL(syscall, args) \ - movel syscall, d0; \ - linkw a6, POUND(0); \ - trap POUND(0); \ - unlk a6; \ - bcs error - -#define ret rts -#define r0 d0 -#define r1 d1 -#define MOVE(x,y) movel x , y - -#endif diff --git a/sysdeps/unix/bsd/sony/newsos4/Makefile b/sysdeps/unix/bsd/sony/newsos4/Makefile deleted file mode 100644 index 053da568d8..0000000000 --- a/sysdeps/unix/bsd/sony/newsos4/Makefile +++ /dev/null @@ -1,3 +0,0 @@ -ifeq ($(subdir),posix) -sysdep_routines := $(sysdep_routines) sys_wait4 -endif diff --git a/sysdeps/unix/bsd/sony/newsos4/syscalls.list b/sysdeps/unix/bsd/sony/newsos4/syscalls.list deleted file mode 100644 index b90087f426..0000000000 --- a/sysdeps/unix/bsd/sony/newsos4/syscalls.list +++ /dev/null @@ -1,3 +0,0 @@ -# File name Caller Syscall name # args Strong name Weak names - -sys_wait4 wait4 wait4 4 __wait4_syscall diff --git a/sysdeps/unix/bsd/sony/newsos4/wait.c b/sysdeps/unix/bsd/sony/newsos4/wait.c deleted file mode 100644 index 79d54580fd..0000000000 --- a/sysdeps/unix/bsd/sony/newsos4/wait.c +++ /dev/null @@ -1 +0,0 @@ -#include <sysdeps/unix/bsd/bsd4.4/wait.c> diff --git a/sysdeps/unix/bsd/sony/newsos4/wait3.c b/sysdeps/unix/bsd/sony/newsos4/wait3.c deleted file mode 100644 index 0b3bdee771..0000000000 --- a/sysdeps/unix/bsd/sony/newsos4/wait3.c +++ /dev/null @@ -1 +0,0 @@ -#include <sysdeps/unix/bsd/bsd4.4/wait3.c> diff --git a/sysdeps/unix/bsd/sony/newsos4/wait4.c b/sysdeps/unix/bsd/sony/newsos4/wait4.c deleted file mode 100644 index 856c99fd61..0000000000 --- a/sysdeps/unix/bsd/sony/newsos4/wait4.c +++ /dev/null @@ -1 +0,0 @@ -#include <sysdeps/unix/bsd/sun/sunos4/wait4.c> diff --git a/sysdeps/unix/bsd/tahoe/Implies b/sysdeps/unix/bsd/tahoe/Implies deleted file mode 100644 index a7ecf58273..0000000000 --- a/sysdeps/unix/bsd/tahoe/Implies +++ /dev/null @@ -1 +0,0 @@ -unix/bsd/vax diff --git a/sysdeps/unix/bsd/tahoe/sysdep.h b/sysdeps/unix/bsd/tahoe/sysdep.h deleted file mode 100644 index b875906320..0000000000 --- a/sysdeps/unix/bsd/tahoe/sysdep.h +++ /dev/null @@ -1,5 +0,0 @@ -/* The Tahoe is just like the Vax, except the - `chmk' instruction is called `kcall'. */ - -#define chmk kcall -#include <sysdeps/unix/bsd/vax/sysdep.h> diff --git a/sysdeps/unix/bsd/ultrix4/Implies b/sysdeps/unix/bsd/ultrix4/Implies deleted file mode 100644 index b0e08ef1db..0000000000 --- a/sysdeps/unix/bsd/ultrix4/Implies +++ /dev/null @@ -1,2 +0,0 @@ -# Ultrix 4 has the canonical set of <sys/mman.h> system calls. -unix/mman diff --git a/sysdeps/unix/bsd/ultrix4/Makefile b/sysdeps/unix/bsd/ultrix4/Makefile deleted file mode 100644 index 26b90346ee..0000000000 --- a/sysdeps/unix/bsd/ultrix4/Makefile +++ /dev/null @@ -1,3 +0,0 @@ -ifeq ($(subdir),posix) -sysdep_routines := $(sysdep_routines) getsysinfo -endif diff --git a/sysdeps/unix/bsd/ultrix4/bits/fcntl.h b/sysdeps/unix/bsd/ultrix4/bits/fcntl.h deleted file mode 100644 index 6392bc3415..0000000000 --- a/sysdeps/unix/bsd/ultrix4/bits/fcntl.h +++ /dev/null @@ -1,122 +0,0 @@ -/* O_*, F_*, FD_* bit values for Ultrix 4. - Copyright (C) 1991, 1992, 1997, 2004 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _FCNTL_H -#error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead." -#endif - - -/* File access modes for `open' and `fcntl'. */ -#define O_RDONLY 0 /* Open read-only. */ -#define O_WRONLY 1 /* Open write-only. */ -#define O_RDWR 2 /* Open read/write. */ - - -/* Bits OR'd into the second argument to open. */ -#define O_CREAT 0x0200 /* Create file if it doesn't exist. */ -#define O_EXCL 0x0800 /* Fail if file already exists. */ -#define O_TRUNC 0x0400 /* Truncate file to zero length. */ -#ifdef __USE_MISC -#define O_ASYNC 0x0040 /* Send SIGIO to owner when data is ready. */ -#define O_FSYNC 0x8000 /* Synchronous writes. */ -#define O_SYNC O_FSYNC -#define O_BLKINUSE 0x1000 /* Block if "in use". */ -#define O_BLKANDSET 0x3000 /* Block, test and set "in use" flag. */ -#define O_TERMIO 0x40000 /* "termio style program". */ -#endif -#define O_NOCTTY 0x80000 /* Don't assign a controlling terminal. */ - -/* File status flags for `open' and `fcntl'. */ -#define O_APPEND 0x0008 /* Writes append to the file. */ -#define O_NONBLOCK 0x20000 /* Non-blocking I/O. */ - -#ifdef __USE_BSD -#define O_NDELAY 0x0004 -#endif - -#ifdef __USE_BSD -/* Bits in the file status flags returned by F_GETFL. - These are all the O_* flags, plus FREAD and FWRITE, which are - independent bits set by which of O_RDONLY, O_WRONLY, and O_RDWR, was - given to `open'. */ -#define FREAD 1 -#define FWRITE 2 - -/* Traditional BSD names the O_* bits. */ -#define FASYNC O_ASYNC -#define FCREAT O_CREAT -#define FEXCL O_EXCL -#define FTRUNC O_TRUNC -#define FNOCTTY O_NOCTTY -#define FFSYNC O_FSYNC -#define FSYNC O_SYNC -#define FAPPEND O_APPEND -#define FNONBLOCK O_NONBLOCK -#define FNDELAY O_NDELAY -#define FNBLOCK O_NONBLOCK -#define FTERMIO O_TERMIO -#define FNOCTTY O_NOCTTY -#define FSYNCRON O_FSYNC -#define FBLKINUSE O_BLKINUSE -#define FBLKANDSET O_BLKANDSET -#endif - -/* Mask for file access modes. This is system-dependent in case - some system ever wants to define some other flavor of access. */ -#define O_ACCMODE (O_RDONLY|O_WRONLY|O_RDWR) - -/* Values for the second argument to `fcntl'. */ -#define F_DUPFD 0 /* Duplicate file descriptor. */ -#define F_GETFD 1 /* Get file descriptor flags. */ -#define F_SETFD 2 /* Set file descriptor flags. */ -#define F_GETFL 3 /* Get file status flags. */ -#define F_SETFL 4 /* Set file status flags. */ -#if defined __USE_BSD || defined __USE_UNIX98 -#define F_GETOWN 5 /* Get owner (receiver of SIGIO). */ -#define F_SETOWN 6 /* Set owner (receiver of SIGIO). */ -#endif -#define F_GETLK 7 /* Get record locking info. */ -#define F_SETLK 8 /* Set record locking info (non-blocking). */ -#define F_SETLKW 9 /* Set record locking info (blocking). */ -#ifdef __USE_MISC -#define F_SETSYN 10 /* Set synchronous writing. */ -#define F_CLRSYN 10 /* Clear synchronous writing. */ -#endif - -/* File descriptor flags used with F_GETFD and F_SETFD. */ -#define FD_CLOEXEC 1 /* Close on exec. */ - - -#include <bits/types.h> - -/* The structure describing an advisory lock. This is the type of the third - argument to `fcntl' for the F_GETLK, F_SETLK, and F_SETLKW requests. */ -struct flock - { - short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ - short int l_whence; /* Where `l_start' is relative to (like `lseek'). */ - __off_t l_start; /* Offset where the lock begins. */ - __off_t l_len; /* Size of the locked area; zero means until EOF. */ - __pid_t l_pid; /* Process holding the lock. */ - }; - -/* Values for the `l_type' field of a `struct flock'. */ -#define F_RDLCK 1 /* Read lock. */ -#define F_WRLCK 2 /* Write lock. */ -#define F_UNLCK 3 /* Remove lock. */ diff --git a/sysdeps/unix/bsd/ultrix4/bits/mman.h b/sysdeps/unix/bsd/ultrix4/bits/mman.h deleted file mode 100644 index 918b535634..0000000000 --- a/sysdeps/unix/bsd/ultrix4/bits/mman.h +++ /dev/null @@ -1,51 +0,0 @@ -/* Definitions for BSD-style memory management. Ultrix 4 version. - Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _BITS_MMAN_H -#define _BITS_MMAN_H 1 - -/* Protections are chosen from these bits, OR'd together. The - implementation does not necessarily support PROT_EXEC or PROT_WRITE - without PROT_READ. The only guarantees are that no writing will be - allowed without PROT_WRITE and no access will be allowed for PROT_NONE. */ - -#define PROT_NONE 0x00 /* No access. */ -#define PROT_READ 0x01 /* Pages can be read. */ -#define PROT_WRITE 0x02 /* Pages can be written. */ -#define PROT_EXEC 0x04 /* Pages can be executed. */ -/* Sharing types (must choose one and only one of these). */ -#define MAP_SHARED 0x01 /* Share changes. */ -#define MAP_PRIVATE 0x02 /* Changes private; copy pages on write. */ -#ifdef __USE_BSD -# define MAP_TYPE 0x0f /* Mask for sharing type. */ -#endif - -/* Other flags. */ -#define MAP_FIXED 0x10 /* Map address must be exactly as requested. */ - -/* Advice to `madvise'. */ -#ifdef __USE_BSD -# define MADV_NORMAL 0 /* No further special treatment. */ -# define MADV_RANDOM 1 /* Expect random page references. */ -# define MADV_SEQUENTIAL 2 /* Expect sequential page references. */ -# define MADV_WILLNEED 3 /* Will need these pages. */ -# define MADV_DONTNEED 4 /* Don't need these pages. */ -#endif - -#endif /* bits/mman.h */ diff --git a/sysdeps/unix/bsd/ultrix4/bits/posix_opt.h b/sysdeps/unix/bsd/ultrix4/bits/posix_opt.h deleted file mode 100644 index aba6852e1f..0000000000 --- a/sysdeps/unix/bsd/ultrix4/bits/posix_opt.h +++ /dev/null @@ -1,24 +0,0 @@ -/* Copyright (C) 1992, 1997 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Ian Lance Taylor (ian@airs.com). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#define _POSIX_JOB_CONTROL 1 -#define _POSIX_SAVED_IDS 1 -#define _POSIX_CHOWN_RESTRICTED 1 -#define _POSIX_NO_TRUNC 1 -#define _POSIX_VDISABLE ((unsigned char) -1) diff --git a/sysdeps/unix/bsd/ultrix4/bits/utsname.h b/sysdeps/unix/bsd/ultrix4/bits/utsname.h deleted file mode 100644 index 57820471a2..0000000000 --- a/sysdeps/unix/bsd/ultrix4/bits/utsname.h +++ /dev/null @@ -1,23 +0,0 @@ -/* Copyright (C) 1997, 2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SYS_UTSNAME_H -# error "Never include <bits/utsname.h> directly; use <sys/utsname.h> instead." -#endif - -#define _UTSNAME_LENGTH 32 diff --git a/sysdeps/unix/bsd/ultrix4/mips/Dist b/sysdeps/unix/bsd/ultrix4/mips/Dist deleted file mode 100644 index 06cf9cc2de..0000000000 --- a/sysdeps/unix/bsd/ultrix4/mips/Dist +++ /dev/null @@ -1 +0,0 @@ -__handler.S diff --git a/sysdeps/unix/bsd/ultrix4/mips/Makefile b/sysdeps/unix/bsd/ultrix4/mips/Makefile deleted file mode 100644 index 74e3b04f6c..0000000000 --- a/sysdeps/unix/bsd/ultrix4/mips/Makefile +++ /dev/null @@ -1,3 +0,0 @@ -ifeq ($(subdir),signal) -sysdep_routines := $(sysdep_routines) __handler -endif diff --git a/sysdeps/unix/bsd/ultrix4/mips/__handler.S b/sysdeps/unix/bsd/ultrix4/mips/__handler.S deleted file mode 100644 index 2b815c46dd..0000000000 --- a/sysdeps/unix/bsd/ultrix4/mips/__handler.S +++ /dev/null @@ -1,115 +0,0 @@ -/* Copyright (C) 1992, 1997 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Brendan Kehoe (brendan@zen.org). - Also hacked by Ian Lance Taylor (ian@airs.com). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sysdep.h> - -/* This function saves all the registers, calls the - user function, and then executes a sigreturn system call. The - sigreturn call wants the address of a sigcontext structure. This - is all hideously system dependent and, for all intents and - purposes, undocumented. - - When we enter here, a3 holds the user's signal handler. We are - supposed to fill in the context given in a2, and then pass it and - the first two arguments to the user's function. If the user's - function returns, we execute a sigreturn system call. - - The sc_onstack, sc_mask and sc_pc elements of the context are - already set by the kernel. For some reason we don't have to save - the floating point state or the coprocessor state; the kernel may - have saved them for us, or it doesn't use them. */ - -.set noat -ENTRY (__handler) - /* Store zero and the asm temp reg. */ - sw $0, 12(a2) - sw AT, 16(a2) - - /* Put v1 in sc_regs[3]. */ - sw v1, 24(a2) - - /* Save the caller saved registers in sc_regs[8..15]. */ - sw t0, 44(a2) - sw t1, 48(a2) - sw t2, 52(a2) - sw t3, 56(a2) - sw t4, 60(a2) - sw t5, 64(a2) - sw t6, 68(a2) - sw t7, 72(a2) - - /* Save the callee saved registers in sc_regs[16..23]. */ - sw s0, 76(a2) - sw s1, 80(a2) - sw s2, 84(a2) - sw s3, 88(a2) - sw s4, 92(a2) - sw s5, 96(a2) - sw s6, 100(a2) - sw s7, 104(a2) - - /* Save the code generator registers in sc_regs[24] & sc_regs[25]. */ - sw t8, 108(a2) - sw t9, 112(a2) - - /* Save the kernel temp regs in sc_regs[26] & sc_regs[27]. */ - sw k0, 116(a2) - sw k1, 120(a2) - - /* Save the global pointer in sc_regs[28]. */ - sw gp, 124(a2) - - /* ... and also the return address in sc_regs[31]. */ - sw ra, 136(a2) - - /* Note: we don't save the stack pointer in sc_regs[29]; - instead, we use the one that was already there. */ -#if 0 - sw sp, 128(a2) -#endif - - /* Save the floating pointer in sc_regs[30]. */ - sw $fp, 132(a2) - - /* Save the mul/div stuff in sc_mdlo and sc_mdhi. */ - mflo t0 - sw t0, 140(a2) - mfhi t0 - sw t0, 144(a2) - - /* Move the stack up four. This will save the context. */ - addu sp, sp, -32 - sw a2, 16(sp) - - /* Call their handler with the signal, code, and context; note - this will clobber the context. */ - .set noreorder - jal ra, a3 - nop - .set reorder - - /* When we come back, restore the context and pass it right - on into sigreturn(). */ - lw a0, 16(sp) - - /* Do a sigreturn syscall; this doesn't return. */ - la v0, __sigreturn - jal ra, v0 - .end __handler diff --git a/sysdeps/unix/bsd/ultrix4/mips/bits/sigcontext.h b/sysdeps/unix/bsd/ultrix4/mips/bits/sigcontext.h deleted file mode 100644 index 3674651372..0000000000 --- a/sysdeps/unix/bsd/ultrix4/mips/bits/sigcontext.h +++ /dev/null @@ -1,63 +0,0 @@ -/* Copyright (C) 1992, 1994, 1997 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SIGNAL_H -# error "Never use <bits/sigcontext.h> directly; include <signal.h> instead." -#endif - -/* Note that ANY change to this instantly implies a change to __handler.S. */ - -struct sigcontext - { - /* Nonzero if running on signal stack. */ - int sc_onstack; - - /* Signal mask to restore. */ - __sigset_t sc_mask; - - /* Program counter when the signal hit. */ - __ptr_t sc_pc; - - /* Registers 0 through 31. */ - int sc_regs[32]; - - /* mul/div low and hi; these aren't part of a jmp_buf, but are part of the - sigcontext and are referenced from the signal trampoline code. */ - int sc_mdlo; - int sc_mdhi; - - /* Flag to see if the FP's been used. */ - int sc_ownedfp; - - /* Floating point registers 0 to 31. */ - int sc_fpregs[32]; - /* Control & status register for FP. */ - int sc_fpc_csr; - - /* Exception instruction register for FP. */ - int sc_fpc_eir; - - /* The coprocessor's cause register. */ - int sc_cause; - - /* CPU bad virtual address. */ - __ptr_t sc_badvaddr; - - /* CPU board bad physical address. */ - __ptr_t sc_badpaddr; - }; diff --git a/sysdeps/unix/bsd/ultrix4/mips/sigvec.c b/sysdeps/unix/bsd/ultrix4/mips/sigvec.c deleted file mode 100644 index 5775c9adb9..0000000000 --- a/sysdeps/unix/bsd/ultrix4/mips/sigvec.c +++ /dev/null @@ -1,55 +0,0 @@ -/* Copyright (C) 1992, 1996, 1997, 2004 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* The sigvec system call on MIPS Ultrix takes an additional - parameter, which is the address that is actually called when the - signal occurs. - - When a signal occurs, we arrange for the kernel to call __handler. - That will save the frame and stack pointers into the context, and - then jump to this routine. See __handler.S. - - This code is based on sysdeps/unix/bsd/sun4/sigtramp.c, but it's - different because since we get passed the user signal handler we - don't actually need a trampoline. */ - -#include <signal.h> -#include <stddef.h> -#include <errno.h> - -/* The user's signal handler is called with three arguments. */ -typedef void (*handler_type) (int sig, int code, struct sigcontext *); - -extern int __raw_sigvec (int sig, CONST struct sigvec *vec, - struct sigvec *ovec, - void (*)(int sig, int code, - struct sigcontext *, - handler_type)); - -extern void __handler (int sig, int code, - struct sigcontext *, - handler_type); - -int -__sigvec (sig, vec, ovec) - int sig; - const struct sigvec *vec; - struct sigvec *ovec; -{ - return __raw_sigvec (sig, vec, ovec, __handler); -} diff --git a/sysdeps/unix/bsd/ultrix4/mips/start.S b/sysdeps/unix/bsd/ultrix4/mips/start.S deleted file mode 100644 index a88268af45..0000000000 --- a/sysdeps/unix/bsd/ultrix4/mips/start.S +++ /dev/null @@ -1,87 +0,0 @@ -/* Copyright (C) 1993, 1995, 1996, 1997 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Brendan Kehoe (brendan@zen.org). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - In addition to the permissions in the GNU Lesser General Public - License, the Free Software Foundation gives you unlimited - permission to link the compiled version of this file with other - programs, and to distribute those programs without any restriction - coming from the use of this file. (The GNU Lesser General Public - License restrictions do apply in other respects; for example, they - cover modification of the file, and distribution when not linked - into another program.) - - Note that people who make modified versions of this file are not - obligated to grant this special exception for their modified - versions; it is their choice whether to do so. The GNU Lesser - General Public License gives permission to release a modified - version without this exception; this exception also makes it - possible to release a modified version which carries forward this - exception. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sysdep.h> - -ENTRY(__start) - .set noreorder - - /* The first thing on the stack is argc. */ - lw s0, 0(sp) - nop - - /* Set up the global pointer. */ - la gp, _gp - - /* Then set up argv. */ - addiu s1, sp, 4 - - /* To compute where envp is, first we have to jump ahead four - bytes from what argv was. This will bring us ahead, so we don't - need to compute the NULL at the end of argv later. */ - addiu v1, s1, 4 - - /* Now, compute the space to skip given the number of arguments - we've got. We do this by multiplying argc by 4. */ - sll v0, s0, 2 - - /* Now, add (argv+4) with the space to skip...that's envp. */ - addu s2, v1, v0 - - /* __environ = envp; */ - sw s2, __environ - - addiu sp, sp, -24 - - /* __libc_init (argc, argv, envp); */ - move a0, s0 - move a1, s1 - jal __libc_init - move a2, s2 - - /* errno = 0; */ - sw zero, errno - - /* exit (main (argc, argv, envp)); */ - move a0, s0 - move a1, s1 - jal main - move a2, s2 - - /* Make the value returned by main be the argument to exit. */ - jal exit - move a0, v0 - .end __start diff --git a/sysdeps/unix/bsd/ultrix4/mips/syscalls.list b/sysdeps/unix/bsd/ultrix4/mips/syscalls.list deleted file mode 100644 index f7d0bba6a8..0000000000 --- a/sysdeps/unix/bsd/ultrix4/mips/syscalls.list +++ /dev/null @@ -1,3 +0,0 @@ -# File name Caller Syscall name # args Strong name Weak names - -raw-sigvec sigvec sigvec 4 __raw_sigvec diff --git a/sysdeps/unix/bsd/ultrix4/mips/sysdep.h b/sysdeps/unix/bsd/ultrix4/mips/sysdep.h deleted file mode 100644 index 09b69ff854..0000000000 --- a/sysdeps/unix/bsd/ultrix4/mips/sysdep.h +++ /dev/null @@ -1,3 +0,0 @@ -#define NO_UNDERSCORES - -#include <sysdeps/unix/mips/sysdep.h> diff --git a/sysdeps/unix/bsd/ultrix4/mips/vfork.S b/sysdeps/unix/bsd/ultrix4/mips/vfork.S deleted file mode 100644 index d413e45dc1..0000000000 --- a/sysdeps/unix/bsd/ultrix4/mips/vfork.S +++ /dev/null @@ -1,36 +0,0 @@ -/* Copyright (C) 1992, 1995, 1997, 2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Brendan Kehoe (brendan@zen.org). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sysdep.h> - -#ifndef SYS_vfork -#define SYS_vfork 66 -#endif - -SYSCALL__ (vfork, 0) - beq v1, zero, parent /* Branch if parent. */ - nop - move v0, zero -parent: - ret - nop - .end __vfork -libc_hidden_def (__vfork) - -weak_alias (__vfork, vfork) diff --git a/sysdeps/unix/bsd/ultrix4/syscalls.list b/sysdeps/unix/bsd/ultrix4/syscalls.list deleted file mode 100644 index 68df0a766a..0000000000 --- a/sysdeps/unix/bsd/ultrix4/syscalls.list +++ /dev/null @@ -1,3 +0,0 @@ -# File name Caller Syscall name # args Strong name Weak names - -getsysinfo sysconf getsysinfo 5 __getsysinfo diff --git a/sysdeps/unix/bsd/ultrix4/sysconf.c b/sysdeps/unix/bsd/ultrix4/sysconf.c deleted file mode 100644 index 0982fc832d..0000000000 --- a/sysdeps/unix/bsd/ultrix4/sysconf.c +++ /dev/null @@ -1,61 +0,0 @@ -/* Copyright (C) 1992, 1995, 1996, 1997, 2004 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Ian Lance Taylor (ian@airs.com). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* On Ultrix we can use the getsysinfo call to get the right return - value for _SC_CHILD_MAX. Everything else is from <sys/param.h>, - which the default sysconf already knows how to handle. */ - -#include <unistd.h> -#include <errno.h> - -/* This is an Ultrix header file. */ -#include <sys/sysinfo.h> - -extern int __getsysinfo (unsigned int op, void *buffer, - size_t nbytes, int *start, void *arg); -extern long int __default_sysconf (int name); - -long int -__sysconf (name) - int name; -{ - if (name == _SC_CHILD_MAX) - { - int save = errno; - int start = 0; - int ret; - - /* getsysinfo returns the number of values it put into the - buffer, or 0 if not available, or -1 on error. */ - if (__getsysinfo (GSI_MAX_UPROCS, &ret, sizeof (ret), &start, - (void *) 0) > 0) - { - __set_errno (save); - return ret; - } - - __set_errno (save); - } - - return __default_sysconf (name); -} - -#define __sysconf __default_sysconf - -#include <sysdeps/posix/sysconf.c> diff --git a/sysdeps/unix/bsd/ultrix4/system.c b/sysdeps/unix/bsd/ultrix4/system.c deleted file mode 100644 index b133fe77c0..0000000000 --- a/sysdeps/unix/bsd/ultrix4/system.c +++ /dev/null @@ -1,2 +0,0 @@ -/* Ultrix 4 does have `waitpid'. Avoid unix/system.c, which says we don't. */ -#include <sysdeps/posix/system.c> diff --git a/sysdeps/unix/bsd/ultrix4/wait3.S b/sysdeps/unix/bsd/ultrix4/wait3.S deleted file mode 100644 index b20ecfa242..0000000000 --- a/sysdeps/unix/bsd/ultrix4/wait3.S +++ /dev/null @@ -1,26 +0,0 @@ -/* Copyright (C) 1992, 1995, 1997 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Brendan Kehoe (brendan@zen.org). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sysdep.h> - -SYSCALL__ (wait3, 3) - ret - .end __wait3 - -weak_alias (__wait3, wait3) diff --git a/sysdeps/unix/bsd/vax/brk.S b/sysdeps/unix/bsd/vax/brk.S deleted file mode 100644 index 52377bc43e..0000000000 --- a/sysdeps/unix/bsd/vax/brk.S +++ /dev/null @@ -1,47 +0,0 @@ -/* Copyright (C) 1991, 1995, 1997 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sysdep.h> - -#ifndef SYS_brk -#define SYS_brk 17 -#endif - -#ifndef HAVE_GNU_LD -#define __end _end -#endif - -.data -.globl ___curbrk -___curbrk: - .long __end - -.text -ENTRY (__brk) - cmpl 4(ap), __end - bgeq 0f - movl __env, 4(ap) -0: chmk $SYS_brk - bcs 1f - movl 4(ap), ___curbrk - clrl r0 - ret -1: - jmp syscall_error - -weak_alias (__brk, brk) diff --git a/sysdeps/unix/bsd/vax/dl-brk.S b/sysdeps/unix/bsd/vax/dl-brk.S deleted file mode 100644 index eeb96544e3..0000000000 --- a/sysdeps/unix/bsd/vax/dl-brk.S +++ /dev/null @@ -1 +0,0 @@ -#include <brk.S> diff --git a/sysdeps/unix/bsd/vax/pipe.S b/sysdeps/unix/bsd/vax/pipe.S deleted file mode 100644 index 3ed784264c..0000000000 --- a/sysdeps/unix/bsd/vax/pipe.S +++ /dev/null @@ -1,29 +0,0 @@ -/* Copyright (C) 1991, 1992, 1995, 1997, 2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sysdep.h> - -SYSCALL__ (pipe, 1) - movl 4(ap), r2 - movl r0, (r2)+ - movl r1, (r2) - clrl r0 - ret - -libc_hidden_def (__pipe) -weak_alias (__pipe, pipe) diff --git a/sysdeps/unix/bsd/vax/sysdep.S b/sysdeps/unix/bsd/vax/sysdep.S deleted file mode 100644 index 786aed2d1a..0000000000 --- a/sysdeps/unix/bsd/vax/sysdep.S +++ /dev/null @@ -1,35 +0,0 @@ -/* Copyright (C) 1991, 1992, 1993, 1994, 1997 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#define _ERRNO_H -#include <bits/errno.h> - -.globl _errno -.globl syscall_error -syscall_error: -#if defined (EWOULDBLOCK_sys) && EWOULDBLOCK_sys != EAGAIN - /* We translate the system's EWOULDBLOCK error into EAGAIN. - The GNU C library always defines EWOULDBLOCK==EAGAIN. - EWOULDBLOCK_sys is the original number. */ - cmpl r0, $EWOULDBLOCK_sys - bne 0f - movl $EAGAIN, r0 -#endif -0: movl r0, _errno - mnegl $1, r0 - ret diff --git a/sysdeps/unix/bsd/vax/sysdep.h b/sysdeps/unix/bsd/vax/sysdep.h deleted file mode 100644 index 563ad26c18..0000000000 --- a/sysdeps/unix/bsd/vax/sysdep.h +++ /dev/null @@ -1,55 +0,0 @@ -/* Copyright (C) 1991, 1992, 1995, 1997 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sysdeps/unix/sysdep.h> - -#ifdef __ASSEMBLER__ - -#ifdef __STDC__ -#define ENTRY(name) \ - .globl _##name; \ - .even; \ - _##name##: -#else -#define ENTRY(name) \ - .globl _/**/name; \ - .even; \ - _/**/name/**/: -#endif - -#ifdef __STDC__ -#define PSEUDO(name, syscall_name, args) \ - .even; \ - .globl syscall_error \ - error: jmp syscall_error; \ - ENTRY (name) \ - chmk $SYS_##syscall_name \ - bcs error -#else -#define PSEUDO(name, syscall_name, args) \ - .even; \ - .globl syscall_error \ - error: jmp syscall_error; \ - ENTRY (name) \ - chmk $SYS_/**/syscall_name \ - bcs error -#endif - -#define MOVE(x,y) movl x , y - -#endif /* __ASSEMBLER__ */ diff --git a/sysdeps/unix/bsd/vax/vfork.S b/sysdeps/unix/bsd/vax/vfork.S deleted file mode 100644 index 6c7e754ac7..0000000000 --- a/sysdeps/unix/bsd/vax/vfork.S +++ /dev/null @@ -1,57 +0,0 @@ -/* Copyright (C) 1991, 1992, 1995, 1997, 2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sysdep.h> - -#ifndef SYS_vfork -#define SYS_vfork 66 -#endif - -/* Clone the calling process, but without copying the whole address space. - The calling process is suspended until the new process exits or is - replaced by a call to `execve'. Return -1 for errors, 0 to the new process, - and the process ID of the new process to the old process. */ -.globl ___vfork -___vfork: - .word 0 - /* Save our return address in R2, and return to code below. */ - movl 16(fp), r2 - movab unwind, 16(fp) - ret -unwind: - /* Do the system call. */ - chmk $SYS_vfork - bcs error - - tstl r1 - beq parent - - /* We are the child. Return zero. */ - clrl r0 - - /* Return to the saved address. */ -parent: jmp (r2) - -.globl _errno -error: - movl r0, _errno - mnegl $1, r0 - jmp (r2) -libc_hidden_def (__vfork) - -weak_alias (__vfork, vfork) diff --git a/sysdeps/unix/bsd/vax/wait.S b/sysdeps/unix/bsd/vax/wait.S deleted file mode 100644 index 19396f06e8..0000000000 --- a/sysdeps/unix/bsd/vax/wait.S +++ /dev/null @@ -1,27 +0,0 @@ -/* Copyright (C) 1991, 1992, 1995, 1997 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sysdep.h> - -SYSCALL__ (wait, 1) - movl 4(ap), r2 - beq 1f - movl r1, (r2) -1: ret - -weak_alias (__wait, wait) diff --git a/sysdeps/unix/bsd/vax/wait3.S b/sysdeps/unix/bsd/vax/wait3.S deleted file mode 100644 index e0ceec1de0..0000000000 --- a/sysdeps/unix/bsd/vax/wait3.S +++ /dev/null @@ -1,37 +0,0 @@ -/* Copyright (C) 1991, 1992, 1995, 1997 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sysdep.h> - -ENTRY(___wait3) - movel 8(ap), r1 - movel 12(ap), r0 - /* Set all condition codes to tell the kernel this is wait3. */ - bispsw $15 - chmk $SYS_wait - bcs error - - movl 4(ap), r2 - beq 1f - movl r1, (r2) -1: ret - -.globl syscall_error -error: jmp syscall_error - -weak_alias (__wait3, wait3) diff --git a/sysdeps/unix/sysv/aix/Dist b/sysdeps/unix/sysv/aix/Dist deleted file mode 100644 index 609fd778e9..0000000000 --- a/sysdeps/unix/sysv/aix/Dist +++ /dev/null @@ -1,15 +0,0 @@ -dl-support.c -dl-error.c -dl-addr.c -dl-sym.c -dl-open.c -dl-close.c -dl-libc.c -dlldr.h -kernel_proto.h -start-libc.c -sysv_termio.h -bits/utmpx.h -gnu/lib-names.h -uitrunc.c -utmpx.h diff --git a/sysdeps/unix/sysv/aix/Implies b/sysdeps/unix/sysv/aix/Implies deleted file mode 100644 index 279438d433..0000000000 --- a/sysdeps/unix/sysv/aix/Implies +++ /dev/null @@ -1,8 +0,0 @@ -# AIX shares most of the syscalls which are also common to BSD and SVR4. -unix/common - -# AIX has all functions of the mmap family which are described in POSIX.4. -unix/mman - -# AIX has network support in the kernel. -unix/inet diff --git a/sysdeps/unix/sysv/aix/Makefile b/sysdeps/unix/sysv/aix/Makefile deleted file mode 100644 index 2da5311091..0000000000 --- a/sysdeps/unix/sysv/aix/Makefile +++ /dev/null @@ -1,41 +0,0 @@ -# XXX For now always link against the syscalls export file. -# This is a hack until the import/export stuff is worked out. -+postctor += /lib/syscalls.exp - -ifeq ($(subdir),csu) - -sysdep_routines += aix-syscalls - -# -# The foo.c is a workaround for the linker complaining about no input files. -$(objpfx)aix-syscalls.o : /lib/syscalls.exp - echo "static int a;" > foo.c - $(CC) -c foo.c - ld -bM:SRE -bpT:0x00000000 -bpD:0x00000000 -bnoentry -bI:/lib/syscalls.exp -bE:/lib/syscalls.exp foo.o -o $@ - rm foo.c foo.o - - -endif - -ifeq ($(subdir),misc) -sysdep_routines += dl-error dl-support dl-libc dl-open dl-sym \ - dl-close dl-addr uitrunc - -static-only-routines = gprsave0 gprrest0 gprsave1 gprrest1 fprsave fprrest -endif - -ifeq ($(subdir),login) -sysdep_routines += setutxent getutxent endutxent getutxid getutxline \ - pututxline utmpxname - -#sysdep_headers += utmpx.h bits/utmpx.h -#sysdep_headers += bits/utmp.h bits/utmpx.h -endif - -# Don't compile the ctype glue code, since there is no old non-GNU C library. -inhibit-glue = yes - -# XXX Don't know yet why this is needed in the moment. -ifeq ($(subdir),timezone) -CPPFLAGS-zic.c = -Dunix -endif diff --git a/sysdeps/unix/sysv/aix/Versions b/sysdeps/unix/sysv/aix/Versions deleted file mode 100644 index 4c32bbbe77..0000000000 --- a/sysdeps/unix/sysv/aix/Versions +++ /dev/null @@ -1,6 +0,0 @@ -libc { - GLIBC_2.2 { - # u* - umount; - } -} diff --git a/sysdeps/unix/sysv/aix/_exit.c b/sysdeps/unix/sysv/aix/_exit.c deleted file mode 100644 index 510f3ae88b..0000000000 --- a/sysdeps/unix/sysv/aix/_exit.c +++ /dev/null @@ -1,29 +0,0 @@ -/* Copyright (C) 1999 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <stdlib.h> - - -/* We define only thr alias introduced in ISO C99 because _exit itself - is a system call. */ -void -_Exit (status) - int status; -{ - _exit (status); -} diff --git a/sysdeps/unix/sysv/aix/accept.c b/sysdeps/unix/sysv/aix/accept.c deleted file mode 100644 index 73f11499f2..0000000000 --- a/sysdeps/unix/sysv/aix/accept.c +++ /dev/null @@ -1,30 +0,0 @@ -/* Copyright (C) 2000, 2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <assert.h> -#include <sys/socket.h> - -extern int naccept (int s, void *uap_name, int *uap_anamelen); - -int -accept (int fd, __SOCKADDR_ARG addr, socklen_t *addr_len) -{ - assert (sizeof (socklen_t) == sizeof (int)); - return naccept (fd, addr.__sockaddr__, addr_len); -} -libc_hidden_def (accept) diff --git a/sysdeps/unix/sysv/aix/access.c b/sysdeps/unix/sysv/aix/access.c deleted file mode 100644 index 97f8e68799..0000000000 --- a/sysdeps/unix/sysv/aix/access.c +++ /dev/null @@ -1,30 +0,0 @@ -/* Copyright (C) 1999, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <unistd.h> - -#define ACC_INVOKER 0x01 - -extern int accessx (const char *name, int type, int who); - -int -__access (const char *name, int type) -{ - return accessx (name, type, ACC_INVOKER); -} -strong_alias (__access, access) diff --git a/sysdeps/unix/sysv/aix/bind.c b/sysdeps/unix/sysv/aix/bind.c deleted file mode 100644 index 6036fbbffd..0000000000 --- a/sysdeps/unix/sysv/aix/bind.c +++ /dev/null @@ -1 +0,0 @@ -/* This is a system call. */ diff --git a/sysdeps/unix/sysv/aix/bits/dirent.h b/sysdeps/unix/sysv/aix/bits/dirent.h deleted file mode 100644 index 48eeb32887..0000000000 --- a/sysdeps/unix/sysv/aix/bits/dirent.h +++ /dev/null @@ -1,55 +0,0 @@ -/* Directory entry structure `struct dirent'. Old System V version. - Copyright (C) 1996, 1997, 1999 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _DIRENT_H -# error "Never use <bits/dirent.h> directly; include <dirent.h> instead." -#endif - -struct dirent - { -#ifndef __USE_FILE_OFFSET64 - __off_t d_off; - __ino_t d_ino; -#else - __off64_t d_off; - __ino64_t d_ino; -#endif - unsigned short int d_reclen; - unsigned short int d_namlen; - char d_name[256]; - }; - -#ifdef __USE_LARGEFILE64 -struct dirent64 - { - __off64_t d_off; - __ino64_t d_ino; - unsigned short int d_reclen; - unsigned short int d_namlen; - char d_name[256]; - }; -#endif - -#define d_fileno d_ino /* Backwards compatibility. */ -#define d_offset d_off - -#define _DIRENT_HAVE_D_NAMLEN -#define _DIRENT_HAVE_D_RECLEN -#define _DIRENT_HAVE_D_OFF -#undef _DIRENT_HAVE_D_TYPE diff --git a/sysdeps/unix/sysv/aix/bits/dlfcn.h b/sysdeps/unix/sysv/aix/bits/dlfcn.h deleted file mode 100644 index e184175275..0000000000 --- a/sysdeps/unix/sysv/aix/bits/dlfcn.h +++ /dev/null @@ -1,47 +0,0 @@ -/* AIX dependent definitions for run-time dynamic loading. - Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _DLFCN_H -# error "Never use <bits/dlfcn.h> directly; include <dlfcn.h> instead." -#endif - -/* The MODE argument to `dlopen' contains one of the following: */ -#define RTLD_LAZY 0x004 /* Lazy function call binding. */ -#define RTLD_NOW 0x002 /* Immediate function call binding. */ -#define RTLD_BINDING_MASK 0x6 /* Mask of binding time value. */ - -/* If the following bit is set in the MODE argument to `dlopen', - the symbols of the loaded object and its dependencies are made - visible as if the object were linked directly into the program. */ -#define RTLD_GLOBAL 0x10000 - -/* Unix98 demands the following flag which is the inverse to RTLD_GLOBAL. - The implementation does this by default and so we can define the - value to zero. */ -#define RTLD_LOCAL 0x800000 - -#ifdef __USE_GNU -/* These are extensions of the AIX kernel. */ -# define RTLD_NOAUTODEFER 0x020000 -# define RTLD_MEMBER 0x040000 -# define RTLD_UNIX_LATEST 0x100000 -#endif - -/* No support to profile shared libraries available. */ -# define DL_CALL_FCT(fctp, args) fctp args diff --git a/sysdeps/unix/sysv/aix/bits/endian.h b/sysdeps/unix/sysv/aix/bits/endian.h deleted file mode 100644 index 8e9b98ef78..0000000000 --- a/sysdeps/unix/sysv/aix/bits/endian.h +++ /dev/null @@ -1,23 +0,0 @@ -/* Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _ENDIAN_H -# error "Never use <bits/endian.h> directly; include <endian.h> instead." -#endif - -#define __BYTE_ORDER __BIG_ENDIAN diff --git a/sysdeps/unix/sysv/aix/bits/errno.h b/sysdeps/unix/sysv/aix/bits/errno.h deleted file mode 100644 index 9f22a965e1..0000000000 --- a/sysdeps/unix/sysv/aix/bits/errno.h +++ /dev/null @@ -1,153 +0,0 @@ -/* Copyright (C) 1999, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* This file defines the `errno' constants. */ - -#if !defined __Emath_defined && (defined _ERRNO_H || defined __need_Emath) -#undef __need_Emath -#define __Emath_defined 1 - -#endif - -#ifdef _ERRNO_H -# undef EDOM -# undef EILSEQ -# undef ERANGE - -# define EPERM 1 /* Operation not permitted. */ -# define ENOENT 2 /* No such file or directory. */ -# define ESRCH 3 /* No such process. */ -# define EINTR 4 /* interrupted system call. */ -# define EIO 5 /* I/O error. */ -# define ENXIO 6 /* No such device or address. */ -# define E2BIG 7 /* Arg list too long. */ -# define ENOEXEC 8 /* Exec format error. */ -# define EBADF 9 /* Bad file descriptor. */ -# define ECHILD 10 /* No child processes. */ -# define EAGAIN 11 /* Resource temporarily unavailable. */ -# define ENOMEM 12 /* Not enough space. */ -# define EACCES 13 /* Permission denied. */ -# define EFAULT 14 /* Bad address. */ -# define ENOTBLK 15 /* Block device required. */ -# define EBUSY 16 /* Resource busy. */ -# define EEXIST 17 /* File exists. */ -# define EXDEV 18 /* Improper link. */ -# define ENODEV 19 /* No such device. */ -# define ENOTDIR 20 /* Not a directory. */ -# define EISDIR 21 /* Is a directory. */ -# define EINVAL 22 /* Invalid argument. */ -# define ENFILE 23 /* Too many open files in system. */ -# define EMFILE 24 /* Too many open files. */ -# define ENOTTY 25 /* Inappropriate I/O control operation. */ -# define ETXTBSY 26 /* Text file busy. */ -# define EFBIG 27 /* File too large. */ -# define ENOSPC 28 /* No space left on device. */ -# define ESPIPE 29 /* Invalid seek. */ -# define EROFS 30 /* Read only file system. */ -# define EMLINK 31 /* Too many links. */ -# define EPIPE 32 /* Broken pipe. */ -# define EDOM 33 /* Domain error within math function. */ -# define ERANGE 34 /* Result too large. */ -# define ENOMSG 35 /* No message of desired type. */ -# define EIDRM 36 /* Identifier removed. */ -# define ECHRNG 37 /* Channel number out of range. */ -# define EL2NSYNC 38 /* Level 2 not synchronized. */ -# define EL3HLT 39 /* Level 3 halted. */ -# define EL3RST 40 /* Level 3 reset. */ -# define ELNRNG 41 /* Link number out of range. */ -# define EUNATCH 42 /* Protocol driver not attached. */ -# define ENOCSI 43 /* No CSI structure available. */ -# define EL2HLT 44 /* Level 2 halted. */ -# define EDEADLK 45 /* Resource deadlock avoided. */ -# define ENOTREADY 46 /* Device not ready. */ -# define EWRPROTECT 47 /* Write-protected media. */ -# define EFORMAT 48 /* Unformatted media. */ -# define ENOLCK 49 /* No locks available. */ -# define ENOCONNECT 50 /* No connection. */ -# define ESTALE 52 /* No filesystem. */ -# define EDIST 53 /* Old, currently unused AIX errno. */ -# if __USE_XOPEN_EXTENDED -# define EWOULDBLOCK EAGAIN /* Operation would block. */ -# else /* __USE_XOPEN_EXTENDED */ -# define EWOULDBLOCK 54 -# endif /* __USE_XOPEN_EXTENDED */ -# define EINPROGRESS 55 /* Operation now in progress. */ -# define EALREADY 56 /* Operation already in progress. */ -# define ENOTSOCK 57 /* Socket operation on non-socket. */ -# define EDESTADDRREQ 58 /* Destination address required. */ -# define EDESTADDREQ EDESTADDRREQ /* Destination address required. */ -# define EMSGSIZE 59 /* Message too long. */ -# define EPROTOTYPE 60 /* Protocol wrong type for socket. */ -# define ENOPROTOOPT 61 /* Protocol not available. */ -# define EPROTONOSUPPORT 62 /* Protocol not supported. */ -# define ESOCKTNOSUPPORT 63 /* Socket type not supported. */ -# define EOPNOTSUPP 64 /* Operation not supported on socket. */ -# define EPFNOSUPPORT 65 /* Protocol family not supported. */ -# define EAFNOSUPPORT 66 /* Address family not supported by protocol - family. */ -# define EADDRINUSE 67 /* Address already in use. */ -# define EADDRNOTAVAIL 68 /* Can't assign requested address. */ -# define ENETDOWN 69 /* Network is down. */ -# define ENETUNREACH 70 /* Network is unreachable. */ -# define ENETRESET 71 /* Network dropped connection on reset. */ -# define ECONNABORTED 72 /* Software caused connection abort. */ -# define ECONNRESET 73 /* Connection reset by peer. */ -# define ENOBUFS 74 /* No buffer space available. */ -# define EISCONN 75 /* Socket is already connected. */ -# define ENOTCONN 76 /* Socket is not connected. */ -# define ESHUTDOWN 77 /* Can't send after socket shutdown. */ -# define ETIMEDOUT 78 /* Connection timed out. */ -# define ECONNREFUSED 79 /* Connection refused. */ -# define EHOSTDOWN 80 /* Host is down. */ -# define EHOSTUNREACH 81 /* No route to host. */ -# define ERESTART 82 /* Restart the system call. */ -# define EPROCLIM 83 /* Too many processes. */ -# define EUSERS 84 /* Too many users. */ -# define ELOOP 85 /* Too many levels of symbolic links. */ -# define ENAMETOOLONG 86 /* File name too long. */ -# define ENOTEMPTY EEXIST /* Directory not empty. */ -# define EDQUOT 88 /* Disc quota exceeded. */ -# define ECORRUPT 89 /* Invalid file system control data. */ -# define EREMOTE 93 /* Item is not local to host. */ -# define ENOSYS 109 /* Function not implemented POSIX. */ -# define EMEDIA 110 /* Media surface error. */ -# define ESOFT 111 /* I/O completed, but needs relocation. */ -# define ENOATTR 112 /* No attribute found. */ -# define ESAD 113 /* Security authentication denied. */ -# define ENOTRUST 114 /* Not a trusted program. */ -# define ETOOMANYREFS 115 /* Too many references: can't splice. */ -# define EILSEQ 116 /* Invalid wide character. */ -# define ECANCELED 117 /* Asynchronous i/o cancelled. */ -# define ENOSR 118 /* Temp out of streams resources. */ -# define ETIME 119 /* I_STR ioctl timed out. */ -# define EBADMSG 120 /* Wrong message type at stream head. */ -# define EPROTO 121 /* STREAMS protocol error. */ -# define ENODATA 122 /* No message ready at stream head. */ -# define ENOSTR 123 /* Fd is not a stream. */ -# define ECLONEME ERESTART /* This is the way we clone a stream. */ -# define ENOTSUP 124 /* POSIX threads unsupported value. */ -# define EMULTIHOP 125 /* Multihop is not allowed. */ -# define ENOLINK 126 /* The link has been severed. */ -# define EOVERFLOW 127 /* Value too large to be stored in data type.*/ -#endif - -#if !defined _ERRNO_H && defined __need_Emath -# define EDOM 33 /* Math argument out of domain of function. */ -# define EILSEQ 116 /* Illegal byte sequence. */ -# define ERANGE 34 /* Math result not representable. */ -#endif /* !_ERRNO_H && __need_Emath */ diff --git a/sysdeps/unix/sysv/aix/bits/fcntl.h b/sysdeps/unix/sysv/aix/bits/fcntl.h deleted file mode 100644 index c65b8beeb4..0000000000 --- a/sysdeps/unix/sysv/aix/bits/fcntl.h +++ /dev/null @@ -1,137 +0,0 @@ -/* O_*, F_*, FD_* bit values for Linux. - Copyright (C) 1995-1999, 2000, 2004 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _FCNTL_H -# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead." -#endif - - -#include <sys/types.h> - -/* open/fcntl. */ -#define O_ACCMODE 0003 -#define O_RDONLY 00 -#define O_WRONLY 01 -#define O_RDWR 02 -#define O_NONBLOCK 04 -#define O_NDELAY O_NONBLOCK -#define O_APPEND 010 -#define O_SYNC 020 -#define O_FSYNC O_SYNC -#define O_CREAT 0400 /* not fcntl */ -#define O_TRUNC 01000 /* not fcntl */ -#define O_EXCL 02000 /* not fcntl */ -#define O_NOCTTY 04000 /* not fcntl */ -#define O_ASYNC 0400000 - -#ifdef __USE_LARGEFILE64 -# define O_LARGEFILE 0400000000 -#endif - -/* For now Linux has synchronisity options for data and read operations. - We define the symbols here but let them do the same as O_SYNC since - this is a superset. */ -#if defined __USE_POSIX199309 || defined __USE_UNIX98 -# define O_DSYNC 020000000 /* Synchronize data. */ -# define O_RSYNC 010000000 /* Synchronize read operations. */ -#endif - -/* Values for the second argument to `fcntl'. */ -#define F_DUPFD 0 /* Duplicate file descriptor. */ -#define F_GETFD 1 /* Get file descriptor flags. */ -#define F_SETFD 2 /* Set file descriptor flags. */ -#define F_GETFL 3 /* Get file status flags. */ -#define F_SETFL 4 /* Set file status flags. */ -#ifndef __USE_FILE_OFFSET64 -# define F_GETLK 5 /* Get record locking info. */ -# define F_SETLK 6 /* Set record locking info (non-blocking). */ -# define F_SETLKW 7 /* Set record locking info (blocking). */ -#else -# define F_GETLK 11 /* Get record locking info. */ -# define F_SETLK 12 /* Set record locking info (non-blocking). */ -# define F_SETLKW 13 /* Set record locking info (blocking). */ -#endif - -#ifdef __USE_LARGEFILE64 -# define F_GETLK64 11 /* Get record locking info. */ -# define F_SETLK64 12 /* Set record locking info (non-blocking). */ -# define F_SETLKW64 13 /* Set record locking info (blocking). */ -#endif - -#if defined __USE_BSD || defined __USE_UNIX98 -# define F_SETOWN 8 /* Get owner of socket (receiver of SIGIO). */ -# define F_GETOWN 9 /* Set owner of socket (receiver of SIGIO). */ -#endif - -/* For F_[GET|SET]FL. */ -#define FD_CLOEXEC 1 /* actually anything with low bit set goes */ - -/* For posix fcntl() and `l_type' field of a `struct flock' for lockf(). */ -#define F_RDLCK 1 /* Read lock. */ -#define F_WRLCK 2 /* Write lock. */ -#define F_UNLCK 3 /* Remove lock. */ - -#ifdef __USE_BSD -/* Operations for bsd flock(), also used by the kernel implementation */ -# define LOCK_SH 1 /* shared lock */ -# define LOCK_EX 2 /* exclusive lock */ -# define LOCK_NB 4 /* or'd with one of the above to prevent - blocking */ -# define LOCK_UN 8 /* remove lock */ -#endif - -struct flock - { - short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ - short int l_whence; /* Where `l_start' is relative to (like `lseek'). */ -#ifndef __USE_FILE_OFFSET64 - __off_t l_start; /* Offset where the lock begins. */ - __off_t l_len; /* Size of the locked area; zero means until EOF. */ -#endif - unsigned int l_sysid; - __pid_t l_pid; /* Process holding the lock. */ - int l_vfs; -#ifdef __USE_FILE_OFFSET64 - __off64_t l_start; /* Offset where the lock begins. */ - __off64_t l_len; /* Size of the locked area; zero means until EOF. */ -#endif - }; - -#ifdef __USE_LARGEFILE64 -struct flock64 - { - short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ - short int l_whence; /* Where `l_start' is relative to (like `lseek'). */ - unsigned int l_sysid; - __pid_t l_pid; /* Process holding the lock. */ - int l_vfs; - __off64_t l_start; /* Offset where the lock begins. */ - __off64_t l_len; /* Size of the locked area; zero means until EOF. */ - }; -#endif - -/* Define some more compatibility macros to be backward compatible with - BSD systems which did not managed to hide these kernel macros. */ -#ifdef __USE_BSD -# define FAPPEND O_APPEND -# define FFSYNC O_FSYNC -# define FASYNC O_ASYNC -# define FNONBLOCK O_NONBLOCK -# define FNDELAY O_NDELAY -#endif /* Use BSD. */ diff --git a/sysdeps/unix/sysv/aix/bits/ioctl-types.h b/sysdeps/unix/sysv/aix/bits/ioctl-types.h deleted file mode 100644 index d8fe8c8d5b..0000000000 --- a/sysdeps/unix/sysv/aix/bits/ioctl-types.h +++ /dev/null @@ -1,91 +0,0 @@ -/* Structure types for pre-termios terminal ioctls. AIX version. - Copyright (C) 1999, 2000, 2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SYS_IOCTL_H -# error "Never use <bits/ioctl-types.h> directly; include <sys/ioctl.h> instead." -#endif - -/* Constants for use with `ioctl'. */ -#define TIOC ('T' << 8) -#define TCGETS (TIOC | 1) -#define TCSETS (TIOC | 2) -#define TCSETSW (TIOC | 3) -#define TCSETSF (TIOC | 4) -#define TCGETA (TIOC | 5) -#define TCSETA (TIOC | 6) -#define TCSETAW (TIOC | 7) -#define TCSETAF (TIOC | 8) -#define TCSBRK (TIOC | 9) -#define TCSBREAK (TIOC | 10) -#define TCXONC (TIOC | 11) -#define TCFLSH (TIOC | 12) -#define TCGLEN (TIOC | 13) -#define TCSLEN (TIOC | 14) -#define TCSAK (TIOC | 15) -#define TCQSAK (TIOC | 16) -#define TCTRUST (TIOC | 17) -#define TCQTRUST (TIOC | 18) -#define TCSMAP (TIOC | 19) -#define TCGMAP (TIOC | 20) -#define TCKEP (TIOC | 21) -#define TCGSAK (TIOC | 22) -#define TCLOOP (TIOC | 23) -#define TCVPD (TIOC | 24) -#define TCREG (TIOC | 25) -#define TCGSTATUS (TIOC | 26) -#define TCSCONTROL (TIOC | 27) -#define TCSCSMAP (TIOC | 28) -#define TCGCSMAP (TIOC | 29) -#define TCMGR TCSAK -#define TCQMGR TCQSAK -#define TIONREAD FIONREAD - - - -struct winsize -{ - unsigned short int ws_row; - unsigned short int ws_col; - unsigned short int ws_xpixel; - unsigned short int ws_ypixel; -}; - -#define NCC 8 -struct termio -{ - unsigned short int c_iflag; /* input mode flags */ - unsigned short int c_oflag; /* output mode flags */ - unsigned short int c_cflag; /* control mode flags */ - unsigned short int c_lflag; /* local mode flags */ - char c_line; /* line discipline */ - unsigned char c_cc[NCC]; /* control characters */ -}; - -/* modem lines */ -#define TIOCM_LE 0x001 -#define TIOCM_DTR 0x002 -#define TIOCM_RTS 0x004 -#define TIOCM_ST 0x008 -#define TIOCM_SR 0x010 -#define TIOCM_CTS 0x020 -#define TIOCM_CAR 0x040 -#define TIOCM_RNG 0x080 -#define TIOCM_DSR 0x100 -#define TIOCM_CD TIOCM_CAR -#define TIOCM_RI TIOCM_RNG diff --git a/sysdeps/unix/sysv/aix/bits/ioctls.h b/sysdeps/unix/sysv/aix/bits/ioctls.h deleted file mode 100644 index 8023c144df..0000000000 --- a/sysdeps/unix/sysv/aix/bits/ioctls.h +++ /dev/null @@ -1,248 +0,0 @@ -/* Copyright (C) 1999, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SYS_IOCTL_H -# error "Never use <bits/ioctls.h> directly; include <sys/ioctl.h> instead." -#endif - - -#define IOCPARM_MASK 0x7f /* parameters must be < 128 bytes */ -#define IOC_VOID 0x20000000 /* no parameters */ -#define IOC_OUT 0x40000000 /* copy out parameters */ -#define IOC_IN (0x40000000<<1) /* copy in parameters */ -#define IOC_INOUT (IOC_IN|IOC_OUT) -#define _IO(x,y) (IOC_VOID|(x<<8)|y) -#define _IOR(x,y,t) (IOC_OUT|((sizeof(t)&IOCPARM_MASK)<<16)|(x<<8)|y) -#define _IOW(x,y,t) (IOC_IN|((sizeof(t)&IOCPARM_MASK)<<16)|(x<<8)|y) -#define _IOWR(x,y,t) (IOC_INOUT|((sizeof(t)&IOCPARM_MASK)<<16)|(x<<8)|y) - -#define TIOCGETD _IOR('t', 0, int) /* get line discipline */ -#define TIOCSETD _IOW('t', 1, int) /* set line discipline */ -#define TIOCHPCL _IO('t', 2) /* hang up on last close */ -#define TIOCMODG _IOR('t', 3, int) /* get modem control state */ -#define TIOCMODS _IOW('t', 4, int) /* set modem control state */ -#define TIOCGETP _IOR('t', 8,struct sgttyb)/* get parameters -- gtty */ -#define TIOCSETP _IOW('t', 9,struct sgttyb)/* set parameters -- stty */ -#define TIOCSETN _IOW('t',10,struct sgttyb)/* as above, but no flushtty */ -#define TIOCEXCL _IO('t', 13) /* set exclusive use of tty */ -#define TIOCNXCL _IO('t', 14) /* reset exclusive use of tty */ -#define TIOCFLUSH _IOW('t', 16, int) /* flush buffers */ -#define TIOCSETC _IOW('t',17,struct tchars)/* set special characters */ -#define TIOCGETC _IOR('t',18,struct tchars)/* get special characters */ -#define TANDEM 0x00000001 /* send stopc on out q full */ -#define CBREAK 0x00000002 /* half-cooked mode */ -#define LCASE 0x00000004 /* simulate lower case */ -#define CRMOD 0x00000010 /* map \r to \r\n on output */ -#define RAW 0x00000020 /* no i/o processing */ -#define ODDP 0x00000040 /* get/send odd parity */ -#define EVENP 0x00000080 /* get/send even parity */ -#define ANYP 0x000000c0 /* get any parity/send none */ -#define CRDELAY 0x00000300 /* \r delay */ -#define TBDELAY 0x00000c00 /* horizontal tab delay */ -#define XTABS 0x00000c00 /* expand tabs on output */ -#define BSDELAY 0x00001000 /* \b delay */ -#define VTDELAY 0x00002000 /* vertical tab delay */ -#define NLDELAY 0x0000c000 /* \n delay */ -#define NL2 0x00008000 /* vt05 */ -#define NL3 0x0000c000 -#define ALLDELAY (NLDELAY|TBDELAY|CRDELAY|VTDELAY|BSDELAY) -#define PRTERA 0x00020000 /* \ ... / erase */ -#define CRTERA 0x00040000 /* " \b " to wipe out char */ -#define TILDE 0x00080000 /* hazeltine tilde kludge */ -#define LITOUT 0x00200000 /* literal output */ -#define CRTBS 0x00400000 /* do backspacing for crt */ -#define MDMBUF 0x00800000 /* dtr pacing */ -#define NOHANG 0x01000000 /* no SIGHUP on carrier drop */ -#define L001000 0x02000000 -#define CRTKIL 0x04000000 /* kill line with " \b " */ -#define PASS8 0x08000000 -#define CTLECH 0x10000000 /* echo control chars as ^X */ -#define DECCTQ 0x40000000 /* only ^Q starts after ^S */ -#define NOFLUSH 0x80000000 /* no output flush on signal */ - - -/* SYS V REL. 4 PTY IOCTLs */ -#define UNLKPT _IO('t',70) /* unlock slave pty */ -#define ISPTM _IO('t',71) /* ret. maj+min of pty master */ -#define ISPTS _IO('t',73) /* return maj+min of slave */ -#define GRTPT _IO('t',74) /* grantpt slave pty*/ -#define RLOGIND _IO('t',75) /* for rlogind protocol in ptydd */ -#define TELNETDP _IO('t',76) /* for telnetd protocol in ptydd */ - -#define TIOCCONS _IOW('t', 98, int) /* become virtual console */ -#define TIOCGSID _IOR('t', 72, int) /* get the tty session id */ - - /* locals, from 127 down */ -#define TIOCLBIS _IOW('t', 127, int) /* bis local mode bits */ -#define TIOCLBIC _IOW('t', 126, int) /* bic local mode bits */ -#define TIOCLSET _IOW('t', 125, int) /* set entire mode word */ -#define TIOCLGET _IOR('t', 124, int) /* get local modes */ -#define LCRTBS (CRTBS>>16) -#define LPRTERA (PRTERA>>16) -#define LCRTERA (CRTERA>>16) -#define LTILDE (TILDE>>16) -#define LMDMBUF (MDMBUF>>16) -#define LLITOUT (LITOUT>>16) -#define LTOSTOP (TOSTOP>>16) -#define LFLUSHO (FLUSHO>>16) -#define LNOHANG (NOHANG>>16) -#define LCRTKIL (CRTKIL>>16) -#define LPASS8 (PASS8>>16) -#define LCTLECH (CTLECH>>16) -#define LPENDIN (PENDIN>>16) -#define LDECCTQ (DECCTQ>>16) -#define LNOFLSH (NOFLUSH>>16) -#define TIOCSBRK _IO('t', 123) /* set break bit */ -#define TIOCCBRK _IO('t', 122) /* clear break bit */ -#define TIOCSDTR _IO('t', 121) /* set data terminal ready */ -#define TIOCCDTR _IO('t', 120) /* clear data terminal ready */ -#define TIOCGPGRP _IOR('t', 119, int) /* get process group */ -#define TIOCSPGRP _IOW('t', 118, int) /* set process gorup */ -#define TIOCSLTC _IOW('t',117,struct ltchars)/* set local special chars */ -#define TIOCGLTC _IOR('t',116,struct ltchars)/* get local special chars */ -#define TIOCOUTQ _IOR('t', 115, int) /* output queue size */ -#define TIOCSTI _IOW('t', 114, char) /* simulate terminal input */ -#define TIOCNOTTY _IO('t', 113) /* void tty association */ -#define TIOCPKT _IOW('t', 112, int) /* pty: set/clear packet mode */ -#define TIOCPKT_DATA 0x00 /* data packet */ -#define TIOCPKT_FLUSHREAD 0x01 /* flush packet */ -#define TIOCPKT_FLUSHWRITE 0x02 /* flush packet */ -#define TIOCPKT_STOP 0x04 /* stop output */ -#define TIOCPKT_START 0x08 /* start output */ -#define TIOCPKT_NOSTOP 0x10 /* no more ^S, ^Q */ -#define TIOCPKT_DOSTOP 0x20 /* now do ^S ^Q */ -#define TIOCSTOP _IO('t', 111) /* stop output, like ^S */ -#define TIOCSTART _IO('t', 110) /* start output, like ^Q */ -#define TIOCMSET _IOW('t', 109, int) /* set all modem bits */ -#define TIOCMBIS _IOW('t', 108, int) /* bis modem bits */ -#define TIOCMBIC _IOW('t', 107, int) /* bic modem bits */ -#define TIOCMGET _IOR('t', 106, int) /* get all modem bits */ -#define TIOCREMOTE _IOW('t', 105, int) /* remote input editing */ -#define TIOCGWINSZ _IOR('t', 104, struct winsize) /* get window size */ -#define TIOCSWINSZ _IOW('t', 103, struct winsize) /* set window size */ -#define TIOCUCNTL _IOW('t', 102, int) /* pty: set/clr usr cntl mode */ -/* SLIP (Serial Line IP) ioctl's */ -#define SLIOCGUNIT _IOR('t', 101, int) /* get slip unit number */ -#define SLIOCSFLAGS _IOW('t', 89, int) /* set configuration flags */ -#define SLIOCGFLAGS _IOR('t', 90, int) /* get configuration flags */ -#define SLIOCSATTACH _IOWR('t', 91, int) /* Attach slip i.f. to tty */ -#define UIOCCMD(n) _IO('u', n) /* usr cntl op "n" */ - -#define OTTYDISC 0 /* old, v7 std tty driver */ -#define NETLDISC 1 /* line discip for berk net */ -#define NTTYDISC 2 /* new tty discipline */ -#define TABLDISC 3 /* tablet discipline */ -#define SLIPDISC 4 /* serial IP discipline */ - -#define FIOCLEX _IO('f', 1) /* set close on exec */ -#define FIONCLEX _IO('f', 2) /* clear close on exec */ -/* another local */ - -#define FIONREAD _IOR('f', 127, int) /* get # bytes to read */ -#define FIONBIO _IOW('f', 126, int) /* set/clear non-blocking i/o */ -#define FIOASYNC _IOW('f', 125, int) /* set/clear async i/o */ - -#define FIOSETOWN _IOW('f', 124, int) /* set owner */ -#define FIOGETOWN _IOR('f', 123, int) /* get owner */ -#define FIOASYNCQX _IOW('f', 122, int) /* set/clear async queueing */ - -/* socket i/o controls */ -#define SIOCSHIWAT _IOW('s', 0, int) /* set high watermark */ -#define SIOCGHIWAT _IOR('s', 1, int) /* get high watermark */ -#define SIOCSLOWAT _IOW('s', 2, int) /* set low watermark */ -#define SIOCGLOWAT _IOR('s', 3, int) /* get low watermark */ -#define SIOCATMARK _IOR('s', 7, int) /* at oob mark? */ -#define SIOCSPGRP _IOW('s', 8, int) /* set process group */ -#define SIOCGPGRP _IOR('s', 9, int) /* get process group */ - -#define SIOCADDRT (int)_IOW('r', 10, struct ortentry) /* add route */ -#define SIOCDELRT (int)_IOW('r', 11, struct ortentry) /* delete route */ - -#define SIOCSIFADDR (int)_IOW('i', 12, struct oifreq) /* set ifnet address */ -#define OSIOCGIFADDR (int)_IOWR('i',13, struct oifreq) /* get ifnet address */ -#define SIOCGIFADDR (int)_IOWR('i',33, struct oifreq) /* get ifnet address */ -#define SIOCSIFDSTADDR (int)_IOW('i', 14, struct oifreq) /* set p-p address */ -#define OSIOCGIFDSTADDR (int)_IOWR('i',15, struct oifreq) /* get p-p address */ -#define SIOCGIFDSTADDR (int)_IOWR('i',34, struct oifreq) /* get p-p address */ -#define SIOCSIFFLAGS (int)_IOW('i', 16, struct oifreq) /* set ifnet flags */ -#define SIOCGIFFLAGS (int)_IOWR('i',17, struct oifreq) /* get ifnet flags */ -#define OSIOCGIFBRDADDR (int)_IOWR('i',18, struct oifreq) /* get broadcast addr */ -#define SIOCGIFBRDADDR (int)_IOWR('i',35, struct oifreq) /* get broadcast addr */ -#define SIOCSIFBRDADDR (int)_IOW('i',19, struct oifreq) /* set broadcast addr */ -#define OSIOCGIFCONF (int)_IOWR('i',20, struct ifconf) /* get ifnet list */ -#define CSIOCGIFCONF (int)_IOWR('i',36, struct ifconf) /* get ifnet list */ -#define SIOCGIFCONF (int)_IOWR('i',69, struct ifconf) /* get ifnet list */ -#define OSIOCGIFNETMASK (int)_IOWR('i',21, struct oifreq) /* get net addr mask */ -#define SIOCGIFNETMASK (int)_IOWR('i',37, struct oifreq) /* get net addr mask */ -#define SIOCSIFNETMASK (int)_IOW('i',22, struct oifreq) /* set net addr mask */ -#define SIOCGIFMETRIC (int)_IOWR('i',23, struct oifreq) /* get IF metric */ -#define SIOCSIFMETRIC (int)_IOW('i',24, struct oifreq) /* set IF metric */ -#define SIOCDIFADDR (int)_IOW('i',25, struct oifreq) /* delete IF addr */ -#define SIOCAIFADDR (int)_IOW('i',26, struct ifaliasreq) /* add/chg IF alias */ -#define SIOCSIFSUBCHAN (int)_IOW('i',27, struct oifreq) /* set subchannel adr.*/ -#define SIOCSIFNETDUMP (int)_IOW('i',28, struct oifreq) /* set netdump fastwrt*/ - -#define SIOCSARP (int)_IOW('i', 30, struct arpreq) /* set arp entry */ -#define OSIOCGARP (int)_IOWR('i',31, struct arpreq) /* get arp entry */ -#define SIOCGARP (int)_IOWR('i',38, struct arpreq) /* get arp entry */ -#define SIOCDARP (int)_IOW('i', 32, struct arpreq) /* delete arp entry */ - -#define SIOCSIFOPTIONS (int)_IOW('i', 41, struct oifreq) /* set ifnet options */ -#define SIOCGIFOPTIONS (int)_IOWR('i',42, struct oifreq) /* get ifnet options */ -#define SIOCADDMULTI (int)_IOW('i', 49, struct ifreq) /* add multicast addr */ -#define SIOCDELMULTI (int)_IOW('i', 50, struct ifreq) /* del multicast addr */ -#define SIOCGETVIFCNT (int)_IOWR('u', 51, struct sioc_vif_req)/* vif pkt cnt */ -#define SIOCGETSGCNT (int)_IOWR('u', 52, struct sioc_sg_req) /* s,g pkt cnt */ - -#define SIOCADDNETID (int)_IOW('i',87, struct oifreq) /* set netids */ -#define SIOCSIFMTU (int)_IOW('i',88, struct oifreq) /* set mtu */ -#define SIOCGIFMTU (int)_IOWR('i',86, struct oifreq) /* get mtu */ - -#define SIOCSNETOPT (int)_IOW('i', 90, struct optreq) /* set network option */ -#define SIOCGNETOPT (int)_IOWR('i', 91, struct optreq) /* get network option */ -#define SIOCDNETOPT (int)_IOWR('i', 92, struct optreq) /* set default */ - -#define SIOCSX25XLATE (int)_IOW('i', 99, struct oifreq) /* set xlate tab */ -#define SIOCGX25XLATE (int)_IOWR('i',100, struct oifreq) /* get xlate tab */ -#define SIOCDX25XLATE (int)_IOW('i', 101, struct oifreq) /* delete xlate tab */ - -#define SIOCIFDETACH (int)_IOW('i', 102, struct ifreq) /* detach an ifnet */ -#define SIOCIFATTACH (int)_IOW('i', 103, struct ifreq) /* attach an ifnet */ - -#define SIOCGNMTUS (int)_IO('i',110) /* get NMTUs */ -#define SIOCGETMTUS (int)_IO('i',111) /* get common_mtus */ -#define SIOCADDMTU (int)_IOW('i',112, int) /* add mtu */ -#define SIOCDELMTU (int)_IOW('i',113, int) /* delete mtu */ - -#define SIOCGIFGIDLIST (int)_IO('i', 104) /* get gidlist */ -#define SIOCSIFGIDLIST (int)_IO('i', 105) /* set gidlist */ - -#define SIOCGSIZIFCONF (int)_IOR('i', 106, int) /* get size for SIOCGIFCONF */ - -#define SIOCIF_ATM_UBR (int)_IOW('i',120,struct ifreq) /* set ubr rate */ -#define SIOCIF_ATM_SNMPARP (int)_IOW('i',121,struct ifreq) /* atm snmp arp */ -#define SIOCIF_ATM_IDLE (int)_IOW('i',122,struct ifreq) /* set idle time */ -#define SIOCIF_ATM_DUMPARP (int)_IOW('i',123,struct ifreq) /* atm dump arp */ -#define SIOCIF_ATM_SVC (int)_IOW('i',124,struct ifreq) /* atmif init */ -#define SIOCIF_ATM_DARP (int)_IOW('i',125,struct ifreq) /* del atmarp */ -#define SIOCIF_ATM_GARP (int)_IOW('i',126,struct ifreq) /* get atmarp */ -#define SIOCIF_ATM_SARP (int)_IOW('i',127,struct ifreq) /* set atmarp */ - -#define SIOCGISNO (int)_IOWR('i',107, struct oifreq) /* get IF network options */ -#define SIOCSISNO (int)_IOW('i', 108, struct oifreq) /* set IF network options */ -#define SIOCGIFBAUDRATE (int)_IOWR('i', 109, struct oifreq) /* get ifnet's if_baudrate */ diff --git a/sysdeps/unix/sysv/aix/bits/poll.h b/sysdeps/unix/sysv/aix/bits/poll.h deleted file mode 100644 index b9f2f71558..0000000000 --- a/sysdeps/unix/sysv/aix/bits/poll.h +++ /dev/null @@ -1,43 +0,0 @@ -/* Copyright (C) 1997, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SYS_POLL_H -# error "Never use <bits/poll.h> directly; include <sys/poll.h> instead." -#endif - -/* Event types that can be polled for. These bits may be set in `events' - to indicate the interesting event types; they will appear in `revents' - to indicate the status of the file descriptor. */ -#define POLLIN 0x0001 /* There is data to read. */ -#define POLLPRI 0x0002 /* There is urgent data to read. */ -#define POLLOUT 0x0004 /* Writing now will not block. */ - -#ifdef __USE_XOPEN -/* These values are defined in XPG4.2. */ -# define POLLRDNORM 0x0010 /* Normal data may be read. */ -# define POLLRDBAND 0x0020 /* Priority data may be read. */ -# define POLLWRNORM POLLOUT /* Writing now will not block. */ -# define POLLWRBAND 0x0040 /* Priority data may be written. */ -#endif - -/* Event types always implicitly polled for. These bits need not be set in - `events', but they will appear in `revents' to indicate the status of - the file descriptor. */ -#define POLLERR 0x4000 /* Error condition. */ -#define POLLHUP 0x2000 /* Hung up. */ -#define POLLNVAL 0x8000 /* Invalid polling request. */ diff --git a/sysdeps/unix/sysv/aix/bits/resource.h b/sysdeps/unix/sysv/aix/bits/resource.h deleted file mode 100644 index cc851e8a06..0000000000 --- a/sysdeps/unix/sysv/aix/bits/resource.h +++ /dev/null @@ -1,191 +0,0 @@ -/* Bit values & structures for resource limits. AIX version. - Copyright (C) 1994, 1996-1999, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SYS_RESOURCE_H -# error "Never use <bits/resource.h> directly; include <sys/resource.h> instead." -#endif - -#include <bits/types.h> - -/* Transmute defines to enumerations. The macro re-definitions are - necessary because some programs want to test for operating system - features with #ifdef RUSAGE_SELF. In ISO C the reflexive - definition is a no-op. */ - -/* Kinds of resource limit. */ -enum __rlimit_resource -{ - /* Per-process CPU limit, in seconds. */ - RLIMIT_CPU = 0, -#define RLIMIT_CPU RLIMIT_CPU - - /* Largest file that can be created, in bytes. */ - RLIMIT_FSIZE = 1, -#define RLIMIT_FSIZE RLIMIT_FSIZE - - /* Maximum size of data segment, in bytes. */ - RLIMIT_DATA = 2, -#define RLIMIT_DATA RLIMIT_DATA - - /* Maximum size of stack segment, in bytes. */ - RLIMIT_STACK = 3, -#define RLIMIT_STACK RLIMIT_STACK - - /* Largest core file that can be created, in bytes. */ - RLIMIT_CORE = 4, -#define RLIMIT_CORE RLIMIT_CORE - - /* Largest resident set size, in bytes. - This affects swapping; processes that are exceeding their - resident set size will be more likely to have physical memory - taken from them. */ - RLIMIT_RSS = 5, -#define RLIMIT_RSS RLIMIT_RSS - - /* Address space limit (?) */ - RLIMIT_AS = 6, -#define RLIMIT_AS RLIMIT_AS - - /* Number of open files. */ - RLIMIT_NOFILE = 7, - RLIMIT_OFILE = RLIMIT_NOFILE, /* BSD name for same. */ -#define RLIMIT_NOFILE RLIMIT_NOFILE -#define RLIMIT_OFILE RLIMIT_OFILE - - RLIM_NLIMITS = 10 -#define RLIMIT_NLIMITS RLIMIT_NLIMITS -#define RLIM_NLIMITS RLIM_NLIMITS -}; - -/* Value to indicate that there is no limit. */ -#ifndef __USE_FILE_OFFSET64 -# define RLIM_INFINITY ((long int)(~0UL >> 1)) -#else -# define RLIM_INFINITY 0x7fffffffffffffffLL -#endif - -#ifdef __USE_LARGEFILE64 -# define RLIM64_INFINITY 0x7fffffffffffffffLL -#endif - -#define RLIM_SAVED_MAX (RLIM_INFINITY - 1) -#define RLIM_SAVED_CUR (RLIM_INFINITY - 2) - - -/* Type for resource quantity measurement. */ -#ifndef __USE_FILE_OFFSET64 -typedef __rlim_t rlim_t; -#else -typedef __rlim64_t rlim_t; -#endif -#ifdef __USE_LARGEFILE64 -typedef __rlim64_t rlim64_t; -#endif - -struct rlimit - { - /* The current (soft) limit. */ - rlim_t rlim_cur; - /* The hard limit. */ - rlim_t rlim_max; - }; - -#ifdef __USE_LARGEFILE64 -struct rlimit64 - { - /* The current (soft) limit. */ - rlim64_t rlim_cur; - /* The hard limit. */ - rlim64_t rlim_max; - }; -#endif - -/* Whose usage statistics do you want? */ -enum __rusage_who -{ - /* The calling process. */ - RUSAGE_SELF = 0, -#define RUSAGE_SELF RUSAGE_SELF - - /* All of its terminated child processes. */ - RUSAGE_CHILDREN = -1 -#define RUSAGE_CHILDREN RUSAGE_CHILDREN -}; - -#define __need_timeval -#include <bits/time.h> /* For `struct timeval'. */ - -/* Structure which says how much of each resource has been used. */ -struct rusage - { - /* Total amount of user time used. */ - struct timeval ru_utime; - /* Total amount of system time used. */ - struct timeval ru_stime; - /* Maximum resident set size (in kilobytes). */ - long int ru_maxrss; - /* Amount of sharing of text segment memory - with other processes (kilobyte-seconds). */ - long int ru_ixrss; - /* Amount of data segment memory used (kilobyte-seconds). */ - long int ru_idrss; - /* Amount of stack memory used (kilobyte-seconds). */ - long int ru_isrss; - /* Number of soft page faults (i.e. those serviced by reclaiming - a page from the list of pages awaiting reallocation. */ - long int ru_minflt; - /* Number of hard page faults (i.e. those that required I/O). */ - long int ru_majflt; - /* Number of times a process was swapped out of physical memory. */ - long int ru_nswap; - /* Number of input operations via the file system. Note: This - and `ru_oublock' do not include operations with the cache. */ - long int ru_inblock; - /* Number of output operations via the file system. */ - long int ru_oublock; - /* Number of IPC messages sent. */ - long int ru_msgsnd; - /* Number of IPC messages received. */ - long int ru_msgrcv; - /* Number of signals delivered. */ - long int ru_nsignals; - /* Number of voluntary context switches, i.e. because the process - gave up the process before it had to (usually to wait for some - resource to be available). */ - long int ru_nvcsw; - /* Number of involuntary context switches, i.e. a higher priority process - became runnable or the current process used up its time slice. */ - long int ru_nivcsw; - }; - -/* Priority limits. */ -#define PRIO_MIN -20 /* Minimum priority a process can have. */ -#define PRIO_MAX 20 /* Maximum priority a process can have. */ - -/* The type of the WHICH argument to `getpriority' and `setpriority', - indicating what flavor of entity the WHO argument specifies. */ -enum __priority_which -{ - PRIO_PROCESS = 0, /* WHO is a process ID. */ -#define PRIO_PROCESS PRIO_PROCESS - PRIO_PGRP = 1, /* WHO is a process group ID. */ -#define PRIO_PGRP PRIO_PGRP - PRIO_USER = 2 /* WHO is a user ID. */ -#define PRIO_USER PRIO_USER -}; diff --git a/sysdeps/unix/sysv/aix/bits/setjmp.h b/sysdeps/unix/sysv/aix/bits/setjmp.h deleted file mode 100644 index 82a58ae069..0000000000 --- a/sysdeps/unix/sysv/aix/bits/setjmp.h +++ /dev/null @@ -1,46 +0,0 @@ -/* Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* Define the machine-dependent type `jmp_buf'. PowerPC version. */ - -#ifndef _SETJMP_H -# error "Never include <bits/setjmp.h> directly; use <setjmp.h> instead." -#endif - -/* The previous bits/setjmp.h had __jmp_buf defined as a structure. - We use an array of 'long int' instead, to make writing the - assembler easier. Naturally, user code should not depend on - either representation. */ - -#if defined __USE_MISC || defined _ASM -# define JB_GPR1 0 /* Also known as the stack pointer */ -# define JB_GPR2 1 -# define JB_LR 2 /* The address we will return to */ -# define JB_GPRS 3 /* GPRs 14 through 31 are saved, 18 in total */ -# define JB_CR 21 /* Condition code registers. */ -# define JB_FPRS 22 /* FPRs 14 through 31 are saved, 18*2 words total */ -#endif - -#ifndef _ASM -typedef long int __jmp_buf[64]; -#endif - -/* Test if longjmp to JMPBUF would unwind the frame - containing a local variable at ADDRESS. */ -#define _JMPBUF_UNWINDS(jmpbuf, address) \ - ((void *) (address) < (void *) (jmpbuf)[JB_GPR1]) diff --git a/sysdeps/unix/sysv/aix/bits/sigaction.h b/sysdeps/unix/sysv/aix/bits/sigaction.h deleted file mode 100644 index 55414b8f1f..0000000000 --- a/sysdeps/unix/sysv/aix/bits/sigaction.h +++ /dev/null @@ -1,72 +0,0 @@ -/* The proper definitions for AIX's sigaction. - Copyright (C) 1993-1999, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SIGNAL_H -# error "Never include <bits/sigaction.h> directly; use <signal.h> instead." -#endif - -/* Structure describing the action to be taken when a signal arrives. */ -struct sigaction - { - /* Signal handler. */ -#ifdef __USE_POSIX199309 - union - { - /* Used if SA_SIGINFO is not set. */ - __sighandler_t sa_handler; - /* Used if SA_SIGINFO is set. */ - void (*sa_sigaction) (int, siginfo_t *, void *); - } - __sigaction_handler; -# define sa_handler __sigaction_handler.sa_handler -# define sa_sigaction __sigaction_handler.sa_sigaction -#else - __sighandler_t sa_handler; -#endif - - /* Additional set of signals to be blocked. */ - __sigset_t sa_mask; - - /* Special flags. */ - int sa_flags; - }; - -/* Bits in `sa_flags'. */ -#define SA_NOCLDSTOP 4 /* Don't send SIGCHLD when children stop. */ -#define SA_NOCLDWAIT 0x400 /* Don't create on death of child. */ -#define SA_SIGINFO 0x100 /* Invoke signal-catching function with - three arguments instead of one. */ -#if defined __USE_UNIX98 || defined __USE_MISC -# define SA_ONSTACK 0x00000001 /* Use signal stack by using `sa_restorer'. */ -# define SA_RESTART 0x00000008 /* Restart syscall on signal return. */ -# define SA_NODEFER 0x00000200 /* Don't automatically block the signal when - its handler is being executed. */ -# define SA_RESETHAND 0x00000002 /* Reset to SIG_DFL on entry to handler. */ -#endif -#ifdef __USE_MISC -/* Some aliases for the SA_ constants. */ -# define SA_NOMASK SA_NODEFER -# define SA_ONESHOT SA_RESETHAND -# define SA_STACK SA_ONSTACK -#endif - -/* Values for the HOW argument to `sigprocmask'. */ -#define SIG_BLOCK 0 /* Block signals. */ -#define SIG_UNBLOCK 1 /* Unblock signals. */ -#define SIG_SETMASK 2 /* Set the set of blocked signals. */ diff --git a/sysdeps/unix/sysv/aix/bits/sigcontext.h b/sysdeps/unix/sysv/aix/bits/sigcontext.h deleted file mode 100644 index 40bec1b710..0000000000 --- a/sysdeps/unix/sysv/aix/bits/sigcontext.h +++ /dev/null @@ -1,32 +0,0 @@ -/* Copyright (C) 1996, 1997, 1998, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H -# error "Never use <bits/sigcontext.h> directly; include <signal.h> instead." -#endif - -#include <sys/ucontext.h> - - -struct sigcontext -{ - int sc_onstack; /* Sigstack state to restore. */ - sigset_t sc_mask; /* Signal mask to restore. */ - int sc_uerror; /* u_error to restore. */ - struct mcontext_t sc_jmpbuf; /* Process context to restore. */ -}; diff --git a/sysdeps/unix/sysv/aix/bits/signum.h b/sysdeps/unix/sysv/aix/bits/signum.h deleted file mode 100644 index 67eb949600..0000000000 --- a/sysdeps/unix/sysv/aix/bits/signum.h +++ /dev/null @@ -1,96 +0,0 @@ -/* Signal number definitions. AIX version. - Copyright (C) 1995-1999, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifdef _SIGNAL_H - -/* Fake signal functions. */ -#define SIG_ERR ((__sighandler_t) -1) /* Error return. */ -#define SIG_DFL ((__sighandler_t) 0) /* Default action. */ -#define SIG_IGN ((__sighandler_t) 1) /* Ignore signal. */ - -#ifdef __USE_UNIX98 -# define SIG_HOLD ((__sighandler_t) 2) /* Add signal to hold mask. */ -# define SIG_CATCHE ((__sighandler_t) 3) -#endif - - -/* Signals. */ -#define SIGHUP 1 /* Hangup (POSIX). */ -#define SIGINT 2 /* Interrupt (ANSI). */ -#define SIGQUIT 3 /* Quit (POSIX). */ -#define SIGILL 4 /* Illegal instruction (ANSI). */ -#define SIGTRAP 5 /* Trace trap (POSIX). */ -#define SIGABRT 6 /* Abort (ANSI). */ -#define SIGIOT SIGABRT /* Abort (terminal) process. */ -#define SIGEMT 7 /* EMT instruction. */ -#define SIGFPE 8 /* Floating-point exception (ANSI). */ -#define SIGKILL 9 /* Kill, unblockable (POSIX). */ -#define SIGBUS 10 /* BUS error (4.2 BSD). */ -#define SIGSEGV 11 /* Segmentation violation (ANSI). */ -#define SIGSYS 12 /* Bad system call. */ -#define SIGPIPE 13 /* Broken pipe (POSIX). */ -#define SIGALRM 14 /* Alarm clock (POSIX). */ -#define SIGTERM 15 /* Termination (ANSI). */ -#define SIGURG 16 /* Urgent condition on socket (4.2 BSD). */ -#define SIGIOINT SIGURG /* Printer to backend error signal. */ -#define SIGSTOP 17 /* Stop, unblockable (POSIX). */ -#define SIGTSTP 18 /* Keyboard stop (POSIX). */ -#define SIGCONT 19 /* Continue (POSIX). */ -#define SIGCLD SIGCHLD /* Same as SIGCHLD (System V). */ -#define SIGCHLD 20 /* Child status has changed (POSIX). */ -#define SIGTTIN 21 /* Background read from tty (POSIX). */ -#define SIGTTOU 22 /* Background write to tty (POSIX). */ -#define SIGIO 23 /* I/O now possible (4.2 BSD). */ -#define SIGAIO SIGIO /* Base LAN I/O. */ -#define SIGPTY SIGIO /* PTY I/O. */ -#define SIGPOLL SIGIO /* ANother I/O event. */ -#define SIGXCPU 24 /* CPU limit exceeded (4.2 BSD). */ -#define SIGXFSZ 25 /* File size limit exceeded (4.2 BSD). */ -#define SIGMSG 27 /* Input data is in the ring buffer. */ -#define SIGWINCH 28 /* Window size change (4.3 BSD, Sun). */ -#define SIGPWR 29 /* Power failure restart (System V). */ -#define SIGUSR1 30 /* User-defined signal 1 (POSIX). */ -#define SIGUSR2 31 /* User-defined signal 2 (POSIX). */ -#define SIGPROF 32 /* Profiling alarm clock (4.2 BSD). */ -#define SIGDANGER 33 /* System crash imminent. */ -#define SIGVTALRM 34 /* Virtual alarm clock (4.2 BSD). */ -#define SIGMIGRATE 35 /* Migrate process. */ -#define SIGPRE 36 /* Programming exception. */ -#define SIGVIRT 37 /* AIX virtual time alarm. */ -#define SIGARLM1 38 /* Reserved, don't use. */ -#define SIGWAITING 39 /* Reserved, don't use. */ -#define SIGCPUFAIL 59 /* Predictive de-configuration of processors.*/ -#define SIGKAP 60 /* Keep alive poll from native keyboard. */ -#define SIGGRANT SIGKAP /* Monitor mode granted. */ -#define SIGRETRACT 61 /* Monitor mode should be relinguished. */ -#define SIGSOUND 62 /* Sound control has completed. */ -#define SIGSAK 63 /* Secure attentation key. */ - -#define _NSIG 64 /* Biggest signal number + 1 - (including real-time signals). */ - -#define SIGRTMIN (__libc_current_sigrtmin ()) -#define SIGRTMAX (__libc_current_sigrtmax ()) - -/* These are the hard limits of the kernel. These values should not be - used directly at user level. */ -#define __SIGRTMIN 888 -#define __SIGRTMAX 999 - -#endif /* <signal.h> included. */ diff --git a/sysdeps/unix/sysv/aix/bits/sigset.h b/sysdeps/unix/sysv/aix/bits/sigset.h deleted file mode 100644 index 0dc6b40a7c..0000000000 --- a/sysdeps/unix/sysv/aix/bits/sigset.h +++ /dev/null @@ -1,125 +0,0 @@ -/* __sig_atomic_t, __sigset_t, and related definitions. AIX version. - Copyright (C) 1991,1992,1994,1996,1997,2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SIGSET_H_types -# define _SIGSET_H_types 1 - -typedef int __sig_atomic_t; - -/* A `sigset_t' has a bit for each signal. */ - -typedef struct - { - unsigned int __losigs; - unsigned int __hisigs; - } __sigset_t; - -#endif - - -/* We only want to define these functions if <signal.h> was actually - included; otherwise we were included just to define the types. Since we - are namespace-clean, it wouldn't hurt to define extra macros. But - trouble can be caused by functions being defined (e.g., any global - register vars declared later will cause compilation errors). */ - -#if !defined _SIGSET_H_fns && defined _SIGNAL_H -# define _SIGSET_H_fns 1 - -# ifndef _EXTERN_INLINE -# define _EXTERN_INLINE extern __inline -# endif - -/* Return a mask that includes the bit for SIG only. */ -# define __sigmask(sig) \ - (((unsigned long int) 1) << (((sig) - 1) % (8 * sizeof (unsigned int)))) - -# if defined __GNUC__ && __GNUC__ >= 2 -# define __sigemptyset(set) \ - (__extension__ ({ sigset_t *__set = (set); \ - __set->__losigs = __set->__hisigs = 0; \ - 0; })) -# define __sigfillset(set) \ - (__extension__ ({ sigset_t *__set = (set); \ - __set->__losigs = __set->__hisigs = ~0u; \ - 0; })) - -# ifdef __USE_GNU -/* The POSIX does not specify for handling the whole signal set in one - command. This is often wanted and so we define three more functions - here. */ -# define __sigisemptyset(set) \ - (__extension__ ({ const sigset_t *__set = (set); \ - (__set->__losigs | __set->__hisigs) == 0; })) -# define __sigandset(dest, left, right) \ - (__extension__ ({ sigset_t *__dest = (dest); \ - const sigset_t *__left = (left); \ - const sigset_t *__right = (right); \ - __dest->__losigs = __left->__losigs & __right->__losigs; \ - __dest->__hisigs = __left->__hisigs & __right->__hisigs; \ - 0; })) -# define __sigorset(dest, left, right) \ - (__extension__ ({ sigset_t *__dest = (dest); \ - const sigset_t *__left = (left); \ - const sigset_t *__right = (right); \ - __dest->__losigs = __left->__losigs | __right->__losigs; \ - __dest->__hisigs = __left->__hisigs | __right->__hisigs; \ - 0; })) -# endif -# endif - -/* These functions needn't check for a bogus signal number -- error - checking is done in the non __ versions. */ - -extern int __sigismember (__const __sigset_t *, int); -extern int __sigaddset (__sigset_t *, int); -extern int __sigdelset (__sigset_t *, int); - -# ifdef __USE_EXTERN_INLINES -_EXTERN_INLINE int -__sigismember (__const __sigset_t *__set, int __sig) -{ - unsigned int __mask = __sigmask (__sig); - - return ((__sig < 33 ? __set->__losigs : __set->__hisigs) & __mask ) ? 1 : 0; -} - -_EXTERN_INLINE int -__sigaddset (__sigset_t *__set, int __sig) -{ - unsigned int __mask = __sigmask (__sig); - - (__sig < 33 ? __set->__losigs : __set->__hisigs) |= __mask; - - return 0; -} - -_EXTERN_INLINE int -__sigdelset (__sigset_t *__set, int __sig) -{ - unsigned int __mask = __sigmask (__sig); - - (__sig < 33 ? __set->__losigs : __set->__hisigs) &= ~__mask; - - return 0; -} -# endif - - -#endif /* ! _SIGSET_H_fns. */ diff --git a/sysdeps/unix/sysv/aix/bits/sigstack.h b/sysdeps/unix/sysv/aix/bits/sigstack.h deleted file mode 100644 index cefd33c231..0000000000 --- a/sysdeps/unix/sysv/aix/bits/sigstack.h +++ /dev/null @@ -1,46 +0,0 @@ -/* sigstack, sigaltstack definitions. - Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SIGNAL_H -# error "Never include this file directly. Use <signal.h> instead" -#endif - - -/* Structure describing a signal stack (obsolete). */ -struct sigstack - { - void *ss_sp; /* Signal stack pointer. */ - int ss_onstack; /* Nonzero if executing on this stack. */ - }; - - -/* Possible values for `ss_flags.'. */ -enum -{ - SS_ONSTACK = 1, -#define SS_ONSTACK SS_ONSTACK - SS_DISABLE -#define SS_DISABLE SS_DISABLE -}; - -/* Minimum stack size for a signal handler. */ -#define MINSIGSTKSZ 1024 - -/* System default stack size. */ -#define SIGSTKSZ 4096 diff --git a/sysdeps/unix/sysv/aix/bits/socket.h b/sysdeps/unix/sysv/aix/bits/socket.h deleted file mode 100644 index 1fdadfe082..0000000000 --- a/sysdeps/unix/sysv/aix/bits/socket.h +++ /dev/null @@ -1,293 +0,0 @@ -/* System-specific socket constants and types. AIX version. - Copyright (C) 1991,92,1994-1999,2000,2001 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef __BITS_SOCKET_H -#define __BITS_SOCKET_H - -#if !defined _SYS_SOCKET_H && !defined _NETINET_IN_H -# error "Never include <bits/socket.h> directly; use <sys/socket.h> instead." -#endif - -#define __need_size_t -#define __need_NULL -#include <stddef.h> - -#include <limits.h> -#include <sys/types.h> - -/* Type for length arguments in socket calls. */ -#ifndef __socklen_t_defined -typedef __socklen_t socklen_t; -# define __socklen_t_defined -#endif - -/* Types of sockets. */ -enum __socket_type -{ - SOCK_STREAM = 1, /* Sequenced, reliable, connection-based - byte streams. */ -#define SOCK_STREAM SOCK_STREAM - SOCK_DGRAM = 2, /* Connectionless, unreliable datagrams - of fixed maximum length. */ -#define SOCK_DGRAM SOCK_DGRAM - SOCK_RAW = 3, /* Raw protocol interface. */ -#define SOCK_RAW SOCK_RAW - SOCK_RDM = 4, /* Reliably-delivered messages. */ -#define SOCK_RDM SOCK_RDM - SOCK_SEQPACKET = 5, /* Sequenced, reliable, connection-based, - datagrams of fixed maximum length. */ -#define SOCK_SEQPACKET SOCK_SEQPACKET - SOCK_CONN_DGRAM = 6 /* Conneciton datagram. */ -#define SOCK_CONN_DGRAM SOCK_CONN_DGRAM -}; - -/* Protocol families. */ -#define PF_UNSPEC 0 /* Unspecified. */ -#define PF_LOCAL 1 /* Local to host (pipes and file-domain). */ -#define PF_UNIX PF_LOCAL /* Old BSD name for PF_LOCAL. */ -#define PF_FILE PF_LOCAL /* Another non-standard name for PF_LOCAL. */ -#define PF_INET 2 /* IP protocol family. */ -#define PF_IMPLINK 3 /* ARPAnet IMP addresses. */ -#define PF_PUP 4 /* PUP protocols (e.g., BSP). */ -#define PF_CHAOS 5 /* MIT CHAOS protocols. */ -#define PF_NS 6 /* XEROX NS protocols. */ -#define PF_ISO 7 /* ISO protocols. */ -#define PF_OSI PF_ISO -#define PF_ECMA 8 /* European Computer Manufacturers. */ -#define PF_DATAKIT 9 /* Datakit protocols. */ -#define PF_CCITT 10 /* CCITT protocols, X.25 etc. */ -#define PF_SNA 11 /* IBM SNA. */ -#define PF_DECnet 12 /* DECnet. */ -#define PF_DLI 13 /* DEC Direct data link interface. */ -#define PF_LAT 14 /* LAT. */ -#define PF_HYLINK 15 /* NSC Hyperchannel. */ -#define PF_APPLETALK 16 /* Apple Talk. */ -#define PF_NETLINK 17 /* Internet Routing Protocol. */ -#define PF_ROUTE PF_NETLINK /* Alias to emulate 4.4BSD. */ -#define PF_LINK 18 /* Link layer interface. */ -#define PF_XTP 19 /* eXpress Transfer Protocol (no AF). */ -#define PF_INTF 20 /* Debugging use only. */ -#define PF_RIF 21 /* Raw interface. */ -#define PF_NETWARE 22 -#define PF_NDD 23 -#define PF_INET6 24 /* IPv6. */ -#define PF_MAX 30 /* For now.. */ - -/* Address families. */ -#define AF_UNSPEC PF_UNSPEC -#define AF_LOCAL PF_LOCAL -#define AF_UNIX PF_UNIX -#define AF_FILE PF_FILE -#define AF_INET PF_INET -#define AF_IMPLINK PF_IMPLINK -#define AF_PUP PF_PUP -#define AF_CHAOS PF_CHAOS -#define AF_NS PF_NS -#define AF_ISO PF_ISO -#define AF_OSI PF_OSI -#define AF_ECMA PF_ECMA -#define AF_DATAKIT PF_DATAKIT -#define AF_CCITT PF_CCITT -#define AF_SNA PF_SNA -#define AF_DECnet PF_DECnet -#define AF_DLI PF_DLI -#define AF_LAT PF_LAT -#define AF_HYLINK PF_HYLINK -#define AF_APPLETALK PF_APPLETALK -#define AF_NETLINK PF_NETLINK -#define AF_ROUTE PF_ROUTE -#define AF_LINK PF_LINK -#define AF_INTF PF_INTF -#define AF_RIF PF_RIF -#define AF_NETWARE PF_NETWARE -#define AF_NDD PF_NDD -#define AF_INET6 PF_INET6 -#define AF_MAX PF_MAX - -/* Socket level values. Others are defined in the appropriate headers. - - XXX These definitions also should go into the appropriate headers as - far as they are available. */ -#define SOL_SOCKET 0xffff - -/* Maximum queue length specifiable by listen. */ -#define SOMAXCONN 1024 - -/* Get the definition of the macro to define the common sockaddr members. */ -#include <bits/sockaddr.h> - -/* Structure describing a generic socket address. */ -struct sockaddr - { - __SOCKADDR_COMMON (sa_); /* Common data: address family and length. */ - char sa_data[14]; /* Address data. */ - }; - - -/* Structure large enough to hold any socket address (with the historical - exception of AF_UNIX). We reserve 128 bytes. */ -#if ULONG_MAX > 0xffffffff -# define __ss_aligntype __uint64_t -#else -# define __ss_aligntype __uint32_t -#endif -#define _SS_SIZE 128 -#define _SS_PADSIZE (_SS_SIZE - (2 * sizeof (__ss_aligntype))) - -struct sockaddr_storage - { - __SOCKADDR_COMMON (ss_); /* Address family, etc. */ - __ss_aligntype __ss_align; /* Force desired alignment. */ - char __ss_padding[_SS_PADSIZE]; - }; - - -/* Bits in the FLAGS argument to `send', `recv', et al. */ -enum - { - MSG_OOB = 0x01, /* Process out-of-band data. */ -#define MSG_OOB MSG_OOB - MSG_PEEK = 0x02, /* Peek at incoming messages. */ -#define MSG_PEEK MSG_PEEK - MSG_DONTROUTE = 0x04, /* Don't use local routing. */ -#define MSG_DONTROUTE MSG_DONTROUTE - MSG_EOR = 0x08, /* End of record. */ -#define MSG_EOR MSG_EOR - MSG_TRUNC = 0x10, -#define MSG_TRUNC MSG_TRUNC - MSG_CTRUNC = 0x20, /* Control data lost before delivery. */ -#define MSG_CTRUNC MSG_CTRUNC - MSG_WAITALL = 0x40, /* Wait for a full request. */ -#define MSG_WAITALL MSG_WAITALL - MSG_MPEG2 = 0x80, /* Message contain MPEG2 data. */ -#define MSG_MPEG2 MSG_MPEG2 - }; - - -/* Structure describing messages sent by - `sendmsg' and received by `recvmsg'. */ -struct msghdr - { - void *msg_name; /* Address to send to/receive from. */ - socklen_t msg_namelen; /* Length of address data. */ - - struct iovec *msg_iov; /* Vector of data to send/receive into. */ - int msg_iovlen; /* Number of elements in the vector. */ - - void *msg_control; /* Ancillary data (eg BSD filedesc passing). */ - socklen_t msg_controllen; /* Ancillary data buffer length. */ - - int msg_flags; /* Flags on received message. */ - }; - -/* Structure used for storage of ancillary data object information. */ -struct cmsghdr - { - socklen_t cmsg_len; /* Length of data in cmsg_data plus length - of cmsghdr structure. */ - int cmsg_level; /* Originating protocol. */ - int cmsg_type; /* Protocol specific type. */ -#if (!defined __STRICT_ANSI__ && __GNUC__ >= 2) || __STDC_VERSION__ >= 199901L - __extension__ unsigned char __cmsg_data __flexarr; /* Ancillary data. */ -#endif - }; - -/* Ancillary data object manipulation macros. */ -#if (!defined __STRICT_ANSI__ && __GNUC__ >= 2) || __STDC_VERSION__ >= 199901L -# define CMSG_DATA(cmsg) ((cmsg)->__cmsg_data) -#else -# define CMSG_DATA(cmsg) ((unsigned char *) ((struct cmsghdr *) (cmsg) + 1)) -#endif -#define CMSG_NXTHDR(mhdr, cmsg) __cmsg_nxthdr (mhdr, cmsg) -#define CMSG_FIRSTHDR(mhdr) \ - ((size_t) (mhdr)->msg_controllen >= sizeof (struct cmsghdr) \ - ? (struct cmsghdr *) (mhdr)->msg_control : (struct cmsghdr *) NULL) -#define CMSG_ALIGN(len) (((len) + sizeof (size_t) - 1) \ - & ~(sizeof (size_t) - 1)) -#define CMSG_SPACE(len) (CMSG_ALIGN (len) \ - + CMSG_ALIGN (sizeof (struct cmsghdr))) -#define CMSG_LEN(len) (CMSG_ALIGN (sizeof (struct cmsghdr)) + (len)) - -extern struct cmsghdr *__cmsg_nxthdr (struct msghdr *__mhdr, - struct cmsghdr *__cmsg) __THROW; -#ifdef __USE_EXTERN_INLINES -# ifndef _EXTERN_INLINE -# define _EXTERN_INLINE extern __inline -# endif -_EXTERN_INLINE struct cmsghdr * -__cmsg_nxthdr (struct msghdr *__mhdr, struct cmsghdr *__cmsg) __THROW -{ - if ((size_t) __cmsg->cmsg_len < sizeof (struct cmsghdr)) - /* The kernel header does this so there may be a reason. */ - return 0; - - __cmsg = (struct cmsghdr *) ((unsigned char *) __cmsg - + CMSG_ALIGN (__cmsg->cmsg_len)); - if ((unsigned char *) (__cmsg + 1) >= ((unsigned char *) __mhdr->msg_control - + __mhdr->msg_controllen) - || ((unsigned char *) __cmsg + CMSG_ALIGN (__cmsg->cmsg_len) - > ((unsigned char *) __mhdr->msg_control + __mhdr->msg_controllen))) - /* No more entries. */ - return 0; - return __cmsg; -} -#endif /* Use `extern inline'. */ - -/* Socket level message types. This must match the definitions in - <linux/socket.h>. */ -enum - { - SCM_RIGHTS = 0x01 /* Transfer file descriptors. */ -#define SCM_RIGHTS SCM_RIGHTS - }; - -/* Options flags per socket. */ -#define SO_DEBUG 0x0001 /* Turn on debugging info recording. */ -#define SO_ACCEPTCONN 0x0002 /* Socket has had listen(). */ -#define SO_REUSEADDR 0x0004 /* Allow local address reuse. */ -#define SO_KEEPALIVE 0x0008 /* Keep connections alive. */ -#define SO_DONTROUTE 0x0010 /* Just use interface addresses. */ -#define SO_BROADCAST 0x0020 /* Permit sending of broadcast msgs. */ -#define SO_USELOOPBACK 0x0040 /* Bypass hardware when possible. */ -#define SO_LINGER 0x0080 /* Linger on close if data present. */ -#define SO_OOBINLINE 0x0100 /* Leave received OOB data in line. */ -#define SO_REUSEPORT 0x0200 /* Allow local address & port reuse. */ -#define SO_USE_IFBUFS 0x0400 /* Interface will supply buffers. */ -#define SO_CKSUMRECV 0x0800 /* Defer checksum until receive. */ -#define SO_NOREUSEADDR 0x1000 /* Prevent local address reuse. */ -#define SO_SNDBUF 0x1001 /* Send buffer size. */ -#define SO_RCVBUF 0x1002 /* Receive buffer size. */ -#define SO_SNDLOWAT 0x1003 /* Send low-water mark. */ -#define SO_RCVLOWAT 0x1004 /* Receive low-water mark. */ -#define SO_SNDTIMEO 0x1005 /* Send timeout. */ -#define SO_RCVTIMEO 0x1006 /* Receive timeout. */ -#define SO_ERROR 0x1007 /* Get error status and clear. */ -#define SO_TYPE 0x1008 /* Get socket type. */ -#define SO_KERNACCEPT 0x2000 /* Derive a in-kernel only socket. */ -#define SO_AUDIT 0x8000 /* Turn on socket auditing. */ - - -/* Structure used to manipulate the SO_LINGER option. */ -struct linger - { - int l_onoff; /* Nonzero to linger on close. */ - int l_linger; /* Time to linger. */ - }; - -#endif /* bits/socket.h */ diff --git a/sysdeps/unix/sysv/aix/bits/stat.h b/sysdeps/unix/sysv/aix/bits/stat.h deleted file mode 100644 index adcb1d1019..0000000000 --- a/sysdeps/unix/sysv/aix/bits/stat.h +++ /dev/null @@ -1,119 +0,0 @@ -/* Copyright (C) 1999, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SYS_STAT_H -# error "Never include <bits/stat.h> directly; use <sys/stat.h> instead." -#endif - -struct stat - { - __dev_t st_dev; /* Device. */ - __ino_t st_ino; /* File serial number. */ - __mode_t st_mode; /* File mode. */ - __nlink_t st_nlink; /* Link count. */ - unsigned short int st_flag; /* Flag word. */ - __uid_t st_uid; /* User ID of the file's owner. */ - __gid_t st_gid; /* Group ID of the file's group.*/ - __dev_t st_rdev; /* Device number, if device. */ -#ifndef __USE_FILE_OFFSET64 - __off_t st_size; /* Size of file, in bytes. */ -#else - int st_ssize; /* Size of file, in bytes. */ -#endif - __time_t st_atime; /* Time of last access. */ - unsigned long int __unused1; - __time_t st_mtime; /* Time of last modification. */ - unsigned long int __unused2; - __time_t st_ctime; /* Time of last status change. */ - unsigned long int __unused3; - __blksize_t st_blksize; /* Optimal block size for I/O. */ - __blkcnt_t st_blocks; /* Number 512-byte blocks allocated. */ - int st_vfstype; /* Type of the filesystem. */ - unsigned int st_vfs; /* Vfs number. */ - unsigned int st_type; /* Vnode type. */ - unsigned int st_gen; /* Inode generation number. */ - -#define _STATBUF_RESERVED_SPACE 9 - unsigned int st_reserved[_STATBUF_RESERVED_SPACE]; - -#ifdef __USE_FILE_OFFSET64 - unsigned int st_padto_ll; - __off64_t st_size; /* 64 bit file size in bytes. */ -#endif - }; - -#ifdef __USE_LARGEFILE64 -struct stat64 - { - __dev_t st_dev; /* Device. */ - __ino_t st_ino; /* File serial number. */ - __mode_t st_mode; /* File mode. */ - __nlink_t st_nlink; /* Link count. */ - unsigned short int st_flag; /* Flag word. */ - __uid_t st_uid; /* User ID of the file's owner. */ - __gid_t st_gid; /* Group ID of the file's group.*/ - __dev_t st_rdev; /* Device number, if device. */ - int st_ssize; /* Size of file, in bytes. */ - __time_t st_atime; /* Time of last access. */ - unsigned long int __unused1; - __time_t st_mtime; /* Time of last modification. */ - unsigned long int __unused2; - __time_t st_ctime; /* Time of last status change. */ - unsigned long int __unused3; - __blksize_t st_blksize; /* Optimal block size for I/O. */ - __blkcnt_t st_blocks; /* Number 512-byte blocks allocated. */ - int st_vfstype; /* Type of the filesystem. */ - unsigned int st_vfs; /* Vfs number. */ - unsigned int st_type; /* Vnode type. */ - unsigned int st_gen; /* Inode generation number. */ - unsigned int st_reserved[_STATBUF_RESERVED_SPACE]; - unsigned int st_padto_ll; - __off64_t st_size; /* 64 bit file size in bytes. */ - }; -#endif - -/* Tell code we have these members. */ -#define _STATBUF_ST_BLKSIZE -#define _STATBUF_ST_RDEV - -/* Encoding of the file mode. */ - -#define __S_IFMT 0170000 /* These bits determine file type. */ - -/* File types. */ -#define __S_IFDIR 0040000 /* Directory. */ -#define __S_IFCHR 0020000 /* Character device. */ -#define __S_IFBLK 0060000 /* Block device. */ -#define __S_IFREG 0100000 /* Regular file. */ -#define __S_IFIFO 0010000 /* FIFO. */ -#define __S_IFLNK 0120000 /* Symbolic link. */ -#define __S_IFSOCK 0140000 /* Socket. */ - -/* POSIX.1b objects. */ -#define __S_TYPEISMQ(buf) (0) -#define __S_TYPEISSEM(buf) (0) -#define __S_TYPEISSHM(buf) (0) - -/* Protection bits. */ - -#define __S_ISUID 04000 /* Set user ID on execution. */ -#define __S_ISGID 02000 /* Set group ID on execution. */ -#define __S_ISVTX 01000 /* Save swapped text after use (sticky). */ -#define __S_IREAD 0400 /* Read by owner. */ -#define __S_IWRITE 0200 /* Write by owner. */ -#define __S_IEXEC 0100 /* Execute by owner. */ diff --git a/sysdeps/unix/sysv/aix/bits/statfs.h b/sysdeps/unix/sysv/aix/bits/statfs.h deleted file mode 100644 index 0a1c0a5e65..0000000000 --- a/sysdeps/unix/sysv/aix/bits/statfs.h +++ /dev/null @@ -1,77 +0,0 @@ -/* Copyright (C) 1997, 1998, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SYS_STATFS_H -# error "Never include <bits/statfs.h> directly; use <sys/statfs.h> instead." -#endif - -#include <bits/types.h> /* for __fsid_t and __fsblkcnt_t*/ - -struct statfs - { - int f_version; - int f_type; - int f_bsize; - /* The following five elements have type `int' since AIX's fsfilcnt_t - and fsblkcnt_t types do not fit. */ - int f_blocks; - int f_bfree; - int f_bavail; - int f_files; - int f_ffree; - __fsid_t f_fsid; - int f_vfstype; - int f_fsize; - int f_vfsnumber; - int f_vfsoff; - int f_vfslen; - int f_vfsvers; - char f_fname[32]; - char f_fpack[32]; - int f_name_max; - }; - -#ifdef __USE_LARGEFILE64 -/* XXX There seems to be no 64-bit versio of this structure. */ -struct statfs64 - { - int f_version; - int f_type; - int f_bsize; - /* The following five elements have type `int' since AIX's fsfilcnt_t - and fsblkcnt_t types do not fit. */ - int f_blocks; - int f_bfree; - int f_bavail; - int f_files; - int f_ffree; - __fsid_t f_fsid; - int f_vfstype; - int f_fsize; - int f_vfsnumber; - int f_vfsoff; - int f_vfslen; - int f_vfsvers; - char f_fname[32]; - char f_fpack[32]; - int f_name_max; - }; -#endif - -/* Tell code we have these members. */ -#define _STATFS_F_NAME_MAX diff --git a/sysdeps/unix/sysv/aix/bits/termios.h b/sysdeps/unix/sysv/aix/bits/termios.h deleted file mode 100644 index b178d9c1b3..0000000000 --- a/sysdeps/unix/sysv/aix/bits/termios.h +++ /dev/null @@ -1,189 +0,0 @@ -/* termios type and macro definitions. AIX version. - Copyright (C) 1999, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _TERMIOS_H -# error "Never include <bits/termios.h> directly; use <termios.h> instead." -#endif - -typedef unsigned char cc_t; -typedef unsigned int speed_t; -typedef unsigned int tcflag_t; - -#define NCCS 16 -struct termios - { - tcflag_t c_iflag; /* input mode flags */ - tcflag_t c_oflag; /* output mode flags */ - tcflag_t c_cflag; /* control mode flags */ - tcflag_t c_lflag; /* local mode flags */ - cc_t c_cc[NCCS]; /* control characters */ - }; - -/* c_cc characters */ -#define VINTR 0 -#define VQUIT 1 -#define VERASE 2 -#define VKILL 3 -#define VEOF 4 -#define VEOL 5 -#define VSTART 7 -#define VSTOP 8 -#define VSUSP 9 -#define VMIN 4 -#define VTIME 5 -#define VEOL2 6 -#define VDSUSP 10 -#define VREPRINT 11 -#define VDISCARD 12 -#define VWERSE 13 -#define VWERASE VWERSE -#define VLNEXT 14 -#define VSTRT VSTART - -/* c_iflag bits */ -#define IGNBRK 0000001 -#define BRKINT 0000002 -#define IGNPAR 0000004 -#define PARMRK 0000010 -#define INPCK 0000020 -#define ISTRIP 0000040 -#define INLCR 0000100 -#define IGNCR 0000200 -#define ICRNL 0000400 -#define IXON 0001000 -#define IXOFF 0002000 -#define IUCLC 0004000 -#define IXANY 0010000 -#define IMAXBEL 0200000 - -/* c_oflag bits */ -#define OPOST 0000001 -#define OLCUC 0000002 -#define ONLCR 0000004 -#define OCRNL 0000010 -#define ONOCR 0000020 -#define ONLRET 0000040 -#define OFILL 0000100 -#define OFDEL 0000200 -#if defined __USE_MISC || defined __USE_XOPEN -# define CRDLY 0001400 -# define CR0 0000000 -# define CR1 0000400 -# define CR2 0001000 -# define CR3 0001400 -# define TABDLY 0006000 -# define TAB0 0000000 -# define TAB1 0002000 -# define TAB2 0004000 -# define TAB3 0006000 -# define BSDLY 0010000 -# define BS0 0000000 -# define BS1 0010000 -# define FFDLY 0020000 -# define FF0 0000000 -# define FF1 0020000 -# define NLDLY 0040000 -# define NL0 0000000 -# define NL1 0040000 -#endif - -#define VTDLY 0100000 -#define VT0 0000000 -#define VT1 0100000 - -/* c_cflag bit meaning */ -#ifdef __USE_MISC -# define CBAUD 0000017 -#endif -#define B0 0000000 /* hang up */ -#define B50 0000001 -#define B75 0000002 -#define B110 0000003 -#define B134 0000004 -#define B150 0000005 -#define B200 0000006 -#define B300 0000007 -#define B600 0000010 -#define B1200 0000011 -#define B1800 0000012 -#define B2400 0000013 -#define B4800 0000014 -#define B9600 0000015 -#define B19200 0000016 -#define B38400 0000017 -#ifdef __USE_MISC -# define EXTA B19200 -# define EXTB B38400 -#endif -#define CSIZE 0000060 -#define CS5 0000000 -#define CS6 0000020 -#define CS7 0000040 -#define CS8 0000060 -#define CSTOPB 0000100 -#define CREAD 0000200 -#define PARENB 0000400 -#define PARODD 0001000 -#define HUPCL 0002000 -#define CLOCAL 0004000 -#ifdef __USE_MISC -# define CIBAUD 000003600000 /* input baud rate (not used) */ -# define CRTSCTS 020000000000 /* flow control */ -#endif - -/* c_lflag bits */ -#define ISIG 0000001 -#define ICANON 0000002 -#if defined __USE_MISC || defined __USE_XOPEN -# define XCASE 0000004 -#endif -#define ECHO 0000010 -#define ECHOE 0000020 -#define ECHOK 0000040 -#define ECHONL 0000100 -#define NOFLSH 0000200 -#define TOSTOP 0200000 -#ifdef __USE_MISC -# define ECHOCTL 0400000 -# define ECHOPRT 01000000 -# define ECHOKE 02000000 -# define FLUSHO 004000000 -# define PENDIN 04000000000 -#endif -#define IEXTEN 010000000 - -/* tcflow() and TCXONC use these */ -#define TCOOFF 0 -#define TCOON 1 -#define TCIOFF 2 -#define TCION 3 - -/* tcflush() and TCFLSH use these */ -#define TCIFLUSH 0 -#define TCOFLUSH 1 -#define TCIOFLUSH 2 - -/* tcsetattr uses these */ -#define TCSANOW 0 -#define TCSADRAIN 1 -#define TCSAFLUSH 2 - - -#define _IOT_termios /* Hurd ioctl type field. */ \ - _IOT (_IOTS (cflag_t), 4, _IOTS (cc_t), NCCS, _IOTS (speed_t), 2) diff --git a/sysdeps/unix/sysv/aix/bits/types.h b/sysdeps/unix/sysv/aix/bits/types.h deleted file mode 100644 index 12c3be730e..0000000000 --- a/sysdeps/unix/sysv/aix/bits/types.h +++ /dev/null @@ -1,136 +0,0 @@ -/* Copyright (C) 1991,92,1994-1999,2000,2001 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* - * Never include this file directly; use <sys/types.h> instead. - */ - -#ifndef _BITS_TYPES_H -#define _BITS_TYPES_H 1 - -#include <features.h> - -#define __need_NULL -#define __need_size_t -#include <stddef.h> - -/* Convenience types. */ -typedef unsigned char __u_char; -typedef unsigned short __u_short; -typedef unsigned int __u_int; -typedef unsigned long __u_long; -#ifdef __GNUC__ -__extension__ typedef unsigned long long int __u_quad_t; -__extension__ typedef long long int __quad_t; -#else -typedef struct - { - long int __val[2]; - } __quad_t; -typedef struct - { - __u_long __val[2]; - } __u_quad_t; -#endif -typedef signed char __int8_t; -typedef unsigned char __uint8_t; -typedef signed short int __int16_t; -typedef unsigned short int __uint16_t; -typedef signed int __int32_t; -typedef unsigned int __uint32_t; -#ifdef __GNUC__ -__extension__ typedef signed long long int __int64_t; -__extension__ typedef unsigned long long int __uint64_t; -#endif -typedef __quad_t *__qaddr_t; - -typedef __u_long __dev_t; /* Type of device numbers. */ -typedef __u_int __uid_t; /* Type of user identifications. */ -typedef __u_int __gid_t; /* Type of group identifications. */ -typedef __u_long __ino_t; /* Type of file serial numbers. */ -typedef __u_int __mode_t; /* Type of file attribute bitmasks. */ -typedef short int __nlink_t; /* Type of file link counts. */ -typedef long int __off_t; /* Type of file sizes and offsets. */ -typedef __quad_t __loff_t; /* Type of file sizes and offsets. */ -typedef int __pid_t; /* Type of process identifications. */ -typedef long int __ssize_t; /* Type of a byte count, or error. */ -typedef __u_long __rlim_t; /* Type of resource counts. */ -typedef __u_quad_t __rlim64_t; /* Type of resource counts (LFS). */ -typedef unsigned int __id_t; /* General type for ID. */ - -typedef struct - { - unsigned long int __val[2]; - } __fsid_t; /* Type of file system IDs. */ - -/* Everythin' else. */ -typedef long int __daddr_t; /* The type of a disk address. */ -typedef char *__caddr_t; -typedef long int __time_t; -typedef unsigned int __useconds_t; -typedef int __suseconds_t; -typedef long int __swblk_t; /* Type of a swap block maybe? */ - -typedef int __clock_t; - -/* Clock ID used in clock and timer functions. */ -typedef int __clockid_t; - -/* Timer ID returned by `timer_create'. */ -typedef int __timer_t; - -/* Number of descriptors that can fit in an `fd_set'. */ -#define __FD_SETSIZE 1024 - - -typedef long int __key_t; - -/* Type to represent block size. */ -typedef int __blksize_t; - -/* Types from the Large File Support interface. */ - -/* Type to count number os disk blocks. */ -typedef int __blkcnt_t; -typedef __quad_t __blkcnt64_t; - -/* Type to count file system blocks. */ -typedef __u_long __fsblkcnt_t; -typedef __u_quad_t __fsblkcnt64_t; - -/* Type to count file system inodes. */ -typedef __u_long __fsfilcnt_t; -typedef __u_quad_t __fsfilcnt64_t; - -/* Type of file serial numbers. */ -typedef __u_quad_t __ino64_t; - -/* Type of file sizes and offsets. */ -typedef __loff_t __off64_t; - -/* Used in XTI. */ -typedef int __t_scalar_t; -typedef unsigned int __t_uscalar_t; - -/* Duplicates info from stdint.h but this is used in unistd.h. */ -typedef signed long __intptr_t; - -/* Duplicate info from sys/socket.h. */ -typedef unsigned int __socklen_t; - -#endif /* bits/types.h */ diff --git a/sysdeps/unix/sysv/aix/bits/uio.h b/sysdeps/unix/sysv/aix/bits/uio.h deleted file mode 100644 index 60781532ab..0000000000 --- a/sysdeps/unix/sysv/aix/bits/uio.h +++ /dev/null @@ -1,42 +0,0 @@ -/* Copyright (C) 1996, 1997, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SYS_UIO_H -# error "Never include <bits/uio.h> directly; use <sys/uio.h> instead." -#endif - - -#include <sys/types.h> - - -/* Size of object which can be written atomically. - - This macro has different values in different kernel versions. The - latest versions of ther kernel use 1024 and this is good choice. Since - the C library implementation of readv/writev is able to emulate the - functionality even if the currently running kernel does not support - this large value the readv/writev call will not fail because of this. */ -#define UIO_MAXIOV 16 - - -/* Structure for scatter/gather I/O. */ -struct iovec - { - void *iov_base; /* Pointer to data. */ - size_t iov_len; /* Length of data. */ - }; diff --git a/sysdeps/unix/sysv/aix/bits/utmp.h b/sysdeps/unix/sysv/aix/bits/utmp.h deleted file mode 100644 index b78a2afdaf..0000000000 --- a/sysdeps/unix/sysv/aix/bits/utmp.h +++ /dev/null @@ -1,73 +0,0 @@ -/* The `struct utmp' type, describing entries in the utmp file. AIX. - Copyright (C) 1996, 1997, 1999, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _UTMP_H -# error "Never include <bits/utmp.h> directly; use <utmp.h> instead." -#endif - -#include <paths.h> -#include <sys/time.h> -#include <sys/types.h> - - -#define UT_LINESIZE 12 -#define UT_NAMESIZE 8 -#define UT_HOSTSIZE 16 - - -struct utmp - { -#define ut_name ut_user - char ut_user[UT_NAMESIZE]; - char ut_id[14]; - char ut_line[UT_LINESIZE]; - short int ut_type; - short int ut_pid; - struct exit_status - { - short int e_termination; - short int e_exit; - } ut_exit; - __time_t ut_time; - char ut_host[UT_HOSTSIZE]; - }; - - -/* Values for the `ut_type' field of a `struct utmp'. */ -#define EMPTY 0 /* No valid user accounting information. */ - -#define RUN_LVL 1 /* The system's runlevel. */ -#define BOOT_TIME 2 /* Time of system boot. */ -#define OLD_TIME 3 /* Time when system clock changed. */ -#define NEW_TIME 4 /* Time after system clock changed. */ - -#define INIT_PROCESS 5 /* Process spawned by the init process. */ -#define LOGIN_PROCESS 6 /* Session leader of a logged in user. */ -#define USER_PROCESS 7 /* Normal process. */ -#define DEAD_PROCESS 8 /* Terminated process. */ - -#define ACCOUNTING 9 - - -/* Tell the user that we have a modern system with UT_HOST, UT_TYPE, and - UT_ID fields. */ -#define _HAVE_UT_TYPE 1 -#define _HAVE_UT_PID 1 -#define _HAVE_UT_ID 1 -#define _HAVE_UT_HOST 1 diff --git a/sysdeps/unix/sysv/aix/bits/utmpx.h b/sysdeps/unix/sysv/aix/bits/utmpx.h deleted file mode 100644 index 438b5f3a51..0000000000 --- a/sysdeps/unix/sysv/aix/bits/utmpx.h +++ /dev/null @@ -1,75 +0,0 @@ -/* Structures and defenitions for the user accounting database. AIX. - Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _UTMPX_H -# error "Never include <bits/utmpx.h> directly; use <utmpx.h> instead." -#endif - -#include <bits/types.h> -#include <sys/time.h> - - -#ifdef __USE_GNU -# include <paths.h> -# define _PATH_UTMPX _PATH_UTMP -# define _PATH_WTMPX _PATH_WTMP -#endif - - -#define __UT_LINESIZE 12 -#define __UT_NAMESIZE 8 -#define __UT_HOSTSIZE 16 - - -/* The structure describing an entry in the user accounting database. */ -struct utmpx -{ - char ut_user[__UT_NAMESIZE]; /* Username. */ - char ut_id[14]; /* Inittab ID. */ - char ut_line[__UT_LINESIZE]; /* Devicename. */ - short int ut_type; /* Type of login. */ - __pid_t ut_pid; /* Process ID of login process. */ - struct timeval ut_tv; /* Time entry was made. */ - char ut_host[__UT_HOSTSIZE]; /* Hostname for remote login. */ -}; - - -/* Values for the `ut_type' field of a `struct utmpx'. */ -#define EMPTY 0 /* No valid user accounting information. */ - -#define RUN_LVL 1 /* The system's runlevel. */ -#define BOOT_TIME 2 /* Time of system boot. */ -#define NEW_TIME 3 /* Time after system clock changed. */ -#define OLD_TIME 4 /* Time when system clock changed. */ - -#define INIT_PROCESS 5 /* Process spawned by the init process. */ -#define LOGIN_PROCESS 6 /* Session leader of a logged in user. */ -#define USER_PROCESS 7 /* Normal process. */ -#define DEAD_PROCESS 8 /* Terminated process. */ - -#ifdef __USE_GNU -# define ACCOUNTING 9 /* System accounting. */ -#endif - -#define _HAVE_UT_TYPE 1 -#define _HAVE_UT_PID 1 -#define _HAVE_UT_ID 1 -#define _HAVE_UT_TV 1 -#define _HAVE_UT_HOST 1 - diff --git a/sysdeps/unix/sysv/aix/bits/utsname.h b/sysdeps/unix/sysv/aix/bits/utsname.h deleted file mode 100644 index d238f5efda..0000000000 --- a/sysdeps/unix/sysv/aix/bits/utsname.h +++ /dev/null @@ -1,23 +0,0 @@ -/* Copyright (C) 1997, 1999 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SYS_UTSNAME_H -# error "Never include <bits/utsname.h> directly; use <sys/utsname.h> instead." -#endif - -#define _UTSNAME_LENGTH 32 diff --git a/sysdeps/unix/sysv/aix/brk.c b/sysdeps/unix/sysv/aix/brk.c deleted file mode 100644 index 66707fe60f..0000000000 --- a/sysdeps/unix/sysv/aix/brk.c +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright (C) 1999, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <unistd.h> - -int -__brk (void *addr) -{ - return brk (addr); -} diff --git a/sysdeps/unix/sysv/aix/chdir.c b/sysdeps/unix/sysv/aix/chdir.c deleted file mode 100644 index 153084eb60..0000000000 --- a/sysdeps/unix/sysv/aix/chdir.c +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright (C) 1999, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <unistd.h> - -int -__chdir (const char *path) -{ - return chdir (path); -} diff --git a/sysdeps/unix/sysv/aix/chmod.c b/sysdeps/unix/sysv/aix/chmod.c deleted file mode 100644 index 628d09cceb..0000000000 --- a/sysdeps/unix/sysv/aix/chmod.c +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright (C) 1999, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sys/stat.h> - -int -__chmod (const char *path, mode_t mode) -{ - return chmod (path, mode); -} diff --git a/sysdeps/unix/sysv/aix/chown.c b/sysdeps/unix/sysv/aix/chown.c deleted file mode 100644 index 2b6e82e739..0000000000 --- a/sysdeps/unix/sysv/aix/chown.c +++ /dev/null @@ -1,26 +0,0 @@ -/* Copyright (C) 1999, 2000, 2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <unistd.h> - -int -__chown (const char *file, uid_t owner, gid_t group) -{ - return chown (file, owner, group); -} -libc_hidden_def (__chown) diff --git a/sysdeps/unix/sysv/aix/chroot.c b/sysdeps/unix/sysv/aix/chroot.c deleted file mode 100644 index 6036fbbffd..0000000000 --- a/sysdeps/unix/sysv/aix/chroot.c +++ /dev/null @@ -1 +0,0 @@ -/* This is a system call. */ diff --git a/sysdeps/unix/sysv/aix/close.c b/sysdeps/unix/sysv/aix/close.c deleted file mode 100644 index 7be595643f..0000000000 --- a/sysdeps/unix/sysv/aix/close.c +++ /dev/null @@ -1,26 +0,0 @@ -/* Copyright (C) 1999, 2000, 2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <unistd.h> - -int -__close (int fd) -{ - return close (fd); -} -libc_hidden_def (__close) diff --git a/sysdeps/unix/sysv/aix/configure b/sysdeps/unix/sysv/aix/configure deleted file mode 100644 index 2c07b415f6..0000000000 --- a/sysdeps/unix/sysv/aix/configure +++ /dev/null @@ -1,6 +0,0 @@ -# This file is generated from configure.in by Autoconf. DO NOT EDIT! - # Local configure fragment for sysdeps/unix/sysv/aix. - -# Don't bother trying to generate any glue code to be compatible with the -# existing system library, because we are the only system library. -inhibit_glue=yes diff --git a/sysdeps/unix/sysv/aix/configure.in b/sysdeps/unix/sysv/aix/configure.in deleted file mode 100644 index bb783fc0ce..0000000000 --- a/sysdeps/unix/sysv/aix/configure.in +++ /dev/null @@ -1,6 +0,0 @@ -GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory. -# Local configure fragment for sysdeps/unix/sysv/aix. - -# Don't bother trying to generate any glue code to be compatible with the -# existing system library, because we are the only system library. -inhibit_glue=yes diff --git a/sysdeps/unix/sysv/aix/connect.c b/sysdeps/unix/sysv/aix/connect.c deleted file mode 100644 index 2f58be1ede..0000000000 --- a/sysdeps/unix/sysv/aix/connect.c +++ /dev/null @@ -1,11 +0,0 @@ -/* This is a system call. We only have to provide the wrapper. */ -#include <sys/socket.h> - -#undef __connect - -int -__connect (int fd, __CONST_SOCKADDR_ARG addr, socklen_t len) -{ - return connect (fd, addr, len); -} -INTDEF(__connect) diff --git a/sysdeps/unix/sysv/aix/creat.c b/sysdeps/unix/sysv/aix/creat.c deleted file mode 100644 index 6036fbbffd..0000000000 --- a/sysdeps/unix/sysv/aix/creat.c +++ /dev/null @@ -1 +0,0 @@ -/* This is a system call. */ diff --git a/sysdeps/unix/sysv/aix/dl-addr.c b/sysdeps/unix/sysv/aix/dl-addr.c deleted file mode 100644 index b8dbddfe41..0000000000 --- a/sysdeps/unix/sysv/aix/dl-addr.c +++ /dev/null @@ -1,30 +0,0 @@ -/* - Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <dlfcn.h> -#include <stdlib.h> -#include <ldsodefs.h> - -int -internal_function -_dl_addr (const void *address, Dl_info *info) -{ - return 0; -} - diff --git a/sysdeps/unix/sysv/aix/dl-close.c b/sysdeps/unix/sysv/aix/dl-close.c deleted file mode 100644 index edd45851f6..0000000000 --- a/sysdeps/unix/sysv/aix/dl-close.c +++ /dev/null @@ -1,46 +0,0 @@ -/* Copyright (C) 2001 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <stdarg.h> -#include <stdlib.h> -#include <sys/types.h> -#include <errno.h> -#include <dlfcn.h> -#include <dlldr.h> - -extern int _dl_numso; -extern DL_SODATA *_dl_sotable; - -void -_dl_close (void *handle) -{ - if ((int) handle < 0 || (int) handle >= _dl_numso || _dl_sotable == NULL) - { - errno = EINVAL; - return; - } - - if (_dl_sotable[(int) handle].handle != 0) - __unload (_dl_sotable[(int) handle].handle); - - _dl_sotable[(int) handle].index = 0; - _dl_sotable[(int) handle].dataorg = 0; - _dl_sotable[(int) handle].handle = 0; - _dl_sotable[(int) handle].type = 0; -} - diff --git a/sysdeps/unix/sysv/aix/dl-error.c b/sysdeps/unix/sysv/aix/dl-error.c deleted file mode 100644 index 9c6335b591..0000000000 --- a/sysdeps/unix/sysv/aix/dl-error.c +++ /dev/null @@ -1,20 +0,0 @@ -/* Copyright (C) 2001 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - - -#include <elf/dl-error.c> diff --git a/sysdeps/unix/sysv/aix/dl-libc.c b/sysdeps/unix/sysv/aix/dl-libc.c deleted file mode 100644 index 69c627c19c..0000000000 --- a/sysdeps/unix/sysv/aix/dl-libc.c +++ /dev/null @@ -1,41 +0,0 @@ -/* Handle loading and unloading shared objects for internal libc purposes. - Copyright (C) 2001 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <dlfcn.h> -#include <stdlib.h> -#include <ldsodefs.h> - -void * -__libc_dlopen (const char *name) -{ - return _dl_open (name, RTLD_LAZY, NULL); -} - -void * -__libc_dlsym (void *map, const char *name) -{ - return _dl_sym (map, name, NULL); -} - -int -__libc_dlclose (void *map) -{ - _dl_close (map); - return 0; -} diff --git a/sysdeps/unix/sysv/aix/dl-open.c b/sysdeps/unix/sysv/aix/dl-open.c deleted file mode 100644 index 070471d513..0000000000 --- a/sysdeps/unix/sysv/aix/dl-open.c +++ /dev/null @@ -1,133 +0,0 @@ -/* Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <malloc.h> -#include <stdarg.h> -#include <stdlib.h> -#include <sys/types.h> -#include <errno.h> -#include <dlfcn.h> -#include <dlldr.h> - -#define NUM_SHARED_OBJECTS 32 - -int _dl_numso = NUM_SHARED_OBJECTS; -DL_SODATA *_dl_sotable = NULL; - -void * -_dl_open (const char *file, int mode, const void *caller) -{ - DL_SODATA *new_so; - void *handle; - int entry; - int bsize = _dl_numso * sizeof (DL_INFO); - DL_INFO *dl_info = malloc (bsize); - - if (dl_info == NULL) - return NULL; - - /* 1st time thru initial shared object data table. */ - if (_dl_sotable == NULL) - { - _dl_sotable = (DL_SODATA *) calloc (_dl_numso, sizeof (DL_SODATA)); - if (_dl_sotable == NULL) - return NULL; - - __loadx (DL_POSTLOADQ, dl_info, bsize, NULL); - while (!(dl_info[0].dlinfo_xflags & DL_INFO_OK) - || dl_info[0].dlinfo_arraylen == 0) - { - bsize *= 2; - dl_info = realloc (dl_info, bsize); - if (dl_info == NULL) - return NULL; - - __loadx (DL_POSTLOADQ, dl_info, bsize, NULL); - } - } - - /* Validate mode bits. */ - if (!(mode & RTLD_NOW) && !(mode & RTLD_LAZY)) - { - free (dl_info); - errno = EINVAL; - return NULL; - } - - /* Load the module. */ - handle = (void *) __loadx (DL_LOAD | DL_LOAD_RTL | DL_LOAD_LDX1, - dl_info, bsize, file, NULL); - if (handle == NULL) - { - free (dl_info); - errno = EINVAL; - return NULL; - } - - /* Was dl_info buffer to small to get info. */ - while (!(dl_info[0].dlinfo_xflags & DL_INFO_OK) - || dl_info[0].dlinfo_arraylen == 0) - { - bsize *= 2; - dl_info = realloc (dl_info, bsize); - if (dl_info == NULL) - { - (void) __unload ((void *) handle); - errno = ENOMEM; - return NULL; - } - __loadx (DL_POSTLOADQ | DL_LOAD_RTL, dl_info, bsize, handle); - } - - /* Get an empty entry in the shared object table. */ - for (entry = 0; entry < _dl_numso; ++entry) - if (_dl_sotable[entry].type == 0) - break; - - /* See if the table needs to be increased. */ - if (entry == _dl_numso) - { - new_so = (DL_SODATA *) realloc (_dl_sotable, - _dl_numso * 2 * sizeof (DL_SODATA)); - if (new_so == NULL) - return NULL; - - memset (new_so + _dl_numso, '\0', _dl_numso * sizeof (DL_SODATA)); - _dl_numso *= 2; - _dl_sotable = new_so; - } - - /* See if this is syscall (look for /unix in file). */ - if (strcmp ("/unix", file) == 0) - { - _dl_sotable[entry].index = dl_info[1].dlinfo_index; - _dl_sotable[entry].dataorg = dl_info[1].dlinfo_dataorg; - _dl_sotable[entry].handle = handle; - _dl_sotable[entry].type = DL_UNIX_SYSCALL; - } - else - { - _dl_sotable[entry].index = dl_info[1].dlinfo_index; - _dl_sotable[entry].dataorg = dl_info[1].dlinfo_dataorg; - _dl_sotable[entry].handle = handle; - _dl_sotable[entry].type = DL_GETSYM; - } - - free (dl_info); - return (void *) entry; -} diff --git a/sysdeps/unix/sysv/aix/dl-support.c b/sysdeps/unix/sysv/aix/dl-support.c deleted file mode 100644 index 6172c853d4..0000000000 --- a/sysdeps/unix/sysv/aix/dl-support.c +++ /dev/null @@ -1,20 +0,0 @@ -/* Copyright (C) 2001 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - - -#include <elf/dl-support.c> diff --git a/sysdeps/unix/sysv/aix/dl-sym.c b/sysdeps/unix/sysv/aix/dl-sym.c deleted file mode 100644 index 3f48b12cd9..0000000000 --- a/sysdeps/unix/sysv/aix/dl-sym.c +++ /dev/null @@ -1,58 +0,0 @@ -/* Copyright (C) 2001 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <stdarg.h> -#include <stdlib.h> -#include <sys/types.h> -#include <errno.h> -#include <dlfcn.h> -#include <dlldr.h> - -extern int _dl_numso; -extern DL_SODATA *_dl_sotable; - -void * -_dl_sym (void *handle, const char *symbol, void *who) -{ - void *rt_function; - - if ((int) handle < 0 || (int) handle >= _dl_numso || _dl_sotable == NULL) - { - errno = EINVAL; - return NULL; - } - - switch (_dl_sotable[(int) handle].type) - { - case DL_UNIX_SYSCALL: - rt_function = (void *) __loadx (DL_UNIX_SYSCALL, (void *) symbol); - break; - - case DL_GETSYM: - rt_function = (void *) __loadx (DL_GETSYM, (void *) symbol, - _dl_sotable[(int) handle].index, - _dl_sotable[(int) handle].dataorg); - break; - - default: - errno = EINVAL; - return NULL; - } - - return rt_function; -} diff --git a/sysdeps/unix/sysv/aix/dlldr.h b/sysdeps/unix/sysv/aix/dlldr.h deleted file mode 100644 index e0f3740d26..0000000000 --- a/sysdeps/unix/sysv/aix/dlldr.h +++ /dev/null @@ -1,111 +0,0 @@ -/* Copyright (C) 2001 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - - -/* - - int __loadx(flag, module, arg1, arg2, arg3) - - The __loadx() is a call to ld_loadutil() kernel function, which - does the real work. Note ld_loadutil() is not exported an cannot be - called directly from user space. - - void *ld_loadutil() call is a utility function used for loader extensions - supporting run-time linking and dl*() functions. - - void * - will return the modules entry point if it succeds of NULL - on failure. - - int flag - the flag field performas a dual role: the top 8 bits specify - the work for __loadx() to perform, the bottom 8 bits are - used to pass flags to the work routines, all other bits are - reserved. - -*/ - -#define DL_LOAD 0x1000000 /* __loadx(flag,buf, buf_len, filename, libr_path) */ -#define DL_POSTLOADQ 0x2000000 /* __loadx(flag,buf, buf_len, module_handle) */ -#define DL_EXECQ 0x3000000 /* __loadx(flag,buf, buf_len) */ -#define DL_EXITQ 0x4000000 /* __loadx(flag,buf, buf_len) */ -#define DL_PREUNLOADQ 0x5000000 /* __loadx(flag,buf, buf_len, module_handle) */ -#define DL_INIT 0x6000000 /* __loadx(flag,NULL) */ -#define DL_GETSYM 0x7000000 /* __loadx(flag,symbol, index, modules_data_origin) */ -#define DL_SETDEPEND 0x8000000 /* __loadx(flag,import_data_org, import_index, */ - /* export_data_org, export_index) */ -#define DL_DELDEPEND 0x9000000 /* __loadx(flag,import_data_org, import_index, */ - /* export_data_org, export_index) */ -#define DL_GLOBALSYM 0xA000000 /* __loadx(flag,symbol_name, ptr_to_rec_index, */ - /* ptr_to_rec_data_org) */ -#define DL_UNIX_SYSCALL 0xB000000 /* __loadx(flag,syscall_symbol_name) */ - -#define DL_FUNCTION_MASK 0xFF000000 -#define DL_SRCHDEPENDS 0x00100000 -#define DL_SRCHMODULE 0x00080000 -#define DL_SRCHLOADLIST 0x00040000 -#define DL_LOAD_LDX1 0x00040000 -#define DL_LOAD_RTL 0x00020000 -#define DL_HASHSTRING 0x00020000 -#define DL_INFO_OK 0x00010000 -#define DL_LOAD_DLINFO 0x00010000 -#define DL_UNLOADED 0x00020000 - -typedef union _dl_info -{ - struct { - uint _xflags; /* flag bits in the array */ - uint _size; /* size of this structure */ - uint _arraylen; /* number of following elements */ - } _dl_stat; - struct { - caddr_t _textorg; /* start of loaded program image */ - caddr_t _dataorg; /* start of data instance */ - uint _datasize; /* size of data instance */ - ushort _index; /* index of this le in la_dynlist */ - ushort _mflags; /* info about module from load() */ - } _dl_array; -} DL_INFO; - -#define dlinfo_xflags _dl_stat._xflags -#define dlinfo_arraylen _dl_stat._arraylen -#define dlinfo_size _dl_stat._size - -#define dlinfo_textorg _dl_array._textorg -#define dlinfo_datasize _dl_array._datasize -#define dlinfo_dataorg _dl_array._dataorg -#define dlinfo_index _dl_array._index -#define dlinfo_flags _dl_array._mflags - -#define DL_HAS_RTINIT 0x1 /* indicates the module __rtinit symbols */ -#define DL_IS_NEW 0x2 /* indicates that the module is newly loaded */ - -struct _xArgs -{ - char *libpath; - DL_INFO *info; - uint infosize; -}; - -/* Shared Object DATA used for dl-open,dl-sym & dl-close support */ -typedef struct -{ - void *handle; /* handle for __loadx */ - uint type; /* type of __loadx flag */ - ushort index; /* dlinfo_index */ - caddr_t dataorg; /* dlinfo_dataorg */ -} DL_SODATA; - diff --git a/sysdeps/unix/sysv/aix/environ.c b/sysdeps/unix/sysv/aix/environ.c deleted file mode 100644 index 01e7ba8281..0000000000 --- a/sysdeps/unix/sysv/aix/environ.c +++ /dev/null @@ -1 +0,0 @@ -/* We don't need to define environ, the kernel does it. */ diff --git a/sysdeps/unix/sysv/aix/euidaccess.c b/sysdeps/unix/sysv/aix/euidaccess.c deleted file mode 100644 index c666af5fd0..0000000000 --- a/sysdeps/unix/sysv/aix/euidaccess.c +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright (C) 1999, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#define ACC_SELF 0 - -int -euidaccess (const char *name, int type) -{ - return accessx (name, type, ACC_SELF); -} diff --git a/sysdeps/unix/sysv/aix/execve.c b/sysdeps/unix/sysv/aix/execve.c deleted file mode 100644 index f8cc07d556..0000000000 --- a/sysdeps/unix/sysv/aix/execve.c +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright (C) 1999, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <unistd.h> - -int -__execve (const char *path, char *const argv[], char *const envp[]) -{ - return execve (path, argv, envp); -} diff --git a/sysdeps/unix/sysv/aix/fchdir.c b/sysdeps/unix/sysv/aix/fchdir.c deleted file mode 100644 index 9fe7e8bec9..0000000000 --- a/sysdeps/unix/sysv/aix/fchdir.c +++ /dev/null @@ -1,26 +0,0 @@ -/* Copyright (C) 1999, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <unistd.h> - -int -__fchdir (fd) - int fd; -{ - return fchdir (fd); -} diff --git a/sysdeps/unix/sysv/aix/fchmod.c b/sysdeps/unix/sysv/aix/fchmod.c deleted file mode 100644 index d4f0ac9580..0000000000 --- a/sysdeps/unix/sysv/aix/fchmod.c +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright (C) 1999, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sys/stat.h> - -int -__fchmod (int fd, mode_t mode) -{ - return fchmod (fd, mode); -} diff --git a/sysdeps/unix/sysv/aix/fchown.c b/sysdeps/unix/sysv/aix/fchown.c deleted file mode 100644 index 64252c038b..0000000000 --- a/sysdeps/unix/sysv/aix/fchown.c +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright (C) 1999, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <unistd.h> - -int -__fchown (int fds, uid_t owner, gid_t group) -{ - return fchown (fds, owner, group); -} diff --git a/sysdeps/unix/sysv/aix/fcntl.c b/sysdeps/unix/sysv/aix/fcntl.c deleted file mode 100644 index 7f16cbe013..0000000000 --- a/sysdeps/unix/sysv/aix/fcntl.c +++ /dev/null @@ -1,43 +0,0 @@ -/* Copyright (C) 1999, 2000, 2001, 2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <fcntl.h> -#include <stdarg.h> - -extern int kfcntl (int fdes, int cmd, unsigned long int arg); - -int -__fcntl (int fdes, int cmd, ...) -{ - va_list va; - int res; - unsigned long int arg; - - va_start (va, cmd); - arg = va_arg (va, unsigned long int); - - res = kfcntl (fdes, cmd, arg); - - va_end (va); - - return res; -} -libc_hidden_def (__fcntl) -strong_alias (__fcntl, fcntl) -strong_alias (__fcntl, __libc_fcntl) -libc_hidden_def (__libc_fcntl) diff --git a/sysdeps/unix/sysv/aix/fdatasync.c b/sysdeps/unix/sysv/aix/fdatasync.c deleted file mode 100644 index 851f2e5701..0000000000 --- a/sysdeps/unix/sysv/aix/fdatasync.c +++ /dev/null @@ -1,31 +0,0 @@ -/* Copyright (C) 1999, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <unistd.h> - -#define _FDATASYNC 0x00400000 -#define FDATASYNC _FDATASYNC - -extern int kfsync_range (int fd, int how, long long int off, - long long int len); - -int -fdatasync (int fd) -{ - return kfsync_range (fd, FDATASYNC, 0, 0); -} diff --git a/sysdeps/unix/sysv/aix/fork.c b/sysdeps/unix/sysv/aix/fork.c deleted file mode 100644 index 478d4afad1..0000000000 --- a/sysdeps/unix/sysv/aix/fork.c +++ /dev/null @@ -1,29 +0,0 @@ -/* Copyright (C) 1999, 2000, 2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <unistd.h> - -#undef __fork - -pid_t -__fork (void) -{ - return kfork (); -} -libc_hidden_def (__fork) -strong_alias (__fork, fork) diff --git a/sysdeps/unix/sysv/aix/fstatfs.c b/sysdeps/unix/sysv/aix/fstatfs.c deleted file mode 100644 index 3f531f2a84..0000000000 --- a/sysdeps/unix/sysv/aix/fstatfs.c +++ /dev/null @@ -1,27 +0,0 @@ -/* Copyright (C) 1999, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sys/statfs.h> - -extern int fstatfs (int fd, struct statfs *buf); - -int -__fstatfs (int fd, struct statfs *buf) -{ - return fstatfs (fd, buf); -} diff --git a/sysdeps/unix/sysv/aix/fsync.c b/sysdeps/unix/sysv/aix/fsync.c deleted file mode 100644 index 58734b6e89..0000000000 --- a/sysdeps/unix/sysv/aix/fsync.c +++ /dev/null @@ -1,31 +0,0 @@ -/* Copyright (C) 1999, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <unistd.h> - -#define _FSYNC 0x00000010 -#define FFILESYNC _FSYNC - -extern int kfsync_range (int fd, int how, long long int off, - long long int len); - -int -fsync (int fd) -{ - return kfsync_range (fd, FFILESYNC, 0, 0); -} diff --git a/sysdeps/unix/sysv/aix/ftruncate.c b/sysdeps/unix/sysv/aix/ftruncate.c deleted file mode 100644 index 758f2a423b..0000000000 --- a/sysdeps/unix/sysv/aix/ftruncate.c +++ /dev/null @@ -1,28 +0,0 @@ -/* Copyright (C) 1999, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <unistd.h> - -extern int kftruncate (int fd, long long int length); - -int -__ftruncate (int fd, off_t length) -{ - return kftruncate (fd, length); -} -strong_alias (__ftruncate, ftruncate) diff --git a/sysdeps/unix/sysv/aix/ftruncate64.c b/sysdeps/unix/sysv/aix/ftruncate64.c deleted file mode 100644 index 5e7e4be4ca..0000000000 --- a/sysdeps/unix/sysv/aix/ftruncate64.c +++ /dev/null @@ -1,28 +0,0 @@ -/* Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <unistd.h> - -extern int kftruncate (int fd, long long int length); - -int -__ftruncate64 (int fd, off64_t length) -{ - return kftruncate (fd, length); -} -weak_alias (__ftruncate64, ftruncate64) diff --git a/sysdeps/unix/sysv/aix/fxstat.c b/sysdeps/unix/sysv/aix/fxstat.c deleted file mode 100644 index 1ba56f690f..0000000000 --- a/sysdeps/unix/sysv/aix/fxstat.c +++ /dev/null @@ -1,32 +0,0 @@ -/* Copyright (C) 1999, 2000, 2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <assert.h> -#include <sys/stat.h> - -#define STX_NORMAL 0x00 - -extern int fstatx (int fd, struct stat *st, int len, int cmd); - -int -__fxstat (int ver, int fd, struct stat *st) -{ - assert (ver == 0); - return fstatx (fd, st, sizeof (*st), STX_NORMAL); -} -hidden_def (__fxstat) diff --git a/sysdeps/unix/sysv/aix/fxstat64.c b/sysdeps/unix/sysv/aix/fxstat64.c deleted file mode 100644 index 5f75e070c4..0000000000 --- a/sysdeps/unix/sysv/aix/fxstat64.c +++ /dev/null @@ -1,33 +0,0 @@ -/* Copyright (C) 1999, 2000, 2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <assert.h> -#include <sys/stat.h> - -#define STX_NORMAL 0x00 -#define STX_64 0x08 - -extern int fstatx (int fd, struct stat64 *st, int len, int cmd); - -int -__fxstat64 (int ver, int fd, struct stat64 *st) -{ - assert (ver == 0); - return fstatx (fd, st, sizeof (*st), STX_NORMAL | STX_64); -} -hidden_def (__fxstat64) diff --git a/sysdeps/unix/sysv/aix/getdents.c b/sysdeps/unix/sysv/aix/getdents.c deleted file mode 100644 index ca896c3323..0000000000 --- a/sysdeps/unix/sysv/aix/getdents.c +++ /dev/null @@ -1,28 +0,0 @@ -/* Copyright (C) 1999, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <dirent.h> -#include <sys/types.h> - -extern int getdirent (int fd, char *buf, size_t count); - -ssize_t -__getdents (int fd, char *buf, size_t count) -{ - return getdirent (fd, buf, count); -} diff --git a/sysdeps/unix/sysv/aix/getegid.c b/sysdeps/unix/sysv/aix/getegid.c deleted file mode 100644 index c24692502c..0000000000 --- a/sysdeps/unix/sysv/aix/getegid.c +++ /dev/null @@ -1,29 +0,0 @@ -/* Copyright (C) 1999, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <unistd.h> - -#define ID_EFFECTIVE 0x01 - - -gid_t -__getegid (void) -{ - return getgidx (ID_EFFECTIVE); -} -strong_alias (__getegid, getegid) diff --git a/sysdeps/unix/sysv/aix/geteuid.c b/sysdeps/unix/sysv/aix/geteuid.c deleted file mode 100644 index b0722134b4..0000000000 --- a/sysdeps/unix/sysv/aix/geteuid.c +++ /dev/null @@ -1,29 +0,0 @@ -/* Copyright (C) 1999, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <unistd.h> - -#define ID_EFFECTIVE 0x01 - - -uid_t -__geteuid (void) -{ - return getuidx (ID_EFFECTIVE); -} -strong_alias (__geteuid, geteuid) diff --git a/sysdeps/unix/sysv/aix/getgid.c b/sysdeps/unix/sysv/aix/getgid.c deleted file mode 100644 index 8b102b137f..0000000000 --- a/sysdeps/unix/sysv/aix/getgid.c +++ /dev/null @@ -1,30 +0,0 @@ -/* Copyright (C) 1999, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <unistd.h> - -#define ID_REAL 2 - -extern gid_t getgidx (int which); - -gid_t -__getgid (void) -{ - return getgidx (ID_REAL); -} -strong_alias (__getgid, getgid) diff --git a/sysdeps/unix/sysv/aix/getgroups.c b/sysdeps/unix/sysv/aix/getgroups.c deleted file mode 100644 index f7c813b190..0000000000 --- a/sysdeps/unix/sysv/aix/getgroups.c +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright (C) 1999, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <unistd.h> - -int -__getgroups (int size, gid_t list[]) -{ - return getgroups (size, list); -} diff --git a/sysdeps/unix/sysv/aix/gethostname.c b/sysdeps/unix/sysv/aix/gethostname.c deleted file mode 100644 index a42384059c..0000000000 --- a/sysdeps/unix/sysv/aix/gethostname.c +++ /dev/null @@ -1,27 +0,0 @@ -/* Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <unistd.h> - -int -__gethostname (name, len) - char *name; - size_t len; -{ - return gethostname (name, len); -} diff --git a/sysdeps/unix/sysv/aix/getpeername.c b/sysdeps/unix/sysv/aix/getpeername.c deleted file mode 100644 index bec9bac2ae..0000000000 --- a/sysdeps/unix/sysv/aix/getpeername.c +++ /dev/null @@ -1,28 +0,0 @@ -/* Copyright (C) 2000, 2001 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sys/socket.h> - -extern int ngetpeername (int s, void *uap_asa, int *uap_alen); - -int -getpeername (int fd, __SOCKADDR_ARG addr, socklen_t *len) -{ - return ngetpeername (fd, addr.__sockaddr__, len); -} -weak_alias (getpeername,__getpeername) diff --git a/sysdeps/unix/sysv/aix/getpgid.c b/sysdeps/unix/sysv/aix/getpgid.c deleted file mode 100644 index a6e75f3f9c..0000000000 --- a/sysdeps/unix/sysv/aix/getpgid.c +++ /dev/null @@ -1,29 +0,0 @@ -/* Copyright (C) 1999, 2000, 2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <unistd.h> - -extern int kgetpgidx (pid_t pid); - -int -__getgpid (pid_t pid) -{ - return kgetpgidx (pid); -} -libc_hidden_def (__getgpid) -strong_alias (__getpgid, getpgid) diff --git a/sysdeps/unix/sysv/aix/getpgrp.c b/sysdeps/unix/sysv/aix/getpgrp.c deleted file mode 100644 index ce37738beb..0000000000 --- a/sysdeps/unix/sysv/aix/getpgrp.c +++ /dev/null @@ -1 +0,0 @@ -/* This function is available as a system call. */ diff --git a/sysdeps/unix/sysv/aix/getpid.c b/sysdeps/unix/sysv/aix/getpid.c deleted file mode 100644 index 8a74e22da7..0000000000 --- a/sysdeps/unix/sysv/aix/getpid.c +++ /dev/null @@ -1,9 +0,0 @@ -/* This is a system call. We only have to provide the wrapper. */ -#include <unistd.h> - -int -__getpid (void) -{ - return getpid (); -} -libc_hidden_def (__getpid) diff --git a/sysdeps/unix/sysv/aix/getppid.c b/sysdeps/unix/sysv/aix/getppid.c deleted file mode 100644 index 6036fbbffd..0000000000 --- a/sysdeps/unix/sysv/aix/getppid.c +++ /dev/null @@ -1 +0,0 @@ -/* This is a system call. */ diff --git a/sysdeps/unix/sysv/aix/getpriority.c b/sysdeps/unix/sysv/aix/getpriority.c deleted file mode 100644 index 6036fbbffd..0000000000 --- a/sysdeps/unix/sysv/aix/getpriority.c +++ /dev/null @@ -1 +0,0 @@ -/* This is a system call. */ diff --git a/sysdeps/unix/sysv/aix/getrlimit.c b/sysdeps/unix/sysv/aix/getrlimit.c deleted file mode 100644 index 0699cec644..0000000000 --- a/sysdeps/unix/sysv/aix/getrlimit.c +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright (C) 1999, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sys/resource.h> - -int -__getrlimit (enum __rlimit_resource resource, struct rlimit *rlimits) -{ - return getrlimit (resource, rlimits); -} diff --git a/sysdeps/unix/sysv/aix/getrlimit64.c b/sysdeps/unix/sysv/aix/getrlimit64.c deleted file mode 100644 index dd33ca9c73..0000000000 --- a/sysdeps/unix/sysv/aix/getrlimit64.c +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright (C) 1999, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sys/resource.h> - -int -__getrlimit64 (enum __rlimit_resource resource, struct rlimit64 *rlimits) -{ - return getrlimit64 (resource, rlimits); -} diff --git a/sysdeps/unix/sysv/aix/getrusage.c b/sysdeps/unix/sysv/aix/getrusage.c deleted file mode 100644 index b578b75aa7..0000000000 --- a/sysdeps/unix/sysv/aix/getrusage.c +++ /dev/null @@ -1,27 +0,0 @@ -/* Copyright (C) 1999, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sys/resource.h> - -int -__getrusage (who, usage) - enum __rusage_who who; - struct rusage *usage; -{ - return getrusage (who, usage); -} diff --git a/sysdeps/unix/sysv/aix/getsid.c b/sysdeps/unix/sysv/aix/getsid.c deleted file mode 100644 index 6994eb8dda..0000000000 --- a/sysdeps/unix/sysv/aix/getsid.c +++ /dev/null @@ -1,27 +0,0 @@ -/* Copyright (C) 1999, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <unistd.h> - -extern int kgetsid (pid_t pid); - -int -getsid (pid_t pid) -{ - return kgetsid (pid); -} diff --git a/sysdeps/unix/sysv/aix/getsockname.c b/sysdeps/unix/sysv/aix/getsockname.c deleted file mode 100644 index ac1bf34fcb..0000000000 --- a/sysdeps/unix/sysv/aix/getsockname.c +++ /dev/null @@ -1,29 +0,0 @@ -/* Copyright (C) 2000, 2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sys/socket.h> - -extern int ngetsockname (int s, void *uap_asa, int *uap_alen); - -int -__getsockname (int fd, __SOCKADDR_ARG addr, socklen_t *len) -{ - return ngetsockname (fd, addr.__sockaddr__, len); -} - -weak_alias (__getsockname, getsockname) diff --git a/sysdeps/unix/sysv/aix/gettimeofday.c b/sysdeps/unix/sysv/aix/gettimeofday.c deleted file mode 100644 index 34a92eb391..0000000000 --- a/sysdeps/unix/sysv/aix/gettimeofday.c +++ /dev/null @@ -1,98 +0,0 @@ -/* Copyright (C) 1991,92,94,95,96,97,2001,2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <errno.h> -#include <time.h> -#include <sys/time.h> - -#ifndef HAVE_GNU_LD -# define __daylight daylight -# define __timezone timezone -# define __tzname tzname -#endif - -#undef __gettimeofday - -extern int rtc_upper (void); -extern int rtc_lower (void); - -/* Assembler Routines to access the timer registers */ -asm("\n\ -.rtc_upper: mfspr 3,4 # copy RTCU to return register\n\ - blr\n\ -\n\ -.rtc_lower: mfspr 3,5 # copy RTCL to return register\n\ - blr\n\ -"); - -/* Get the current time of day and timezone information, - putting it into *TV and *TZ. If TZ is NULL, *TZ is not filled. - Returns 0 on success, -1 on errors. */ -int -__gettimeofday (tv, tz) - struct timeval *tv; - struct timezone *tz; -{ - int ts, tl, tu; - - if (tv == NULL) - { - __set_errno (EINVAL); - return -1; - } - - ts = rtc_upper (); /* Seconds. */ - tl = rtc_lower (); /* Nanoseconds. */ - tu = rtc_upper (); /* Check for a carry from. */ - if (ts != tu) /* The lower reg to the upper. */ - tl = rtc_lower (); /* Recover from the race condition. */ - - tv->tv_sec = (long int) (tu + (double) tl / 1000000000); - tv->tv_usec = (long int) ((double) tl / 1000); - - if (tz != NULL) - { - const time_t timer = tv->tv_sec; - struct tm tm; - const struct tm *tmp; - - const long int save_timezone = __timezone; - const long int save_daylight = __daylight; - char *save_tzname[2]; - save_tzname[0] = __tzname[0]; - save_tzname[1] = __tzname[1]; - - tmp = localtime_r (&timer, &tm); - - tz->tz_minuteswest = __timezone / 60; - tz->tz_dsttime = __daylight; - - __timezone = save_timezone; - __daylight = save_daylight; - __tzname[0] = save_tzname[0]; - __tzname[1] = save_tzname[1]; - - if (tmp == NULL) - return -1; - } - - return 0; -} - -INTDEF(__gettimeofday) -weak_alias (__gettimeofday, gettimeofday) diff --git a/sysdeps/unix/sysv/aix/getuid.c b/sysdeps/unix/sysv/aix/getuid.c deleted file mode 100644 index e042666fe9..0000000000 --- a/sysdeps/unix/sysv/aix/getuid.c +++ /dev/null @@ -1,30 +0,0 @@ -/* Copyright (C) 1999, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <unistd.h> - -#define ID_REAL 2 - -extern uid_t getuidx (int which); - -uid_t -__getuid (void) -{ - return getuidx (ID_REAL); -} -strong_alias (__getuid, getuid) diff --git a/sysdeps/unix/sysv/aix/gnu/lib-names.h b/sysdeps/unix/sysv/aix/gnu/lib-names.h deleted file mode 100644 index d41f822f16..0000000000 --- a/sysdeps/unix/sysv/aix/gnu/lib-names.h +++ /dev/null @@ -1,31 +0,0 @@ -#ifndef __GNU_LIB_NAMES_H -#define __GNU_LIB_NAMES_H 1 - -#define LIBBROKENLOCALE_SO "libBrokenLocale.a" -#define LIBCRYPT_SO "libcrypt.a" -#define LIBC_SO "libc.a" -#define LIBDB1_SO "libdb1.a" -#define LIBDB_SO "libdb.a" -#define LIBDL_SO "libdl.a" -#define LIBM_SO "libm.a" -#define LIBNOVERSION_SO "libNoVersion.a" -#define LIBNSL_SO "libnsl.a" -#define LIBNSS1_COMPAT_SO "libnss1_compat.a" -#define LIBNSS1_DB_SO "libnss1_db.a" -#define LIBNSS1_DNS_SO "libnss1_dns.a" -#define LIBNSS1_FILES_SO "libnss1_files.a" -#define LIBNSS1_NIS_SO "libnss1_nis.a" -#define LIBNSS_COMPAT_SO "libnss_compat.a" -#define LIBNSS_DB_SO "libnss_db.a" -#define LIBNSS_DNS_SO "libnss_dns.a" -#define LIBNSS_FILES_SO "libnss_files.a" -#define LIBNSS_HESIOD_SO "libnss_hesiod.a" -#define LIBNSS_LDAP_SO "libnss_ldap.a" -#define LIBNSS_NISPLUS_SO "libnss_nisplus.a" -#define LIBNSS_NIS_SO "libnss_nis.a" -#define LIBPTHREAD_SO "libpthread.a" -#define LIBRESOLV_SO "libresolv.a" -#define LIBRT_SO "librt.a" -#define LIBUTIL_SO "libutil.a" - -#endif /* gnu/lib-names.h */ diff --git a/sysdeps/unix/sysv/aix/init-first.c b/sysdeps/unix/sysv/aix/init-first.c deleted file mode 100644 index 24ef109dd2..0000000000 --- a/sysdeps/unix/sysv/aix/init-first.c +++ /dev/null @@ -1,103 +0,0 @@ -/* Initialization code run first thing by the XCOFF startup code. AIX version. - Copyright (C) 2001, 2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <stdio.h> -#include <stdlib.h> -#include <fcntl.h> -#include <unistd.h> -#include <sysdep.h> -#include <fpu_control.h> -#include <sys/param.h> -#include <sys/types.h> -#include <libc-internal.h> - -#ifndef SHARED -# include <ldsodefs.h> -# include "dl-osinfo.h" -#endif - -extern void __libc_init (int, char **, char **); - -/* The function is called from assembly stubs the compiler can't see. */ -static void init (int, char **, char **) __attribute__ ((unused)); - -/* Set nonzero if we have to be prepared for more then one libc being - used in the process. Safe assumption if initializer never runs. */ -int __libc_multiple_libcs attribute_hidden = 1; - -/* Remember the command line argument and enviroment contents for - later calls of initializers for dynamic libraries. */ -int __libc_argc attribute_hidden; -char **__libc_argv attribute_hidden; - - -static void -init (int argc, char **argv, char **envp) -{ -#ifdef USE_NONOPTION_FLAGS - extern void __getopt_clean_environment (char **); -#endif - /* The next variable is only here to work around a bug in gcc <= 2.7.2.2. - If the address would be taken inside the expression the optimizer - would try to be too smart and throws it away. Grrr. */ - - /* XXX disable dl for now - __libc_multiple_libcs = &_dl_starting_up && !_dl_starting_up; */ - - /* Save the command-line arguments. */ - __libc_argc = argc; - __libc_argv = argv; - __environ = envp; - -#ifndef SHARED - __libc_init_secure (); -#endif - - __libc_init (argc, argv, envp); - -#ifdef USE_NONOPTION_FLAGS - /* This is a hack to make the special getopt in GNU libc working. */ - __getopt_clean_environment (envp); -#endif - -#ifdef SHARED - __libc_global_ctors (); -#endif -} - -#ifdef SHARED - -strong_alias (init, _init); - -extern void __libc_init_first (void); - -void -__libc_init_first (void) -{ -} - -#else -extern void __libc_init_first (int argc, char **argv, char **envp); - -void -__libc_init_first (int argc, char **argv, char **envp) -{ - init (argc, argv, envp); -} -#endif diff --git a/sysdeps/unix/sysv/aix/ioctl.c b/sysdeps/unix/sysv/aix/ioctl.c deleted file mode 100644 index f47b699be4..0000000000 --- a/sysdeps/unix/sysv/aix/ioctl.c +++ /dev/null @@ -1,43 +0,0 @@ -/* Copyright (C) 1999, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <stdarg.h> -#include <sys/ioctl.h> - -extern int kioctl (int fdes, int cmd, unsigned long int arg, - unsigned long int ext); - -int -__ioctl (int fdes, unsigned long int cmd, ...) -{ - va_list va; - int res; - unsigned long int arg; - unsigned long int ext; - - va_start (va, cmd); - arg = va_arg (va, unsigned long int); - ext = va_arg (va, unsigned long int); - - res = kioctl (fdes, cmd, arg, ext); - - va_end (va); - - return res; -} -strong_alias (__ioctl, ioctl) diff --git a/sysdeps/unix/sysv/aix/kernel_proto.h b/sysdeps/unix/sysv/aix/kernel_proto.h deleted file mode 100644 index e9ad06dc3a..0000000000 --- a/sysdeps/unix/sysv/aix/kernel_proto.h +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright (C) 1999 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Ulrich Drepper <drepper@cygnus.com>, 1999. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* This file contains prototypes for the "functions" exported by /unix - on AIX. */ -#include <sys/types.h> - - -extern ssize_t kwrite (int, const void *, size_t); diff --git a/sysdeps/unix/sysv/aix/kill.c b/sysdeps/unix/sysv/aix/kill.c deleted file mode 100644 index 8538e29f81..0000000000 --- a/sysdeps/unix/sysv/aix/kill.c +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright (C) 1999, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <unistd.h> - -int -__kill (pid_t pid, int sig) -{ - return kill (pid, sig); -} diff --git a/sysdeps/unix/sysv/aix/lchown.c b/sysdeps/unix/sysv/aix/lchown.c deleted file mode 100644 index 44e3b749e4..0000000000 --- a/sysdeps/unix/sysv/aix/lchown.c +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright (C) 1999, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <unistd.h> - -int -__lchown (const char *file, uid_t owner, gid_t group) -{ - return lchown (file, owner, group); -} diff --git a/sysdeps/unix/sysv/aix/libc-start.c b/sysdeps/unix/sysv/aix/libc-start.c deleted file mode 100644 index 813e28d09b..0000000000 --- a/sysdeps/unix/sysv/aix/libc-start.c +++ /dev/null @@ -1,290 +0,0 @@ -/* Initialization code run first thing by the XCOFF startup code. AIX version. - Copyright (C) 2001, 2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <stdlib.h> -#include <unistd.h> -#include <sys/types.h> - -/* hack to use uchar's */ -typedef unsigned char uchar; -#include <xcoff.h> -#include <rtinit.h> -#include <dlldr.h> -#include <bits/libc-lock.h> - -extern void __libc_init_first (int argc, char **argv, char **envp); - -/* XXX disable for now -extern int __libc_multiple_libcs; */ - -/* XXX normally defined in generic/dl-sydep.c, hack it into existance -extern void *__libc_stack_end; */ -void *__libc_stack_end; - - struct __libc_start_data_rec { - void *stack; - void *toc; - int argc; - char **argv; - char **envp; - char *data; - char *text; - unsigned mcount; - unsigned special; - int (*main)(int, char **, char **); - void (*init)(void); - void (*fini)(void); - void (*rtld_fini)(void); - }; - -extern struct __libc_start_data_rec __libc_start_data; -extern int errno; - -/* The first piece of initialized data. */ -int __data_start = 0; - -#ifndef HAVE_ELF -/* Since gcc/crtstuff.c won't define it unless the ELF format is used - we will need to define it here. */ -void *__dso_handle = NULL; -#endif - -/* AIX kernel function */ -extern int __loadx (int flag, void *module, void *arg1, void *arg2, - void *arg3); -/* Needed by setenv */ -char **__environ; - -/* - * Find __rtinit symbol - * - * __RTINIT *find_rtinit() - * - * __RTINIT *rti - pointer to __rtinit data structure - */ - -static __RTINIT * -find_rtinit (void) -{ - struct xcoffhdr *xcoff_hdr; - SCNHDR *sec_hdr; - SCNHDR *ldr_sec_hdr; - SCNHDR *data_sec_hdr; - LDSYM *ldsym_hdr; - __RTINIT *rtl; - - xcoff_hdr = (struct xcoffhdr *) __libc_start_data.text; - sec_hdr = (SCNHDR *) ((caddr_t) &xcoff_hdr->aouthdr - + xcoff_hdr->filehdr.f_opthdr); - ldr_sec_hdr = (SCNHDR *) (sec_hdr + (xcoff_hdr->aouthdr.o_snloader - 1)); - ldsym_hdr = (LDSYM *) ((caddr_t) xcoff_hdr + ldr_sec_hdr->s_scnptr - + LDHDRSZ); - - if (__libc_start_data.mcount <= 0) - { - if (!ldr_sec_hdr->s_scnptr) - return NULL; - - if (memcmp (ldsym_hdr, RTINIT_NAME, sizeof(RTINIT_NAME) - 1) != 0) - return NULL; - } - - data_sec_hdr = (SCNHDR *) (sec_hdr + (xcoff_hdr->aouthdr.o_sndata - 1)); - rtl = (__RTINIT *) (ldsym_hdr->l_value - + (__libc_start_data.data - data_sec_hdr->s_vaddr)); - return rtl; -} - -/* The mod_init1 calls every initialization function - for a given module. - - void mod_init1(handler, rti) - - void *handler - if NULL init funtions for modules loaded at exec time - are being executed. Otherwise, the handler points to the - module loaded. - - __RTINIT *rti - pointer to __rtinit data structure (with rti->init_offset - not equal to zero) - */ - -static void -mod_init1 (void *handler,__RTINIT *rtl) -{ - __RTINIT_DESCRIPTOR *descriptor; - - descriptor = (__RTINIT_DESCRIPTOR *) ((caddr_t) &rtl->rtl - + rtl->init_offset); - while (descriptor->f != NULL) - { - if (!(descriptor->flags & _RT_CALLED)) - { - descriptor->flags |= _RT_CALLED; - /* Execute init/fini. */ - descriptor->f (handler, rtl, descriptor); - } - descriptor = (__RTINIT_DESCRIPTOR *) ((caddr_t) descriptor - + rtl->__rtinit_descriptor_size); - } -} - -/* The modinit() function performs run-time linking, if enabled, and calling - the init() function for all loaded modules. - - int modinit() - */ - -#define DL_BUFFER_SIZE 1000 - -static int -modinit (void) -{ - int *handler = NULL; - __RTINIT *rtinit_info = NULL; - int flag; - DL_INFO dl_buffer[DL_BUFFER_SIZE]; - DL_INFO *dl_info = dl_buffer; - int i; - - /* Find __rtinit symbols */ - rtinit_info = find_rtinit (); - - flag = DL_EXECQ; - if (rtinit_info && rtinit_info->rtl) - flag |= DL_LOAD_RTL; - - /* Get a list of modules that have __rtinit. */ - if (__loadx (flag, dl_info, (void *) sizeof (dl_buffer), NULL, NULL)) - exit (0x90); - - if (( dl_info[0].dlinfo_xflags & DL_INFO_OK)) - { - rtinit_info = find_rtinit (); - if ((rtinit_info != NULL) & (rtinit_info->rtl != NULL)) - { - if ((*rtinit_info->rtl) (dl_info, 0)) - exit (0x90); - } - } - - /* Initialization each module loaded that has __rtinit. */ - if (dl_info[0].dlinfo_xflags & DL_INFO_OK) - { - for (i = 1; i < dl_info[0].dlinfo_arraylen + 1; ++i) - if (dl_info[i].dlinfo_flags & DL_HAS_RTINIT) - { - rtinit_info = find_rtinit (); - if (rtinit_info) - mod_init1 (handler, rtinit_info); - } - } - - return 0; -} - - -void -__libc_start_init (void) -{ - /* Do run-time linking, if enabled and call the init() - for all loaded modules. */ - if (__libc_start_data.mcount != __libc_start_data.special) - modinit (); -} - -/* For now these are just stubs. */ -void -__libc_start_fini (void) -{ -} - -void -__libc_start_rtld_fini (void) -{ -} - -void -__libc_start_main (void) -{ -#ifndef SHARED - - /* The next variable is only here to work around a bug in gcc <= 2.7.2.2. - If the address would be taken inside the expression the optimizer - would try to be too smart and throws it away. Grrr. */ - - /* XXX disable for now - int *dummy_addr = &_dl_starting_up; - - __libc_multiple_libcs = dummy_addr && !_dl_starting_up; */ -#endif - - /* Store the lowest stack address. */ - __libc_stack_end = __libc_start_data.stack; - - /* Used by setenv */ - __environ = __libc_start_data.envp; - -#ifndef SHARED - /* Clear errno. */ - errno = 0; - - /* Some security at this point. Prevent starting a SUID binary where - the standard file descriptors are not opened. We have to do this - only for statically linked applications since otherwise the dynamic - loader did the work already. */ - if (__builtin_expect (__libc_enable_secure, 0)) - __libc_check_standard_fds (); - -#endif - - /* Register the destructor of the dynamic linker if there is any. */ - if (__builtin_expect (__libc_start_data.rtld_fini != NULL, 1)) - __cxa_atexit ((void (*) (void *)) __libc_start_data.rtld_fini, NULL, NULL); - - /* Call the initializer of the libc. This is only needed here if we - are compiling for the static library in which case we haven't - run the constructors in `_dl_start_user'. */ -#ifndef SHARED - __libc_init_first (__libc_start_data.argc, __libc_start_data.argv, - __libc_start_data.envp); -#endif - - /* Register the destructor of the program, if any. */ - if (__libc_start_data.fini) - __cxa_atexit ((void (*) (void *)) __libc_start_data.fini, NULL, NULL); - - /* Call the initializer of the program, if any. */ -#ifdef SHARED - if (__builtin_expect (GL(dl_debug_mask) & DL_DEBUG_IMPCALLS, 0)) - _dl_debug_printf ("\ninitialize program: %s\n\n", - __libc_start_data.argv[0]); -#endif - if (__libc_start_data.init) - (*__libc_start_data.init) (); - -#ifdef SHARED - if (__builtin_expect (GL(dl_debug_mask) & DL_DEBUG_IMPCALLS, 0)) - _dl_debug_printf ("\ntransferring control: %s\n\n", - __libc_start_data.argv[0]); -#endif - - exit ((*__libc_start_data.main) (__libc_start_data.argc, - __libc_start_data.argv, - __libc_start_data.envp)); -} diff --git a/sysdeps/unix/sysv/aix/link.c b/sysdeps/unix/sysv/aix/link.c deleted file mode 100644 index 2cacbebc37..0000000000 --- a/sysdeps/unix/sysv/aix/link.c +++ /dev/null @@ -1,27 +0,0 @@ -/* Copyright (C) 1997, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <unistd.h> - -int -__link (from, to) - const char *from; - const char *to; -{ - return link (from, to); -} diff --git a/sysdeps/unix/sysv/aix/lockf.c b/sysdeps/unix/sysv/aix/lockf.c deleted file mode 100644 index 4a8c14fd6e..0000000000 --- a/sysdeps/unix/sysv/aix/lockf.c +++ /dev/null @@ -1,27 +0,0 @@ -/* Copyright (C) 1999, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <unistd.h> - -extern int klockf (int fd, int function, long long int size); - -int -lockf (int fd, int cmd, off_t len) -{ - return klockf (fd, cmd, len); -} diff --git a/sysdeps/unix/sysv/aix/lockf64.c b/sysdeps/unix/sysv/aix/lockf64.c deleted file mode 100644 index 529c2b4473..0000000000 --- a/sysdeps/unix/sysv/aix/lockf64.c +++ /dev/null @@ -1,27 +0,0 @@ -/* Copyright (C) 1999, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <unistd.h> - -extern int klockf (int fd, int function, long long int size); - -int -lockf64 (int fd, int cmd, off64_t len) -{ - return klockf (fd, cmd, len); -} diff --git a/sysdeps/unix/sysv/aix/lseek.c b/sysdeps/unix/sysv/aix/lseek.c deleted file mode 100644 index d4cbdbe702..0000000000 --- a/sysdeps/unix/sysv/aix/lseek.c +++ /dev/null @@ -1,10 +0,0 @@ -/* This is a system call. We only have to provide the wrapper. */ -#include <unistd.h> - -off_t -__lseek (int fd, off_t offset, int whence) -{ - return lseek (fd, offset, whence); -} -strong_alias (__lseek, __libc_lseek) -libc_hidden_def (__lseek) diff --git a/sysdeps/unix/sysv/aix/lseek64.c b/sysdeps/unix/sysv/aix/lseek64.c deleted file mode 100644 index 5892663d8f..0000000000 --- a/sysdeps/unix/sysv/aix/lseek64.c +++ /dev/null @@ -1,35 +0,0 @@ -/* Copyright (C) 1999, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <unistd.h> - -extern int klseek (int fd, long long int offset, int sbase, - long long int *new_offp); - -off64_t -__libc_lseek64 (int fd, off64_t offset, int whence) -{ - long long int res; - - if (klseek (fd, offset, whence, &res) < 0) - res = -1ll; - - return res; -} -strong_alias (__libc_lseek64, __lseek64) -strong_alias (__libc_lseek64, lseek64) diff --git a/sysdeps/unix/sysv/aix/lxstat.c b/sysdeps/unix/sysv/aix/lxstat.c deleted file mode 100644 index 879e80cbe8..0000000000 --- a/sysdeps/unix/sysv/aix/lxstat.c +++ /dev/null @@ -1,32 +0,0 @@ -/* Copyright (C) 1999, 2000, 2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <assert.h> -#include <sys/stat.h> - -#define STX_LINK 0x01 - -extern int statx (const char *pathname, struct stat *st, int len, int cmd); - -int -__lxstat (int ver, const char *pathname, struct stat *st) -{ - assert (ver == 0); - return statx (pathname, st, sizeof (*st), STX_LINK); -} -hidden_def (__lxstat) diff --git a/sysdeps/unix/sysv/aix/lxstat64.c b/sysdeps/unix/sysv/aix/lxstat64.c deleted file mode 100644 index 73324fe55b..0000000000 --- a/sysdeps/unix/sysv/aix/lxstat64.c +++ /dev/null @@ -1,33 +0,0 @@ -/* Copyright (C) 1999, 2000, 2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <assert.h> -#include <sys/stat.h> - -#define STX_LINK 0x01 -#define STX_64 0x08 - -extern int statx (const char *pathname, struct stat64 *st, int len, int cmd); - -int -__lxstat64 (int ver, const char *pathname, struct stat64 *st) -{ - assert (ver == 0); - return statx (pathname, st, sizeof (*st), STX_LINK | STX_64); -} -hidden_def (__lxstat64) diff --git a/sysdeps/unix/sysv/aix/madvise.c b/sysdeps/unix/sysv/aix/madvise.c deleted file mode 100644 index 6036fbbffd..0000000000 --- a/sysdeps/unix/sysv/aix/madvise.c +++ /dev/null @@ -1 +0,0 @@ -/* This is a system call. */ diff --git a/sysdeps/unix/sysv/aix/mkdir.c b/sysdeps/unix/sysv/aix/mkdir.c deleted file mode 100644 index 4a4e5ceefe..0000000000 --- a/sysdeps/unix/sysv/aix/mkdir.c +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright (C) 1999, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sys/stat.h> - -int -__mkdir (const char *name, mode_t mode) -{ - return mkdir (name, mode); -} diff --git a/sysdeps/unix/sysv/aix/mknod.c b/sysdeps/unix/sysv/aix/mknod.c deleted file mode 100644 index 8ed3d6b53e..0000000000 --- a/sysdeps/unix/sysv/aix/mknod.c +++ /dev/null @@ -1,28 +0,0 @@ -/* Copyright (C) 1999, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sys/stat.h> - -int -__mknod (path, mode, device) - const char *path; - mode_t mode; - dev_t device; -{ - return mknod (path, mode, device); -} diff --git a/sysdeps/unix/sysv/aix/mmap.c b/sysdeps/unix/sysv/aix/mmap.c deleted file mode 100644 index cd967d36bc..0000000000 --- a/sysdeps/unix/sysv/aix/mmap.c +++ /dev/null @@ -1,9 +0,0 @@ -/* This is a system call. We only have to provide the wrapper. */ -#include <sys/mman.h> -#include <sys/types.h> - -void * -__mmap (void *addr, size_t len, int prot, int flags, int fd, off_t offset) -{ - return mmap (addr, len, prot, flags, fd, offset); -} diff --git a/sysdeps/unix/sysv/aix/mmap64.c b/sysdeps/unix/sysv/aix/mmap64.c deleted file mode 100644 index ae70ef4acb..0000000000 --- a/sysdeps/unix/sysv/aix/mmap64.c +++ /dev/null @@ -1,30 +0,0 @@ -/* Copyright (C) 1999, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sys/mman.h> -#include <sys/types.h> - -extern int kmmap (void *addr, size_t len, int prot, int flags, int fd, - long long int offset); - -void * -__mmap64 (void *addr, size_t len, int prot, int flags, int fd, off64_t offset) -{ - return kmmap (addr, len, prot, flags, fd, offset); -} -strong_alias (__mmap64, mmap64) diff --git a/sysdeps/unix/sysv/aix/mprotect.c b/sysdeps/unix/sysv/aix/mprotect.c deleted file mode 100644 index 8bf95abb0e..0000000000 --- a/sysdeps/unix/sysv/aix/mprotect.c +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright (C) 1999, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sys/mman.h> - -int -__mprotect (void *addr, size_t len, int prot) -{ - return mprotect (addr, len, prot); -} diff --git a/sysdeps/unix/sysv/aix/msgctl.c b/sysdeps/unix/sysv/aix/msgctl.c deleted file mode 100644 index 6036fbbffd..0000000000 --- a/sysdeps/unix/sysv/aix/msgctl.c +++ /dev/null @@ -1 +0,0 @@ -/* This is a system call. */ diff --git a/sysdeps/unix/sysv/aix/msgget.c b/sysdeps/unix/sysv/aix/msgget.c deleted file mode 100644 index 6036fbbffd..0000000000 --- a/sysdeps/unix/sysv/aix/msgget.c +++ /dev/null @@ -1 +0,0 @@ -/* This is a system call. */ diff --git a/sysdeps/unix/sysv/aix/msgrcv.c b/sysdeps/unix/sysv/aix/msgrcv.c deleted file mode 100644 index 6036fbbffd..0000000000 --- a/sysdeps/unix/sysv/aix/msgrcv.c +++ /dev/null @@ -1 +0,0 @@ -/* This is a system call. */ diff --git a/sysdeps/unix/sysv/aix/msgsnd.c b/sysdeps/unix/sysv/aix/msgsnd.c deleted file mode 100644 index 6036fbbffd..0000000000 --- a/sysdeps/unix/sysv/aix/msgsnd.c +++ /dev/null @@ -1 +0,0 @@ -/* This is a system call. */ diff --git a/sysdeps/unix/sysv/aix/msync.c b/sysdeps/unix/sysv/aix/msync.c deleted file mode 100644 index 6036fbbffd..0000000000 --- a/sysdeps/unix/sysv/aix/msync.c +++ /dev/null @@ -1 +0,0 @@ -/* This is a system call. */ diff --git a/sysdeps/unix/sysv/aix/munmap.c b/sysdeps/unix/sysv/aix/munmap.c deleted file mode 100644 index 7f583be358..0000000000 --- a/sysdeps/unix/sysv/aix/munmap.c +++ /dev/null @@ -1,8 +0,0 @@ -/* This is a system call. We only have to provide the wrapper. */ -#include <sys/mman.h> - -int -__munmap (void *addr, size_t len) -{ - return munmap (addr, len); -} diff --git a/sysdeps/unix/sysv/aix/nanosleep.c b/sysdeps/unix/sysv/aix/nanosleep.c deleted file mode 100644 index 842275f77a..0000000000 --- a/sysdeps/unix/sysv/aix/nanosleep.c +++ /dev/null @@ -1,40 +0,0 @@ -/* Copyright (C) 2000, 2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <assert.h> -#include <sys/time.h> -#include <sys/types.h> - -struct timestruc_t -{ - time_t tv_sec; /* seconds. */ - suseconds_t tv_nsec; /* and nanoseconds. */ -}; - - -extern int _nsleep (struct timestruc_t *rqtp, struct timestruc_t *rmtp); - -int -__libc_nanosleep (const struct timespec *req, struct timespec *rem) -{ - assert (sizeof (struct timestruc_t) == sizeof (*req)); - return _nsleep ((struct timestruc_t *) req, (struct timestruc_t *) rem); -} -strong_alias (__libc_nanosleep, __nanosleep) -libc_hidden_def (__nanosleep) -strong_alias (__libc_nanosleep, nanosleep) diff --git a/sysdeps/unix/sysv/aix/net/if.h b/sysdeps/unix/sysv/aix/net/if.h deleted file mode 100644 index 20256d3adb..0000000000 --- a/sysdeps/unix/sysv/aix/net/if.h +++ /dev/null @@ -1,196 +0,0 @@ -/* Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _NET_IF_H - -#define _NET_IF_H 1 -#include <features.h> - -#include <sys/types.h> -#include <sys/socket.h> - -/* Standard interface flags. */ -enum - { - IFF_UP = 0x1, /* Interface is up. */ -#define IFF_UP IFF_UP - IFF_BROADCAST = 0x2, /* Broadcast address valid. */ -#define IFF_BROADCAST IFF_BROADCAST - IFF_DEBUG = 0x4, /* Turn on debugging. */ -#define IFF_DEBUG IFF_DEBUG - IFF_LOOPBACK = 0x8, /* Is a loopback net. */ -#define IFF_LOOPBACK IFF_LOOPBACK - IFF_POINTOPOINT = 0x10, /* Interface is point-to-point link. */ -#define IFF_POINTOPOINT IFF_POINTOPOINT - IFF_NOTRAILERS = 0x20, /* Avoid use of trailers. */ -#define IFF_NOTRAILERS IFF_NOTRAILERS - IFF_RUNNING = 0x40, /* Resources allocated. */ -#define IFF_RUNNING IFF_RUNNING - IFF_NOARP = 0x80, /* No address resolution protocol. */ -#define IFF_NOARP IFF_NOARP - IFF_PROMISC = 0x100, /* Receive all packets. */ -#define IFF_PROMISC IFF_PROMISC - - /* Not supported */ - IFF_ALLMULTI = 0x200, /* Receive all multicast packets. */ -#define IFF_ALLMULTI IFF_ALLMULTI - - IFF_OACTIVE = 0x400, /* Transmission in progress. */ -#define IFF_OACTIVE IFF_OACTIVE - IFF_SIMPLEX = 0x800, /* Cannot hear own transmissions. */ -#define IFF_SIMPLEX IFF_SIMPLEX - IFF_DO_HW_LOOPBACK = 0x10000, /* Force loopback through hardware. */ -#define IFF_DO_HW_LOOPBACK IFF_DO_HW_LOOPBACK - IFF_ALLCAST = 0x20000, /* Global broadcast. */ -#define IFF_ALLCAST IFF_ALLCAST - IFF_BRIDGE = 0x40000, /* Receive all bridge packets. */ -#define IFF_BRIDGE IFF_BRIDGE - IFF_NOECHO = IFF_SIMPLEX, /* Reeives echo packets. */ -#define IFF_NOECHO IFF_NOECHO - }; - -/* The ifaddr structure contains information about one address of an - interface. They are maintained by the different address families, - are allocated and attached when an address is set, and are linked - together so all addresses for an interface can be located. */ - -struct ifaddr - { - struct sockaddr ifa_addr; /* Address of interface. */ - union - { - struct sockaddr ifu_broadaddr; - struct sockaddr ifu_dstaddr; - } ifa_ifu; - struct sockaddr *ifa_netmask; /* Used to determine subnet. */ - struct iface *ifa_ifp; /* Back-pointer to interface. */ - struct ifaddr *ifa_next; /* Next address for interface. */ - void (*ifa_rtrequest) (void); - struct rtentry *ifa_rt; - unsigned short int ifa_flags; - short int ifa_refcnt; - }; - -#define ifa_broadaddr ifa_ifu.ifu_broadaddr /* broadcast address */ -#define ifa_dstaddr ifa_ifu.ifu_dstaddr /* other end of link */ - -/* Interface request structure used for socket ioctl's. All interface - ioctl's must have parameter definitions which begin with ifr_name. - The remainder may be interface specific. */ - -struct ifreq - { -#define IFHWADDRLEN 6 -#define IFNAMSIZ 16 - union - { - char ifrn_name[IFNAMSIZ]; /* Interface name, e.g. "en0". */ - } ifr_ifrn; - - union - { - struct sockaddr ifru_addr; - struct sockaddr ifru_dstaddr; - struct sockaddr ifru_broadaddr; - struct sockaddr ifru_netmask; - struct sockaddr ifru_hwaddr; - short int ifru_flags; - int ifru_ivalue; - unsigned int ifru_mtu; - char ifru_slave[IFNAMSIZ]; /* Just fits the size */ - __caddr_t ifru_data; - unsigned short int ifru_site6; - } ifr_ifru; - }; - -/* Old AIX 3.1 version. */ -struct oifreq -{ - char ifr_name[IFNAMSIZ]; /* if name, e.g. "en0" */ - union - { - struct sockaddr ifru_addr; - struct sockaddr ifru_dstaddr; - struct sockaddr ifru_broadaddr; - int ifru_flags; - int ifru_metric; - caddr_t ifru_data; - unsigned int ifru_mtu; - } ifr_ifru; - unsigned char reserved[8]; -}; - - -#define ifr_name ifr_ifrn.ifrn_name /* interface name */ -#define ifr_hwaddr ifr_ifru.ifru_hwaddr /* MAC address */ -#define ifr_addr ifr_ifru.ifru_addr /* address */ -#define ifr_dstaddr ifr_ifru.ifru_dstaddr /* other end of p-p lnk */ -#define ifr_broadaddr ifr_ifru.ifru_broadaddr /* broadcast address */ -#define ifr_netmask ifr_ifru.ifru_netmask /* interface net mask */ -#define ifr_flags ifr_ifru.ifru_flags /* flags */ -#define ifr_metric ifr_ifru.ifru_ivalue /* metric */ -#define ifr_mtu ifr_ifru.ifru_mtu /* mtu */ -#define ifr_slave ifr_ifru.ifru_slave /* slave device */ -#define ifr_data ifr_ifru.ifru_data /* for use by interface */ -#define ifr_ifindex ifr_ifru.ifru_ivalue /* interface index */ -#define ifr_bandwidth ifr_ifru.ifru_ivalue /* link bandwidth */ -#define ifr_baudrate ifr_ifru.ifru_ivalue /* link bandwidth */ -#define ifr_qlen ifr_ifru.ifru_ivalue /* queue length */ -#define ifr_site6 ifr_ifru.ifru_site6 /* IPv6 site index */ - - -/* Structure used in SIOCGIFCONF request. Used to retrieve interface - configuration for machine (useful for programs which must know all - networks accessible). */ - -struct ifconf - { - int ifc_len; /* Size of buffer. */ - union - { - __caddr_t ifcu_buf; - struct ifreq *ifcu_req; - } ifc_ifcu; - }; -#define ifc_buf ifc_ifcu.ifcu_buf /* Buffer address. */ -#define ifc_req ifc_ifcu.ifcu_req /* Array of structures. */ - -__BEGIN_DECLS - -/* Convert an interface name to an index, and vice versa. */ - -extern unsigned int if_nametoindex (__const char *__ifname) __THROW; -extern char *if_indextoname (unsigned int __ifindex, char *__ifname) __THROW; - -/* Return a list of all interfaces and their indices. */ - -struct if_nameindex - { - unsigned int if_index; /* 1, 2, ... */ - char *if_name; /* null terminated name: "eth0", ... */ - }; - -extern struct if_nameindex *if_nameindex (void) __THROW; - -/* Free the data returned from if_nameindex. */ - -extern void if_freenameindex (struct if_nameindex *__ptr) __THROW; - -__END_DECLS - -#endif /* net/if.h */ diff --git a/sysdeps/unix/sysv/aix/open.c b/sysdeps/unix/sysv/aix/open.c deleted file mode 100644 index 2b42f8e81b..0000000000 --- a/sysdeps/unix/sysv/aix/open.c +++ /dev/null @@ -1,40 +0,0 @@ -/* Copyright (C) 1999, 2000, 2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <fcntl.h> -#include <stdarg.h> -#include <unistd.h> - -int -__open (const char *file, int oflag, ...) -{ - int mode = 0; - - if (oflag & O_CREAT) - { - va_list arg; - va_start (arg, oflag); - mode = va_arg (arg, int); - va_end (arg); - } - - return open (file, oflag, mode); -} -libc_hidden_def (__open) -strong_alias (__open, __libc_open) -libc_hidden_def (__libc_open) diff --git a/sysdeps/unix/sysv/aix/pipe.c b/sysdeps/unix/sysv/aix/pipe.c deleted file mode 100644 index 4a3ba1c041..0000000000 --- a/sysdeps/unix/sysv/aix/pipe.c +++ /dev/null @@ -1,27 +0,0 @@ -/* Copyright (C) 1999, 2000, 2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <unistd.h> - -int -__pipe (pipedes) - int pipedes[2]; -{ - return pipe (pipedes); -} -libc_hidden_def (__pipe) diff --git a/sysdeps/unix/sysv/aix/poll.c b/sysdeps/unix/sysv/aix/poll.c deleted file mode 100644 index 5ce5409914..0000000000 --- a/sysdeps/unix/sysv/aix/poll.c +++ /dev/null @@ -1,29 +0,0 @@ -/* Copyright (C) 1999, 2000, 2001, 2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sys/poll.h> - -int -__poll (fds, nfds, timeout) - struct pollfd *fds; - nfds_t nfds; - int timeout; -{ - return poll (fds, nfds, timeout); -} -libc_hidden_def (__poll) diff --git a/sysdeps/unix/sysv/aix/posix_madvise.c b/sysdeps/unix/sysv/aix/posix_madvise.c deleted file mode 100644 index 7ab4bed8e0..0000000000 --- a/sysdeps/unix/sysv/aix/posix_madvise.c +++ /dev/null @@ -1,8 +0,0 @@ -#include <errno.h> -#include <sys/mman.h> - -int -posix_madvise (void *addr, size_t len, int advise) -{ - return madvise (addr, len, advise) ? errno : 0; -} diff --git a/sysdeps/unix/sysv/aix/powerpc/memset.c b/sysdeps/unix/sysv/aix/powerpc/memset.c deleted file mode 100644 index 6955ef5e91..0000000000 --- a/sysdeps/unix/sysv/aix/powerpc/memset.c +++ /dev/null @@ -1,21 +0,0 @@ -/* Copyright (C) 2001 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - - -/* Until the cache line issues are resolved use the generic implementation. */ -#include <sysdeps/generic/memset.c> diff --git a/sysdeps/unix/sysv/aix/powerpc/register-dump.h b/sysdeps/unix/sysv/aix/powerpc/register-dump.h deleted file mode 100644 index f0d8b99837..0000000000 --- a/sysdeps/unix/sysv/aix/powerpc/register-dump.h +++ /dev/null @@ -1,281 +0,0 @@ -/* Dump registers. - Copyright (C) 1998 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sys/uio.h> -#include <stdio-common/_itoa.h> -#include <sys/ucontext.h> - -/* We will print the register dump in this format: - -Register dump: -fp0-3: 0000000000000000 0000000000000000 0000000000000000 0000000000000000 -fp4-7: 0000000000000000 0000000000000000 0000000000000000 0000000000000000 -fp8-11: 0000000000000000 0000000000000000 0000000000000000 0000000000000000 -fp12-15: 0000000000000000 0000000000000000 0000000000000000 0000000000000000 -fp16-19: 0000000000000000 0000000000000000 0000000000000000 0000000000000000 -fp20-23: 0000000000000000 0000000000000000 0000000000000000 0000000000000000 -fp24-27: 0000000000000000 0000000000000000 0000000000000000 0000000000000000 -fp28-31: 0000000000000000 0000000000000000 0000000000000000 0000000000000000 - -r00-07 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 -r08-15 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 -r16-23 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 -r24-31 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 - - trap 00000000 iar 00000000 msr 00000000 cr 00000000 - lr 00000000 ctr 00000000 xer 00000000 mq 00000000 - tid 00000000 fpscr 00000000 - -*/ - - -static void -hexvalue (unsigned long int value, char *buf, size_t len) -{ - char *cp = _itoa_word (value, buf + len, 16, 0); - while (cp > buf) - *--cp = '0'; -} - - -static void -register_dump (int fd, struct sigcontext *ctx) -{ - char regs[108][8]; - struct iovec iov[38]; - struct __mstsafe *reg_state; - int i; - int ii; - size_t nr = 0; - -#define ADD_STRING(str) \ - iov[nr].iov_base = (char *) str; \ - iov[nr].iov_len = strlen (str); \ - ++nr -#define ADD_MEM(str, len) \ - iov[nr].iov_base = str; \ - iov[nr].iov_len = len; \ - ++nr - - reg_state = (struct __mstsafe *)&ctx->sc_jmpbuf.__jmp_context; - - hexvalue (reg_state->__excp_type, regs[0], 8); - hexvalue (reg_state->__iar, regs[1], 8); - hexvalue (reg_state->__msr, regs[2], 8); - hexvalue (reg_state->__cr, regs[3], 8); - hexvalue (reg_state->__lr, regs[4], 8); - hexvalue (reg_state->__ctr, regs[5], 8); - hexvalue (reg_state->__xer, regs[6], 8); - hexvalue (reg_state->__mq, regs[7], 8); - hexvalue (reg_state->__tid, regs[8], 8); - hexvalue (reg_state->__fpscr, regs[9], 8); - - ii=10; - for (i = 0; i <= 96; i++,ii++) - hexvalue (reg_state->__gpr[i], regs[ii], 8); - - /* Generate the output. */ - ADD_STRING ("Register dump:\n\nfp0-3: "); - ADD_MEM (regs[42], 8); - ADD_MEM (regs[43], 8); - ADD_STRING (" "); - ADD_MEM (regs[44], 8); - ADD_MEM (regs[45], 8); - ADD_STRING (" "); - ADD_MEM (regs[46], 8); - ADD_MEM (regs[47], 8); - ADD_STRING (" "); - ADD_MEM (regs[48], 8); - ADD_MEM (regs[49], 8); - ADD_STRING ("\nfp4-7: "); - ADD_MEM (regs[50], 8); - ADD_MEM (regs[51], 8); - ADD_STRING (" "); - ADD_MEM (regs[52], 8); - ADD_MEM (regs[53], 8); - ADD_STRING (" "); - ADD_MEM (regs[54], 8); - ADD_MEM (regs[55], 8); - ADD_STRING (" "); - ADD_MEM (regs[56], 8); - ADD_MEM (regs[57], 8); - ADD_STRING ("\nfp8-11: "); - ADD_MEM (regs[58], 8); - ADD_MEM (regs[59], 8); - ADD_STRING (" "); - ADD_MEM (regs[60], 8); - ADD_MEM (regs[61], 8); - ADD_STRING (" "); - ADD_MEM (regs[62], 8); - ADD_MEM (regs[63], 8); - ADD_STRING (" "); - ADD_MEM (regs[64], 8); - ADD_MEM (regs[65], 8); - ADD_STRING ("\nfp12-15: "); - ADD_MEM (regs[66], 8); - ADD_MEM (regs[67], 8); - ADD_STRING (" "); - ADD_MEM (regs[68], 8); - ADD_MEM (regs[69], 8); - ADD_STRING (" "); - ADD_MEM (regs[70], 8); - ADD_MEM (regs[71], 8); - ADD_STRING (" "); - ADD_MEM (regs[72], 8); - ADD_MEM (regs[73], 8); - ADD_STRING ("\nfp16-19: "); - ADD_MEM (regs[74], 8); - ADD_MEM (regs[75], 8); - ADD_STRING (" "); - ADD_MEM (regs[76], 8); - ADD_MEM (regs[78], 8); - ADD_STRING (" "); - ADD_MEM (regs[79], 8); - ADD_MEM (regs[80], 8); - ADD_STRING (" "); - ADD_MEM (regs[81], 8); - ADD_MEM (regs[82], 8); - ADD_STRING ("\nfp20-23: "); - ADD_MEM (regs[83], 8); - ADD_MEM (regs[84], 8); - ADD_STRING (" "); - ADD_MEM (regs[85], 8); - ADD_MEM (regs[86], 8); - ADD_STRING (" "); - ADD_MEM (regs[87], 8); - ADD_MEM (regs[88], 8); - ADD_STRING (" "); - ADD_MEM (regs[89], 8); - ADD_MEM (regs[90], 8); - ADD_STRING ("\nfp24-27: "); - ADD_MEM (regs[91], 8); - ADD_MEM (regs[92], 8); - ADD_STRING (" "); - ADD_MEM (regs[93], 8); - ADD_MEM (regs[94], 8); - ADD_STRING (" "); - ADD_MEM (regs[95], 8); - ADD_MEM (regs[96], 8); - ADD_STRING (" "); - ADD_MEM (regs[97], 8); - ADD_MEM (regs[98], 8); - ADD_STRING ("\nfp28-31: "); - ADD_MEM (regs[99], 8); - ADD_MEM (regs[100], 8); - ADD_STRING (" "); - ADD_MEM (regs[101], 8); - ADD_MEM (regs[102], 8); - ADD_STRING (" "); - ADD_MEM (regs[103], 8); - ADD_MEM (regs[104], 8); - ADD_STRING (" "); - ADD_MEM (regs[105], 8); - ADD_MEM (regs[106], 8); - ADD_STRING ("\n\nr00-07 "); - ADD_MEM (regs[10], 8); - ADD_STRING (" "); - ADD_MEM (regs[11], 8); - ADD_STRING (" "); - ADD_MEM (regs[12], 8); - ADD_STRING (" "); - ADD_MEM (regs[13], 8); - ADD_STRING (" "); - ADD_MEM (regs[14], 8); - ADD_STRING (" "); - ADD_MEM (regs[15], 8); - ADD_STRING (" "); - ADD_MEM (regs[16], 8); - ADD_STRING (" "); - ADD_MEM (regs[17], 8); - ADD_STRING ("\nr08-15 "); - ADD_MEM (regs[18], 8); - ADD_STRING (" "); - ADD_MEM (regs[19], 8); - ADD_STRING (" "); - ADD_MEM (regs[20], 8); - ADD_STRING (" "); - ADD_MEM (regs[21], 8); - ADD_STRING (" "); - ADD_MEM (regs[22], 8); - ADD_STRING (" "); - ADD_MEM (regs[23], 8); - ADD_STRING (" "); - ADD_MEM (regs[24], 8); - ADD_STRING (" "); - ADD_MEM (regs[25], 8); - ADD_STRING ("\nr16-23 "); - ADD_MEM (regs[26], 8); - ADD_STRING (" "); - ADD_MEM (regs[27], 8); - ADD_STRING (" "); - ADD_MEM (regs[28], 8); - ADD_STRING (" "); - ADD_MEM (regs[29], 8); - ADD_STRING (" "); - ADD_MEM (regs[30], 8); - ADD_STRING (" "); - ADD_MEM (regs[31], 8); - ADD_STRING (" "); - ADD_MEM (regs[32], 8); - ADD_STRING (" "); - ADD_MEM (regs[33], 8); - ADD_STRING ("\nr24-31 "); - ADD_MEM (regs[34], 8); - ADD_STRING (" "); - ADD_MEM (regs[35], 8); - ADD_STRING (" "); - ADD_MEM (regs[36], 8); - ADD_STRING (" "); - ADD_MEM (regs[37], 8); - ADD_STRING (" "); - ADD_MEM (regs[38], 8); - ADD_STRING (" "); - ADD_MEM (regs[39], 8); - ADD_STRING (" "); - ADD_MEM (regs[40], 8); - ADD_STRING (" "); - ADD_MEM (regs[41], 8); - ADD_STRING ("\n\n trap "); - ADD_MEM (regs[0], 8); - ADD_STRING (" iar "); - ADD_MEM (regs[1], 8); - ADD_STRING (" msr "); - ADD_MEM (regs[2], 8); - ADD_STRING (" cr "); - ADD_MEM (regs[3], 8); - ADD_STRING ("\n lr "); - ADD_MEM (regs[4], 8); - ADD_STRING (" ctr "); - ADD_MEM (regs[5], 8); - ADD_STRING (" xer "); - ADD_MEM (regs[6], 8); - ADD_STRING (" mq "); - ADD_MEM (regs[7], 8); - ADD_STRING ("\n tid "); - ADD_MEM (regs[8], 8); - ADD_STRING (" fpscr "); - ADD_MEM (regs[9], 8); - ADD_STRING ("\n"); - - /* Write the stuff out. */ - writev (fd, iov, nr); -} - -#define REGISTER_DUMP register_dump (fd, ctx) - diff --git a/sysdeps/unix/sysv/aix/powerpc/s_lrint.c b/sysdeps/unix/sysv/aix/powerpc/s_lrint.c deleted file mode 100644 index 1a8b590d23..0000000000 --- a/sysdeps/unix/sysv/aix/powerpc/s_lrint.c +++ /dev/null @@ -1,29 +0,0 @@ -/* Round floating-point to integer. AIX/PowerPC version. - Copyright (C) 1997, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sysdeps/powerpc/fpu/s_lrint.c> - -/* This code will also work for a 'float' argument. */ -asm ("\ - .globl .__lrintf - .globl .lrintf - .weak .lrintf - .set .__lrintf,.__lrint - .set .lrintf,.__lrint -"); diff --git a/sysdeps/unix/sysv/aix/pread.c b/sysdeps/unix/sysv/aix/pread.c deleted file mode 100644 index 8d8bfd741e..0000000000 --- a/sysdeps/unix/sysv/aix/pread.c +++ /dev/null @@ -1,28 +0,0 @@ -/* Copyright (C) 1999, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <unistd.h> - -extern int kpread (int fd, void *buf, size_t len, long long int off); - -ssize_t -__pread (int fd, void *buf, size_t len, off_t off) -{ - return kpread (fd, buf, len, off); -} -weak_alias (__pread, pread) diff --git a/sysdeps/unix/sysv/aix/pread64.c b/sysdeps/unix/sysv/aix/pread64.c deleted file mode 100644 index 0d4df22634..0000000000 --- a/sysdeps/unix/sysv/aix/pread64.c +++ /dev/null @@ -1,28 +0,0 @@ -/* Copyright (C) 1999, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <unistd.h> - -extern int kpread (int fd, void *buf, size_t len, long long int off); - -ssize_t -__pread64 (int fd, void *buf, size_t len, off64_t off) -{ - return kpread (fd, buf, len, off); -} -weak_alias (__pread64, pread64) diff --git a/sysdeps/unix/sysv/aix/profil-counter.h b/sysdeps/unix/sysv/aix/profil-counter.h deleted file mode 100644 index 2492a63ba3..0000000000 --- a/sysdeps/unix/sysv/aix/profil-counter.h +++ /dev/null @@ -1,27 +0,0 @@ -/* Machine-dependent SIGPROF signal handler. AIX version. - Copyright (C) 1996, 1997, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* In many Unix systems signal handlers are called like this - and the interrupted PC is easily findable in the `struct sigcontext'. */ - -static void -profil_counter (int signr, int code, struct sigcontext *scp) -{ - profil_count ((void *) scp->sc_jmpbuf.__jmp_context.__gpr[0]); -} diff --git a/sysdeps/unix/sysv/aix/read.c b/sysdeps/unix/sysv/aix/read.c deleted file mode 100644 index ca0edb30d5..0000000000 --- a/sysdeps/unix/sysv/aix/read.c +++ /dev/null @@ -1,31 +0,0 @@ -/* Copyright (C) 1999, 2000, 2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <unistd.h> - -extern int kread (int fd, void *buf, size_t len); - -ssize_t -__libc_read (int fd, void *buf, size_t len) -{ - return kread (fd, buf, len); -} -libc_hidden_def (__libc_read) -strong_alias (__libc_read, __read) -libc_hidden_def (__read) -strong_alias (__libc_read, read) diff --git a/sysdeps/unix/sysv/aix/readlink.c b/sysdeps/unix/sysv/aix/readlink.c deleted file mode 100644 index 2770358b98..0000000000 --- a/sysdeps/unix/sysv/aix/readlink.c +++ /dev/null @@ -1,8 +0,0 @@ -/* This is a system call. We only have to provide the wrapper. */ -#include <unistd.h> - -int -__readlink (const char *path, char *buf, size_t len) -{ - return readlink (path, buf, len); -} diff --git a/sysdeps/unix/sysv/aix/readv.c b/sysdeps/unix/sysv/aix/readv.c deleted file mode 100644 index eddca0fc87..0000000000 --- a/sysdeps/unix/sysv/aix/readv.c +++ /dev/null @@ -1,38 +0,0 @@ -/* Copyright (C) 1991, 1995-1998, 2000, 2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sys/uio.h> - -extern ssize_t kreadv (int fd, const struct iovec *iovp, size_t iovcnt, - long int ext); - -/* Read data from file descriptor FD, and put the result in the - buffers described by VECTOR, which is a vector of COUNT `struct iovec's. - The buffers are filled in the order specified. - Operates just like `read' (see <unistd.h>) except that data are - put in VECTOR instead of a contiguous buffer. */ -ssize_t -__libc_readv (fd, vector, count) - int fd; - const struct iovec *vector; - int count; -{ - return kreadv (fd, vector, count, 0); -} -strong_alias (__libc_readv, __readv) -weak_alias (__libc_readv, readv) diff --git a/sysdeps/unix/sysv/aix/recv.c b/sysdeps/unix/sysv/aix/recv.c deleted file mode 100644 index b8ae73e200..0000000000 --- a/sysdeps/unix/sysv/aix/recv.c +++ /dev/null @@ -1,28 +0,0 @@ -/* Copyright (C) 2000, 2001 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sys/socket.h> - -extern ssize_t recv (int fd, void *buf, size_t n, int flags); - - -ssize_t -__recv (int fd, void *buf, size_t n, int flags) -{ - return recv (fd, buf, n, flags); -} diff --git a/sysdeps/unix/sysv/aix/recvfrom.c b/sysdeps/unix/sysv/aix/recvfrom.c deleted file mode 100644 index 08ff1113f4..0000000000 --- a/sysdeps/unix/sysv/aix/recvfrom.c +++ /dev/null @@ -1,31 +0,0 @@ -/* Copyright (C) 1999, 2000, 2001, 2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sys/socket.h> - -extern ssize_t nrecvfrom (int s, void *uap_buf, size_t len, int flags, - void *uap_from, socklen_t *uap_fromlenaddr); - -ssize_t -__recvfrom (int fd, void *buf, size_t n, int flags, __SOCKADDR_ARG addr, - socklen_t *addr_len) -{ - return nrecvfrom (fd, buf, n, flags, addr.__sockaddr__, addr_len); -} - -weak_alias (__recvfrom, recvfrom) diff --git a/sysdeps/unix/sysv/aix/recvmsg.c b/sysdeps/unix/sysv/aix/recvmsg.c deleted file mode 100644 index 201c26741c..0000000000 --- a/sysdeps/unix/sysv/aix/recvmsg.c +++ /dev/null @@ -1,29 +0,0 @@ -/* Copyright (C) 1999, 2000, 2001, 2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sys/socket.h> - -extern ssize_t nrecvmsg (int s, struct msghdr *uap_msg, int flags); - -ssize_t -__recvmsg (int fd, struct msghdr *message, int flags) -{ - return nrecvmsg (fd, message, flags); -} - -weak_alias (__recvmsg, recvmsg) diff --git a/sysdeps/unix/sysv/aix/rename.c b/sysdeps/unix/sysv/aix/rename.c deleted file mode 100644 index 6036fbbffd..0000000000 --- a/sysdeps/unix/sysv/aix/rename.c +++ /dev/null @@ -1 +0,0 @@ -/* This is a system call. */ diff --git a/sysdeps/unix/sysv/aix/revoke.c b/sysdeps/unix/sysv/aix/revoke.c deleted file mode 100644 index 8f6a4848d5..0000000000 --- a/sysdeps/unix/sysv/aix/revoke.c +++ /dev/null @@ -1,41 +0,0 @@ -/* Revoke the access of all descriptors currently open on a file. AIX version. - Copyright (C) 1995, 1996, 1997, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <fcntl.h> -#include <unistd.h> -#include <errno.h> - -extern int frevoke (int fdes); - -int -revoke (file) - const char *file; -{ - int fd; - int res; - - fd = open (file, O_RDONLY); - if (fd < 0) - return -1; - - res = frevoke (fd); - (void) close (fd); - - return res; -} diff --git a/sysdeps/unix/sysv/aix/rmdir.c b/sysdeps/unix/sysv/aix/rmdir.c deleted file mode 100644 index 91c600694b..0000000000 --- a/sysdeps/unix/sysv/aix/rmdir.c +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright (C) 1999, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <unistd.h> - -int -__rmdir (const char *name) -{ - return rmdir (name); -} diff --git a/sysdeps/unix/sysv/aix/sbrk.c b/sysdeps/unix/sysv/aix/sbrk.c deleted file mode 100644 index 0a590ee8c6..0000000000 --- a/sysdeps/unix/sysv/aix/sbrk.c +++ /dev/null @@ -1,26 +0,0 @@ -/* Copyright (C) 1999, 2000, 2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <unistd.h> - -void * -__sbrk (intptr_t delta) -{ - return sbrk (delta); -} -libc_hidden_def (__sbrk) diff --git a/sysdeps/unix/sysv/aix/sched_yield.c b/sysdeps/unix/sysv/aix/sched_yield.c deleted file mode 100644 index b5fbc07535..0000000000 --- a/sysdeps/unix/sysv/aix/sched_yield.c +++ /dev/null @@ -1,31 +0,0 @@ -/* Copyright (C) 1996, 1997, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sched.h> - -extern void yield (void); - - -/* Yield the processor. */ -int -__sched_yield (void) -{ - yield (); - return 0; -} -strong_alias (__sched_yield, sched_yield) diff --git a/sysdeps/unix/sysv/aix/select.c b/sysdeps/unix/sysv/aix/select.c deleted file mode 100644 index 9bf5bae47c..0000000000 --- a/sysdeps/unix/sysv/aix/select.c +++ /dev/null @@ -1,31 +0,0 @@ -/* Copyright (C) 1999, 2000, 2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sys/time.h> - -int -__select (nfds, readfds, writefds, exceptfds, timeout) - int nfds; - fd_set *readfds; - fd_set *writefds; - fd_set *exceptfds; - struct timeval *timeout; -{ - return select (nfds, readfds, writefds, exceptfds, timeout); -} -libc_hidden_def (__select) diff --git a/sysdeps/unix/sysv/aix/semctl.c b/sysdeps/unix/sysv/aix/semctl.c deleted file mode 100644 index 6036fbbffd..0000000000 --- a/sysdeps/unix/sysv/aix/semctl.c +++ /dev/null @@ -1 +0,0 @@ -/* This is a system call. */ diff --git a/sysdeps/unix/sysv/aix/semget.c b/sysdeps/unix/sysv/aix/semget.c deleted file mode 100644 index 6036fbbffd..0000000000 --- a/sysdeps/unix/sysv/aix/semget.c +++ /dev/null @@ -1 +0,0 @@ -/* This is a system call. */ diff --git a/sysdeps/unix/sysv/aix/semop.c b/sysdeps/unix/sysv/aix/semop.c deleted file mode 100644 index 6036fbbffd..0000000000 --- a/sysdeps/unix/sysv/aix/semop.c +++ /dev/null @@ -1 +0,0 @@ -/* This is a system call. */ diff --git a/sysdeps/unix/sysv/aix/sendmsg.c b/sysdeps/unix/sysv/aix/sendmsg.c deleted file mode 100644 index 5b1baf63a5..0000000000 --- a/sysdeps/unix/sysv/aix/sendmsg.c +++ /dev/null @@ -1,30 +0,0 @@ -/* Copyright (C) 1999, 2000, 2001, 2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sys/socket.h> - -extern int nsendmsg (int s, const void *uap_msg, int flags); - -ssize_t -__sendmsg (int fd, const struct msghdr *message, int flags) -{ - return nsendmsg (fd, message, flags); -} - -weak_alias (__sendmsg, sendmsg) - diff --git a/sysdeps/unix/sysv/aix/sendto.c b/sysdeps/unix/sysv/aix/sendto.c deleted file mode 100644 index 6036fbbffd..0000000000 --- a/sysdeps/unix/sysv/aix/sendto.c +++ /dev/null @@ -1 +0,0 @@ -/* This is a system call. */ diff --git a/sysdeps/unix/sysv/aix/setegid.c b/sysdeps/unix/sysv/aix/setegid.c deleted file mode 100644 index 75123cedfd..0000000000 --- a/sysdeps/unix/sysv/aix/setegid.c +++ /dev/null @@ -1,32 +0,0 @@ -/* Copyright (C) 2000, 2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <unistd.h> - -#define ID_EFFECTIVE 0x01 - - -extern int setgidx (int mask, gid_t gid); - -int -__setegid (gid_t gid) -{ - return setgidx (ID_EFFECTIVE, gid); -} -strong_alias (__setegid, setegid) -libc_hidden_def (setegid) diff --git a/sysdeps/unix/sysv/aix/seteuid.c b/sysdeps/unix/sysv/aix/seteuid.c deleted file mode 100644 index 6ea7e7ba03..0000000000 --- a/sysdeps/unix/sysv/aix/seteuid.c +++ /dev/null @@ -1,32 +0,0 @@ -/* Copyright (C) 2000, 2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <unistd.h> - -#define ID_EFFECTIVE 0x01 - - -extern int setuidx (int mask, uid_t uid); - -int -__seteuid (uid_t uid) -{ - return setuidx (ID_EFFECTIVE, uid); -} -strong_alias (__seteuid, seteuid) -libc_hidden_def (seteuid) diff --git a/sysdeps/unix/sysv/aix/setgid.c b/sysdeps/unix/sysv/aix/setgid.c deleted file mode 100644 index 5b8038110b..0000000000 --- a/sysdeps/unix/sysv/aix/setgid.c +++ /dev/null @@ -1,31 +0,0 @@ -/* Copyright (C) 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <unistd.h> - -#define ID_REAL 0x02 - - -extern int setgidx (int mask, gid_t gid); - -int -__setgid (gid_t gid) -{ - return setgidx (ID_REAL, gid); -} -strong_alias (__setgid, setgid) diff --git a/sysdeps/unix/sysv/aix/setgroups.c b/sysdeps/unix/sysv/aix/setgroups.c deleted file mode 100644 index 6036fbbffd..0000000000 --- a/sysdeps/unix/sysv/aix/setgroups.c +++ /dev/null @@ -1 +0,0 @@ -/* This is a system call. */ diff --git a/sysdeps/unix/sysv/aix/setitimer.c b/sysdeps/unix/sysv/aix/setitimer.c deleted file mode 100644 index d7e741abe7..0000000000 --- a/sysdeps/unix/sysv/aix/setitimer.c +++ /dev/null @@ -1,68 +0,0 @@ -/* Copyright (C) 1991, 1994, 1995, 1996, 1997 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <stddef.h> -#include <errno.h> -#include <sys/time.h> -#include <unistd.h> -#include <signal.h> - -extern int __libc_nanosleep (const struct timespec *requested_time, - struct timespec *remaining); -int -__setitimer (which, new, old) - enum __itimer_which which; - const struct itimerval *new; - struct itimerval *old; -{ - if (new == NULL) - { - __set_errno (EINVAL); - return -1; - } - - switch (which) - { - default: - __set_errno (EINVAL); - return -1; - - case ITIMER_VIRTUAL: - case ITIMER_PROF: - __set_errno (ENOSYS); - return -1; - - case ITIMER_REAL: - break; - } - - switch (__fork()) - { - case -1: exit(-1); - case 0: - { - struct timespec ts ={.tv_sec = (long int)new->it_value.tv_sec, .tv_nsec = 0}; - __libc_nanosleep(&ts,&ts); - __kill(getppid(), SIGALRM); - exit(0); - } - default: - } - return 0; -} -weak_alias (__setitimer, setitimer) diff --git a/sysdeps/unix/sysv/aix/setpgid.c b/sysdeps/unix/sysv/aix/setpgid.c deleted file mode 100644 index b076f28ed6..0000000000 --- a/sysdeps/unix/sysv/aix/setpgid.c +++ /dev/null @@ -1,28 +0,0 @@ -/* Copyright (C) 1999, 2000, 2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <unistd.h> - -int -__setpgid (pid, pgid) - int pid; - int pgid; -{ - return setpgid (pid, pgid); -} -libc_hidden_def (__setpgid) diff --git a/sysdeps/unix/sysv/aix/setpgrp.c b/sysdeps/unix/sysv/aix/setpgrp.c deleted file mode 100644 index 6036fbbffd..0000000000 --- a/sysdeps/unix/sysv/aix/setpgrp.c +++ /dev/null @@ -1 +0,0 @@ -/* This is a system call. */ diff --git a/sysdeps/unix/sysv/aix/setpriority.c b/sysdeps/unix/sysv/aix/setpriority.c deleted file mode 100644 index 6036fbbffd..0000000000 --- a/sysdeps/unix/sysv/aix/setpriority.c +++ /dev/null @@ -1 +0,0 @@ -/* This is a system call. */ diff --git a/sysdeps/unix/sysv/aix/setregid.c b/sysdeps/unix/sysv/aix/setregid.c deleted file mode 100644 index 35812300b9..0000000000 --- a/sysdeps/unix/sysv/aix/setregid.c +++ /dev/null @@ -1,41 +0,0 @@ -/* Copyright (C) 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <unistd.h> - -#define ID_EFFECTIVE 0x01 -#define ID_REAL 0x02 - - -extern int setgidx (int mask, gid_t gid); - -int -__setregid (gid_t rgid, gid_t egid) -{ - int res; - - if (rgid == egid) - return setgidx (ID_EFFECTIVE | ID_REAL, egid); - - res = setgidx (ID_REAL, rgid); - if (res == 0) - res = setgidx (ID_EFFECTIVE, egid); - - return res; -} -strong_alias (__setregid, setregid) diff --git a/sysdeps/unix/sysv/aix/setreuid.c b/sysdeps/unix/sysv/aix/setreuid.c deleted file mode 100644 index 430d2fedc7..0000000000 --- a/sysdeps/unix/sysv/aix/setreuid.c +++ /dev/null @@ -1,41 +0,0 @@ -/* Copyright (C) 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <unistd.h> - -#define ID_EFFECTIVE 0x01 -#define ID_REAL 0x02 - - -extern int setuidx (int mask, uid_t uid); - -int -__setreuid (uid_t ruid, uid_t euid) -{ - int res; - - if (ruid == euid) - return setuidx (ID_EFFECTIVE | ID_REAL, euid); - - res = setuidx (ID_REAL, ruid); - if (res == 0) - res = setuidx (ID_EFFECTIVE, euid); - - return res; -} -strong_alias (__setreuid, setreuid) diff --git a/sysdeps/unix/sysv/aix/setrlimit.c b/sysdeps/unix/sysv/aix/setrlimit.c deleted file mode 100644 index 818819d8ec..0000000000 --- a/sysdeps/unix/sysv/aix/setrlimit.c +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright (C) 1999, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sys/resource.h> - -int -__setrlimit (enum __rlimit_resource resource, const struct rlimit *rlimits) -{ - return setrlimit (resource, rlimits); -} diff --git a/sysdeps/unix/sysv/aix/setrlimit64.c b/sysdeps/unix/sysv/aix/setrlimit64.c deleted file mode 100644 index f305c6f82f..0000000000 --- a/sysdeps/unix/sysv/aix/setrlimit64.c +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright (C) 1999, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sys/resource.h> - -int -__setrlimit64 (enum __rlimit_resource resource, const struct rlimit64 *rlimits) -{ - return setrlimit64 (resource, rlimits); -} diff --git a/sysdeps/unix/sysv/aix/setsid.c b/sysdeps/unix/sysv/aix/setsid.c deleted file mode 100644 index c017c122bf..0000000000 --- a/sysdeps/unix/sysv/aix/setsid.c +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright (C) 1999, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <unistd.h> - -int -__setsid () -{ - return setsid (); -} diff --git a/sysdeps/unix/sysv/aix/setsockopt.c b/sysdeps/unix/sysv/aix/setsockopt.c deleted file mode 100644 index 6036fbbffd..0000000000 --- a/sysdeps/unix/sysv/aix/setsockopt.c +++ /dev/null @@ -1 +0,0 @@ -/* This is a system call. */ diff --git a/sysdeps/unix/sysv/aix/setuid.c b/sysdeps/unix/sysv/aix/setuid.c deleted file mode 100644 index 1772fc797a..0000000000 --- a/sysdeps/unix/sysv/aix/setuid.c +++ /dev/null @@ -1,31 +0,0 @@ -/* Copyright (C) 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <unistd.h> - -#define ID_REAL 0x02 - - -extern int setuidx (int mask, uid_t uid); - -int -__setuid (uid_t uid) -{ - return setuidx (ID_REAL, uid); -} -strong_alias (__setuid, setuid) diff --git a/sysdeps/unix/sysv/aix/shmat.c b/sysdeps/unix/sysv/aix/shmat.c deleted file mode 100644 index 6036fbbffd..0000000000 --- a/sysdeps/unix/sysv/aix/shmat.c +++ /dev/null @@ -1 +0,0 @@ -/* This is a system call. */ diff --git a/sysdeps/unix/sysv/aix/shmctl.c b/sysdeps/unix/sysv/aix/shmctl.c deleted file mode 100644 index 6036fbbffd..0000000000 --- a/sysdeps/unix/sysv/aix/shmctl.c +++ /dev/null @@ -1 +0,0 @@ -/* This is a system call. */ diff --git a/sysdeps/unix/sysv/aix/shmdt.c b/sysdeps/unix/sysv/aix/shmdt.c deleted file mode 100644 index 6036fbbffd..0000000000 --- a/sysdeps/unix/sysv/aix/shmdt.c +++ /dev/null @@ -1 +0,0 @@ -/* This is a system call. */ diff --git a/sysdeps/unix/sysv/aix/shmget.c b/sysdeps/unix/sysv/aix/shmget.c deleted file mode 100644 index 6036fbbffd..0000000000 --- a/sysdeps/unix/sysv/aix/shmget.c +++ /dev/null @@ -1 +0,0 @@ -/* This is a system call. */ diff --git a/sysdeps/unix/sysv/aix/sigaction.c b/sysdeps/unix/sysv/aix/sigaction.c deleted file mode 100644 index 6b48a505c0..0000000000 --- a/sysdeps/unix/sysv/aix/sigaction.c +++ /dev/null @@ -1,36 +0,0 @@ -/* Copyright (C) 1991,1995,1996,1997,2000,2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <errno.h> -#include <signal.h> - -extern int _sigaction (int sig, const struct sigaction *act, - struct sigaction *oact); - -/* If ACT is not NULL, change the action for SIG to *ACT. - If OACT is not NULL, put the old action for SIG in *OACT. */ -int -__sigaction (sig, act, oact) - int sig; - const struct sigaction *act; - struct sigaction *oact; -{ - return _sigaction (sig, act, oact); -} -libc_hidden_def (__sigaction) -strong_alias (__sigaction, sigaction) diff --git a/sysdeps/unix/sysv/aix/sigaltstack.c b/sysdeps/unix/sysv/aix/sigaltstack.c deleted file mode 100644 index 6036fbbffd..0000000000 --- a/sysdeps/unix/sysv/aix/sigaltstack.c +++ /dev/null @@ -1 +0,0 @@ -/* This is a system call. */ diff --git a/sysdeps/unix/sysv/aix/sigpending.c b/sysdeps/unix/sysv/aix/sigpending.c deleted file mode 100644 index 729b75a3be..0000000000 --- a/sysdeps/unix/sysv/aix/sigpending.c +++ /dev/null @@ -1,30 +0,0 @@ -/* Copyright (C) 1991, 1995, 1996, 1997, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <signal.h> - -extern int _sigpending (sigset_t *set); - - -/* Store in SET all signals that are blocked and pending. */ -int -sigpending (set) - sigset_t *set; -{ - return _sigpending (set); -} diff --git a/sysdeps/unix/sysv/aix/sigprocmask.c b/sysdeps/unix/sysv/aix/sigprocmask.c deleted file mode 100644 index 1046903b9c..0000000000 --- a/sysdeps/unix/sysv/aix/sigprocmask.c +++ /dev/null @@ -1,8 +0,0 @@ -/* This is a system call. We only have to provide the wrapper. */ -#include <signal.h> - -int -__sigprocmask (int how, const sigset_t *set, sigset_t *oset) -{ - return sigprocmask (how, set, oset); -} diff --git a/sysdeps/unix/sysv/aix/sigset-cvt-mask.h b/sysdeps/unix/sysv/aix/sigset-cvt-mask.h deleted file mode 100644 index cc05fb70fa..0000000000 --- a/sysdeps/unix/sysv/aix/sigset-cvt-mask.h +++ /dev/null @@ -1,33 +0,0 @@ -/* Convert between lowlevel sigmask and libc representation of sigset_t. - AIX version. - Copyright (C) 1998,2000,02 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -static inline int __attribute__ ((unused)) -sigset_set_old_mask (sigset_t *set, int mask) -{ - set->__losigs = (unsigned int) mask; - set->__hisigs = 0; - return 0; -} - -static inline int __attribute__ ((unused)) -sigset_get_old_mask (const sigset_t *set) -{ - return (unsigned int) set->__losigs; -} diff --git a/sysdeps/unix/sysv/aix/sigstack.c b/sysdeps/unix/sysv/aix/sigstack.c deleted file mode 100644 index 6036fbbffd..0000000000 --- a/sysdeps/unix/sysv/aix/sigstack.c +++ /dev/null @@ -1 +0,0 @@ -/* This is a system call. */ diff --git a/sysdeps/unix/sysv/aix/sigsuspend.c b/sysdeps/unix/sysv/aix/sigsuspend.c deleted file mode 100644 index c9120d6e97..0000000000 --- a/sysdeps/unix/sysv/aix/sigsuspend.c +++ /dev/null @@ -1,33 +0,0 @@ -/* Copyright (C) 1991, 1995-1998, 2000, 2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <signal.h> - -extern int _sigsuspend (const sigset_t *sigmask); - - -/* Change the set of blocked signals to SET, - wait until a signal arrives, and restore the set of blocked signals. */ -int -__sigsuspend (set) - const sigset_t *set; -{ - return _sigsuspend (set); -} -libc_hidden_def (__sigsuspend) -weak_alias (__sigsuspend, sigsuspend) diff --git a/sysdeps/unix/sysv/aix/sleep.c b/sysdeps/unix/sysv/aix/sleep.c deleted file mode 100644 index aa8d76d3d2..0000000000 --- a/sysdeps/unix/sysv/aix/sleep.c +++ /dev/null @@ -1,34 +0,0 @@ -/* Copyright (C) 1991, 1992, 1995, 1996, 1997 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <time.h> -#include <unistd.h> -#include <errno.h> - -extern int __libc_nanosleep (const struct timespec *requested_time, - struct timespec *remaining); - -unsigned int -__sleep (seconds) - unsigned int seconds; -{ - struct timespec ts ={.tv_sec = (long int)seconds, .tv_nsec = 0}; - __libc_nanosleep(&ts,&ts); - return 0; -} -weak_alias (__sleep, sleep) diff --git a/sysdeps/unix/sysv/aix/socket.c b/sysdeps/unix/sysv/aix/socket.c deleted file mode 100644 index 236b1b1686..0000000000 --- a/sysdeps/unix/sysv/aix/socket.c +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright (C) 1999, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sys/socket.h> - -int -__socket (int domain, int type, int protocol) -{ - return socket (domain, type, protocol); -} diff --git a/sysdeps/unix/sysv/aix/socketpair.c b/sysdeps/unix/sysv/aix/socketpair.c deleted file mode 100644 index 8adeac97ff..0000000000 --- a/sysdeps/unix/sysv/aix/socketpair.c +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright (C) 1999, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sys/socket.h> - -int -__socketpair (int domain, int type, int protocol, int fds[2]) -{ - return socketpair (domain, type, protocol, fds); -} diff --git a/sysdeps/unix/sysv/aix/speed.c b/sysdeps/unix/sysv/aix/speed.c deleted file mode 100644 index 3a453a7bef..0000000000 --- a/sysdeps/unix/sysv/aix/speed.c +++ /dev/null @@ -1,75 +0,0 @@ -/* `struct termios' speed frobnication functions. AIX version. - Copyright (C) 2000, 2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <stddef.h> -#include <errno.h> -#include <termios.h> - -/* Return the output baud rate stored in *TERMIOS_P. */ -speed_t -cfgetospeed (termios_p) - const struct termios *termios_p; -{ - return termios_p->c_cflag & 0x0000000f; -} - -/* Return the input baud rate stored in *TERMIOS_P. */ -speed_t -cfgetispeed (termios_p) - const struct termios *termios_p; -{ - return (termios_p->c_cflag & 0x000f0000) >> 16; -} - -/* Set the output baud rate stored in *TERMIOS_P to SPEED. */ -int -cfsetospeed (termios_p, speed) - struct termios *termios_p; - speed_t speed; -{ - if (termios_p == NULL) - { - __set_errno (EINVAL); - return -1; - } - - termios_p->c_cflag &= ~0x0000000f; - termios_p->c_cflag |= speed & 0x0000000f; - return 0; -} -libc_hidden_def (cfsetospeed) - - -/* Set the input baud rate stored in *TERMIOS_P to SPEED. */ -int -cfsetispeed (termios_p, speed) - struct termios *termios_p; - speed_t speed; -{ - if (termios_p == NULL) - { - __set_errno (EINVAL); - return -1; - } - - termios_p->c_cflag &= ~0x000f0000; - termios_p->c_cflag |= (speed << 16) & ~0x000f0000; - return 0; -} -libc_hidden_def (cfsetispeed) diff --git a/sysdeps/unix/sysv/aix/start-libc.c b/sysdeps/unix/sysv/aix/start-libc.c deleted file mode 100644 index 0cbe79d0b1..0000000000 --- a/sysdeps/unix/sysv/aix/start-libc.c +++ /dev/null @@ -1,265 +0,0 @@ -/* Initialization code run first thing by the XCOFF startup code. AIX version. - Copyright (C) 2001, 2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <stdlib.h> -#include <unistd.h> -#include <sys/types.h> - -/* hack to use uchar's */ -typedef unsigned char uchar; -#include <xcoff.h> -#include <rtinit.h> -#include <dlldr.h> -#include <bits/libc-lock.h> - -extern void __libc_init_first (int argc, char **argv, char **envp); - -/* XXX disable for now -extern int __libc_multiple_libcs; */ - -/* XXX normally defined in generic/dl-sydep.c, hack it into existance -extern void *__libc_stack_end; */ -void *__libc_stack_end; - -struct __libc_start_data_rec -{ - void *stack; - void *toc; - int argc; - char **argv; - char **envp; - char *data; - char *text; - unsigned int mcount; - unsigned int special; - int (*main) (int, char **, char **); - void (*init) (void); - void (*fini) (void); - void (*rtld_fini) (void); -}; - -extern struct __libc_start_data_rec __libc_start_data; -extern int errno; - -/* The first piece of initialized data. */ -int __data_start = 0; - -#ifndef HAVE_ELF -/* Since gcc/crtstuff.c won't define it unless the ELF format is used - we will need to define it here. */ -void *__dso_handle = NULL; -#endif - -/* AIX kernel function */ -extern int __loadx (int flag, void *module, void *arg1, void *arg2, - void *arg3); -/* Needed by setenv */ -char **__environ; - -/* - Find __rtinit symbol - - __RTINIT *find_rtinit() - - __RTINIT *rti - pointer to __rtinit data structure - */ - -static __RTINIT * -find_rtinit (void) -{ - struct xcoffhdr *xcoff_hdr; - SCNHDR *sec_hdr; - SCNHDR *ldr_sec_hdr; - SCNHDR *data_sec_hdr; - LDSYM *ldsym_hdr; - __RTINIT *rtl; - - xcoff_hdr = (struct xcoffhdr *) __libc_start_data.text; - sec_hdr = (SCNHDR *) ((caddr_t) &xcoff_hdr->aouthdr - + xcoff_hdr->filehdr.f_opthdr); - ldr_sec_hdr = (SCNHDR *) (sec_hdr + (xcoff_hdr->aouthdr.o_snloader - 1)); - ldsym_hdr = (LDSYM *) ((caddr_t)xcoff_hdr + ldr_sec_hdr->s_scnptr - + LDHDRSZ); - - if ( __libc_start_data.mcount <= 0) - { - if (!ldr_sec_hdr->s_scnptr) - return (__RTINIT *) 0; - - if (memcmp (ldsym_hdr, RTINIT_NAME, sizeof (RTINIT_NAME) - 1)) - return (__RTINIT *) 0; - } - - data_sec_hdr = (SCNHDR *) (sec_hdr + (xcoff_hdr->aouthdr.o_sndata - 1)); - rtl = (__RTINIT *) (ldsym_hdr->l_value - + (__libc_start_data.data - data_sec_hdr->s_vaddr)); - return rtl; -} - -/* - The mod_init1 calls every initialization function for a given module. - - void mod_init1(handler, rti) - - void *handler - if NULL init funtions for modules loaded at exec time - are being executed. Otherwise, the handler points to the - module loaded. - - __RTINIT *rti - pointer to __rtinit data structure (with rti->init_offset - not equal to zero) - */ - -static void -mod_init1 (void *handler,__RTINIT *rtl) -{ - __RTINIT_DESCRIPTOR *descriptor; - - descriptor = (__RTINIT_DESCRIPTOR *) ((caddr_t) &rtl->rtl - + rtl->init_offset); - while (descriptor->f != NULL) - { - if (!(descriptor->flags & _RT_CALLED)) - { - descriptor->flags |= _RT_CALLED; - (descriptor->f) (handler, rtl, descriptor); /* execute init/fini */ - } - descriptor = (__RTINIT_DESCRIPTOR *) ((caddr_t) descriptor - + rtl->__rtinit_descriptor_size); - } -} - -/* The modinit() function performs run-time linking, if enabled, and calling - the init() function for all loaded modules. */ - -#define DL_BUFFER_SIZE 1000 - -static int -modinit (void) -{ - int *handler = 0; - __RTINIT *rtinit_info = 0; - int flag; - DL_INFO dl_buffer[DL_BUFFER_SIZE]; - DL_INFO *dl_info = dl_buffer; - int i; - - /* Find __rtinit symbols */ - rtinit_info = find_rtinit (); - - flag = DL_EXECQ; - if (rtinit_info && rtinit_info->rtl) - flag |= DL_LOAD_RTL; - - /* Get a list of modules that have __rtinit */ - if (__loadx (flag, dl_info, (void *) sizeof (dl_buffer), NULL, NULL)) - exit (0x90); - - if (dl_info[0].dlinfo_xflags & DL_INFO_OK) - { - rtinit_info = find_rtinit (); - if ((rtinit_info != NULL) & (rtinit_info->rtl != NULL)) - { - if ((*rtinit_info->rtl) (dl_info, 0)) - exit (0x90); - } - } - - /* Initialization each module loaded that has __rtinit. */ - if (dl_info[0].dlinfo_xflags & DL_INFO_OK) - { - for (i = 1; i < dl_info[0].dlinfo_arraylen + 1; ++i) - if (dl_info[i].dlinfo_flags & DL_HAS_RTINIT) - { - rtinit_info = find_rtini t(); - if (rtinit_info) - mod_init1 (handler, rtinit_info); - } - } - - return 0; -} - - -void -__libc_start_init (void) -{ - /* Do run-time linking, if enabled and call the init() - for all loaded modules. */ - if (__libc_start_data.mcount != __libc_start_data.special) - modinit (); -} - -/* For now these are just stubs. */ -void -__libc_start_fini (void) -{ -} - -void -__libc_start_rtld_fini (void) -{ -} - - -int -__libc_start_main (void) -{ - /* Store the lowest stack address. */ - __libc_stack_end = __libc_start_data.stack; - - /* Used by setenv */ - __environ = __libc_start_data.envp; - -#ifndef SHARED - /* Clear errno. */ - errno = 0; - - /* Some security at this point. Prevent starting a SUID binary where - the standard file descriptors are not opened. We have to do this - only for statically linked applications since otherwise the dynamic - loader did the work already. */ - if (__builtin_expect (__libc_enable_secure, 0)) - __libc_check_standard_fds (); - -#endif - - /* Register the destructor of the dynamic linker if there is any. */ - if (__builtin_expect (__libc_start_data.rtld_fini != NULL, 1)) - __cxa_atexit ((void (*) (void *)) __libc_start_data.rtld_fini, NULL, NULL); - - /* Call the initializer of the libc. This is only needed here if we - are compiling for the static library in which case we haven't - run the constructors in `_dl_start_user'. */ -#ifndef SHARED - __libc_init_first (__libc_start_data.argc, __libc_start_data.argv, - __libc_start_data.envp); -#endif - - /* Register the destructor of the program, if any. */ - if (__libc_start_data.fini) - __cxa_atexit ((void (*) (void *)) __libc_start_data.fini, NULL, NULL); - - /* Call the initializer of the program, if any. */ - if (__libc_start_data.init) - (*__libc_start_data.init) (); - - exit ((*__libc_start_data.main) (__libc_start_data.argc, - __libc_start_data.argv, - __libc_start_data.envp)); -} diff --git a/sysdeps/unix/sysv/aix/start.s b/sysdeps/unix/sysv/aix/start.s deleted file mode 100644 index 79d8ef4891..0000000000 --- a/sysdeps/unix/sysv/aix/start.s +++ /dev/null @@ -1,126 +0,0 @@ -/* Copyright (C) 2001 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - In addition to the permissions in the GNU Lesser General Public - License, the Free Software Foundation gives you unlimited - permission to link the compiled version of this file with other - programs, and to distribute those programs without any restriction - coming from the use of this file. (The GNU Lesser General Public - License restrictions do apply in other respects; for example, they - cover modification of the file, and distribution when not linked - into another program.) - - Note that people who make modified versions of this file are not - obligated to grant this special exception for their modified - versions; it is their choice whether to do so. The GNU Lesser - General Public License gives permission to release a modified - version without this exception; this exception also makes it - possible to release a modified version which carries forward this - exception. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - - .file "start.s" - .toc -T.lsd: .tc __libc_start_data[tc], __libc_start_data[rw] -T.main: .tc main[tc], main[rw] -T.init: .tc __libc_start_init[tc], __libc_start_init[rw] -T.fini: .tc __libc_start_fini[tc], __libc_start_init[rw] -T.rtld_fini : .tc __libc_start_rtld_fini[tc], __libc_start_rtld_fini[rw] - - .globl __start - .globl .__start - .globl __libc_start_data - - .extern .__libc_start_main - .extern .main - .extern main - .extern __libc_start_init - .extern __libc_start_fini - .extern __libc_start_rtld_fini - -/* Text */ - - .csect __start[ds] -__start: - .long .__start, TOC[tc0], 0 - - .csect .text[pr] -.__start: - -/* No prologue needed, __start does not have to follow the ABI. - - Input from kernel/loader - r1 : stack - r2 : TOC - r3 : argc - r4 : argv - r5 : envp - r28 : data origin - r29 : text origin - r30 : module count - r31 : default processing flag - - If r31 == r30, no special processing is needed, ie r28, r29 & r30 - are not used - - Save input in __libc_start_data */ - l 16, T.lsd(2) - st 1, 0(16) /* stack */ - st 2, 4(16) /* toc */ - st 3, 8(16) /* argc */ - st 4, 12(16) /* argv */ - st 5, 16(16) /* envp */ - st 28, 20(16) /* data origin */ - st 29, 24(16) /* text origin */ - st 30, 28(16) /* module count */ - st 31, 32(16) /* special */ - -/* Call __libc_start_main() */ - - bl .__libc_start_main - nop - -/* No epilog needed, __start does not have to follow the ABI */ - -/* Trace back */ -TB.__start: - .long 0x0 - .long 0xc2040 - .long 0x0 - .long TB.__start - .__start - .short 7 - .byte "__start" - .byte 0,0,0 - -/* Data - __libc_start_data - Space to keep libc initialization information */ - - .csect __libc_start_data[rw] -__libc_start_data: -/* For kernel/loader input args */ - .space 36 - -/* Externs */ - .long main -init: - .long __libc_start_init -fini: - .long __libc_start_fini -rtld_fini: - .long __libc_start_rtld_fini - .space 0x1000 + (4 + rtld_fini - __libc_start_data) diff --git a/sysdeps/unix/sysv/aix/statfs.c b/sysdeps/unix/sysv/aix/statfs.c deleted file mode 100644 index 1ead597da6..0000000000 --- a/sysdeps/unix/sysv/aix/statfs.c +++ /dev/null @@ -1,28 +0,0 @@ -/* Copyright (C) 1999, 2000, 2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sys/statfs.h> - -extern int statfs (const char *file, struct statfs *buf); - -int -__statfs (const char *file, struct statfs *buf) -{ - return statfs (file, buf); -} -libc_hidden_def (__statfs) diff --git a/sysdeps/unix/sysv/aix/symlink.c b/sysdeps/unix/sysv/aix/symlink.c deleted file mode 100644 index cb24965952..0000000000 --- a/sysdeps/unix/sysv/aix/symlink.c +++ /dev/null @@ -1,27 +0,0 @@ -/* Copyright (C) 1999, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <unistd.h> - -int -__symlink (from, to) - const char *from; - const char *to; -{ - return symlink (from, to); -} diff --git a/sysdeps/unix/sysv/aix/sync.c b/sysdeps/unix/sysv/aix/sync.c deleted file mode 100644 index 6036fbbffd..0000000000 --- a/sysdeps/unix/sysv/aix/sync.c +++ /dev/null @@ -1 +0,0 @@ -/* This is a system call. */ diff --git a/sysdeps/unix/sysv/aix/sys/param.h b/sysdeps/unix/sysv/aix/sys/param.h deleted file mode 100644 index 7448f1a6eb..0000000000 --- a/sysdeps/unix/sysv/aix/sys/param.h +++ /dev/null @@ -1,48 +0,0 @@ -/* Copyright (C) 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SYS_PARAM_H -#define _SYS_PARAM_H 1 - -/* This file should contain various parameter macros appropriate for the - machine and operating system. There is no standard set of macros; this - file is just for compatibility with programs written for Unix that - expect it to define things. On Unix systems that do not have their own - sysdep version of this file, it is generated at build time by examining - the installed headers on the system. */ - -#include <limits.h> - -#define MAXSYMLINKS 1 -#define MAXPATHLEN 256 - -/* The pagesize is 4096. */ -#define EXEC_PAGESIZE 4096 - -/* maximum number of supplemental groups. */ -#define NGROUPS 32 - -/* Macros for min/max. */ -#define MIN(a,b) (((a)<(b))?(a):(b)) -#define MAX(a,b) (((a)>(b))?(a):(b)) - - -/* Maximum length of hostname. */ -#define MAXHOSTNAMELEN 256 - -#endif /* sys/param.h */ diff --git a/sysdeps/unix/sysv/aix/sys/ucontext.h b/sysdeps/unix/sysv/aix/sys/ucontext.h deleted file mode 100644 index ddb3f010c9..0000000000 --- a/sysdeps/unix/sysv/aix/sys/ucontext.h +++ /dev/null @@ -1,113 +0,0 @@ -/* Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SYS_UCONTEXT_H -#define _SYS_UCONTEXT_H 1 - -#include <features.h> -#include <bits/types.h> -#include <bits/sigset.h> - - -/* Alternate, preferred interface. */ -typedef struct sigaltstack - { - void *ss_sp; - size_t ss_size; - int ss_flags; - int __pad[4]; - } stack_t; - - -/* Forward declaration of AIX type. */ -typedef struct label_t label_t; - - - -typedef unsigned int kvmhandle_t; -typedef struct - { - unsigned long int __alloc; - kvmhandle_t __srval[16]; - } adspace_t; - - - -#define _NGPRS 32 -#define _NFPRS 32 - -struct __mstsafe -{ - struct __mstsave *__prev; /* Previous save area. */ - label_t *__kjmpbuf; /* Pointer to saved context. */ - char *__stackfix; /* Stack fix pointer. */ - char __intpri; /* Interrupt priority. */ - char __backt; /* Back-track flag. */ - char __rsvd[2]; /* Reserved. */ - __pid_t __curid; /* Copy of curid. */ - - int __excp_type; /* Exception type for debugger. */ - unsigned long int __iar; /* Instruction address register. */ - unsigned long int __msr; /* Machine state register. */ - unsigned long int __cr; /* Condition register. */ - unsigned long int __lr; /* Link register. */ - unsigned long int __ctr; /* Count register. */ - unsigned long int __xer; /* Fixed point exception. */ - unsigned long int __mq; /* Multiply/quotient register. */ - unsigned long int __tid; /* TID register. */ - unsigned long int __fpscr; /* Floating point status reg. */ - char __fpeu; /* Floating point ever used. */ - char __fpinfo; /* Floating point status flags. */ - char __pad[2]; /* Pad to dword boundary. */ - /* 1 implies state is in mstext */ - unsigned long int __except[5]; /* exception structure. */ - char __pad1[4]; /* Old bus field. */ - unsigned long int __o_iar; /* Old iar (for longjmp excpt). */ - unsigned long int __o_toc; /* Old toc (for longjmp excpt). */ - unsigned long int __o_arg1; /* Old arg1 (for longjmp excpt). */ - unsigned long int __excbranch; /* If not NULL, address to branch - to on exception. Used by - assembler routines for low - cost exception handling. */ - unsigned long int __fpscrx; /* Software extension to fpscr. */ - unsigned long int __o_vaddr; /* Saved vaddr for vmexception. */ - unsigned long int __cachealign[7]; /* Reserved. */ - adspace_t __as; /* Segment registers. */ - unsigned long int __gpr[_NGPRS]; /* General purpose registers. */ - double __fpr[_NFPRS]; /* Floating point registers. */ - }; - -typedef struct mcontext_t - { - struct __mstsafe __jmp_context; - } mcontext_t; - - -typedef struct ucontext_t - { - int __sc_onstack; /* Sigstack state to restore. */ - __sigset_t uc_sigmask; /* The set of signals that are blocked when - this context is active. */ - int __sc_uerror; /* u_error to restore. */ - mcontext_t uc_mcontext; /* Machine-specific image of saved context. */ - struct ucontext_t *uc_link; /* context resumed after this one returns */ - stack_t uc_stack; /* stack used by context */ - int __pad[4]; - } ucontext_t; - -#endif /* sys/ucontext.h */ diff --git a/sysdeps/unix/sysv/aix/syscall.c b/sysdeps/unix/sysv/aix/syscall.c deleted file mode 100644 index 6f204ff809..0000000000 --- a/sysdeps/unix/sysv/aix/syscall.c +++ /dev/null @@ -1,2 +0,0 @@ -/* XXX We will have to see whether it is possible to implement this - function at all. */ diff --git a/sysdeps/unix/sysv/aix/sysdep.h b/sysdeps/unix/sysv/aix/sysdep.h deleted file mode 100644 index dcf37f2533..0000000000 --- a/sysdeps/unix/sysv/aix/sysdep.h +++ /dev/null @@ -1,88 +0,0 @@ -/* Copyright (C) 1999, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sysdeps/unix/powerpc/sysdep.h> - - -/* This seems to always be the case on PPC. */ -#define ALIGNARG(log2) log2 - -/* How to define local lables. */ -#define L(name) L..##name - -/* Label in text section. */ -#define C_TEXT(name) .##name - -/* Function descriptor. */ -#define FUNCDESC(real, code) \ - .toc; \ - .csect real##[DS], 3; \ - .globl real; \ -real: \ - .long code, TOC[tc0], 0; - -/* Code to generate function entry code. */ -#define ENTRY(name) \ - FUNCDESC (name, C_TEXT (name)) \ - .csect .text[PR], 2; \ - .globl C_TEXT (name); \ -C_TEXT (name): - -/* XXX For now we don't define any code. */ -#define CALL_MCOUNT - -#define EALIGN_W_0 /* No words to insert. */ -#define EALIGN_W_1 nop -#define EALIGN_W_2 nop;nop -#define EALIGN_W_3 nop;nop;nop -#define EALIGN_W_4 EALIGN_W_3;nop -#define EALIGN_W_5 EALIGN_W_4;nop -#define EALIGN_W_6 EALIGN_W_5;nop -#define EALIGN_W_7 EALIGN_W_6;nop - -/* EALIGN is like ENTRY, but does alignment to 'words'*4 bytes - past a 2^align boundary. */ -#ifdef PROF -#define EALIGN(name, alignt, words) \ - FUNCDESC (name, C_TEXT (name)) \ - .csect .text[PR], 2; \ - .align ALIGNARG(2); \ - .globl C_TEXT (name); \ -C_TEXT (name): \ - CALL_MCOUNT \ - b L(align_0); \ - .align ALIGNARG(alignt); \ - EALIGN_W_##words; \ -L(align_0): -#else /* PROF */ -#define EALIGN(name, alignt, words) \ - FUNCDESC (name, C_TEXT (name)) \ - .csect .text[PR], 2; \ - .align ALIGNARG(alignt); \ - EALIGN_W_##words; \ - .globl C_TEXT (name); \ -C_TEXT (name): -#endif - -/* No special end code for now. We will eventually add to usual prolog - with function length etc. */ -#define END(name) - - -/* Jumping to another function. We are jumping to the TOC entry. */ -#define JUMPTARGET(name) C_TEXT (name) diff --git a/sysdeps/unix/sysv/aix/sysv_termio.h b/sysdeps/unix/sysv/aix/sysv_termio.h deleted file mode 100644 index f314c0e16f..0000000000 --- a/sysdeps/unix/sysv/aix/sysv_termio.h +++ /dev/null @@ -1,155 +0,0 @@ -/* Copyright (C) 1992, 1997, 2001 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* In various parts of this file we define the System V values for - things as _SYSV_<whatever>. Those are the values that System V - uses for termio, and also (SVR4) termios. Not necessarily the - same as the GNU termios that the library user sees. */ - -/* Number of elements of c_cc. termio only. */ -#define _SYSV_NCC 8 - -#define _SYSV_VINTR 0 -#define _SYSV_VQUIT 1 -#define _SYSV_VERASE 2 -#define _SYSV_VKILL 3 -#define _SYSV_VEOF 4 -/* This field means VEOF if ICANON, VMIN if not. */ -#define _SYSV_VMIN 4 -#define _SYSV_VEOL 5 -/* This field means VEOL if ICANON, VTIME if not. */ -#define _SYSV_VTIME 5 -#define _SYSV_VEOL2 6 - -/* Flags in c_iflag. */ -#define _SYSV_IGNBRK 1 -#define _SYSV_BRKINT 2 -#define _SYSV_IGNPAR 4 -#define _SYSV_PARMRK 8 -#define _SYSV_INPCK 0x10 -#define _SYSV_ISTRIP 0x20 -#define _SYSV_INLCR 0x40 -#define _SYSV_IGNCR 0x80 -#define _SYSV_ICRNL 0x100 -#define _SYSV_IUCLC 0x200 -#define _SYSV_IXON 0x400 -#define _SYSV_IXANY 0x800 -#define _SYSV_IXOFF 0x1000 -#define _SYSV_IMAXBEL 0x2000 - -/* Flags in c_cflag. */ -#define _SYSV_CBAUD 0xf -#define _SYSV_CIBAUD 0xf0000 /* termios only. */ -#define _SYSV_IBSHIFT 16 -/* Values for CBAUD and CIBAUD. */ -#define _SYSV_B0 0 -#define _SYSV_B50 1 -#define _SYSV_B75 2 -#define _SYSV_B110 3 -#define _SYSV_B134 4 -#define _SYSV_B150 5 -#define _SYSV_B200 6 -#define _SYSV_B300 7 -#define _SYSV_B600 8 -#define _SYSV_B1200 9 -#define _SYSV_B1800 10 -#define _SYSV_B2400 11 -#define _SYSV_B4800 12 -#define _SYSV_B9600 13 -#define _SYSV_B19200 14 -#define _SYSV_B38400 15 - -#define _SYSV_CS5 0 -#define _SYSV_CS6 0x10 -#define _SYSV_CS7 0x20 -#define _SYSV_CS8 0x30 -#define _SYSV_CSIZE 0x30 -#define _SYSV_CSTOPB 0x40 -#define _SYSV_CREAD 0x80 -#define _SYSV_PARENB 0x100 -#define _SYSV_PARODD 0x200 -#define _SYSV_HUPCL 0x400 -#define _SYSV_CLOCAL 0x800 - -/* Flags in c_lflag. */ -#define _SYSV_ISIG 1 -#define _SYSV_ICANON 2 -#define _SYSV_ECHO 8 -#define _SYSV_ECHOE 0x10 -#define _SYSV_ECHOK 0x20 -#define _SYSV_ECHONL 0x40 -#define _SYSV_NOFLSH 0x80 -#define _SYSV_TOSTOP 0x100 -#define _SYSV_ECHOCTL 0x200 -#define _SYSV_ECHOPRT 0x400 -#define _SYSV_ECHOKE 0x800 -#define _SYSV_FLUSHO 0x2000 -#define _SYSV_PENDIN 0x4000 -#define _SYSV_IEXTEN 0x8000 - -/* Flags in c_oflag. */ -#define _SYSV_OPOST 1 -#define _SYSV_OLCUC 2 -#define _SYSV_ONLCR 4 -#define _SYSV_NLDLY 0x100 -#define _SYSV_NL0 0 -#define _SYSV_NL1 0x100 -#define _SYSV_CRDLY 0x600 -#define _SYSV_CR0 0 -#define _SYSV_CR1 0x200 -#define _SYSV_CR2 0x400 -#define _SYSV_CR3 0x600 -#define _SYSV_TABDLY 0x1800 -#define _SYSV_TAB0 0 -#define _SYSV_TAB1 0x0800 -#define _SYSV_TAB2 0x1000 -/* TAB3 is an obsolete name for XTABS. But we provide it since some - programs expect it to exist. */ -#define _SYSV_TAB3 0x1800 -#define _SYSV_XTABS 0x1800 -#define _SYSV_BSDLY 0x2000 -#define _SYSV_BS0 0 -#define _SYSV_BS1 0x2000 -#define _SYSV_VTDLY 0x4000 -#define _SYSV_VT0 0 -#define _SYSV_VT1 0x4000 -#define _SYSV_FFDLY 0x8000 -#define _SYSV_FF0 0 -#define _SYSV_FF1 0x8000 - -/* ioctl's. */ - -#define _TCGETA 0x5405 -#define _TCSETA 0x5406 -#define _TCSETAW 0x5407 -#define _TCSETAF 0x5408 -#define _TCSBRK 0x5409 -#define _TCXONC 0x540B -#define _TCFLSH 0x540C -#define _TIOCGPGRP 0x7414 -#define _TIOCSPGRP 0x7415 - -struct __sysv_termio - { - unsigned short c_iflag; - unsigned short c_oflag; - unsigned short c_cflag; - unsigned short c_lflag; - char c_line; - unsigned char c_cc[_SYSV_NCC]; - }; diff --git a/sysdeps/unix/sysv/aix/tcgetattr.c b/sysdeps/unix/sysv/aix/tcgetattr.c deleted file mode 100644 index 01ffd55eff..0000000000 --- a/sysdeps/unix/sysv/aix/tcgetattr.c +++ /dev/null @@ -1,152 +0,0 @@ -/* Copyright (C) 1992, 1995, 1996, 1997, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <errno.h> -#include <stddef.h> -#include <sysv_termio.h> -#include <termios.h> -#include <sys/ioctl.h> - -/* Put the state of FD into *TERMIOS_P. */ -int -__tcgetattr (fd, termios_p) - int fd; - struct termios *termios_p; -{ - struct __sysv_termio buf; - - if (termios_p == NULL) - { - __set_errno (EINVAL); - return -1; - } - - if (__ioctl (fd, _TCGETA, &buf) < 0) - return -1; - - termios_p->c_cflag &= ~0x000f0000; - termios_p->c_cflag |= (termios_p->c_cflag & 0xf) << 16; - - termios_p->c_iflag = 0; - if (buf.c_iflag & _SYSV_IGNBRK) - termios_p->c_iflag |= IGNBRK; - if (buf.c_iflag & _SYSV_BRKINT) - termios_p->c_iflag |= BRKINT; - if (buf.c_iflag & _SYSV_IGNPAR) - termios_p->c_iflag |= IGNPAR; - if (buf.c_iflag & _SYSV_PARMRK) - termios_p->c_iflag |= PARMRK; - if (buf.c_iflag & _SYSV_INPCK) - termios_p->c_iflag |= INPCK; - if (buf.c_iflag & _SYSV_ISTRIP) - termios_p->c_iflag |= ISTRIP; - if (buf.c_iflag & _SYSV_INLCR) - termios_p->c_iflag |= INLCR; - if (buf.c_iflag & _SYSV_IGNCR) - termios_p->c_iflag |= IGNCR; - if (buf.c_iflag & _SYSV_ICRNL) - termios_p->c_iflag |= ICRNL; - if (buf.c_iflag & _SYSV_IXON) - termios_p->c_iflag |= IXON; - if (buf.c_iflag & _SYSV_IXOFF) - termios_p->c_iflag |= IXOFF; - if (buf.c_iflag & _SYSV_IXANY) - termios_p->c_iflag |= IXANY; - if (buf.c_iflag & _SYSV_IMAXBEL) - termios_p->c_iflag |= IMAXBEL; - - termios_p->c_oflag = 0; - if (buf.c_oflag & OPOST) - termios_p->c_oflag |= OPOST; - if (buf.c_oflag & ONLCR) - termios_p->c_oflag |= ONLCR; - termios_p->c_cflag = 0; - switch (buf.c_cflag & _SYSV_CSIZE) - { - case _SYSV_CS5: - termios_p->c_cflag |= CS5; - break; - case _SYSV_CS6: - termios_p->c_cflag |= CS6; - break; - case _SYSV_CS7: - termios_p->c_cflag |= CS7; - break; - case _SYSV_CS8: - termios_p->c_cflag |= CS8; - break; - } - if (buf.c_cflag & _SYSV_CSTOPB) - termios_p->c_cflag |= CSTOPB; - if (buf.c_cflag & _SYSV_CREAD) - termios_p->c_cflag |= CREAD; - if (buf.c_cflag & _SYSV_PARENB) - termios_p->c_cflag |= PARENB; - if (buf.c_cflag & _SYSV_PARODD) - termios_p->c_cflag |= PARODD; - if (buf.c_cflag & _SYSV_HUPCL) - termios_p->c_cflag |= HUPCL; - if (buf.c_cflag & _SYSV_CLOCAL) - termios_p->c_cflag |= CLOCAL; - termios_p->c_lflag = 0; - if (buf.c_lflag & _SYSV_ISIG) - termios_p->c_lflag |= ISIG; - if (buf.c_lflag & _SYSV_ICANON) - termios_p->c_lflag |= ICANON; - if (buf.c_lflag & _SYSV_ECHO) - termios_p->c_lflag |= ECHO; - if (buf.c_lflag & _SYSV_ECHOE) - termios_p->c_lflag |= ECHOE; - if (buf.c_lflag & _SYSV_ECHOK) - termios_p->c_lflag |= ECHOK; - if (buf.c_lflag & _SYSV_ECHONL) - termios_p->c_lflag |= ECHONL; - if (buf.c_lflag & _SYSV_NOFLSH) - termios_p->c_lflag |= NOFLSH; - if (buf.c_lflag & _SYSV_TOSTOP) - termios_p->c_lflag |= TOSTOP; - if (buf.c_lflag & _SYSV_ECHOKE) - termios_p->c_lflag |= ECHOKE; - if (buf.c_lflag & _SYSV_ECHOPRT) - termios_p->c_lflag |= ECHOPRT; - if (buf.c_lflag & _SYSV_ECHOCTL) - termios_p->c_lflag |= ECHOCTL; - if (buf.c_lflag & _SYSV_FLUSHO) - termios_p->c_lflag |= FLUSHO; - if (buf.c_lflag & _SYSV_PENDIN) - termios_p->c_lflag |= PENDIN; - if (buf.c_lflag & _SYSV_IEXTEN) - termios_p->c_lflag |= IEXTEN; - - termios_p->c_cc[VEOF] = buf.c_cc[_SYSV_VEOF]; - termios_p->c_cc[VEOL] = buf.c_cc[_SYSV_VEOL]; - termios_p->c_cc[VEOL2] = buf.c_cc[_SYSV_VEOL2]; - termios_p->c_cc[VERASE] = buf.c_cc[_SYSV_VERASE]; - termios_p->c_cc[VKILL] = buf.c_cc[_SYSV_VKILL]; - termios_p->c_cc[VINTR] = buf.c_cc[_SYSV_VINTR]; - termios_p->c_cc[VQUIT] = buf.c_cc[_SYSV_VQUIT]; - termios_p->c_cc[VSTART] = '\021'; /* XON (^Q). */ - termios_p->c_cc[VSTOP] = '\023'; /* XOFF (^S). */ - termios_p->c_cc[VSUSP] = '\0'; /* System V release 3 lacks job control. */ - termios_p->c_cc[VMIN] = buf.c_cc[_SYSV_VMIN]; - termios_p->c_cc[VTIME] = buf.c_cc[_SYSV_VTIME]; - - return 0; -} - -weak_alias (__tcgetattr, tcgetattr) diff --git a/sysdeps/unix/sysv/aix/tcsetattr.c b/sysdeps/unix/sysv/aix/tcsetattr.c deleted file mode 100644 index 8e78da1c2c..0000000000 --- a/sysdeps/unix/sysv/aix/tcsetattr.c +++ /dev/null @@ -1,198 +0,0 @@ -/* Copyright (C) 1992,1995,1996,1997,2000,2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <errno.h> -#include <stddef.h> -#include <termios.h> -#include <sys/ioctl.h> - -#include <sysv_termio.h> - - -const speed_t __unix_speeds[] = - { - 0, - 50, - 75, - 110, - 134, - 150, - 200, - 300, - 600, - 1200, - 1800, - 2400, - 4800, - 9600, - 19200, - 38400, - }; - - -/* Set the state of FD to *TERMIOS_P. */ -int -tcsetattr (fd, optional_actions, termios_p) - int fd; - int optional_actions; - const struct termios *termios_p; -{ - struct __sysv_termio buf; - int ioctl_function; - - if (termios_p == NULL) - { - __set_errno (EINVAL); - return -1; - } - switch (optional_actions) - { - case TCSANOW: - ioctl_function = _TCSETA; - break; - case TCSADRAIN: - ioctl_function = _TCSETAW; - break; - case TCSAFLUSH: - ioctl_function = _TCSETAF; - break; - default: - __set_errno (EINVAL); - return -1; - } - - if ((termios_p->c_cflag & 0x000f0000) >> 16 != (termios_p->c_cflag & 0xf)) - { - __set_errno (EINVAL); - return -1; - } - - buf.c_iflag = 0; - if (termios_p->c_iflag & IGNBRK) - buf.c_iflag |= _SYSV_IGNBRK; - if (termios_p->c_iflag & BRKINT) - buf.c_iflag |= _SYSV_BRKINT; - if (termios_p->c_iflag & IGNPAR) - buf.c_iflag |= _SYSV_IGNPAR; - if (termios_p->c_iflag & PARMRK) - buf.c_iflag |= _SYSV_PARMRK; - if (termios_p->c_iflag & INPCK) - buf.c_iflag |= _SYSV_INPCK; - if (termios_p->c_iflag & ISTRIP) - buf.c_iflag |= _SYSV_ISTRIP; - if (termios_p->c_iflag & INLCR) - buf.c_iflag |= _SYSV_INLCR; - if (termios_p->c_iflag & IGNCR) - buf.c_iflag |= _SYSV_IGNCR; - if (termios_p->c_iflag & ICRNL) - buf.c_iflag |= _SYSV_ICRNL; - if (termios_p->c_iflag & IXON) - buf.c_iflag |= _SYSV_IXON; - if (termios_p->c_iflag & IXOFF) - buf.c_iflag |= _SYSV_IXOFF; - if (termios_p->c_iflag & IXANY) - buf.c_iflag |= _SYSV_IXANY; - if (termios_p->c_iflag & IMAXBEL) - buf.c_iflag |= _SYSV_IMAXBEL; - - buf.c_oflag = 0; - if (termios_p->c_oflag & OPOST) - buf.c_oflag |= _SYSV_OPOST; - if (termios_p->c_oflag & ONLCR) - buf.c_oflag |= _SYSV_ONLCR; - - /* So far, buf.c_cflag contains the speed in CBAUD. */ - if (termios_p->c_cflag & CSTOPB) - buf.c_cflag |= _SYSV_CSTOPB; - if (termios_p->c_cflag & CREAD) - buf.c_cflag |= _SYSV_CREAD; - if (termios_p->c_cflag & PARENB) - buf.c_cflag |= _SYSV_PARENB; - if (termios_p->c_cflag & PARODD) - buf.c_cflag |= _SYSV_PARODD; - if (termios_p->c_cflag & HUPCL) - buf.c_cflag |= _SYSV_HUPCL; - if (termios_p->c_cflag & CLOCAL) - buf.c_cflag |= _SYSV_CLOCAL; - switch (termios_p->c_cflag & CSIZE) - { - case CS5: - buf.c_cflag |= _SYSV_CS5; - break; - case CS6: - buf.c_cflag |= _SYSV_CS6; - break; - case CS7: - buf.c_cflag |= _SYSV_CS7; - break; - case CS8: - buf.c_cflag |= _SYSV_CS8; - break; - } - - buf.c_lflag = 0; - if (termios_p->c_lflag & ISIG) - buf.c_lflag |= _SYSV_ISIG; - if (termios_p->c_lflag & ICANON) - buf.c_lflag |= _SYSV_ICANON; - if (termios_p->c_lflag & ECHO) - buf.c_lflag |= _SYSV_ECHO; - if (termios_p->c_lflag & ECHOE) - buf.c_lflag |= _SYSV_ECHOE; - if (termios_p->c_lflag & ECHOK) - buf.c_lflag |= _SYSV_ECHOK; - if (termios_p->c_lflag & ECHONL) - buf.c_lflag |= _SYSV_ECHONL; - if (termios_p->c_lflag & NOFLSH) - buf.c_lflag |= _SYSV_NOFLSH; - if (termios_p->c_lflag & TOSTOP) - buf.c_lflag |= _SYSV_TOSTOP; - if (termios_p->c_lflag & ECHOCTL) - buf.c_lflag |= _SYSV_ECHOCTL; - if (termios_p->c_lflag & ECHOPRT) - buf.c_lflag |= _SYSV_ECHOPRT; - if (termios_p->c_lflag & ECHOKE) - buf.c_lflag |= _SYSV_ECHOKE; - if (termios_p->c_lflag & FLUSHO) - buf.c_lflag |= _SYSV_FLUSHO; - if (termios_p->c_lflag & PENDIN) - buf.c_lflag |= _SYSV_PENDIN; - if (termios_p->c_lflag & IEXTEN) - buf.c_lflag |= _SYSV_IEXTEN; - - buf.c_cc[_SYSV_VINTR] = termios_p->c_cc[VINTR]; - buf.c_cc[_SYSV_VQUIT] = termios_p->c_cc[VQUIT]; - buf.c_cc[_SYSV_VERASE] = termios_p->c_cc[VERASE]; - buf.c_cc[_SYSV_VKILL] = termios_p->c_cc[VKILL]; - if (buf.c_lflag & _SYSV_ICANON) - { - buf.c_cc[_SYSV_VEOF] = termios_p->c_cc[VEOF]; - buf.c_cc[_SYSV_VEOL] = termios_p->c_cc[VEOL]; - } - else - { - buf.c_cc[_SYSV_VMIN] = termios_p->c_cc[VMIN]; - buf.c_cc[_SYSV_VTIME] = termios_p->c_cc[VTIME]; - } - buf.c_cc[_SYSV_VEOL2] = termios_p->c_cc[VEOL2]; - - if (__ioctl (fd, ioctl_function, &buf) < 0) - return -1; - return 0; -} -libc_hidden_def (tcsetattr) diff --git a/sysdeps/unix/sysv/aix/times.c b/sysdeps/unix/sysv/aix/times.c deleted file mode 100644 index 8ebc40b021..0000000000 --- a/sysdeps/unix/sysv/aix/times.c +++ /dev/null @@ -1,30 +0,0 @@ -/* Copyright (C) 1999, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sys/times.h> - -/* Store the CPU time used by this process and all its - dead children (and their dead children) in BUFFER. - Return the elapsed real time, or (clock_t) -1 for errors. - All times are in CLK_TCKths of a second. */ -clock_t -__times (buffer) - struct tms *buffer; -{ - return times (buffer); -} diff --git a/sysdeps/unix/sysv/aix/truncate.c b/sysdeps/unix/sysv/aix/truncate.c deleted file mode 100644 index 247aebb330..0000000000 --- a/sysdeps/unix/sysv/aix/truncate.c +++ /dev/null @@ -1,28 +0,0 @@ -/* Copyright (C) 1999, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <unistd.h> - -extern int ktruncate (const char *name, long long int length); - -int -__truncate (const char *name, off_t length) -{ - return ktruncate (name, length); -} -strong_alias (__truncate, truncate) diff --git a/sysdeps/unix/sysv/aix/truncate64.c b/sysdeps/unix/sysv/aix/truncate64.c deleted file mode 100644 index 3a219c0184..0000000000 --- a/sysdeps/unix/sysv/aix/truncate64.c +++ /dev/null @@ -1,28 +0,0 @@ -/* Copyright (C) 1999, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <unistd.h> - -extern int ktruncate (const char *name, long long int length); - -int -__truncate64 (const char *name, off64_t length) -{ - return ktruncate (name, length); -} -strong_alias (__truncate64, truncate64) diff --git a/sysdeps/unix/sysv/aix/uitrunc.c b/sysdeps/unix/sysv/aix/uitrunc.c deleted file mode 100644 index 54cdc3af76..0000000000 --- a/sysdeps/unix/sysv/aix/uitrunc.c +++ /dev/null @@ -1,42 +0,0 @@ -/* Copyright (C) 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <math.h> - -/* The uitrunc function returns the nearest unsigned integer - to the x parameter in the direction of 0. This actions is - equivalent to truncation off the fraction bits of the x - parameter and then converting x to an unsigned integer. */ -unsigned int -__uitrunc (double x) -{ - double xrf; - unsigned int xr; - xr = (unsigned int) x; - xrf = (double) xr; - if (x >= 0.0) - if (x - xrf >= 0.5 && x - xrf < 1.0 && x + 1 > 0) - return x + 1; - else - return x; - else - if (xrf - x >= 0.5 && xrf - x < 1.0 && x - 1 < 0) - return x - 1; - else - return x; -} diff --git a/sysdeps/unix/sysv/aix/ulimit.c b/sysdeps/unix/sysv/aix/ulimit.c deleted file mode 100644 index 44fef64493..0000000000 --- a/sysdeps/unix/sysv/aix/ulimit.c +++ /dev/null @@ -1,37 +0,0 @@ -/* Copyright (C) 1999, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <stdarg.h> -#include <sys/resource.h> - -long int -__ulimit (int cmd, ...) -{ - va_list va; - long int arg; - long int res; - - va_start (va, cmd); - arg = va_arg (va, long int); - - res = ulimit (cmd, arg); - - va_end (va); - - return res; -} diff --git a/sysdeps/unix/sysv/aix/umask.c b/sysdeps/unix/sysv/aix/umask.c deleted file mode 100644 index e8c45e40b6..0000000000 --- a/sysdeps/unix/sysv/aix/umask.c +++ /dev/null @@ -1,26 +0,0 @@ -/* Copyright (C) 1999, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sys/stat.h> - -mode_t -__umask (mask) - mode_t mask; -{ - return umask (mask); -} diff --git a/sysdeps/unix/sysv/aix/uname.c b/sysdeps/unix/sysv/aix/uname.c deleted file mode 100644 index 6036fbbffd..0000000000 --- a/sysdeps/unix/sysv/aix/uname.c +++ /dev/null @@ -1 +0,0 @@ -/* This is a system call. */ diff --git a/sysdeps/unix/sysv/aix/unlink.c b/sysdeps/unix/sysv/aix/unlink.c deleted file mode 100644 index 6fe9b59c61..0000000000 --- a/sysdeps/unix/sysv/aix/unlink.c +++ /dev/null @@ -1,26 +0,0 @@ -/* Copyright (C) 1999, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <unistd.h> - -int -__unlink (name) - const char *name; -{ - return unlink (name); -} diff --git a/sysdeps/unix/sysv/aix/usleep.c b/sysdeps/unix/sysv/aix/usleep.c deleted file mode 100644 index a1d55eb2bc..0000000000 --- a/sysdeps/unix/sysv/aix/usleep.c +++ /dev/null @@ -1,34 +0,0 @@ -/* Copyright (C) 1991, 1992, 1995, 1996, 1997 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <time.h> -#include <unistd.h> -#include <errno.h> - -extern int __libc_nanosleep (const struct timespec *requested_time, - struct timespec *remaining); - -/* Sleep USECONDS microseconds, or until a previously set timer goes off. */ -int -usleep (useconds) - useconds_t useconds; -{ - struct timespec ts ={.tv_sec = 0, .tv_nsec = (long int)useconds * 1000}; - __libc_nanosleep(&ts,&ts); - return 0; -} diff --git a/sysdeps/unix/sysv/aix/ustat.c b/sysdeps/unix/sysv/aix/ustat.c deleted file mode 100644 index 6036fbbffd..0000000000 --- a/sysdeps/unix/sysv/aix/ustat.c +++ /dev/null @@ -1 +0,0 @@ -/* This is a system call. */ diff --git a/sysdeps/unix/sysv/aix/utimes.c b/sysdeps/unix/sysv/aix/utimes.c deleted file mode 100644 index 9bef02ae03..0000000000 --- a/sysdeps/unix/sysv/aix/utimes.c +++ /dev/null @@ -1,27 +0,0 @@ -/* Copyright (C) 1999, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sys/time.h> - -int -__utimes (file, tvp) - const char *file; - const struct timeval tvp[2]; -{ - return utimes (file, tvp); -} diff --git a/sysdeps/unix/sysv/aix/utmpx.h b/sysdeps/unix/sysv/aix/utmpx.h deleted file mode 100644 index 1647bfe681..0000000000 --- a/sysdeps/unix/sysv/aix/utmpx.h +++ /dev/null @@ -1,89 +0,0 @@ -/* Copyright (C) 1997, 1998, 1999 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _UTMPX_H -#define _UTMPX_H 1 - -#include <features.h> -#include <sys/time.h> - -/* Required according to Unix98. */ -#ifndef __pid_t_defined -typedef __pid_t pid_t; -# define __pid_t_defined -#endif - -/* Get system dependent values and data structures. */ -#include <bits/utmpx.h> - -#ifdef __USE_GNU -/* Compatibility names for the strings of the canonical file names. */ -# define UTMPX_FILE _PATH_UTMPX -# define UTMPX_FILENAME _PATH_UTMPX -# define WTMPX_FILE _PATH_WTMPX -# define WTMPX_FILENAME _PATH_WTMPX -#endif - -/* For the getutmp{,x} functions we need the `struct utmp'. */ -#ifdef __USE_GNU -struct utmp; -#endif - - -__BEGIN_DECLS - -/* Open user accounting database. */ -extern void setutxent (void) __THROW; - -/* Close user accounting database. */ -extern void endutxent (void) __THROW; - -/* Get the next entry from the user accounting database. */ -extern struct utmpx *getutxent (void) __THROW; - -/* Get the user accounting database entry corresponding to ID. */ -extern struct utmpx *getutxid (__const struct utmpx *__id) __THROW; - -/* Get the user accounting database entry corresponding to LINE. */ -extern struct utmpx *getutxline (__const struct utmpx *__line) __THROW; - -/* Write the entry UTMPX into the user accounting database. */ -extern struct utmpx *pututxline (__const struct utmpx *__utmpx) __THROW; - - -#ifdef __USE_GNU -/* Change name of the utmpx file to be examined. */ -extern int utmpxname (__const char *__file) __THROW; - -/* Append entry UTMP to the wtmpx-like file WTMPX_FILE. */ -extern void updwtmpx (__const char *__wtmpx_file, - __const struct utmpx *__utmpx) __THROW; - - -/* Copy the information in UTMPX to UTMP. */ -extern void getutmp (__const struct utmpx *__utmpx, - struct utmp *__utmp) __THROW; - -/* Copy the information in UTMP to UTMPX. */ -extern void getutmpx (__const struct utmp *__utmp, - struct utmpx *__utmpx) __THROW; -#endif - -__END_DECLS - -#endif /* utmpx.h */ diff --git a/sysdeps/unix/sysv/aix/wait3.c b/sysdeps/unix/sysv/aix/wait3.c deleted file mode 100644 index b0f7faa150..0000000000 --- a/sysdeps/unix/sysv/aix/wait3.c +++ /dev/null @@ -1,42 +0,0 @@ -/* Copyright (C) 1992, 93, 1995-1999, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <errno.h> -#include <sys/wait.h> -#include <sys/types.h> -#include <stddef.h> - -extern pid_t kwaitpid (int *stat_loc, pid_t pid, int options, - struct rusage *ru_loc, siginfo_t *infop); - -/* Wait for a child to exit. When one does, put its status in *STAT_LOC and - return its process ID. For errors return (pid_t) -1. If USAGE is not nil, - store information about the child's resource usage (as a `struct rusage') - there. If the WUNTRACED bit is set in OPTIONS, return status for stopped - children; otherwise don't. */ -pid_t -__wait3 (__WAIT_STATUS stat_loc, int options, struct rusage *usage) -{ - if (usage != NULL) - { - __set_errno (ENOSYS); - return (pid_t) -1; - } - return kwaitpid (stat_loc.__iptr, WAIT_ANY, options, usage, NULL); -} -strong_alias (__wait3, wait3) diff --git a/sysdeps/unix/sysv/aix/wait4.c b/sysdeps/unix/sysv/aix/wait4.c deleted file mode 100644 index dd08f42782..0000000000 --- a/sysdeps/unix/sysv/aix/wait4.c +++ /dev/null @@ -1,33 +0,0 @@ -/* Copyright (C) 1991, 1992, 1995-1997, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <errno.h> -#include <stddef.h> -#include <sys/types.h> -#include <sys/wait.h> - -extern pid_t kwaitpid (int *stat_loc, pid_t pid, int options, - struct rusage *ru_loc, siginfo_t *infop); - -pid_t -__wait4 (__pid_t pid, __WAIT_STATUS stat_loc, int options, - struct rusage *usage) -{ - return kwaitpid (stat_loc.__iptr, pid, options, usage, NULL); -} -strong_alias (__wait4, wait4) diff --git a/sysdeps/unix/sysv/aix/waitid.c b/sysdeps/unix/sysv/aix/waitid.c deleted file mode 100644 index 1d637df76e..0000000000 --- a/sysdeps/unix/sysv/aix/waitid.c +++ /dev/null @@ -1,83 +0,0 @@ -/* Pseudo implementation of waitid. - Copyright (C) 1997, 1998, 2000, 2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Zack Weinberg <zack@rabi.phys.columbia.edu>, 1997. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <errno.h> -#include <signal.h> -#define __need_NULL -#include <stddef.h> -#include <sys/wait.h> -#include <sys/types.h> - -#include <assert.h> - -extern pid_t kwaitpid (int *stat_loc, pid_t pid, int options, - struct rusage *ru_loc, siginfo_t *infop); - -int -__waitid (idtype, id, infop, options) - idtype_t idtype; - id_t id; - siginfo_t *infop; - int options; -{ - pid_t pid, child; - int status; - - switch (idtype) - { - case P_PID: - if(id <= 0) - goto invalid; - pid = (pid_t) id; - break; - case P_PGID: - if (id < 0 || id == 1) - goto invalid; - pid = (pid_t) -id; - break; - case P_ALL: - pid = -1; - break; - default: - invalid: - __set_errno (EINVAL); - return -1; - } - - /* Technically we're supposed to return EFAULT if infop is bogus, - but that would involve mucking with signals, which is - too much hassle. User will have to deal with SIGSEGV/SIGBUS. - We just check for a null pointer. */ - - if (infop == NULL) - { - __set_errno (EFAULT); - return -1; - } - - child = kwaitpid (&status, pid, options, NULL, infop); - - if (child == -1) - /* `waitpid' set `errno' for us. */ - return -1; - - return 0; -} -weak_alias (__waitid, waitid) diff --git a/sysdeps/unix/sysv/aix/waitpid.c b/sysdeps/unix/sysv/aix/waitpid.c deleted file mode 100644 index 19bcbab722..0000000000 --- a/sysdeps/unix/sysv/aix/waitpid.c +++ /dev/null @@ -1,53 +0,0 @@ -/* Copyright (C) 1991,95,96,97,2000,02 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <errno.h> -#include <stddef.h> -#include <sys/wait.h> -#include <sys/types.h> - -extern pid_t kwaitpid (int *stat_loc, pid_t pid, int options, - struct rusage *ru_loc, siginfo_t *infop); - - -/* Wait for a child matching PID to die. - If PID is greater than 0, match any process whose process ID is PID. - If PID is (pid_t) -1, match any process. - If PID is (pid_t) 0, match any process with the - same process group as the current process. - If PID is less than -1, match any process whose - process group is the absolute value of PID. - If the WNOHANG bit is set in OPTIONS, and that child - is not already dead, return (pid_t) 0. If successful, - return PID and store the dead child's status in STAT_LOC. - Return (pid_t) -1 for errors. If the WUNTRACED bit is set in OPTIONS, - return status for stopped children; otherwise don't. */ -pid_t -__libc_waitpid (pid_t pid, int *stat_loc, int options) -{ - if ((options & ~(WNOHANG|WUNTRACED)) != 0) - { - __set_errno (EINVAL); - return (pid_t) -1; - } - - return kwaitpid (stat_loc, pid, options, NULL, NULL); -} -weak_alias (__libc_waitpid, __waitpid) -libc_hidden_weak (__waitpid) -weak_alias (__libc_waitpid, waitpid) diff --git a/sysdeps/unix/sysv/aix/write.c b/sysdeps/unix/sysv/aix/write.c deleted file mode 100644 index 0cc5d33aca..0000000000 --- a/sysdeps/unix/sysv/aix/write.c +++ /dev/null @@ -1,36 +0,0 @@ -/* Copyright (C) 1999, 2000, 2001, 2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Ulrich Drepper <drepper@cygnus.com>, 1999. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <unistd.h> - -#include "kernel_proto.h" - -ssize_t -__write (fd, ptr, n) - int fd; - const void *ptr; - size_t n; -{ - return kwrite (fd, ptr, n); -} -libc_hidden_def (__write) -/* AIX has no weak aliases (yet) but let's hope for better times. */ -weak_alias (__write, write) -strong_alias (__write, __libc_write) -libc_hidden_def (__libc_write) diff --git a/sysdeps/unix/sysv/aix/writev.c b/sysdeps/unix/sysv/aix/writev.c deleted file mode 100644 index d0e5741590..0000000000 --- a/sysdeps/unix/sysv/aix/writev.c +++ /dev/null @@ -1,38 +0,0 @@ -/* Copyright (C) 1991, 1995-1998, 2000, 2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sys/uio.h> - -extern ssize_t kwritev (int fd, const struct iovec *iovp, size_t iovcnt, - long int ext); - -/* Read data from file descriptor FD, and put the result in the - buffers described by VECTOR, which is a vector of COUNT `struct iovec's. - The buffers are filled in the order specified. - Operates just like `read' (see <unistd.h>) except that data are - put in VECTOR instead of a contiguous buffer. */ -ssize_t -__libc_writev (fd, vector, count) - int fd; - const struct iovec *vector; - int count; -{ - return kwritev (fd, vector, count, 0); -} -strong_alias (__libc_writev, __writev) -weak_alias (__libc_writev, writev) diff --git a/sysdeps/unix/sysv/aix/xstat.c b/sysdeps/unix/sysv/aix/xstat.c deleted file mode 100644 index c76ad07999..0000000000 --- a/sysdeps/unix/sysv/aix/xstat.c +++ /dev/null @@ -1,32 +0,0 @@ -/* Copyright (C) 1999, 2000, 2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <assert.h> -#include <sys/stat.h> - -#define STX_NORMAL 0x00 - -extern int statx (const char *pathname, struct stat *st, int len, int cmd); - -int -__xstat (int ver, const char *pathname, struct stat *st) -{ - assert (ver == 0); - return statx (pathname, st, sizeof (*st), STX_NORMAL); -} -hidden_def (__xstat) diff --git a/sysdeps/unix/sysv/aix/xstat64.c b/sysdeps/unix/sysv/aix/xstat64.c deleted file mode 100644 index cb1bea1182..0000000000 --- a/sysdeps/unix/sysv/aix/xstat64.c +++ /dev/null @@ -1,34 +0,0 @@ -/* Copyright (C) 1999, 2000, 2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <assert.h> -#include <sys/stat.h> - -#define STX_NORMAL 0x00 -#define STX_64 0x08 - - -extern int statx (const char *pathname, struct stat64 *st, int len, int cmd); - -int -__xstat64 (int ver, const char *pathname, struct stat64 *st) -{ - assert (ver == 0); - return statx (pathname, st, sizeof (*st), STX_NORMAL | STX_64); -} -hidden_def (__xstat64) diff --git a/sysdeps/unix/sysv/hpux/bits/errno.h b/sysdeps/unix/sysv/hpux/bits/errno.h deleted file mode 100644 index c9903c6dfe..0000000000 --- a/sysdeps/unix/sysv/hpux/bits/errno.h +++ /dev/null @@ -1,34 +0,0 @@ -/* Copyright (C) 1991, 1994, 1996, 1997 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* This file defines the `errno' constants. */ - -#if !defined __Emath_defined && (defined _ERRNO_H || defined __need_Emath) -#undef __need_Emath -#define __Emath_defined 1 - -#endif - -#ifdef _ERRNO_H -#define EBADF 9 -#define ENOMEM 12 -#define EINVAL 22 -#define ERANGE 34 -#define ENOMSG 35 -#define ENOSYS 251 -#endif diff --git a/sysdeps/unix/sysv/hpux/bits/setjmp.h b/sysdeps/unix/sysv/hpux/bits/setjmp.h deleted file mode 100644 index 216d7bdd64..0000000000 --- a/sysdeps/unix/sysv/hpux/bits/setjmp.h +++ /dev/null @@ -1,16 +0,0 @@ -/* Define the machine-dependent type `jmp_buf'. Stub version. */ - -#ifndef _SETJMP_H -# error "Never include <bits/setjmp.h> directly; use <setjmp.h> instead." -#endif - -/* XXX This should go into different files!!! */ - -#ifdef __hp9000s300 -typedef int __jmp_buf[100]; -#endif /* __hp9000s300 */ - -#ifdef __hp9000s800 -typedef double __jmp_buf[25]; -#endif /* __hp9000s800 */ - diff --git a/sysdeps/unix/sysv/hpux/bits/stat.h b/sysdeps/unix/sysv/hpux/bits/stat.h deleted file mode 100644 index 845b29765f..0000000000 --- a/sysdeps/unix/sysv/hpux/bits/stat.h +++ /dev/null @@ -1,128 +0,0 @@ -/* Copyright (C) 1992, 95, 96, 97, 98, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SYS_STAT_H -# error "Never include <bits/stat.h> directly; use <sys/stat.h> instead." -#endif - -/* Versions of the `struct stat' data structure. */ -#define _STAT_VER_SVR4 1 -#define _STAT_VER _STAT_VER_SVR4 /* The one defined below. */ - -/* Versions of the `xmknod' interface. */ -#define _MKNOD_VER_SVR4 1 -#define _MKNOD_VER _MKNOD_VER_SVR4 /* The bits defined below. */ - - -struct stat - { - __dev_t st_dev; /* Device. */ - unsigned short int __pad1; -#ifndef __USE_FILE_OFFSET64 - __ino_t st_ino; /* File serial number. */ -#else - __ino64_t st_ino; /* File serial number. */ -#endif - __mode_t st_mode; /* File mode. */ - __nlink_t st_nlink; /* Link count. */ - __uid_t st_uid; /* User ID of the file's owner. */ - __gid_t st_gid; /* Group ID of the file's group.*/ - __dev_t st_rdev; /* Device number, if device. */ - unsigned short int __pad2; -#ifndef __USE_FILE_OFFSET64 - __off_t st_size; /* Size of file, in bytes. */ -#else - __off64_t st_size; /* Size of file, in bytes. */ -#endif - unsigned long int st_blksize; /* Optimal block size for I/O. */ - -#ifndef __USE_FILE_OFFSET64 - __blkcnt_t st_blocks; /* Number 512-byte blocks allocated. */ -#else - __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */ -#endif - __time_t st_atime; /* Time of last access. */ - unsigned long int __unused1; - __time_t st_mtime; /* Time of last modification. */ - unsigned long int __unused2; - __time_t st_ctime; /* Time of last status change. */ - unsigned long int __unused3; - unsigned long int __unused4; - unsigned long int __unused5; - }; - -#ifdef __USE_LARGEFILE64 -struct stat64 - { - __dev_t st_dev; /* Device. */ - unsigned short int __pad1; - - __ino64_t st_ino; /* File serial number. */ - __mode_t st_mode; /* File mode. */ - __nlink_t st_nlink; /* Link count. */ - __uid_t st_uid; /* User ID of the file's owner. */ - __gid_t st_gid; /* Group ID of the file's group.*/ - __dev_t st_rdev; /* Device number, if device. */ - unsigned short int __pad2; - __off64_t st_size; /* Size of file, in bytes. */ - unsigned long int st_blksize; /* Optimal block size for I/O. */ - - __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */ - __time_t st_atime; /* Time of last access. */ - unsigned long int __unused1; - __time_t st_mtime; /* Time of last modification. */ - unsigned long int __unused2; - __time_t st_ctime; /* Time of last status change. */ - unsigned long int __unused3; - unsigned long int __unused4; - unsigned long int __unused5; - }; -#endif - -/* Tell code we have these members. */ -#define _STATBUF_ST_BLKSIZE -#define _STATBUF_ST_RDEV - -/* Encoding of the file mode. */ - -#define __S_IFMT 0170000 /* These bits determine file type. */ - -/* File types. */ -#define __S_IFDIR 0040000 /* Directory. */ -#define __S_IFCHR 0020000 /* Character device. */ -#define __S_IFBLK 0060000 /* Block device. */ -#define __S_IFREG 0100000 /* Regular file. */ -#define __S_IFIFO 0010000 /* FIFO. */ - -/* These don't actually exist on System V, but having them doesn't hurt. */ -#define __S_IFLNK 0120000 /* Symbolic link. */ -#define __S_IFSOCK 0140000 /* Socket. */ - -/* POSIX.1b objects. */ -#define __S_TYPEISMQ(buf) (0) -#define __S_TYPEISSEM(buf) (0) -#define __S_TYPEISSHM(buf) (0) - -/* Protection bits. */ - -#define __S_ISUID 04000 /* Set user ID on execution. */ -#define __S_ISGID 02000 /* Set group ID on execution. */ -#define __S_ISVTX 01000 /* Save swapped text after use (sticky). */ -#define __S_IREAD 0400 /* Read by owner. */ -#define __S_IWRITE 0200 /* Write by owner. */ -#define __S_IEXEC 0100 /* Execute by owner. */ diff --git a/sysdeps/unix/sysv/hpux/bits/types.h b/sysdeps/unix/sysv/hpux/bits/types.h deleted file mode 100644 index e231841a83..0000000000 --- a/sysdeps/unix/sysv/hpux/bits/types.h +++ /dev/null @@ -1,128 +0,0 @@ -/* Copyright (C) 1991,1992,1994-1998,2000,2001 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* - * Never include this file directly; use <sys/types.h> instead. - */ - -#ifndef _BITS_TYPES_H -#define _BITS_TYPES_H 1 - -#include <features.h> - -#define __need_size_t -#include <stddef.h> - -/* Convenience types. */ -typedef unsigned char __u_char; -typedef unsigned short __u_short; -typedef unsigned int __u_int; -typedef unsigned long __u_long; -#ifdef __GNUC__ -__extension__ typedef unsigned long long int __u_quad_t; -__extension__ typedef long long int __quad_t; -#else -typedef struct - { - long int __val[2]; - } __quad_t; -typedef struct - { - __u_long __val[2]; - } __u_quad_t; -#endif -typedef signed char __int8_t; -typedef unsigned char __uint8_t; -typedef signed short int __int16_t; -typedef unsigned short int __uint16_t; -typedef signed int __int32_t; -typedef unsigned int __uint32_t; -#ifdef __GNUC__ -__extension__ typedef signed long long int __int64_t; -__extension__ typedef unsigned long long int __uint64_t; -#endif -typedef __quad_t *__qaddr_t; - -typedef long int __dev_t; /* Type of device numbers. */ -typedef long int __uid_t; /* Type of user identifications. */ -typedef long int __gid_t; /* Type of group identifications. */ -typedef __u_long __ino_t; /* Type of file serial numbers. */ -typedef __u_short __mode_t; /* Type of file attribute bitmasks. */ -typedef short __nlink_t; /* Type of file link counts. */ -typedef long int __off_t; /* Type of file sizes and offsets. */ -typedef __quad_t __loff_t; /* Type of file sizes and offsets. */ -typedef long int __pid_t; /* Type of process identifications. */ -typedef long int __ssize_t; /* Type of a byte count, or error. */ -typedef __u_long __rlim_t; /* Type of resource counts. */ -typedef __quad_t __rlim64_t; /* Type of resource counts (LFS). */ -typedef long int __id_t; /* General type for ID. */ - -typedef struct - { - long int __val[2]; - } __fsid_t; /* Type of file system IDs. */ - -/* Everythin' else. */ -typedef long int __daddr_t; /* The type of a disk address. */ -typedef char *__caddr_t; -typedef long int __time_t; -typedef long int __swblk_t; /* Type of a swap block maybe? */ - -typedef __u_long __clock_t; - -/* Number of descriptors that can fit in an `fd_set'. */ -#define __FD_SETSIZE 2048 - - -typedef long int __key_t; - -/* Used in `struct shmid_ds'. */ -typedef unsigned short int __ipc_pid_t; - - -/* Types from the Large File Support interface. */ - -/* Type to count number os disk blocks. */ -typedef __u_long __blkcnt_t; -typedef __u_quad_t __blkcnt64_t; - -/* Type to count file system blocks. */ -typedef long int __fsblkcnt_t; -typedef __quad_t __fsblkcnt64_t; - -/* Type to count file system inodes. */ -typedef __u_long __fsfilcnt_t; -typedef __u_quad_t __fsfilcnt64_t; - -/* Type of file serial numbers. */ -typedef __u_long __ino64_t; - -/* Type of file sizes and offsets. */ -typedef __loff_t __off64_t; - -/* Used in XTI. */ -typedef int __t_scalar_t; -typedef unsigned int __t_uscalar_t; - -/* Duplicates info from stdint.h but this is used in unistd.h. */ -typedef int __intptr_t; - -/* Duplicate info from sys/socket.h. */ -typedef unsigned int __socklen_t; - -#endif /* bits/types.h */ diff --git a/sysdeps/unix/sysv/hpux/sysdep.h b/sysdeps/unix/sysv/hpux/sysdep.h deleted file mode 100644 index 89a3377116..0000000000 --- a/sysdeps/unix/sysv/hpux/sysdep.h +++ /dev/null @@ -1,26 +0,0 @@ -/* Copyright (C) 1999 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Ulrich Drepper, <drepper@cygnus.com>, August 1999. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* No underscores necessary. */ -#define NO_UNDERSCORES - -#include <sysdeps/hppa/sysdep.h> - -/* HPUX uses the usual syscall naming. */ -#define SYS_ify(name) SYS_##name diff --git a/sysdeps/unix/sysv/irix4/Dist b/sysdeps/unix/sysv/irix4/Dist deleted file mode 100644 index 09026af264..0000000000 --- a/sysdeps/unix/sysv/irix4/Dist +++ /dev/null @@ -1,2 +0,0 @@ -__handler.S -sigtramp.c diff --git a/sysdeps/unix/sysv/irix4/Implies b/sysdeps/unix/sysv/irix4/Implies deleted file mode 100644 index 35e1edd830..0000000000 --- a/sysdeps/unix/sysv/irix4/Implies +++ /dev/null @@ -1,4 +0,0 @@ -# Irix 4 has the set of things which are also common to BSD and SVR4. -unix/common -# Irix 4 has the canonical set of <sys/mman.h> system calls. -unix/mman diff --git a/sysdeps/unix/sysv/irix4/Makefile b/sysdeps/unix/sysv/irix4/Makefile deleted file mode 100644 index d07981e8f7..0000000000 --- a/sysdeps/unix/sysv/irix4/Makefile +++ /dev/null @@ -1,25 +0,0 @@ -# Copyright (C) 1993, 1997 Free Software Foundation, Inc. -# This file is part of the GNU C Library. - -# The GNU C Library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. - -# The GNU C Library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. - -# You should have received a copy of the GNU Lesser General Public -# License along with the GNU C Library; if not, write to the Free -# Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA -# 02111-1307 USA. - -ifeq ($(subdir),signal) -sysdep_routines := $(sysdep_routines) sigtramp __handler -endif - -ifeq ($(subdir),misc) -sysdep_routines := $(sysdep_routines) syssgi sysmp -endif diff --git a/sysdeps/unix/sysv/irix4/__handler.S b/sysdeps/unix/sysv/irix4/__handler.S deleted file mode 100644 index f02121a0c2..0000000000 --- a/sysdeps/unix/sysv/irix4/__handler.S +++ /dev/null @@ -1,117 +0,0 @@ -/* Copyright (C) 1992, 1997 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Brendan Kehoe (brendan@cs.widener.edu). - Also hacked by Ian Lance Taylor (ian@airs.com). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sysdep.h> - -/* This function saves all the registers, calls the - user function, and then executes a sigreturn system call. The - sigreturn call wants the address of a sigcontext structure. This - is all hideously system dependent and, for all intents and - purposes, undocumented. - - When we enter here, a3 holds the user's signal handler. We are - supposed to fill in the context given in a2, and then pass it and - the first two arguments to the user's function. If the user's - function returns, we execute a sigreturn system call. - - The sc_onstack, sc_mask and sc_pc elements of the context are - already set by the kernel. For some reason we don't have to save - the floating point state or the coprocessor state; the kernel may - have saved them for us, or it doesn't use them. */ - -.set noat -ENTRY (__handler) -#if 0 - /* Store zero and the asm temp reg. */ - sw $0, 12(a2) - sw AT, 16(a2) - - /* Put v1 in sc_regs[3]. */ - sw v1, 24(a2) - - /* Save the caller saved registers in sc_regs[8..15]. */ - sw t0, 44(a2) - sw t1, 48(a2) - sw t2, 52(a2) - sw t3, 56(a2) - sw t4, 60(a2) - sw t5, 64(a2) - sw t6, 68(a2) - sw t7, 72(a2) - - /* Save the callee saved registers in sc_regs[16..23]. */ - sw s0, 76(a2) - sw s1, 80(a2) - sw s2, 84(a2) - sw s3, 88(a2) - sw s4, 92(a2) - sw s5, 96(a2) - sw s6, 100(a2) - sw s7, 104(a2) - - /* Save the code generator registers in sc_regs[24] & sc_regs[25]. */ - sw t8, 108(a2) - sw t9, 112(a2) - - /* Save the kernel temp regs in sc_regs[26] & sc_regs[27]. */ - sw k0, 116(a2) - sw k1, 120(a2) - - /* Save the global pointer in sc_regs[28]. */ - sw gp, 124(a2) - - /* ... and also the return address in sc_regs[31]. */ - sw ra, 136(a2) - - /* Note: we don't save the stack pointer in sc_regs[29]; - instead, we use the one that was already there. */ -#if 0 - sw sp, 128(a2) -#endif - - /* Save the floating pointer in sc_regs[30]. */ - sw fp, 132(a2) - - /* Save the mul/div stuff in sc_mdlo and sc_mdhi. */ - mflo t0 - sw t0, 140(a2) - mfhi t0 - sw t0, 144(a2) - -#endif - /* Move the stack up six. This will save the context. */ - addu sp, sp, -24 - sw a2, 16(sp) - - /* Call their handler with the signal, code, and context; note - this will clobber the context. */ - .set noreorder - jal ra, a3 - nop - .set reorder - - /* When we come back, restore the context and pass it right - on into sigreturn(). */ - lw a0, 16(sp) - - /* Do a sigreturn syscall; this doesn't return. */ - li v0, SYS_sigreturn - syscall - nop diff --git a/sysdeps/unix/sysv/irix4/bits/confname.h b/sysdeps/unix/sysv/irix4/bits/confname.h deleted file mode 100644 index ed334694cd..0000000000 --- a/sysdeps/unix/sysv/irix4/bits/confname.h +++ /dev/null @@ -1,84 +0,0 @@ -/* `sysconf', `pathconf', and `confstr' NAME values. Irix 4 version. - Copyright (C) 1994, 1997 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _UNISTD_H -# error "Never use <bits/confname.h> directly; include <unistd.h> instead." -#endif - -/* Values for the NAME argument to `pathconf' and `fpathconf'. */ -enum - { - _PC_LINK_MAX = 1, - _PC_MAX_CANON, - _PC_MAX_INPUT, - _PC_NAME_MAX, - _PC_PATH_MAX, - _PC_PIPE_BUF, - _PC_CHOWN_RESTRICTED, - _PC_NO_TRUNC, - _PC_VDISABLE - }; - -/* Values for the argument to `sysconf'. */ -enum - { - _SC_ARG_MAX = 1, - _SC_CHILD_MAX, - _SC_CLK_TCK, - _SC_NGROUPS_MAX, - _SC_OPEN_MAX, - _SC_JOB_CONTROL, - _SC_SAVED_IDS, - _SC_VERSION, - - /* Above are done by the Irix system call. - The rest are done by the C library (or are not really implemented). */ - - _SC_STREAM_MAX, - _SC_TZNAME_MAX, - _SC_PAGESIZE, - - /* Values for the argument to `sysconf' - corresponding to _POSIX2_* symbols. */ - _SC_BC_BASE_MAX, - _SC_BC_DIM_MAX, - _SC_BC_SCALE_MAX, - _SC_BC_STRING_MAX, - _SC_COLL_WEIGHTS_MAX, - _SC_EQUIV_CLASS_MAX, - _SC_EXPR_NEST_MAX, - _SC_LINE_MAX, - _SC_RE_DUP_MAX, - - _SC_2_VERSION, - _SC_2_C_BIND, - _SC_2_C_DEV, - _SC_2_FORT_DEV, - _SC_2_FORT_RUN, - _SC_2_SW_DEV, - _SC_2_LOCALEDEF - }; - -#ifdef __USE_POSIX2 -/* Values for the NAME argument to `confstr'. */ -enum - { - _CS_PATH /* The default search path. */ - }; -#endif diff --git a/sysdeps/unix/sysv/irix4/bits/fcntl.h b/sysdeps/unix/sysv/irix4/bits/fcntl.h deleted file mode 100644 index 5eb7c76eb7..0000000000 --- a/sysdeps/unix/sysv/irix4/bits/fcntl.h +++ /dev/null @@ -1,109 +0,0 @@ -/* O_*, F_*, FD_* bit values for SGI Irix 4. - Copyright (C) 1994, 1997, 2004 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _FCNTL_H -#error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead." -#endif - - -/* File access modes for `open' and `fcntl'. */ -#define O_RDONLY 0 /* Open read-only. */ -#define O_WRONLY 1 /* Open write-only. */ -#define O_RDWR 2 /* Open read/write. */ - - -/* Bits OR'd into the second argument to open. */ -#define O_CREAT 00400 /* Create file if it doesn't exist. */ -#define O_EXCL 02000 /* Fail if file already exists. */ -#define O_TRUNC 01000 /* Truncate file to zero length. */ -#ifdef __USE_MISC -#define O_SYNC 00020 /* Synchronous writes. */ -#define O_FSYNC O_SYNC -#define O_ASYNC 00100 /* Send SIGIO to owner when data is ready. */ -#endif - -/* File status flags for `open' and `fcntl'. */ -#define O_APPEND 000010 /* Writes append to the file. */ -#ifdef __USE_BSD -#define O_NDELAY 000004 /* Non-blocking I/O. */ -#endif -#define O_NONBLOCK 000200 /* POSIX.1 non-blocking I/O. */ - -/* Mask for file access modes. This is system-dependent in case - some system ever wants to define some other flavor of access. */ -#define O_ACCMODE (O_RDONLY|O_WRONLY|O_RDWR) - -/* Values for the second argument to `fcntl'. */ -#define F_DUPFD 0 /* Duplicate file descriptor. */ -#define F_GETFD 1 /* Get file descriptor flags. */ -#define F_SETFD 2 /* Set file descriptor flags. */ -#define F_GETFL 3 /* Get file status flags. */ -#define F_SETFL 4 /* Set file status flags. */ -#define F_GETLK 5 /* Get record locking info. */ -#define F_SETLK 6 /* Set record locking info. */ -#define F_SETLKW 7 /* Set record locking info, wait. */ -#ifdef __USE_MISC -#define F_CHKFL 8 /* Check legality of file flag changes. */ -#define F_ALLOCSP 10 -#define F_FREESP 11 -#define F_SETBSDLK 12 /* Set Berkeley record lock. */ -#define F_SETBSDLKW 13 /* Set Berkeley record lock and wait. */ -#define F_RGETLK 20 /* Get info on a remote lock. */ -#define F_RSETLK 21 /* Set or unlock a remote lock. */ -#define F_RSETLKW 22 /* Set or unlock a remote lock and wait. */ -#endif -#if defined __USE_BSD || defined __USE_UNIX98 -#define F_GETOWN 10 /* Get owner; only works on sockets. */ -#define F_SETOWN 11 /* Set owner; only works on sockets. */ -#endif - - -/* File descriptor flags used with F_GETFD and F_SETFD. */ -#define FD_CLOEXEC 1 /* Close on exec. */ - - -#include <bits/types.h> - -/* The structure describing an advisory lock. This is the type of the third - argument to `fcntl' for the F_GETLK, F_SETLK, and F_SETLKW requests. */ -struct flock - { - short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ - short int l_whence; /* Where `l_start' is relative to (like `lseek'). */ - __off_t l_start; /* Offset where the lock begins. */ - __off_t l_len; /* Size of the locked area; zero means until EOF. */ - short int l_sysid; /* System ID where locking process resides. */ - short int l_pid; /* Process holding the lock. */ - }; - -/* Values for the `l_type' field of a `struct flock'. */ -#define F_RDLCK 1 /* Read lock. */ -#define F_WRLCK 2 /* Write lock. */ -#define F_UNLCK 3 /* Remove lock. */ - - -/* Define some more compatibility macros to be backward compatible with - BSD systems which did not managed to hide these kernel macros. */ -#ifdef __USE_BSD -#define FAPPEND O_APPEND -#define FFSYNC O_FSYNC -#define FASYNC O_ASYNC -#define FNONBLOCK O_NONBLOCK -#define FNDELAY O_NDELAY -#endif /* Use BSD. */ diff --git a/sysdeps/unix/sysv/irix4/bits/mman.h b/sysdeps/unix/sysv/irix4/bits/mman.h deleted file mode 100644 index 1549ff01c7..0000000000 --- a/sysdeps/unix/sysv/irix4/bits/mman.h +++ /dev/null @@ -1,64 +0,0 @@ -/* Definitions for BSD-style memory management. Irix 4 version. - Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _BITS_MMAN_H -#define _BITS_MMAN_H 1 - -/* Protections are chosen from these bits, OR'd together. The - implementation does not necessarily support PROT_EXEC or PROT_WRITE - without PROT_READ. The only guarantees are that no writing will be - allowed without PROT_WRITE and no access will be allowed for PROT_NONE. */ - -#define PROT_NONE 0x00 /* No access. */ -#define PROT_READ 0x04 /* Pages can be read. */ -#define PROT_WRITE 0x02 /* Pages can be written. */ -#define PROT_EXEC 0x01 /* Pages can be executed. */ -#ifdef __USE_MISC -# define PROT_EXECUTE PROT_EXEC -#endif - -/* Sharing types (must choose one and only one of these). */ -#define MAP_SHARED 0x01 /* Share changes. */ -#define MAP_PRIVATE 0x02 /* Changes private; copy pages on write. */ -#ifdef __USE_BSD -# define MAP_TYPE 0x0f /* Mask for sharing type. */ -#endif - -/* Other flags. */ -#define MAP_FIXED 0x10 /* Map address must be exactly as requested. */ -#ifdef __USE_MISC -# define MAP_RENAME 0x20 /* Rename private pages to file. */ -# define MAP_AUTOGROW 0x40 /* Grow file as pages are written. */ -# define MAP_LOCAL 0x80 /* Copy the mapped region on fork. */ -#endif - -/* Advice to `madvise'. */ -#ifdef __USE_BSD -# define MADV_NORMAL 0 /* No further special treatment. */ -# define MADV_RANDOM 1 /* Expect random page references. */ -# define MADV_SEQUENTIAL 2 /* Expect sequential page references. */ -# define MADV_WILLNEED 3 /* Will need these pages. */ -# define MADV_DONTNEED 4 /* Don't need these pages. */ -#endif - -/* Flags to `msync'. */ -#define MS_ASYNC 0x1 /* Return immediately, don't fsync. */ -#define MS_INVALIDATE 0x2 /* Invalidate caches. */ - -#endif /* bits/mman.h */ diff --git a/sysdeps/unix/sysv/irix4/bits/signum.h b/sysdeps/unix/sysv/irix4/bits/signum.h deleted file mode 100644 index c96ab9d2b9..0000000000 --- a/sysdeps/unix/sysv/irix4/bits/signum.h +++ /dev/null @@ -1,69 +0,0 @@ -/* Signal number definitions. Irix4 version. - Copyright (C) 1994, 1996 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifdef _SIGNAL_H - -/* This file defines the fake signal functions and signal - number constants for SGI Irix 4. */ - -/* Fake signal functions. */ -#define SIG_ERR ((__sighandler_t) -1) -#define SIG_DFL ((__sighandler_t) 0) -#define SIG_IGN ((__sighandler_t) 1) - - -/* Signals. */ -#define SIGHUP 1 /* Hangup (POSIX). */ -#define SIGINT 2 /* Interrupt (ANSI). */ -#define SIGQUIT 3 /* Quit (POSIX). */ -#define SIGILL 4 /* Illegal instruction (ANSI). */ -#define SIGABRT SIGIOT /* Abort (ANSI). */ -#define SIGTRAP 5 /* Trace trap (POSIX). */ -#define SIGIOT 6 /* IOT trap. */ -#define SIGEMT 7 /* EMT trap. */ -#define SIGFPE 8 /* Floating-point exception (ANSI). */ -#define SIGKILL 9 /* Kill, unblockable (POSIX). */ -#define SIGBUS 10 /* Bus error. */ -#define SIGSEGV 11 /* Segmentation violation (ANSI). */ -#define SIGSYS 12 /* Bad argument to system call*/ -#define SIGPIPE 13 /* Broken pipe (POSIX). */ -#define SIGALRM 14 /* Alarm clock (POSIX). */ -#define SIGTERM 15 /* Termination (ANSI). */ -#define SIGUSR1 16 /* User-defined signal 1 (POSIX). */ -#define SIGUSR2 17 /* User-defined signal 2 (POSIX). */ -#define SIGCHLD 18 /* Child status has changed (POSIX). */ -#define SIGCLD SIGCHLD /* Same as SIGCHLD (System V). */ -#define SIGPWR 19 /* Power going down. */ -#define SIGSTOP 20 /* Stop, unblockable (POSIX). */ -#define SIGTSTP 21 /* Keyboard stop (POSIX). */ -#define SIGPOLL 22 /* Same as SIGIO? (SVID). */ -#define SIGIO 23 /* I/O now possible. */ -#define SIGURG 24 /* Urgent condition on socket.*/ -#define SIGWINCH 25 /* Window size change. */ -#define SIGVTALRM 26 /* Virtual alarm clock. */ -#define SIGPROF 27 /* Profiling alarm clock. */ -#define SIGCONT 28 /* Continue (POSIX). */ -#define SIGTTIN 29 /* Background read from tty (POSIX). */ -#define SIGTTOU 30 /* Background write to tty (POSIX). */ -#define SIGXCPU 31 /* CPU limit exceeded. */ -#define SIGXFSZ 32 /* File size limit exceeded. */ - -#endif /* <signal.h> included. */ - -#define _NSIG 33 /* Biggest signal number + 1. */ diff --git a/sysdeps/unix/sysv/irix4/bits/stat.h b/sysdeps/unix/sysv/irix4/bits/stat.h deleted file mode 100644 index 33f575db1c..0000000000 --- a/sysdeps/unix/sysv/irix4/bits/stat.h +++ /dev/null @@ -1,65 +0,0 @@ -/* Copyright (C) 1992, 1996, 1997, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SYS_STAT_H -# error "Never include <bits/stat.h> directly; use <sys/stat.h> instead." -#endif - -struct stat - { - unsigned long st_ino; - short int st_dev; - unsigned short int st_mode; - short int st_nlink; - unsigned short int st_uid; - unsigned short int st_gid; - short int st_rdev; - long int st_size; - long int st_atime; - long int st_mtime; - long int st_ctime; - }; - -/* Encoding of the file mode. */ - -#define __S_IFMT 0170000 /* These bits determine file type. */ - -/* File types. */ -#define __S_IFDIR 0040000 /* Directory. */ -#define __S_IFCHR 0020000 /* Character device. */ -#define __S_IFBLK 0060000 /* Block device. */ -#define __S_IFREG 0100000 /* Regular file. */ -#define __S_IFIFO 0010000 /* FIFO. */ - -/* These don't actually exist on System V, but having them doesn't hurt. */ -#define __S_IFLNK 0120000 /* Symbolic link. */ -#define __S_IFSOCK 0140000 /* Socket. */ - -/* POSIX.1b objects. */ -#define __S_TYPEISMQ(buf) (0) -#define __S_TYPEISSEM(buf) (0) -#define __S_TYPEISSHM(buf) (0) - -/* Protection bits. */ - -#define __S_ISUID 04000 /* Set user ID on execution. */ -#define __S_ISGID 02000 /* Set group ID on execution. */ -#define __S_ISVTX 01000 /* Save swapped text after use (sticky). */ -#define __S_IREAD 0400 /* Read by owner. */ -#define __S_IWRITE 0200 /* Write by owner. */ -#define __S_IEXEC 0100 /* Execute by owner. */ diff --git a/sysdeps/unix/sysv/irix4/dup2.c b/sysdeps/unix/sysv/irix4/dup2.c deleted file mode 100644 index 86720b1b70..0000000000 --- a/sysdeps/unix/sysv/irix4/dup2.c +++ /dev/null @@ -1,3 +0,0 @@ -#include <sysdeps/posix/__dup2.c> - -weak_alias (__dup2, dup2) diff --git a/sysdeps/unix/sysv/irix4/fpathconf.c b/sysdeps/unix/sysv/irix4/fpathconf.c deleted file mode 100644 index 236eb1a6bc..0000000000 --- a/sysdeps/unix/sysv/irix4/fpathconf.c +++ /dev/null @@ -1,35 +0,0 @@ -/* Copyright (C) 1994, 1995, 1997, 2004 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <errno.h> -#include <stddef.h> -#include <unistd.h> -#include <sys/syssgi.h> - -extern int __syssgi (int, ...); - -/* Get file-specific information about descriptor FD. */ -long int -__fpathconf (fd, name) - int fd; - int name; -{ - return __syssgi (SGI_PATHCONF, FPATHCONF, fd, name); -} - -weak_alias (__fpathconf, fpathconf) diff --git a/sysdeps/unix/sysv/irix4/getgroups.c b/sysdeps/unix/sysv/irix4/getgroups.c deleted file mode 100644 index 4c859eac83..0000000000 --- a/sysdeps/unix/sysv/irix4/getgroups.c +++ /dev/null @@ -1,34 +0,0 @@ -/* Copyright (C) 1994, 1995, 1997, 2004 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sys/syssgi.h> -#include <sys/types.h> -#include <grp.h> - -extern int __syssgi (int, ...); - -/* Set the group set for the current user to GROUPS (N of them). */ -int -__getgroups (n, groups) - size_t n; - gid_t *groups; -{ - return __syssgi (SGI_GETGROUPS, n, groups); -} - -weak_alias (__getgroups, getgroups) diff --git a/sysdeps/unix/sysv/irix4/getpriority.c b/sysdeps/unix/sysv/irix4/getpriority.c deleted file mode 100644 index 807ac2fba7..0000000000 --- a/sysdeps/unix/sysv/irix4/getpriority.c +++ /dev/null @@ -1,47 +0,0 @@ -/* Copyright (C) 1994,96,97,2000,02, 2004 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <errno.h> -#include <sys/resource.h> -#include <sys/sysmp.h> - -extern int __sysmp (int, ...); - -/* Return the highest priority of any process specified by WHICH and WHO - (see <sys/resource.h>); if WHO is zero, the current process, process group, - or user (as specified by WHO) is used. A lower priority number means higher - priority. Priorities range from PRIO_MIN to PRIO_MAX. */ -int -getpriority (which, who) - enum __priority_which which; - id_t who; -{ - switch (which) - { - case PRIO_PROCESS: - return __sysmp (MP_SCHED, MPTS_GTNICE_PROC, who); - case PRIO_PGRP: - return __sysmp (MP_SCHED, MPTS_GTNICE_PGRP, who); - case PRIO_USER: - return __sysmp (MP_SCHED, MPTS_GTNICE_USER, who); - } - - __set_errno (EINVAL); - return -1; -} -libc_hidden_def (getpriority) diff --git a/sysdeps/unix/sysv/irix4/getrusage.c b/sysdeps/unix/sysv/irix4/getrusage.c deleted file mode 100644 index 3cabbdf3e2..0000000000 --- a/sysdeps/unix/sysv/irix4/getrusage.c +++ /dev/null @@ -1,35 +0,0 @@ -/* Copyright (C) 1994, 1995, 1997, 2004 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sys/resource.h> -#include <errno.h> -#include <sys/syssgi.h> - -extern int __syssgi (int, ...); - -/* Return resource usage information on process indicated by WHO - and put it in *USAGE. Returns 0 for success, -1 for failure. */ -int -__getrusage (who, usage) - enum __rusage_who who; - struct rusage *usage; -{ - return __syssgi (SGI_RUSAGE, who, usage); -} - -weak_alias (__getrusage, getrusage) diff --git a/sysdeps/unix/sysv/irix4/gettimeofday.c b/sysdeps/unix/sysv/irix4/gettimeofday.c deleted file mode 100644 index d7055be82e..0000000000 --- a/sysdeps/unix/sysv/irix4/gettimeofday.c +++ /dev/null @@ -1 +0,0 @@ -#include <sysdeps/posix/gettimeofday.c> diff --git a/sysdeps/unix/sysv/irix4/pathconf.c b/sysdeps/unix/sysv/irix4/pathconf.c deleted file mode 100644 index 51da0c5635..0000000000 --- a/sysdeps/unix/sysv/irix4/pathconf.c +++ /dev/null @@ -1,35 +0,0 @@ -/* Copyright (C) 1994, 1995, 1997, 2004 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <errno.h> -#include <stddef.h> -#include <unistd.h> -#include <sys/syssgi.h> - -extern int __syssgi (int, ...); - -/* Get file-specific information about PATH. */ -long int -__pathconf (path, name) - const char *path; - int name; -{ - return __syssgi (SGI_PATHCONF, PATHCONF, path, name); -} - -weak_alias (__pathconf, pathconf) diff --git a/sysdeps/unix/sysv/irix4/readv.c b/sysdeps/unix/sysv/irix4/readv.c deleted file mode 100644 index baa976da6d..0000000000 --- a/sysdeps/unix/sysv/irix4/readv.c +++ /dev/null @@ -1 +0,0 @@ -#include <sysdeps/posix/readv.c> diff --git a/sysdeps/unix/sysv/irix4/reboot.c b/sysdeps/unix/sysv/irix4/reboot.c deleted file mode 100644 index 4d90e6fc56..0000000000 --- a/sysdeps/unix/sysv/irix4/reboot.c +++ /dev/null @@ -1 +0,0 @@ -#include <sysdeps/generic/reboot.c> diff --git a/sysdeps/unix/sysv/irix4/setgroups.c b/sysdeps/unix/sysv/irix4/setgroups.c deleted file mode 100644 index cca816bcff..0000000000 --- a/sysdeps/unix/sysv/irix4/setgroups.c +++ /dev/null @@ -1,33 +0,0 @@ -/* Copyright (C) 1994,97,2002, 2004 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sys/syssgi.h> -#include <sys/types.h> -#include <grp.h> - -extern int __syssgi (int, ...); - -/* Set the group set for the current user to GROUPS (N of them). */ -int -setgroups (n, groups) - size_t n; - const gid_t *groups; -{ - return __syssgi (SGI_SETGROUPS, n, groups); -} -libc_hidden_def (setgroups) diff --git a/sysdeps/unix/sysv/irix4/setpriority.c b/sysdeps/unix/sysv/irix4/setpriority.c deleted file mode 100644 index 99353187f6..0000000000 --- a/sysdeps/unix/sysv/irix4/setpriority.c +++ /dev/null @@ -1,42 +0,0 @@ -/* Copyright (C) 1994,96,97,2000,02 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <errno.h> -#include <sys/resource.h> -#include <sys/sysmp.h> - -int -setpriority (which, who, prio) - enum __priority_which which; - id_t who; - int prio; -{ - switch (which) - { - case PRIO_PROCESS: - return __sysmp (MP_SCHED, MPTS_RENICE_PROC, who, prio); - case PRIO_PGRP: - return __sysmp (MP_SCHED, MPTS_RENICE_PGRP, who, prio); - case PRIO_USER: - return __sysmp (MP_SCHED, MPTS_RENICE_USER, who, prio); - } - - __set_errno (EINVAL); - return -1; -} -libc_hidden_def (setpriority) diff --git a/sysdeps/unix/sysv/irix4/sigreturn.S b/sysdeps/unix/sysv/irix4/sigreturn.S deleted file mode 100644 index 296db1d47d..0000000000 --- a/sysdeps/unix/sysv/irix4/sigreturn.S +++ /dev/null @@ -1,26 +0,0 @@ -/* Copyright (C) 1992, 1995, 1997 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Brendan Kehoe (brendan@cs.widener.edu). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sysdep.h> - -ENTRY(__sigreturn) - li v0, SYS_sigreturn - syscall - -weak_alias (__sigreturn, sigreturn) diff --git a/sysdeps/unix/sysv/irix4/sigtramp.c b/sysdeps/unix/sysv/irix4/sigtramp.c deleted file mode 100644 index f8de75a7cd..0000000000 --- a/sysdeps/unix/sysv/irix4/sigtramp.c +++ /dev/null @@ -1,53 +0,0 @@ -/* Copyright (C) 1992, 1997, 2004 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* The sigvec system call on MIPS Ultrix takes an additional - parameter, which is the address that is actually called when the - signal occurs. - - When a signal occurs, we arrange for the kernel to call __handler. - That will save the frame and stack pointers into the context, and - then jump to this routine. See __handler.S. - - This code is based on sysdeps/unix/bsd/sun4/sigtramp.c, but it's - different because since we get passed the user signal handler we - don't actually need a trampoline. */ - -#include <signal.h> -#include <stddef.h> -#include <errno.h> - -/* The user's signal handler is called with three arguments. */ -typedef void (*handler_type) (int sig, int code, struct sigcontext *); - -/* Defined in signal.S. */ -extern __sighandler_t __raw_signal (int sig, __sighandler_t func, - void (*)(int sig, int code, - struct sigcontext *, - handler_type)); - -extern void __handler (int sig, int code, struct sigcontext *, - handler_type); - -__sighandler_t -signal (sig, func) - int sig; - __sighandler_t func; -{ - return __raw_signal (sig, func, __handler); -} diff --git a/sysdeps/unix/sysv/irix4/start.c b/sysdeps/unix/sysv/irix4/start.c deleted file mode 100644 index fdda8809e6..0000000000 --- a/sysdeps/unix/sysv/irix4/start.c +++ /dev/null @@ -1,75 +0,0 @@ -/* Copyright (C) 1991,1992,1995,1996,1997,2004 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - In addition to the permissions in the GNU Lesser General Public - License, the Free Software Foundation gives you unlimited - permission to link the compiled version of this file with other - programs, and to distribute those programs without any restriction - coming from the use of this file. (The GNU Lesser General Public - License restrictions do apply in other respects; for example, they - cover modification of the file, and distribution when not linked - into another program.) - - Note that people who make modified versions of this file are not - obligated to grant this special exception for their modified - versions; it is their choice whether to do so. The GNU Lesser - General Public License gives permission to release a modified - version without this exception; this exception also makes it - possible to release a modified version which carries forward this - exception. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <errno.h> -#include <stdlib.h> -#include <unistd.h> - -#ifndef __GNUC__ - #error This file uses GNU C extensions; you must compile with GCC. -#endif - -/* The first piece of initialized data. */ -int __data_start = 0; - -extern void __libc_init (int argc, char **argv, char **envp); -extern int main (int argc, char **argv, char **envp); - -/* Use the stack pointer to access the arguments. This assumes that - we can guess how big the frame will be. */ -register long int sp asm("sp"); -#ifdef __OPTIMIZE__ -#define STACKSIZE 8 -#else -#define STACKSIZE 10 -#endif - -void -__start () -{ - int argc; - char **argv, **envp; - - /* Set up the global pointer. */ - asm volatile ("la $28,_gp"); - argc = ((int *) sp)[STACKSIZE]; - argv = (char **) &((int *) sp)[STACKSIZE + 1]; - envp = &argv[argc + 1]; - __environ = envp; - - __libc_init (argc, argv, envp); - errno = 0; - exit (main (argc, argv, envp)); -} diff --git a/sysdeps/unix/sysv/irix4/swapon.c b/sysdeps/unix/sysv/irix4/swapon.c deleted file mode 100644 index 54885a883e..0000000000 --- a/sysdeps/unix/sysv/irix4/swapon.c +++ /dev/null @@ -1 +0,0 @@ -#include <sysdeps/generic/swapon.c> diff --git a/sysdeps/unix/sysv/irix4/syscalls.list b/sysdeps/unix/sysv/irix4/syscalls.list deleted file mode 100644 index a57529e9ad..0000000000 --- a/sysdeps/unix/sysv/irix4/syscalls.list +++ /dev/null @@ -1,8 +0,0 @@ -# File name Caller Syscall name # args Strong name Weak names - -getpgid - bsdgetpgrp 1 __getpgid getpgid -msync - msync 3 msync -setpgid - bsdsetpgrp 2 __setpgid setpgid -signal - signal 3 __raw_signal -sysmp - sysmp 4 __sysmp -syssgi - syssgi 2 __syssgi diff --git a/sysdeps/unix/sysv/irix4/sysconf.c b/sysdeps/unix/sysv/irix4/sysconf.c deleted file mode 100644 index ef7606edad..0000000000 --- a/sysdeps/unix/sysv/irix4/sysconf.c +++ /dev/null @@ -1,36 +0,0 @@ -/* Copyright (C) 1994, 1995, 1997, 2002, 2004 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <unistd.h> -#include <sys/syssgi.h> - -extern int __syssgi ((int, ...); - -/* Get the value of the system variable NAME. */ -long int -__sysconf (name) - int name; -{ - if (name == _SC_TZNAME_MAX) - return __tzname_max (); - - return __syssgi (SGI_SYSCONF, name); -} - -weak_alias (__sysconf, sysconf) -libc_hidden_def (__sysconf) diff --git a/sysdeps/unix/sysv/irix4/uname.S b/sysdeps/unix/sysv/irix4/uname.S deleted file mode 100644 index 0b6536fd29..0000000000 --- a/sysdeps/unix/sysv/irix4/uname.S +++ /dev/null @@ -1,26 +0,0 @@ -/* Copyright (C) 1994, 1997 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sysdep.h> - -ENTRY(uname) - li a2, 0 - li a3, 0 -SYSCALL__ (utssys, 1) - j ra - move v0, zero diff --git a/sysdeps/unix/sysv/irix4/wait.S b/sysdeps/unix/sysv/irix4/wait.S deleted file mode 100644 index 90cd5948e7..0000000000 --- a/sysdeps/unix/sysv/irix4/wait.S +++ /dev/null @@ -1,43 +0,0 @@ -/* Copyright (C) 1992, 1995, 1997 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Brendan Kehoe (brendan@cs.widener.edu). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sysdep.h> - -.set noreorder - -ENTRY(__wait) - /* Prep it for wait */ - move a1, zero - move a2, zero - - li v0, SYS_wait - syscall - beq a3, zero, noerror - nop - j syscall_error - nop -noerror: - beq a0, zero, noarg - nop - sw v1, 0(a0) - nop -noarg: - ret - -weak_alias (__wait, wait) diff --git a/sysdeps/unix/sysv/irix4/waitpid.c b/sysdeps/unix/sysv/irix4/waitpid.c deleted file mode 100644 index 8378982ac7..0000000000 --- a/sysdeps/unix/sysv/irix4/waitpid.c +++ /dev/null @@ -1 +0,0 @@ -#include <sysdeps/unix/bsd/bsd4.4/waitpid.c> diff --git a/sysdeps/unix/sysv/irix4/writev.c b/sysdeps/unix/sysv/irix4/writev.c deleted file mode 100644 index 0dc6a76014..0000000000 --- a/sysdeps/unix/sysv/irix4/writev.c +++ /dev/null @@ -1 +0,0 @@ -#include <sysdeps/posix/writev.c> diff --git a/sysdeps/unix/sysv/isc2.2/syscalls.list b/sysdeps/unix/sysv/isc2.2/syscalls.list deleted file mode 100644 index 0ea253e3ca..0000000000 --- a/sysdeps/unix/sysv/isc2.2/syscalls.list +++ /dev/null @@ -1,2 +0,0 @@ -# File name Caller Syscall name # args Strong name Weak names - diff --git a/sysdeps/unix/sysv/linux/cris/brk.c b/sysdeps/unix/sysv/linux/alpha/setregid.c index ce49445122..cfc8283c3a 100644 --- a/sysdeps/unix/sysv/linux/cris/brk.c +++ b/sysdeps/unix/sysv/linux/alpha/setregid.c @@ -1,5 +1,4 @@ -/* brk system call for Linux/CRIS. - Copyright (C) 1995, 1996, 2001 Free Software Foundation, Inc. +/* Copyright (C) 1998, 2000, 2003, 2004 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -19,26 +18,36 @@ #include <errno.h> #include <unistd.h> +#include <sys/types.h> + #include <sysdep.h> +#include <sys/syscall.h> + +#include <linux/posix_types.h> +#include "kernel-features.h" +#include <pthread-functions.h> -/* This must be initialized data because commons can't have aliases. */ -void *__curbrk = 0; int -__brk (void *addr) +__setregid (gid_t rgid, gid_t egid) { - unsigned char *newbrk; - - newbrk = (unsigned char *) INLINE_SYSCALL (brk, 1, addr); + int result; - __curbrk = newbrk; + result = INLINE_SYSCALL (setregid, 2, (signed int)rgid, (signed int)egid); - if (newbrk < (unsigned char *) addr) +#if defined HAVE_PTR__NPTL_SETXID && !defined SINGLE_THREAD + if (result == 0 && __libc_pthread_functions.ptr__nptl_setxid != NULL) { - __set_errno (ENOMEM); - return -1; + struct xid_command cmd; + cmd.syscall_no = __NR_setregid; + cmd.id[0] = rgid; + cmd.id[1] = egid; + __libc_pthread_functions.ptr__nptl_setxid (&cmd); } +#endif - return 0; + return result; } -weak_alias (__brk, brk) +#ifndef __setregid +weak_alias (__setregid, setregid) +#endif diff --git a/sysdeps/unix/sysv/sco3.2.4/__setpgid.c b/sysdeps/unix/sysv/linux/alpha/setresgid.c index d51fa602c9..fdfa486534 100644 --- a/sysdeps/unix/sysv/sco3.2.4/__setpgid.c +++ b/sysdeps/unix/sysv/linux/alpha/setresgid.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1994, 1997, 2002, 2004 Free Software Foundation, Inc. +/* Copyright (C) 1998, 2000, 2003, 2004 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -20,14 +20,36 @@ #include <unistd.h> #include <sys/types.h> -extern int __pgrpsys (int type, ...); +#include <sysdep.h> +#include <sys/syscall.h> + +#include <linux/posix_types.h> +#include "kernel-features.h" +#include <pthread-functions.h> + -/* Get the process group ID of process PID. */ int -__setpgid (pid, pgid) - pid_t pid; - pid_t pgid; +__setresgid (gid_t rgid, gid_t egid, gid_t sgid) { - return __pgrpsys (2, pid, pgid); + int result; + + result = INLINE_SYSCALL (setresgid, 3, (signed int)rgid, (signed int)egid, (signed int)sgid); + +#if defined HAVE_PTR__NPTL_SETXID && !defined SINGLE_THREAD + if (result == 0 && __libc_pthread_functions.ptr__nptl_setxid != NULL) + { + struct xid_command cmd; + cmd.syscall_no = __NR_setresgid; + cmd.id[0] = rgid; + cmd.id[1] = egid; + cmd.id[2] = sgid; + __libc_pthread_functions.ptr__nptl_setxid (&cmd); + } +#endif + + return result; } -libc_hidden_def (__setpgid) +libc_hidden_def (__setresgid) +#ifndef __setresgid +weak_alias (__setresgid, setresgid) +#endif diff --git a/sysdeps/unix/sysv/sysv4/__getpgid.c b/sysdeps/unix/sysv/linux/alpha/setresuid.c index 74ca3e0f9a..49671278ee 100644 --- a/sysdeps/unix/sysv/sysv4/__getpgid.c +++ b/sysdeps/unix/sysv/linux/alpha/setresuid.c @@ -1,6 +1,5 @@ -/* Copyright (C) 1993, 1997, 2002, 2004 Free Software Foundation, Inc. +/* Copyright (C) 1998, 2000, 2003, 2004 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Brendan Kehoe (brendan@zen.org). The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@ -21,13 +20,36 @@ #include <unistd.h> #include <sys/types.h> -extern int __pgrpsys (int type, ...); +#include <sysdep.h> +#include <sys/syscall.h> + +#include <linux/posix_types.h> +#include "kernel-features.h" +#include <pthread-functions.h> + -/* Get the process group ID of process PID. */ int -__getpgid (pid) - pid_t pid; +__setresuid (uid_t ruid, uid_t euid, uid_t suid) { - return __pgrpsys (4, pid); + int result; + + result = INLINE_SYSCALL (setresuid, 3, (signed int)ruid, (signed int)euid, (signed int)suid); + +#if defined HAVE_PTR__NPTL_SETXID && !defined SINGLE_THREAD + if (result == 0 && __libc_pthread_functions.ptr__nptl_setxid != NULL) + { + struct xid_command cmd; + cmd.syscall_no = __NR_setresuid; + cmd.id[0] = ruid; + cmd.id[1] = euid; + cmd.id[2] = suid; + __libc_pthread_functions.ptr__nptl_setxid (&cmd); + } +#endif + + return result; } -libc_hidden_def (__getpgid) +libc_hidden_def (__setresuid) +#ifndef __setresuid +weak_alias (__setresuid, setresuid) +#endif diff --git a/sysdeps/unix/sysv/sysv4/__setpgid.c b/sysdeps/unix/sysv/linux/alpha/setreuid.c index 36ad5cc77b..b29aed479e 100644 --- a/sysdeps/unix/sysv/sysv4/__setpgid.c +++ b/sysdeps/unix/sysv/linux/alpha/setreuid.c @@ -1,6 +1,5 @@ -/* Copyright (C) 1993, 1997, 2002, 2004 Free Software Foundation, Inc. +/* Copyright (C) 1998, 2000, 2003, 2004 Free Software Foundation, Inc. This file is part of the GNU C Library. - Contributed by Brendan Kehoe (brendan@zen.org). The GNU C Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@ -21,14 +20,34 @@ #include <unistd.h> #include <sys/types.h> -extern int __pgrpsys (int type, ...); +#include <sysdep.h> +#include <sys/syscall.h> + +#include <linux/posix_types.h> +#include "kernel-features.h" +#include <pthread-functions.h> + -/* Get the process group ID of process PID. */ int -__setpgid (pid, pgid) - pid_t pid; - pid_t pgid; +__setreuid (uid_t ruid, uid_t euid) { - return __pgrpsys (5, pid, pgid); + int result; + + result = INLINE_SYSCALL (setreuid, 2, (signed int)ruid, (signed int)euid); + +#if defined HAVE_PTR__NPTL_SETXID && !defined SINGLE_THREAD + if (result == 0 && __libc_pthread_functions.ptr__nptl_setxid != NULL) + { + struct xid_command cmd; + cmd.syscall_no = __NR_setreuid; + cmd.id[0] = ruid; + cmd.id[1] = euid; + __libc_pthread_functions.ptr__nptl_setxid (&cmd); + } +#endif + + return result; } -libc_hidden_def (__setpgid) +#ifndef __setreuid +weak_alias (__setreuid, setreuid) +#endif diff --git a/sysdeps/unix/sysv/linux/cris/Dist b/sysdeps/unix/sysv/linux/cris/Dist deleted file mode 100644 index 1b8a7e61a4..0000000000 --- a/sysdeps/unix/sysv/linux/cris/Dist +++ /dev/null @@ -1,5 +0,0 @@ -clone.S -setresuid.c -setresgid.c -setfsuid.c -setfsgid.c diff --git a/sysdeps/unix/sysv/linux/cris/_G_config.h b/sysdeps/unix/sysv/linux/cris/_G_config.h deleted file mode 100644 index 083a00abfb..0000000000 --- a/sysdeps/unix/sysv/linux/cris/_G_config.h +++ /dev/null @@ -1,106 +0,0 @@ -/* This file is needed by libio to define various configuration parameters. - These are always the same in the GNU C library. */ - -/* We have to keep a separate copy for CRIS, because we don't use thunks, - and libstdc++-v2 (which we currently use) cares. The C++ ABI is - changed totally with GCC 3.0, where we should not need a separate file. */ - -#ifndef _G_config_h -#define _G_config_h 1 - -/* Define types for libio in terms of the standard internal type names. */ - -#include <bits/types.h> -#define __need_size_t -#define __need_wchar_t -#define __need_wint_t -#define __need_NULL -#include <stddef.h> -#ifndef _WINT_T -/* Integral type unchanged by default argument promotions that can - hold any value corresponding to members of the extended character - set, as well as at least one value that does not correspond to any - member of the extended character set. */ -# define _WINT_T -typedef unsigned int wint_t; -#endif -#define __need_mbstate_t -#include <wchar.h> -#define _G_size_t size_t -typedef struct -{ - __off_t __pos; - __mbstate_t __state; -} _G_fpos_t; -typedef struct -{ - __off64_t __pos; - __mbstate_t __state; -} _G_fpos64_t; -#define _G_ssize_t __ssize_t -#define _G_off_t __off_t -#define _G_off64_t __off64_t -#define _G_pid_t __pid_t -#define _G_uid_t __uid_t -#define _G_wchar_t wchar_t -#define _G_wint_t wint_t -#define _G_stat64 stat64 -#include <gconv.h> -typedef union -{ - struct __gconv_info __cd; - struct - { - struct __gconv_info __cd; - struct __gconv_step_data __data; - } __combined; -} _G_iconv_t; - -typedef int _G_int16_t __attribute__ ((__mode__ (__HI__))); -typedef int _G_int32_t __attribute__ ((__mode__ (__SI__))); -typedef unsigned int _G_uint16_t __attribute__ ((__mode__ (__HI__))); -typedef unsigned int _G_uint32_t __attribute__ ((__mode__ (__SI__))); - -#define _G_HAVE_BOOL 1 - - -/* These library features are always available in the GNU C library. */ -#define _G_HAVE_ATEXIT 1 -#define _G_HAVE_SYS_CDEFS 1 -#define _G_HAVE_SYS_WAIT 1 -#define _G_NEED_STDARG_H 1 -#define _G_va_list __gnuc_va_list - -#define _G_HAVE_PRINTF_FP 1 -#define _G_HAVE_MMAP 1 -#define _G_HAVE_LONG_DOUBLE_IO 1 -#define _G_HAVE_IO_FILE_OPEN 1 -#define _G_HAVE_IO_GETLINE_INFO 1 - -#define _G_IO_IO_FILE_VERSION 0x20001 - -#define _G_OPEN64 __open64 -#define _G_LSEEK64 __lseek64 -#define _G_MMAP64 __mmap64 -#define _G_FSTAT64(fd,buf) __fxstat64 (_STAT_VER, fd, buf) - -/* This is defined by <bits/stat.h> if `st_blksize' exists. */ -#define _G_HAVE_ST_BLKSIZE defined (_STATBUF_ST_BLKSIZE) - -#define _G_BUFSIZ 8192 - -/* These are the vtbl details for ELF. */ -#define _G_NAMES_HAVE_UNDERSCORE 0 -#define _G_VTABLE_LABEL_HAS_LENGTH 1 -#undef _G_USING_THUNKS -#define _G_VTABLE_LABEL_PREFIX "_vt." -#define _G_VTABLE_LABEL_PREFIX_ID _vt. - - -#if defined __cplusplus || defined __STDC__ -# define _G_ARGS(ARGLIST) ARGLIST -#else -# define _G_ARGS(ARGLIST) () -#endif - -#endif /* _G_config.h */ diff --git a/sysdeps/unix/sysv/linux/cris/bits/fcntl.h b/sysdeps/unix/sysv/linux/cris/bits/fcntl.h deleted file mode 100644 index 36799aa50e..0000000000 --- a/sysdeps/unix/sysv/linux/cris/bits/fcntl.h +++ /dev/null @@ -1,189 +0,0 @@ -/* O_*, F_*, FD_* bit values for Linux. - Copyright (C) 1995, 1996, 1997, 1998, 2000, 2001, 2004 - Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _FCNTL_H -# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead." -#endif - - -#include <sys/types.h> - -/* open/fcntl - O_SYNC is only implemented on blocks devices and on files - located on an ext2 file system */ -#define O_ACCMODE 0003 -#define O_RDONLY 00 -#define O_WRONLY 01 -#define O_RDWR 02 -#define O_CREAT 0100 /* not fcntl */ -#define O_EXCL 0200 /* not fcntl */ -#define O_NOCTTY 0400 /* not fcntl */ -#define O_TRUNC 01000 /* not fcntl */ -#define O_APPEND 02000 -#define O_NONBLOCK 04000 -#define O_NDELAY O_NONBLOCK -#define O_SYNC 010000 -#define O_FSYNC O_SYNC -#define O_ASYNC 020000 - -#ifdef __USE_GNU -# define O_DIRECT 040000 /* Direct disk access. */ -# define O_DIRECTORY 0200000 /* Must be a directory. */ -# define O_NOFOLLOW 0400000 /* Do not follow links. */ -# define O_NOATIME 01000000 /* Do not set atime. */ -#endif - -/* For now Linux has synchronisity options for data and read operations. - We define the symbols here but let them do the same as O_SYNC since - this is a superset. */ -#if defined __USE_POSIX199309 || defined __USE_UNIX98 -# define O_DSYNC O_SYNC /* Synchronize data. */ -# define O_RSYNC O_SYNC /* Synchronize read operations. */ -#endif - -#ifdef __USE_LARGEFILE64 -# define O_LARGEFILE 0100000 -#endif - -/* Values for the second argument to `fcntl'. */ -#define F_DUPFD 0 /* Duplicate file descriptor. */ -#define F_GETFD 1 /* Get file descriptor flags. */ -#define F_SETFD 2 /* Set file descriptor flags. */ -#define F_GETFL 3 /* Get file status flags. */ -#define F_SETFL 4 /* Set file status flags. */ -#ifndef __USE_FILE_OFFSET64 -# define F_GETLK 5 /* Get record locking info. */ -# define F_SETLK 6 /* Set record locking info (non-blocking). */ -# define F_SETLKW 7 /* Set record locking info (blocking). */ -#else -# define F_GETLK F_GETLK64 /* Get record locking info. */ -# define F_SETLK F_SETLK64 /* Set record locking info (non-blocking).*/ -# define F_SETLKW F_SETLKW64 /* Set record locking info (blocking). */ -#endif -#define F_GETLK64 12 /* Get record locking info. */ -#define F_SETLK64 13 /* Set record locking info (non-blocking). */ -#define F_SETLKW64 14 /* Set record locking info (blocking). */ - -#if defined __USE_BSD || defined __USE_UNIX98 -# define F_SETOWN 8 /* Get owner of socket (receiver of SIGIO). */ -# define F_GETOWN 9 /* Set owner of socket (receiver of SIGIO). */ -#endif - -#ifdef __USE_GNU -# define F_SETSIG 10 /* Set number of signal to be sent. */ -# define F_GETSIG 11 /* Get number of signal to be sent. */ -#endif - -#ifdef __USE_GNU -# define F_SETLEASE 1024 /* Set a lease. */ -# define F_GETLEASE 1025 /* Enquire what lease is active. */ -# define F_NOTIFY 1026 /* Request notfications on a directory. */ -#endif - -/* For F_[GET|SET]FL. */ -#define FD_CLOEXEC 1 /* actually anything with low bit set goes */ - -/* For posix fcntl() and `l_type' field of a `struct flock' for lockf(). */ -#define F_RDLCK 0 /* Read lock. */ -#define F_WRLCK 1 /* Write lock. */ -#define F_UNLCK 2 /* Remove lock. */ - -/* For old implementation of bsd flock(). */ -#define F_EXLCK 4 /* or 3 */ -#define F_SHLCK 8 /* or 4 */ - -#ifdef __USE_BSD -/* Operations for bsd flock(), also used by the kernel implementation. */ -# define LOCK_SH 1 /* shared lock */ -# define LOCK_EX 2 /* exclusive lock */ -# define LOCK_NB 4 /* or'd with one of the above to prevent - blocking */ -# define LOCK_UN 8 /* remove lock */ -#endif - -#ifdef __USE_GNU -# define LOCK_MAND 32 /* This is a mandatory flock: */ -# define LOCK_READ 64 /* ... which allows concurrent read operations. */ -# define LOCK_WRITE 128 /* ... which allows concurrent write operations. */ -# define LOCK_RW 192 /* ... Which allows concurrent read & write operations. */ -#endif - -#ifdef __USE_GNU -/* Types of directory notifications that may be requested with F_NOTIFY. */ -# define DN_ACCESS 0x00000001 /* File accessed. */ -# define DN_MODIFY 0x00000002 /* File modified. */ -# define DN_CREATE 0x00000004 /* File created. */ -# define DN_DELETE 0x00000008 /* File removed. */ -# define DN_RENAME 0x00000010 /* File renamed. */ -# define DN_ATTRIB 0x00000020 /* File changed attibutes. */ -# define DN_MULTISHOT 0x80000000 /* Don't remove notifier. */ -#endif - -struct flock - { - short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ - short int l_whence; /* Where `l_start' is relative to (like `lseek'). */ -#ifndef __USE_FILE_OFFSET64 - __off_t l_start; /* Offset where the lock begins. */ - __off_t l_len; /* Size of the locked area; zero means until EOF. */ -#else - __off64_t l_start; /* Offset where the lock begins. */ - __off64_t l_len; /* Size of the locked area; zero means until EOF. */ -#endif - __pid_t l_pid; /* Process holding the lock. */ - }; - -#ifdef __USE_LARGEFILE64 -struct flock64 - { - short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ - short int l_whence; /* Where `l_start' is relative to (like `lseek'). */ - __off64_t l_start; /* Offset where the lock begins. */ - __off64_t l_len; /* Size of the locked area; zero means until EOF. */ - __pid_t l_pid; /* Process holding the lock. */ - }; -#endif - -/* Define some more compatibility macros to be backward compatible with - BSD systems which did not managed to hide these kernel macros. */ -#ifdef __USE_BSD -# define FAPPEND O_APPEND -# define FFSYNC O_FSYNC -# define FASYNC O_ASYNC -# define FNONBLOCK O_NONBLOCK -# define FNDELAY O_NDELAY -#endif /* Use BSD. */ - -/* Advise to `posix_fadvise'. */ -#ifdef __USE_XOPEN2K -# define POSIX_FADV_NORMAL 0 /* No further special treatment. */ -# define POSIX_FADV_RANDOM 1 /* Expect random page references. */ -# define POSIX_FADV_SEQUENTIAL 2 /* Expect sequential page references. */ -# define POSIX_FADV_WILLNEED 3 /* Will need these pages. */ -# define POSIX_FADV_DONTNEED 4 /* Don't need these pages. */ -# define POSIX_FADV_NOREUSE 5 /* Data will be accessed once. */ -#endif - -__BEGIN_DECLS - -/* Provide kernel hint to read ahead. */ -extern ssize_t readahead (int __fd, __off64_t __offset, size_t __count) - __THROW; - -__END_DECLS diff --git a/sysdeps/unix/sysv/linux/cris/bits/mman.h b/sysdeps/unix/sysv/linux/cris/bits/mman.h deleted file mode 100644 index b66c0bdb68..0000000000 --- a/sysdeps/unix/sysv/linux/cris/bits/mman.h +++ /dev/null @@ -1,97 +0,0 @@ -/* Definitions for POSIX memory map interface. Linux/CRIS version. - Copyright (C) 1997, 2000, 2001, 2003 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SYS_MMAN_H -# error "Never use <bits/mman.h> directly; include <sys/mman.h> instead." -#endif - -/* The following definitions basically come from the kernel headers. - But the kernel header is not namespace clean. */ - - -/* Protections are chosen from these bits, OR'd together. The - implementation does not necessarily support PROT_EXEC or PROT_WRITE - without PROT_READ. The only guarantees are that no writing will be - allowed without PROT_WRITE and no access will be allowed for PROT_NONE. */ - -#define PROT_READ 0x1 /* Page can be read. */ -#define PROT_WRITE 0x2 /* Page can be written. */ -#define PROT_EXEC 0x4 /* Page can be executed. */ -#define PROT_NONE 0x0 /* Page can not be accessed. */ -#define PROT_GROWSDOWN 0x01000000 /* Extend change to start of - growsdown vma (mprotect only). */ -#define PROT_GROWSUP 0x02000000 /* Extend change to start of - growsup vma (mprotect only). */ - -/* Sharing types (must choose one and only one of these). */ -#define MAP_SHARED 0x01 /* Share changes. */ -#define MAP_PRIVATE 0x02 /* Changes are private. */ -#ifdef __USE_MISC -# define MAP_TYPE 0x0f /* Mask for type of mapping. */ -#endif - -/* Other flags. */ -#define MAP_FIXED 0x10 /* Interpret addr exactly. */ -#ifdef __USE_MISC -# define MAP_FILE 0 -# define MAP_ANONYMOUS 0x20 /* Don't use a file. */ -# define MAP_ANON MAP_ANONYMOUS -#endif - -/* These are Linux-specific. */ -#ifdef __USE_MISC -# define MAP_GROWSDOWN 0x0100 /* Stack-like segment. */ -# define MAP_DENYWRITE 0x0800 /* ETXTBSY */ -# define MAP_EXECUTABLE 0x1000 /* Mark it as an executable. */ -# define MAP_LOCKED 0x2000 /* Lock the mapping. */ -# define MAP_NORESERVE 0x4000 /* Don't check for reservations. */ -#endif - -/* Flags to `msync'. */ -#define MS_ASYNC 1 /* Sync memory asynchronously. */ -#define MS_SYNC 4 /* Synchronous memory sync. */ -#define MS_INVALIDATE 2 /* Invalidate the caches. */ - -/* Flags for `mlockall'. */ -#define MCL_CURRENT 1 /* Lock all currently mapped pages. */ -#define MCL_FUTURE 2 /* Lock all additions to address - space. */ - -/* Flags for `mremap'. */ -#ifdef __USE_GNU -# define MREMAP_MAYMOVE 1 -#endif - -/* Advice to `madvise'. */ -#ifdef __USE_BSD -# define MADV_NORMAL 0 /* No further special treatment. */ -# define MADV_RANDOM 1 /* Expect random page references. */ -# define MADV_SEQUENTIAL 2 /* Expect sequential page references. */ -# define MADV_WILLNEED 3 /* Will need these pages. */ -# define MADV_DONTNEED 4 /* Don't need these pages. */ -#endif - -/* The POSIX people had to invent similar names for the same things. */ -#ifdef __USE_XOPEN2K -# define POSIX_MADV_NORMAL 0 /* No further special treatment. */ -# define POSIX_MADV_RANDOM 1 /* Expect random page references. */ -# define POSIX_MADV_SEQUENTIAL 2 /* Expect sequential page references. */ -# define POSIX_MADV_WILLNEED 3 /* Will need these pages. */ -# define POSIX_MADV_DONTNEED 4 /* Don't need these pages. */ -#endif diff --git a/sysdeps/unix/sysv/linux/cris/chown.c b/sysdeps/unix/sysv/linux/cris/chown.c deleted file mode 100644 index 1961622564..0000000000 --- a/sysdeps/unix/sysv/linux/cris/chown.c +++ /dev/null @@ -1 +0,0 @@ -#include <sysdeps/unix/sysv/linux/m68k/chown.c> diff --git a/sysdeps/unix/sysv/linux/cris/clone.S b/sysdeps/unix/sysv/linux/cris/clone.S deleted file mode 100644 index b2016438a3..0000000000 --- a/sysdeps/unix/sysv/linux/cris/clone.S +++ /dev/null @@ -1,88 +0,0 @@ -/* Copyright (C) 2001 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sysdep.h> -#define _ERRNO_H 1 -#include <bits/errno.h> - -/* int clone(int (*fn)(void *arg), void *child_stack, int flags, void *arg); */ - - .syntax no_register_prefix - - .text -ENTRY (__clone) - /* Sanity check arguments: No NULL function pointers. Allow a NULL - stack pointer though; it makes the kernel allocate stack. */ - test.d r10 - beq 1f - nop - - /* We need to muck with a few registers. */ - movem r1,[sp=sp-8] - - /* Save the function pointer and argument. We can't save them - onto the new stack since it can be NULL. */ - move.d r10,r0 - move.d r13,r1 - - /* Move the other arguments into place for the system call. */ - move.d r11,r10 - move.d r12,r11 - - /* Do the system call. */ - movu.w SYS_ify (clone),r9 - break 13 - test.d r10 - beq .Lthread_start - nop - - /* Jump to error handler if we get (unsigned) -4096 .. 0xffffffff. */ - cmps.w -4096,r10 - bhs 0f - movem [sp+],r1 - - /* In parent, successful return. (Avoid using "ret" - it's a macro.) */ - Ret - nop - -.Lthread_start: - /* Terminate frame pointers here. */ - moveq 0,r8 - - /* I've told you once. */ - move.d r1,r10 - jsr r0 - - SETUP_PIC - PLTCALL (_exit) - - /* Die horribly. */ - test.d [6809] - - /* Stop the unstoppable. */ -9: - ba 9b - nop - -/* Local error handler. */ -1: - movs.w -EINVAL,r10 - /* Drop through into the ordinary error handler. */ -PSEUDO_END (__clone) - -weak_alias (__clone, clone) diff --git a/sysdeps/unix/sysv/linux/cris/fchown.c b/sysdeps/unix/sysv/linux/cris/fchown.c deleted file mode 100644 index 3a69ecc9e7..0000000000 --- a/sysdeps/unix/sysv/linux/cris/fchown.c +++ /dev/null @@ -1 +0,0 @@ -#include <sysdeps/unix/sysv/linux/i386/fchown.c> diff --git a/sysdeps/unix/sysv/linux/cris/fcntl.c b/sysdeps/unix/sysv/linux/cris/fcntl.c deleted file mode 100644 index ea951bc4f9..0000000000 --- a/sysdeps/unix/sysv/linux/cris/fcntl.c +++ /dev/null @@ -1 +0,0 @@ -#include <sysdeps/unix/sysv/linux/i386/fcntl.c> diff --git a/sysdeps/unix/sysv/linux/cris/fxstat.c b/sysdeps/unix/sysv/linux/cris/fxstat.c deleted file mode 100644 index 4f219f0b9d..0000000000 --- a/sysdeps/unix/sysv/linux/cris/fxstat.c +++ /dev/null @@ -1 +0,0 @@ -#include <sysdeps/unix/sysv/linux/i386/fxstat.c> diff --git a/sysdeps/unix/sysv/linux/cris/getegid.c b/sysdeps/unix/sysv/linux/cris/getegid.c deleted file mode 100644 index 37b4b4a530..0000000000 --- a/sysdeps/unix/sysv/linux/cris/getegid.c +++ /dev/null @@ -1 +0,0 @@ -#include <sysdeps/unix/sysv/linux/i386/getegid.c> diff --git a/sysdeps/unix/sysv/linux/cris/geteuid.c b/sysdeps/unix/sysv/linux/cris/geteuid.c deleted file mode 100644 index ebcb555b5e..0000000000 --- a/sysdeps/unix/sysv/linux/cris/geteuid.c +++ /dev/null @@ -1 +0,0 @@ -#include <sysdeps/unix/sysv/linux/i386/geteuid.c> diff --git a/sysdeps/unix/sysv/linux/cris/getgid.c b/sysdeps/unix/sysv/linux/cris/getgid.c deleted file mode 100644 index 0a4d6061f0..0000000000 --- a/sysdeps/unix/sysv/linux/cris/getgid.c +++ /dev/null @@ -1 +0,0 @@ -#include <sysdeps/unix/sysv/linux/i386/getgid.c> diff --git a/sysdeps/unix/sysv/linux/cris/getgroups.c b/sysdeps/unix/sysv/linux/cris/getgroups.c deleted file mode 100644 index 102ea24e14..0000000000 --- a/sysdeps/unix/sysv/linux/cris/getgroups.c +++ /dev/null @@ -1,2 +0,0 @@ -/* We also have to rewrite the kernel gid_t to the user land type. */ -#include <sysdeps/unix/sysv/linux/i386/getgroups.c> diff --git a/sysdeps/unix/sysv/linux/cris/getresgid.c b/sysdeps/unix/sysv/linux/cris/getresgid.c deleted file mode 100644 index b703a414cc..0000000000 --- a/sysdeps/unix/sysv/linux/cris/getresgid.c +++ /dev/null @@ -1 +0,0 @@ -#include <sysdeps/unix/sysv/linux/i386/getresgid.c> diff --git a/sysdeps/unix/sysv/linux/cris/getresuid.c b/sysdeps/unix/sysv/linux/cris/getresuid.c deleted file mode 100644 index 0b14cefe34..0000000000 --- a/sysdeps/unix/sysv/linux/cris/getresuid.c +++ /dev/null @@ -1 +0,0 @@ -#include <sysdeps/unix/sysv/linux/i386/getresuid.c> diff --git a/sysdeps/unix/sysv/linux/cris/getrlimit.c b/sysdeps/unix/sysv/linux/cris/getrlimit.c deleted file mode 100644 index fc06dbd641..0000000000 --- a/sysdeps/unix/sysv/linux/cris/getrlimit.c +++ /dev/null @@ -1 +0,0 @@ -#include <sysdeps/unix/sysv/linux/i386/getrlimit.c> diff --git a/sysdeps/unix/sysv/linux/cris/getrlimit64.c b/sysdeps/unix/sysv/linux/cris/getrlimit64.c deleted file mode 100644 index fef018f471..0000000000 --- a/sysdeps/unix/sysv/linux/cris/getrlimit64.c +++ /dev/null @@ -1 +0,0 @@ -#include <sysdeps/unix/sysv/linux/i386/getrlimit64.c> diff --git a/sysdeps/unix/sysv/linux/cris/getuid.c b/sysdeps/unix/sysv/linux/cris/getuid.c deleted file mode 100644 index d682c79a49..0000000000 --- a/sysdeps/unix/sysv/linux/cris/getuid.c +++ /dev/null @@ -1 +0,0 @@ -#include <sysdeps/unix/sysv/linux/i386/getuid.c> diff --git a/sysdeps/unix/sysv/linux/cris/lchown.c b/sysdeps/unix/sysv/linux/cris/lchown.c deleted file mode 100644 index c89de99ba2..0000000000 --- a/sysdeps/unix/sysv/linux/cris/lchown.c +++ /dev/null @@ -1 +0,0 @@ -#include <sysdeps/unix/sysv/linux/i386/lchown.c> diff --git a/sysdeps/unix/sysv/linux/cris/lockf64.c b/sysdeps/unix/sysv/linux/cris/lockf64.c deleted file mode 100644 index a88f5a784a..0000000000 --- a/sysdeps/unix/sysv/linux/cris/lockf64.c +++ /dev/null @@ -1 +0,0 @@ -#include <sysdeps/unix/sysv/linux/i386/lockf64.c> diff --git a/sysdeps/unix/sysv/linux/cris/lxstat.c b/sysdeps/unix/sysv/linux/cris/lxstat.c deleted file mode 100644 index 2371cd9719..0000000000 --- a/sysdeps/unix/sysv/linux/cris/lxstat.c +++ /dev/null @@ -1,2 +0,0 @@ -#include <sysdeps/unix/sysv/linux/i386/lxstat.c> - diff --git a/sysdeps/unix/sysv/linux/cris/mmap.S b/sysdeps/unix/sysv/linux/cris/mmap.S deleted file mode 100644 index 3c74d590fa..0000000000 --- a/sysdeps/unix/sysv/linux/cris/mmap.S +++ /dev/null @@ -1,68 +0,0 @@ -/* Copyright (C) 1995, 96, 97, 98, 99, 2000, 2001 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sysdep.h> - -#include "kernel-features.h" - -#include <asm/errno.h> - -/* Rather than dragging in yet another kernel file, <asm/page.h>, we - define it here. Provide for easy override. */ -#ifndef PAGE_SHIFT -#define PAGE_SHIFT 13 -#endif - - .syntax no_register_prefix - -/* This is __ptr_t - __mmap (__ptr_t addr, size_t len, int prot, int flags, int fd, off_t offset) */ - - ENTRY (__mmap) - - /* Only accept a offset (and address) being a multiple of PAGE_SIZE, - since we only pass the page part in the system call. */ - move.d [sp+4],r9 - btstq (PAGE_SHIFT - 1),r9 - bne 1f - btstq (PAGE_SHIFT - 1),r10 - - bne 1f - lsrq PAGE_SHIFT,r9 - - move [sp],mof - move srp,[sp] - move r9,srp - - movu.b SYS_ify (mmap2),r9 - break 13 - - cmps.w -4096,r10 - bhs 0f - move [sp],srp - - Ret - nop - -/* Local error handler. */ -1: - movs.w -EINVAL,r10 - /* Drop through into the ordinary error handler. */ -PSEUDO_END (__mmap) - -weak_alias (__mmap, mmap) diff --git a/sysdeps/unix/sysv/linux/cris/mmap64.S b/sysdeps/unix/sysv/linux/cris/mmap64.S deleted file mode 100644 index d71114454b..0000000000 --- a/sysdeps/unix/sysv/linux/cris/mmap64.S +++ /dev/null @@ -1,91 +0,0 @@ -/* Copyright (C) 2001 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sysdep.h> - -#include "kernel-features.h" - -#include <asm/errno.h> - -/* Rather than dragging in yet another kernel file, <asm/page.h>, we - define it here. Provide for easy override. */ -#ifndef PAGE_SHIFT -#define PAGE_SHIFT 13 -#endif - -/* This is: __ptr_t - __mmap64 (__ptr_t addr, size_t len, int prot, int flags, int fd, - off64_t offset); */ - -/* This was done in C, but the resulting code didn't look anywhere near - nice, and mmap64 is important enough to have fast code. Rather than - fixing (the generic bits in) gcc, we make sure not to depend on it by - writing code that GCC cannot reasonably generate. */ - - .syntax no_register_prefix - -ENTRY (__mmap64) - - move [sp],mof - move.d [sp+4],r9 - - /* Only accept an offset being a multiple of PAGE_SIZE, ditto address. */ - btstq (PAGE_SHIFT - 1),r9 - bne 1f - lsrq PAGE_SHIFT,r9 - - btstq (PAGE_SHIFT - 1),r10 - bne 1f - move.d r9,[sp] - - /* We have to store the adjusted part somewhere we can "or" from. - No registers available, so let's re-use the incoming low-part - parameter location. */ - move.d [sp+8],r9 - - swapwbr r9 - /* Check if the highest bits (now the lowest bits) are zero. They - must be, since we're actually calling a system function - specifying the size in *pages* in a single dword. Thus you can - mmap64 PAGE_SIZE * 4 Gbyte. */ - btstq (PAGE_SHIFT - 1),r9 - bne 1f - swapwbr r9 - - lslq (32 - PAGE_SHIFT),r9 - or.d [sp],r9 - move srp,[sp] - move r9,srp - - movu.b SYS_ify (mmap2),r9 - break 13 - - cmps.w -4096,r10 - bhs 0f - move [sp],srp - - Ret - nop - -/* Local error handler. */ -1: - movs.w -EINVAL,r10 - /* Drop through into the ordinary error handler. */ -PSEUDO_END (__mmap64) - -weak_alias (__mmap64, mmap64) diff --git a/sysdeps/unix/sysv/linux/cris/msgctl.c b/sysdeps/unix/sysv/linux/cris/msgctl.c deleted file mode 100644 index 9f9b8431a3..0000000000 --- a/sysdeps/unix/sysv/linux/cris/msgctl.c +++ /dev/null @@ -1 +0,0 @@ -#include <sysdeps/unix/sysv/linux/i386/msgctl.c> diff --git a/sysdeps/unix/sysv/linux/cris/profil-counter.h b/sysdeps/unix/sysv/linux/cris/profil-counter.h deleted file mode 100644 index 37adc1fee7..0000000000 --- a/sysdeps/unix/sysv/linux/cris/profil-counter.h +++ /dev/null @@ -1,26 +0,0 @@ -/* Low-level statistical profiling support function. Linux/CRIS version. - Copyright (C) 2001 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <signal.h> - -static void -profil_counter (int signo, struct sigcontext *scp) -{ - profil_count ((void *) scp->regs.irp); -} diff --git a/sysdeps/unix/sysv/linux/cris/register-dump.h b/sysdeps/unix/sysv/linux/cris/register-dump.h deleted file mode 100644 index 309728bf96..0000000000 --- a/sysdeps/unix/sysv/linux/cris/register-dump.h +++ /dev/null @@ -1,117 +0,0 @@ -/* Dump registers. - Copyright (C) 1998, 2001 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <stddef.h> -#include <sys/uio.h> -#include <stdio-common/_itoa.h> - -/* We will print the register dump in this format: - - R0: XXXXXXXX R1: XXXXXXXX R2: XXXXXXXX R3: XXXXXXXX - R4: XXXXXXXX R5: XXXXXXXX R6: XXXXXXXX R7: XXXXXXXX - R8: XXXXXXXX R9: XXXXXXXX R10: XXXXXXXX R11: XXXXXXXX - R12: XXXXXXXX R13: XXXXXXXX SP: XXXXXXXX PC: XXXXXXXX -DCCR: XXXXXXXX SRP: XXXXXXXX */ - -static void -hexvalue (unsigned long int value, char *buf, size_t len) -{ - char *cp = _itoa_word (value, buf + len, 16, 0); - while (cp > buf) - *--cp = '0'; -} - -static void register_dump (int fd, struct sigcontext *ctx) -{ - char regs[18][8]; - struct iovec iov[36], *next_iov = iov; - struct pt_regs *rx = &ctx->regs; - -#define ADD_STRING(str) \ - next_iov->iov_base = (char *) (str); \ - next_iov->iov_len = strlen (str); \ - ++next_iov -#define ADD_MEM(str, len) \ - next_iov->iov_base = (str); \ - next_iov->iov_len = (len); \ - ++next_iov - - /* Generate strings of register contents. */ - hexvalue (rx->r0, regs[0], 8); - hexvalue (rx->r1, regs[1], 8); - hexvalue (rx->r2, regs[2], 8); - hexvalue (rx->r3, regs[3], 8); - hexvalue (rx->r4, regs[4], 8); - hexvalue (rx->r5, regs[5], 8); - hexvalue (rx->r6, regs[6], 8); - hexvalue (rx->r7, regs[7], 8); - hexvalue (rx->r8, regs[8], 8); - hexvalue (rx->r9, regs[9], 8); - hexvalue (rx->r10, regs[10], 8); - hexvalue (rx->r11, regs[11], 8); - hexvalue (rx->r12, regs[12], 8); - hexvalue (rx->r13, regs[13], 8); - hexvalue (ctx->usp, regs[14], 8); - hexvalue (rx->irp, regs[17], 8); - hexvalue (rx->dccr, regs[15], 8); - hexvalue (rx->srp, regs[16], 8); - - /* Generate the output. */ - ADD_STRING ("Register dump:\n\n R0: "); - ADD_MEM (regs[0], 8); - ADD_STRING (" R1: "); - ADD_MEM (regs[1], 8); - ADD_STRING (" R2: "); - ADD_MEM (regs[2], 8); - ADD_STRING (" R3: "); - ADD_MEM (regs[3], 8); - ADD_STRING ("\n R4: "); - ADD_MEM (regs[4], 8); - ADD_STRING (" R5: "); - ADD_MEM (regs[5], 8); - ADD_STRING (" R6: "); - ADD_MEM (regs[6], 8); - ADD_STRING (" R7: "); - ADD_MEM (regs[7], 8); - ADD_STRING ("\n R8: "); - ADD_MEM (regs[8], 8); - ADD_STRING (" R9: "); - ADD_MEM (regs[9], 8); - ADD_STRING (" R10: "); - ADD_MEM (regs[10], 8); - ADD_STRING (" R11: "); - ADD_MEM (regs[11], 8); - ADD_STRING ("\n R12: "); - ADD_MEM (regs[12], 8); - ADD_STRING (" R13: "); - ADD_MEM (regs[13], 8); - ADD_STRING (" SP: "); - ADD_MEM (regs[14], 8); - ADD_STRING (" PC: "); - ADD_MEM (regs[17], 8); - ADD_STRING ("\nDCCR: "); - ADD_MEM (regs[15], 8); - ADD_STRING (" SRP: "); - ADD_MEM (regs[16], 4); - - /* Write the stuff out. */ - writev (fd, iov, next_iov - iov); -} - -#define REGISTER_DUMP register_dump (fd, ctx) diff --git a/sysdeps/unix/sysv/linux/cris/semctl.c b/sysdeps/unix/sysv/linux/cris/semctl.c deleted file mode 100644 index e9b1a483c9..0000000000 --- a/sysdeps/unix/sysv/linux/cris/semctl.c +++ /dev/null @@ -1 +0,0 @@ -#include <sysdeps/unix/sysv/linux/i386/semctl.c> diff --git a/sysdeps/unix/sysv/linux/cris/setegid.c b/sysdeps/unix/sysv/linux/cris/setegid.c deleted file mode 100644 index 2e3a54c893..0000000000 --- a/sysdeps/unix/sysv/linux/cris/setegid.c +++ /dev/null @@ -1 +0,0 @@ -#include <sysdeps/unix/sysv/linux/i386/setegid.c> diff --git a/sysdeps/unix/sysv/linux/cris/seteuid.c b/sysdeps/unix/sysv/linux/cris/seteuid.c deleted file mode 100644 index 18e41d08c1..0000000000 --- a/sysdeps/unix/sysv/linux/cris/seteuid.c +++ /dev/null @@ -1 +0,0 @@ -#include <sysdeps/unix/sysv/linux/i386/seteuid.c> diff --git a/sysdeps/unix/sysv/linux/cris/setfsgid.c b/sysdeps/unix/sysv/linux/cris/setfsgid.c deleted file mode 100644 index 0886712569..0000000000 --- a/sysdeps/unix/sysv/linux/cris/setfsgid.c +++ /dev/null @@ -1 +0,0 @@ -#include <sysdeps/unix/sysv/linux/i386/setfsgid.c> diff --git a/sysdeps/unix/sysv/linux/cris/setfsuid.c b/sysdeps/unix/sysv/linux/cris/setfsuid.c deleted file mode 100644 index a9f22eb8ab..0000000000 --- a/sysdeps/unix/sysv/linux/cris/setfsuid.c +++ /dev/null @@ -1 +0,0 @@ -#include <sysdeps/unix/sysv/linux/i386/setfsuid.c> diff --git a/sysdeps/unix/sysv/linux/cris/setgid.c b/sysdeps/unix/sysv/linux/cris/setgid.c deleted file mode 100644 index 377021d9ec..0000000000 --- a/sysdeps/unix/sysv/linux/cris/setgid.c +++ /dev/null @@ -1 +0,0 @@ -#include <sysdeps/unix/sysv/linux/i386/setgid.c> diff --git a/sysdeps/unix/sysv/linux/cris/setgroups.c b/sysdeps/unix/sysv/linux/cris/setgroups.c deleted file mode 100644 index 0e7086278f..0000000000 --- a/sysdeps/unix/sysv/linux/cris/setgroups.c +++ /dev/null @@ -1,2 +0,0 @@ -/* We also have to rewrite the kernel gid_t to the user land type. */ -#include <sysdeps/unix/sysv/linux/i386/setgroups.c> diff --git a/sysdeps/unix/sysv/linux/cris/setregid.c b/sysdeps/unix/sysv/linux/cris/setregid.c deleted file mode 100644 index 99c57ad20f..0000000000 --- a/sysdeps/unix/sysv/linux/cris/setregid.c +++ /dev/null @@ -1 +0,0 @@ -#include <sysdeps/unix/sysv/linux/i386/setregid.c> diff --git a/sysdeps/unix/sysv/linux/cris/setresgid.c b/sysdeps/unix/sysv/linux/cris/setresgid.c deleted file mode 100644 index daca1a4833..0000000000 --- a/sysdeps/unix/sysv/linux/cris/setresgid.c +++ /dev/null @@ -1 +0,0 @@ -#include <sysdeps/unix/sysv/linux/i386/setresgid.c> diff --git a/sysdeps/unix/sysv/linux/cris/setresuid.c b/sysdeps/unix/sysv/linux/cris/setresuid.c deleted file mode 100644 index 3aeabe9ad7..0000000000 --- a/sysdeps/unix/sysv/linux/cris/setresuid.c +++ /dev/null @@ -1 +0,0 @@ -#include <sysdeps/unix/sysv/linux/i386/setresuid.c> diff --git a/sysdeps/unix/sysv/linux/cris/setreuid.c b/sysdeps/unix/sysv/linux/cris/setreuid.c deleted file mode 100644 index 8ad61226e9..0000000000 --- a/sysdeps/unix/sysv/linux/cris/setreuid.c +++ /dev/null @@ -1 +0,0 @@ -#include <sysdeps/unix/sysv/linux/i386/setreuid.c> diff --git a/sysdeps/unix/sysv/linux/cris/setrlimit.c b/sysdeps/unix/sysv/linux/cris/setrlimit.c deleted file mode 100644 index bfaef74c38..0000000000 --- a/sysdeps/unix/sysv/linux/cris/setrlimit.c +++ /dev/null @@ -1 +0,0 @@ -#include <sysdeps/unix/sysv/linux/i386/setrlimit.c> diff --git a/sysdeps/unix/sysv/linux/cris/setuid.c b/sysdeps/unix/sysv/linux/cris/setuid.c deleted file mode 100644 index de394379be..0000000000 --- a/sysdeps/unix/sysv/linux/cris/setuid.c +++ /dev/null @@ -1 +0,0 @@ -#include <sysdeps/unix/sysv/linux/i386/setuid.c> diff --git a/sysdeps/unix/sysv/linux/cris/shmctl.c b/sysdeps/unix/sysv/linux/cris/shmctl.c deleted file mode 100644 index 7eac6380dd..0000000000 --- a/sysdeps/unix/sysv/linux/cris/shmctl.c +++ /dev/null @@ -1 +0,0 @@ -#include <sysdeps/unix/sysv/linux/i386/shmctl.c> diff --git a/sysdeps/unix/sysv/linux/cris/socket.S b/sysdeps/unix/sysv/linux/cris/socket.S deleted file mode 100644 index 38b4ac5fb4..0000000000 --- a/sysdeps/unix/sysv/linux/cris/socket.S +++ /dev/null @@ -1,96 +0,0 @@ -/* Copyright (C) 1995, 1996, 1997, 1999, 2001 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sysdep.h> -#include <socketcall.h> - -#define P(a, b) P2(a, b) -#define P2(a, b) a##b - -/* The socket-oriented system calls are handled unusally in Linux. - They are all gated through the single `socketcall' system call number. - `socketcall' takes two arguments: the first is the subcode, specifying - which socket function is being called; and the second is a pointer to - the arguments to the specific function. - - The .S files for the other calls just #define socket and #include this. - They also #define a 'number-of-arguments' word in NARGS, which - defaults to 3. */ - -#ifndef NARGS -#ifdef socket -#error NARGS not defined -#endif -#define NARGS 3 -#endif - - .syntax no_register_prefix - -#ifndef __socket -#define __socket P(__,socket) -#endif - -ENTRY(__socket) - subq NARGS*4,sp - -#if NARGS >= 2 - move.d sp,r9 - move.d r10,[r9+] -#else - move.d r10,[sp] -#endif -#if NARGS >= 2 - move.d r11,[r9+] -#endif -#if NARGS >= 3 - move.d r12,[r9+] -#endif -#if NARGS >= 4 - move.d r13,[r9+] -#endif -#if NARGS >= 5 - move.d [sp+NARGS*4],r13 - move.d r13,[r9+] -#endif -#if NARGS >= 6 - move.d [sp+NARGS*4+4],r13 - move.d r13,[r9+] -#endif -#if NARGS >= 7 - move.d [sp+NARGS*4+8],r13 - move.d r13,[r9+] -#endif -#if NARGS >= 8 - move.d [sp+NARGS*4+12],r13 - move.d r13,[r9+] -#endif -#if NARGS >= 9 -#error Too many arguments! -#endif - moveq P(SOCKOP_,socket),r10 - move.d sp,r11 - movu.w SYS_ify(socketcall),r9 - break 13 - cmps.w -4096,r10 - bhs 0f - addq NARGS*4,sp - Ret - nop -PSEUDO_END (__socket) - -weak_alias (__socket, socket) diff --git a/sysdeps/unix/sysv/linux/cris/sys/ucontext.h b/sysdeps/unix/sysv/linux/cris/sys/ucontext.h deleted file mode 100644 index 2d3aee076e..0000000000 --- a/sysdeps/unix/sysv/linux/cris/sys/ucontext.h +++ /dev/null @@ -1,56 +0,0 @@ -/* Copyright (C) 1998, 1999, 2000, 2001 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SYS_UCONTEXT_H -#define _SYS_UCONTEXT_H 1 - -#include <features.h> -#include <signal.h> - -#include <bits/sigcontext.h> - - -/* Type for general register. */ -typedef long int greg_t; - -/* Number of general registers. */ -#define NGREG 20 - -/* Container for all general registers. */ -typedef greg_t gregset_t[NGREG]; - -/* A placeholder type for floating-point register. */ -typedef long int fpreg_t; - -/* A placeholder; CRIS does not have any fp regs. */ -typedef unsigned long fpregset_t; - -/* A machine context is exactly a sigcontext. */ -typedef struct sigcontext mcontext_t; - -/* Userlevel context. */ -typedef struct ucontext - { - unsigned long int uc_flags; - struct ucontext *uc_link; - stack_t uc_stack; - mcontext_t uc_mcontext; - __sigset_t uc_sigmask; - } ucontext_t; - -#endif /* sys/ucontext.h */ diff --git a/sysdeps/unix/sysv/linux/cris/syscall.S b/sysdeps/unix/sysv/linux/cris/syscall.S deleted file mode 100644 index 03626b0946..0000000000 --- a/sysdeps/unix/sysv/linux/cris/syscall.S +++ /dev/null @@ -1,40 +0,0 @@ -/* Copyright (C) 2001 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sysdep.h> - - .syntax no_register_prefix - -/* Make syscall (callno, ...) into a system call. */ - -ENTRY (syscall) - move.d r10,r9 - move.d r11,r10 - move.d r12,r11 - move.d r13,r12 - move.d [sp],r13 - move srp,[sp] - move [sp+4],mof - move [sp+8],srp - break 13 - cmps.w -4096,r10 - bhs 0f - move [sp],srp - Ret - nop -PSEUDO_END (syscall) diff --git a/sysdeps/unix/sysv/linux/cris/sysdep.S b/sysdeps/unix/sysv/linux/cris/sysdep.S deleted file mode 100644 index e53e7bbfb9..0000000000 --- a/sysdeps/unix/sysv/linux/cris/sysdep.S +++ /dev/null @@ -1,66 +0,0 @@ -/* Copyright (C) 2001 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sysdep.h> - -/* The syscall stubs jump here when they detect an error, bot for PIC and - non-PIC. */ - - .syntax no_register_prefix - -ENTRY (__syscall_error) - neg.d r10,r10 - -#ifdef _LIBC_REENTRANT - push r10 - push srp - - /* Note that __syscall_error is only visible within this library, - and no-one passes it on as a pointer, so can assume that R0 (GOT - pointer) is correctly set up. */ - PLTCALL (__errno_location) - - pop srp - pop r11 - move.d r11,[r10] - -#else /* not _LIBC_REENTRANT */ -# ifdef __PIC__ - move.d [r0+C_SYMBOL_NAME(errno:GOT)],r9 - move.d r10,[r9] -# else - move.d r10,[C_SYMBOL_NAME(errno)] -# endif -#endif /* _LIBC_REENTRANT */ - -#ifdef __PIC__ -/* PIC callers are supposed to have R0 on stack, ready for us to restore. - Callers are only allowed from within this DSO, so the GOT in r0 is the - one we want to use. - - (Don't use "ret" - it's a macro). */ - - moveq -1,r10 - Ret - pop r0 -#else - Ret - moveq -1,r10 -#endif - -END (__syscall_error) diff --git a/sysdeps/unix/sysv/linux/cris/sysdep.h b/sysdeps/unix/sysv/linux/cris/sysdep.h deleted file mode 100644 index 5013dd5d30..0000000000 --- a/sysdeps/unix/sysv/linux/cris/sysdep.h +++ /dev/null @@ -1,226 +0,0 @@ -/* Assembler macros for CRIS. - Copyright (C) 1999, 2001, 2003 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <asm/unistd.h> -#include <sysdeps/cris/sysdep.h> -#include <sys/syscall.h> -#include "config.h" - -#undef SYS_ify -#define SYS_ify(syscall_name) (__NR_##syscall_name) - - -#ifdef __ASSEMBLER__ - -/* For Linux we can use the system call table in the header file - /usr/include/asm/unistd.h - of the kernel. But these symbols do not follow the SYS_* syntax - so we have to redefine the `SYS_ify' macro here. */ -#undef SYS_ify -#define SYS_ify(syscall_name) __NR_##syscall_name - -/* ELF-like local names start with `.L'. */ -#undef L -#define L(name) .L##name - -/* Linux uses a negative return value to indicate syscall errors, - unlike most Unices, which use the condition codes' carry flag. - - Since version 2.1 the return value of a system call might be - negative even if the call succeeded. E.g., the `lseek' system call - might return a large offset. Therefore we must not anymore test - for < 0, but test for a real error by making sure the value in %eax - is a real error number. Linus said he will make sure the no syscall - returns a value in -1 .. -4095 as a valid result so we can safely - test with -4095. */ - -/* Syscall wrappers consist of - #include <sysdep.h> - PSEUDO (...) - ret - PSEUDO_END (...) - - which expand to the following. */ - -/* Linux takes system call arguments in registers: - syscall number R9 - arg 1 R10 - arg 2 R11 - arg 3 R12 - arg 4 R13 - arg 5 MOF - arg 6 SRP - - The compiler calls us by the C convention: - syscall number in the DO_CALL macro - arg 1 R10 - arg 2 R11 - arg 3 R12 - arg 4 R13 - arg 5 [SP] - arg 6 [SP + 4] - */ - -/* Note that we use "bhs", since we want to match - (unsigned) -4096 .. 0xffffffff. Using "ble" would match - -4096 .. -2**31. */ -#define PSEUDO(name, syscall_name, args) \ - ENTRY (name) @ \ - DOARGS_##args @ \ - movu.w SYS_ify (syscall_name),$r9 @ \ - break 13 @ \ - cmps.w -4096,$r10 @ \ - bhs 0f @ \ - nop @ \ - UNDOARGS_return_##args - -/* Ouch! We have to remember not to use "ret" in assembly-code. - ("Luckily", mnemonics are case-insensitive.) - Note that we assume usage is exactly: - PSEUDO (...) - ret - PSEUDO_END (...) - so we can put all payload into PSEUDO (except for error handling). */ - -#define ret - -#define PSEUDO_END(name) \ -0: @ \ - SETUP_PIC @ \ - PLTJUMP (syscall_error) @ \ - END (name) - -#define PSEUDO_NOERRNO(name, syscall_name, args) \ - ENTRY (name) @ \ - DOARGS_##args @ \ - movu.w SYS_ify (syscall_name),$r9 @ \ - break 13 @ \ - UNDOARGS_return_##args - -#define ret_NOERRNO - -#define PSEUDO_END_NOERRNO(name) \ - END (name) - -#define DOARGS_0 -#define DOARGS_1 -#define DOARGS_2 -#define DOARGS_3 -#define DOARGS_4 -#define DOARGS_5 \ - move [$sp],$mof - -/* To avoid allocating stack-space, we re-use the arg 5 (MOF) entry by - storing SRP into it. If called with too-few arguments, we will crash, - but that will happen in the general case too. */ -#define DOARGS_6 \ - DOARGS_5 @ \ - move $srp,[$sp] @ \ - move [$sp+4],$srp - -#define UNDOARGS_return_0 \ - Ret @ \ - nop - -#define UNDOARGS_return_1 UNDOARGS_return_0 -#define UNDOARGS_return_2 UNDOARGS_return_0 -#define UNDOARGS_return_3 UNDOARGS_return_0 -#define UNDOARGS_return_4 UNDOARGS_return_0 -#define UNDOARGS_return_5 UNDOARGS_return_0 - -/* We assume the following code will be "ret" and "PSEUDO_END". */ -#define UNDOARGS_return_return_6 \ - jump [$sp] - -#else /* not __ASSEMBLER__ */ - -#undef INLINE_SYSCALL -#define INLINE_SYSCALL(name, nr, args...) \ - ({ \ - unsigned long __sys_res; \ - register unsigned long __res asm ("r10"); \ - LOAD_ARGS_c_##nr (args) \ - register unsigned long __callno asm ("r9") \ - = SYS_ify (name); \ - asm volatile (LOAD_ARGS_asm_##nr (args) \ - "break 13" \ - : "=r" (__res) \ - : ASM_ARGS_##nr (args) \ - : ASM_CLOBBER_##nr); \ - __sys_res = __res; \ - \ - if (__sys_res >= (unsigned long) -4096) \ - { \ - __set_errno (- __sys_res); \ - __sys_res = (unsigned long) -1; \ - } \ - (long int) __sys_res; \ - }) - -#define LOAD_ARGS_c_0() -#define LOAD_ARGS_asm_0() -#define ASM_CLOBBER_0 "memory" -#define ASM_ARGS_0() "r" (__callno) - -#define LOAD_ARGS_c_1(r10) \ - LOAD_ARGS_c_0() \ - register unsigned long __r10 __asm__ ("r10") = (unsigned long) (r10); -#define LOAD_ARGS_asm_1(r10) LOAD_ARGS_asm_0 () -#define ASM_CLOBBER_1 ASM_CLOBBER_0 -#define ASM_ARGS_1(r10) ASM_ARGS_0 (), "0" (__r10) - -#define LOAD_ARGS_c_2(r10, r11) \ - LOAD_ARGS_c_1(r10) \ - register unsigned long __r11 __asm__ ("r11") = (unsigned long) (r11); -#define LOAD_ARGS_asm_2(r10, r11) LOAD_ARGS_asm_1 (r10) -#define ASM_CLOBBER_2 ASM_CLOBBER_1 -#define ASM_ARGS_2(r10, r11) ASM_ARGS_1 (r10), "r" (__r11) - -#define LOAD_ARGS_c_3(r10, r11, r12) \ - LOAD_ARGS_c_2(r10, r11) \ - register unsigned long __r12 __asm__ ("r12") = (unsigned long) (r12); -#define LOAD_ARGS_asm_3(r10, r11, r12) LOAD_ARGS_asm_2 (r10, r11) -#define ASM_CLOBBER_3 ASM_CLOBBER_2 -#define ASM_ARGS_3(r10, r11, r12) ASM_ARGS_2 (r10, r11), "r" (__r12) - -#define LOAD_ARGS_c_4(r10, r11, r12, r13) \ - LOAD_ARGS_c_3(r10, r11, r12) \ - register unsigned long __r13 __asm__ ("r13") = (unsigned long) (r13); -#define LOAD_ARGS_asm_4(r10, r11, r12, r13) LOAD_ARGS_asm_3 (r10, r11, r12) -#define ASM_CLOBBER_4 ASM_CLOBBER_3 -#define ASM_ARGS_4(r10, r11, r12, r13) ASM_ARGS_3 (r10, r11, r12), "r" (__r13) - -#define LOAD_ARGS_c_5(r10, r11, r12, r13, mof) \ - LOAD_ARGS_c_4(r10, r11, r12, r13) -#define LOAD_ARGS_asm_5(r10, r11, r12, r13, mof) \ - LOAD_ARGS_asm_4 (r10, r11, r12, r13) "move %6,$mof\n\t" -#define ASM_CLOBBER_5 ASM_CLOBBER_4 -#define ASM_ARGS_5(r10, r11, r12, r13, mof) \ - ASM_ARGS_4 (r10, r11, r12, r13), "g" (mof) - -#define LOAD_ARGS_c_6(r10, r11, r12, r13, mof, srp) \ - LOAD_ARGS_c_5(r10, r11, r12, r13, mof) -#define LOAD_ARGS_asm_6(r10, r11, r12, r13, mof, srp) \ - LOAD_ARGS_asm_5(r10, r11, r12, r13, mof) \ - "move %7,$srp\n\t" -#define ASM_CLOBBER_6 ASM_CLOBBER_5, "srp" -#define ASM_ARGS_6(r10, r11, r12, r13, mof, srp) \ - ASM_ARGS_5 (r10, r11, r12, r13, mof), "g" (srp) - -#endif /* not __ASSEMBLER__ */ diff --git a/sysdeps/unix/sysv/linux/cris/vfork.S b/sysdeps/unix/sysv/linux/cris/vfork.S deleted file mode 100644 index 74a8556765..0000000000 --- a/sysdeps/unix/sysv/linux/cris/vfork.S +++ /dev/null @@ -1,27 +0,0 @@ -/* Copyright (C) 1999, 2001, 2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sysdep.h> - -PSEUDO (__vfork, vfork, 0) - Ret - nop -PSEUDO_END (__vfork) -libc_hidden_def (__vfork) - -weak_alias (__vfork, vfork) diff --git a/sysdeps/unix/sysv/linux/cris/xstat.c b/sysdeps/unix/sysv/linux/cris/xstat.c deleted file mode 100644 index e9869f5508..0000000000 --- a/sysdeps/unix/sysv/linux/cris/xstat.c +++ /dev/null @@ -1 +0,0 @@ -#include <sysdeps/unix/sysv/linux/i386/xstat.c> diff --git a/sysdeps/unix/sysv/linux/syscalls.list b/sysdeps/unix/sysv/linux/syscalls.list index dd229238c1..d7c8b443c4 100644 --- a/sysdeps/unix/sysv/linux/syscalls.list +++ b/sysdeps/unix/sysv/linux/syscalls.list @@ -52,7 +52,6 @@ query_module EXTRA query_module i:sipip query_module quotactl EXTRA quotactl i:isip quotactl remap_file_pages - remap_file_pages i:piiii __remap_file_pages remap_file_pages request_key EXTRA request_key i:pppi request_key -setaltroot EXTRA setaltroot i:p setaltroot sched_getp - sched_getparam i:ip __sched_getparam sched_getparam sched_gets - sched_getscheduler i:i __sched_getscheduler sched_getscheduler sched_primax - sched_get_priority_max i:i __sched_get_priority_max sched_get_priority_max diff --git a/sysdeps/unix/sysv/linux/waitid.c b/sysdeps/unix/sysv/linux/waitid.c index 207c3d3453..71d5d3aa10 100644 --- a/sysdeps/unix/sysv/linux/waitid.c +++ b/sysdeps/unix/sysv/linux/waitid.c @@ -17,6 +17,7 @@ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ +#include <stddef.h> #include <errno.h> #include <sys/wait.h> #include <kernel-features.h> diff --git a/sysdeps/unix/sysv/minix/bits/sigaction.h b/sysdeps/unix/sysv/minix/bits/sigaction.h deleted file mode 100644 index 4b04b7b559..0000000000 --- a/sysdeps/unix/sysv/minix/bits/sigaction.h +++ /dev/null @@ -1,53 +0,0 @@ -/* Copyright (C) 1992, 1996, 1997 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SIGNAL_H -# error "Never include <bits/sigaction.h> directly; use <signal.h> instead." -#endif - -/* Structure describing the action to be taken when a signal arrives. */ -struct sigaction - { - /* Signal handler. */ - __sighandler_t sa_handler; - - /* Additional set of signals to be blocked. */ - __sigset_t sa_mask; - - /* Special flags. */ - int sa_flags; - }; - -/* Bits in `sa_flags'. */ -#ifdef __USE_MISC -# define SA_ONSTACK 0x1 /* Take signal on signal stack. */ -# define SA_RESETHAND 0x2 /* Reset signal handler when signal caught. */ -# define SA_NODEFER 0x4 /* Don't block signal while catching it. */ -# define SA_RESTART 0x8 /* Restart syscall on signal return. */ -# define SA_SIGINFO 0x10 /* Extended signal handling. */ -# define SA_NOCLDWAIT 0x20 /* Don't create zombies. */ -# define SA_COMPAT 0x80 /* Internal flag for old signal catchers. */ -# define SA_DISABLE 0x100 /* Disable alternate signal stack. */ -#endif -#define SA_NOCLDSTOP 0x40 /* Don't send SIGCHLD when children stop. */ - - -/* Values for the HOW argument to `sigprocmask'. */ -#define SIG_BLOCK 0 /* Block signals. */ -#define SIG_UNBLOCK 1 /* Unblock signals. */ -#define SIG_SETMASK 2 /* Set the set of blocked signals. */ diff --git a/sysdeps/unix/sysv/sco3.2.4/Dist b/sysdeps/unix/sysv/sco3.2.4/Dist deleted file mode 100644 index 984b473349..0000000000 --- a/sysdeps/unix/sysv/sco3.2.4/Dist +++ /dev/null @@ -1 +0,0 @@ -__setpgid.c diff --git a/sysdeps/unix/sysv/sco3.2.4/Makefile b/sysdeps/unix/sysv/sco3.2.4/Makefile deleted file mode 100644 index a199ba9003..0000000000 --- a/sysdeps/unix/sysv/sco3.2.4/Makefile +++ /dev/null @@ -1,17 +0,0 @@ -ifeq (posix,$(subdir)) -sysdep_routines := $(sysdep_routines) pgrpsys sco_getgrp -endif - -ifeq (csu,$(subdir)) - -# SCO uses crt1.o, and expects that single initializer file to also start -# the .init and .fini sections as crti.o normally does. -start-installed-name = crt1.o -start-installed-name-rule = yes - -# Link together start.o and crti.o into the expected crt1.o. -# Now crt1.o as initializer and crtn.o as finalizer will work. -$(objpfx)crt1.o: $(objpfx)start.o $(objpfx)crti.o - $(CC) -nostdlib -nostartfiles -Wl,-r -o $@ $^ - -endif diff --git a/sysdeps/unix/sysv/sco3.2.4/bits/confname.h b/sysdeps/unix/sysv/sco3.2.4/bits/confname.h deleted file mode 100644 index 42e6ed0ead..0000000000 --- a/sysdeps/unix/sysv/sco3.2.4/bits/confname.h +++ /dev/null @@ -1,54 +0,0 @@ -/* `sysconf', `pathconf', and `confstr' NAME values. Generic version. - Copyright (C) 1993, 1997 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _UNISTD_H -# error "Never use <bits/confname.h> directly; include <unistd.h> instead." -#endif - -/* Values for the NAME argument to `pathconf' and `fpathconf'. */ -#define _PC_LINK_MAX 0 -#define _PC_MAX_CANON 1 -#define _PC_MAX_INPUT 2 -#define _PC_NAME_MAX 3 -#define _PC_PATH_MAX 4 -#define _PC_PIPE_BUF 5 -#define _PC_CHOWN_RESTRICTED 6 -#define _PC_NO_TRUNC 7 -#define _PC_VDISABLE 8 - -/* Values for the argument to `sysconf'. */ -#define _SC_ARG_MAX 0 -#define _SC_CHILD_MAX 1 -#define _SC_CLK_TCK 2 -#define _SC_NGROUPS_MAX 3 -#define _SC_OPEN_MAX 4 -#define _SC_JOB_CONTROL 5 -#define _SC_SAVED_IDS 6 -#define _SC_VERSION 7 -#define _SC_PASS_MAX 8 -#define _SC_XOPEN_VERSION 9 -#define _SC_TZNAME_MAX 666 /* Not handled by SCO's system call. */ - -#ifdef __USE_POSIX2 -/* Values for the NAME argument to `confstr'. */ -enum - { - _CS_PATH /* The default search path. */ - }; -#endif diff --git a/sysdeps/unix/sysv/sco3.2.4/bits/sigaction.h b/sysdeps/unix/sysv/sco3.2.4/bits/sigaction.h deleted file mode 100644 index f087388556..0000000000 --- a/sysdeps/unix/sysv/sco3.2.4/bits/sigaction.h +++ /dev/null @@ -1,43 +0,0 @@ -/* The proper definitions for SCO's sigaction. - Copyright (C) 1993, 1994, 1996, 1997 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SIGNAL_H -# error "Never include <bits/sigaction.h> directly; use <signal.h> instead." -#endif - -/* Structure describing the action to be taken when a signal arrives. */ -struct sigaction - { - /* Signal handler. */ - __sighandler_t sa_handler; - - /* Additional set of signals to be blocked. */ - __sigset_t sa_mask; - - /* Special flags. */ - int sa_flags; - }; - -/* Bits in `sa_flags'. */ -#define SA_NOCLDSTOP 0x01 /* Don't send SIGCHLD when children stop. */ - -/* Values for the HOW argument to `sigprocmask'. */ -#define SIG_SETMASK 0 /* Set the set of blocked signals. */ -#define SIG_BLOCK 1 /* Block signals. */ -#define SIG_UNBLOCK 2 /* Unblock signals. */ diff --git a/sysdeps/unix/sysv/sco3.2.4/getgroups.c b/sysdeps/unix/sysv/sco3.2.4/getgroups.c deleted file mode 100644 index 2aac40bddd..0000000000 --- a/sysdeps/unix/sysv/sco3.2.4/getgroups.c +++ /dev/null @@ -1,45 +0,0 @@ -/* Copyright (C) 1994, 1995, 1997, 2004 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sys/types.h> -#include <unistd.h> -#include <limits.h> -#include <alloca.h> - -extern int __sco_getgroups (int size, unsigned short int *list); - -int -__getgroups (size, list) - int size; gid_t *list; -{ - int i; - unsigned short int *shortlist; - - if (size <= 0) - return __sco_getgroups (size, NULL); - - shortlist = __alloca (size * sizeof (*shortlist)); - - size = __sco_getgroups (size, shortlist); - for (i = 0; i < size; ++i) - list[i] = shortlist[i]; - - return size; -} - -weak_alias (__getgroups, getgroups) diff --git a/sysdeps/unix/sysv/sco3.2.4/getpgid.c b/sysdeps/unix/sysv/sco3.2.4/getpgid.c deleted file mode 100644 index 3b47d9dee2..0000000000 --- a/sysdeps/unix/sysv/sco3.2.4/getpgid.c +++ /dev/null @@ -1 +0,0 @@ -#include <sysdeps/unix/sysv/sysv4/getpgid.c> diff --git a/sysdeps/unix/sysv/sco3.2.4/setpgid.c b/sysdeps/unix/sysv/sco3.2.4/setpgid.c deleted file mode 100644 index cc9c4cd61b..0000000000 --- a/sysdeps/unix/sysv/sco3.2.4/setpgid.c +++ /dev/null @@ -1 +0,0 @@ -#include <sysdeps/unix/sysv/sysv4/setpgid.c> diff --git a/sysdeps/unix/sysv/sco3.2.4/setsid.c b/sysdeps/unix/sysv/sco3.2.4/setsid.c deleted file mode 100644 index 6337652552..0000000000 --- a/sysdeps/unix/sysv/sco3.2.4/setsid.c +++ /dev/null @@ -1 +0,0 @@ -#include <sysdeps/unix/sysv/sysv4/setsid.c> diff --git a/sysdeps/unix/sysv/sco3.2.4/sigaction.S b/sysdeps/unix/sysv/sco3.2.4/sigaction.S deleted file mode 100644 index ae50c17d93..0000000000 --- a/sysdeps/unix/sysv/sco3.2.4/sigaction.S +++ /dev/null @@ -1,30 +0,0 @@ -/* Copyright (C) 1993, 1994, 1995, 1997, 2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sysdep.h> - -.globl C_SYMBOL_NAME(__sigreturn) - -ENTRY (__sigaction) - movl $C_SYMBOL_NAME(__sigreturn), %ecx - DO_CALL (sigaction, 3) - jb syscall_error - ret - -libc_hidden_def (__sigaction) -weak_alias (__sigaction, sigaction) diff --git a/sysdeps/unix/sysv/sco3.2.4/sys/syscall.h b/sysdeps/unix/sysv/sco3.2.4/sys/syscall.h deleted file mode 100644 index 05bbb89f34..0000000000 --- a/sysdeps/unix/sysv/sco3.2.4/sys/syscall.h +++ /dev/null @@ -1,125 +0,0 @@ -/* Copyright (C) 1994, 1996 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* From Scott Bartram. */ - -#ifndef _SYSCALL_H -#define _SYSCALL_H - -#define SYS_access 33 -#define SYS_acct 51 -#define SYS_advfs 70 -#define SYS_alarm 27 -#define SYS_break 17 -#define SYS_brk 17 -#define SYS_chdir 12 -#define SYS_chmod 15 -#define SYS_chown 16 -#define SYS_chroot 61 -#define SYS_chsize 0x0a28 -#define SYS_close 6 -#define SYS_creat 8 -#define SYS_dup 41 -#define SYS_exec 11 -#define SYS_exece 59 -#define SYS_exit 1 -#define SYS_fcntl 62 -#define SYS_fork 2 -#define SYS_fpathconf 0x2f28 -#define SYS_fstat 28 -#define SYS_fstatfs 38 -#define SYS_ftime 0x0b28 -#define SYS_getdents 81 -#define SYS_getgid 47 -#define SYS_getgroups 0x2b28 -#define SYS_getitimer 0x3728 -#define SYS_getmsg 85 -#define SYS_getpid 20 -#define SYS_getuid 24 -#define SYS_gtty 32 -#define SYS_ioctl 54 -#define SYS_kill 37 -#define SYS_link 9 -#define SYS_lock 45 -#define SYS_lseek 19 -#define SYS_lstat 91 -#define SYS_mkdir 80 -#define SYS_mknod 14 -#define SYS_mount 21 -#define SYS_msgsys 49 -#define SYS_nap 0x0c28 -#define SYS_nice 34 -#define SYS_open 5 -#define SYS_pathconf 0x2e28 -#define SYS_pause 29 -#define SYS_pgrpsys 39 -#define SYS_pipe 42 -#define SYS_plock 45 -#define SYS_poll 87 -#define SYS_prof 44 -#define SYS_ptrace 26 -#define SYS_putmsg 86 -#define SYS_rdebug 76 -#define SYS_read 3 -#define SYS_readlink 92 -#define SYS_rename 0x3028 -#define SYS_rfstart 74 -#define SYS_rfstop 77 -#define SYS_rfsys 78 -#define SYS_rmdir 79 -#define SYS_rmount 72 -#define SYS_rumount 73 -#define SYS_seek 19 -#define SYS_select 0x2428 -#define SYS_semsys 53 -#define SYS_setgid 46 -#define SYS_setgroups 0x2c28 -#define SYS_setitimer 0x3828 -#define SYS_setpgrp 39 -#define SYS_setuid 23 -#define SYS_shmsys 52 -#define SYS_sigaction 0x2728 -#define SYS_signal 48 -#define SYS_sigpending 0x2928 -#define SYS_sigprocmask 0x2828 -#define SYS_sigsuspend 0x2a28 -#define SYS_stat 18 -#define SYS_statfs 35 -#define SYS_stime 25 -#define SYS_stty 31 -#define SYS_symlink 90 -#define SYS_sync 36 -#define SYS_sys3b 50 -#define SYS_sysacct 51 -#define SYS_sysconf 0x2d28 -#define SYS_sysfs 84 -#define SYS_sysi86 50 -#define SYS_time 13 -#define SYS_times 43 -#define SYS_uadmin 55 -#define SYS_ulimit 63 -#define SYS_umask 60 -#define SYS_umount 22 -#define SYS_unadvfs 71 -#define SYS_unlink 10 -#define SYS_utime 30 -#define SYS_utssys 57 -#define SYS_wait 7 -#define SYS_write 4 - -#endif diff --git a/sysdeps/unix/sysv/sco3.2.4/syscalls.list b/sysdeps/unix/sysv/sco3.2.4/syscalls.list deleted file mode 100644 index bda6c16c76..0000000000 --- a/sysdeps/unix/sysv/sco3.2.4/syscalls.list +++ /dev/null @@ -1,8 +0,0 @@ -# File name Caller Syscall name # args Strong name Weak names - -pathconf - pathconf 2 __pathconf pathconf -pgrpsys - pgrpsys 3 __pgrpsys -sco_getgrp getgroups getgroups 2 __sco_getgroups -sigpending - sigpending 1 sigpending -sigprocmask - sigprocmask 3 __sigprocmask sigprocmask -sigsuspend - sigsuspend 1 sigsuspend diff --git a/sysdeps/unix/sysv/sco3.2.4/sysconf.S b/sysdeps/unix/sysv/sco3.2.4/sysconf.S deleted file mode 100644 index 9780bd4881..0000000000 --- a/sysdeps/unix/sysv/sco3.2.4/sysconf.S +++ /dev/null @@ -1,30 +0,0 @@ -/* Copyright (C) 1993, 1994, 1995, 1997 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sysdep.h> -#include <bits/confname.h> - -.globl __tzname_max -ENTRY (__sysconf) - cmpl $_SC_TZNAME_MAX, 4(%esp) /* Is the arg _SC_TZNAME_MAX? */ - je tzname - DO_CALL (sysconf, 1) /* No; use the SCO system call. */ - ret -tzname: jmp C_SYMBOL_NAME(__tzname_max) /* Yes; bounce to __tzname_max (). */ - -weak_alias (__sysconf, sysconf) diff --git a/sysdeps/unix/sysv/sco3.2.4/system.c b/sysdeps/unix/sysv/sco3.2.4/system.c deleted file mode 100644 index 06dc066b88..0000000000 --- a/sysdeps/unix/sysv/sco3.2.4/system.c +++ /dev/null @@ -1,10 +0,0 @@ -/* SCO has a bug where `waitpid' will never return if SIGCHLD is blocked. - They have acknowledged that this is a bug but I have not seen nor heard - of any forthcoming fix. */ - -#define WAITPID_CANNOT_BLOCK_SIGCHLD - -/* SCO 3.2v4 does have `waitpid'. - Avoid unix/system.c, which says we don't. */ - -#include <sysdeps/posix/system.c> diff --git a/sysdeps/unix/sysv/sco3.2.4/uname.S b/sysdeps/unix/sysv/sco3.2.4/uname.S deleted file mode 100644 index bc61089d65..0000000000 --- a/sysdeps/unix/sysv/sco3.2.4/uname.S +++ /dev/null @@ -1,41 +0,0 @@ -/* Copyright (C) 1993, 1994, 1997 Free Software Foundation, Inc. - Contributed by Scott Bartram. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sysdep.h> - -/* - before lcall, stack contents should be: - - 4(%esp) -> name - 8(%esp) -> unspecified - 12(%esp) -> 0 - */ - -ENTRY (uname) - pushl $0x0 /* Push the discriminator flag. */ - pushl $0x0 /* Push dummy placeholder. */ - pushl 12(%esp,1) /* Push NAME (ptr to struct utsname) */ - subl $0x4, %esp /* Adjust stack pointer. */ - DO_CALL (utssys, 3) - jb error /* Test for error. */ - addl $0x10, %esp /* Adjust the stack pointer. */ - xorl %eax, %eax /* Clear return value. */ - ret -error: addl $0x10, %esp /* Adjust the stack pointer. */ - jmp syscall_error diff --git a/sysdeps/unix/sysv/sco3.2.4/waitpid.S b/sysdeps/unix/sysv/sco3.2.4/waitpid.S deleted file mode 100644 index ccbc81274e..0000000000 --- a/sysdeps/unix/sysv/sco3.2.4/waitpid.S +++ /dev/null @@ -1,37 +0,0 @@ -/* Copyright (C) 1993,94,95,97,2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sysdep.h> - -ENTRY (__waitpid) - /* The `waitpid' system call is distinguished from plain - `wait' by setting lots of bits in the processor flags. */ - pushfl /* Push the flags word. */ - popl %eax /* Pop it into the accumulator. */ - orl $0x8c4, %eax /* Set lots of bits. */ - pushl %eax /* Push the new flags word. */ - popfl /* Pop it into the flags. */ - DO_CALL (wait, 2) - movl 8(%esp), scratch /* Put status pointer in scratch register. */ - testl scratch, scratch /* Is it non-nil? */ - je null - movl r1, (scratch) /* Yes; store the status there. */ -null: ret - -libc_hidden_def (__waitpid) -weak_alias (__waitpid, waitpid) diff --git a/sysdeps/unix/sysv/sco3.2/Dist b/sysdeps/unix/sysv/sco3.2/Dist deleted file mode 100644 index 60fab2bdea..0000000000 --- a/sysdeps/unix/sysv/sco3.2/Dist +++ /dev/null @@ -1 +0,0 @@ -__fltused.c diff --git a/sysdeps/unix/sysv/sco3.2/Makefile b/sysdeps/unix/sysv/sco3.2/Makefile deleted file mode 100644 index c4d9da7a06..0000000000 --- a/sysdeps/unix/sysv/sco3.2/Makefile +++ /dev/null @@ -1,23 +0,0 @@ -# Copyright (C) 1993, 1997 Free Software Foundation, Inc. -# This file is part of the GNU C Library. - -# The GNU C Library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. - -# The GNU C Library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. - -# You should have received a copy of the GNU Lesser General Public -# License along with the GNU C Library; if not, write to the Free -# Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA -# 02111-1307 USA. - -ifeq ($(subdir),misc) - -sysdep_routines := $(sysdep_routines) __fltused - -endif diff --git a/sysdeps/unix/sysv/sco3.2/__fltused.c b/sysdeps/unix/sysv/sco3.2/__fltused.c deleted file mode 100644 index 5d1d67f0b1..0000000000 --- a/sysdeps/unix/sysv/sco3.2/__fltused.c +++ /dev/null @@ -1,3 +0,0 @@ -/* Code compiled by the SCO compiler apparently likes this to be defined. */ - -int __fltused = 1; diff --git a/sysdeps/unix/sysv/sco3.2/bits/local_lim.h b/sysdeps/unix/sysv/sco3.2/bits/local_lim.h deleted file mode 100644 index b4141d0dbf..0000000000 --- a/sysdeps/unix/sysv/sco3.2/bits/local_lim.h +++ /dev/null @@ -1,37 +0,0 @@ -/* Copyright (C) 1993, 1996 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _BITS_LOCAL_LIM_H -#define _BITS_LOCAL_LIM_H 1 - -#define NGROUPS_MAX 8 /* Maximum number of supplementary groups. */ -#define ARG_MAX 5120 -#define CHILD_MAX 25 -#define OPEN_MAX 60 -#define LINK_MAX 1000 -#define MAX_CANON 256 - -/* For SVR3, this is 14. For SVR4, it is 255, at least on ufs - file systems, even though the System V limits.h incorrectly - defines it as 14. Giving it a value which is too large - is harmless (it is a maximum). */ -#define NAME_MAX 255 - -#define PATH_MAX 1024 - -#endif /* bits/local_lim.h */ diff --git a/sysdeps/unix/sysv/sysv4/Dist b/sysdeps/unix/sysv/sysv4/Dist deleted file mode 100644 index 6395064504..0000000000 --- a/sysdeps/unix/sysv/sysv4/Dist +++ /dev/null @@ -1,4 +0,0 @@ -__getpgid.c -__setpgid.c -sysconfig.h -siginfo.h diff --git a/sysdeps/unix/sysv/sysv4/Implies b/sysdeps/unix/sysv/sysv4/Implies deleted file mode 100644 index 953822ea48..0000000000 --- a/sysdeps/unix/sysv/sysv4/Implies +++ /dev/null @@ -1,3 +0,0 @@ -# The directory unix/common contains things which are common to both BSD -# and SVR4. -unix/common diff --git a/sysdeps/unix/sysv/sysv4/Makefile b/sysdeps/unix/sysv/sysv4/Makefile deleted file mode 100644 index 6f7155c716..0000000000 --- a/sysdeps/unix/sysv/sysv4/Makefile +++ /dev/null @@ -1,29 +0,0 @@ -# Copyright (C) 1992, 1993, 1995, 1996, 1997 Free Software Foundation, Inc. -# This file is part of the GNU C Library. - -# The GNU C Library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. - -# The GNU C Library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. - -# You should have received a copy of the GNU Lesser General Public -# License along with the GNU C Library; if not, write to the Free -# Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA -# 02111-1307 USA. - -ifeq ($(subdir),posix) - -sysdep_routines := $(sysdep_routines) sysconfig pgrpsys __waitid - -endif - -ifeq ($(subdir),misc) - -sysdep_routines := $(sysdep_routines) sysinfo - -endif diff --git a/sysdeps/unix/sysv/sysv4/bits/sigaction.h b/sysdeps/unix/sysv/sysv4/bits/sigaction.h deleted file mode 100644 index faf07e5ff5..0000000000 --- a/sysdeps/unix/sysv/sysv4/bits/sigaction.h +++ /dev/null @@ -1,55 +0,0 @@ -/* The proper definitions for SVR4's sigaction. - Copyright (C) 1993, 1994, 1996, 1997 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SIGNAL_H -# error "Never include <bits/sigaction.h> directly; use <signal.h> instead." -#endif - -/* Structure describing the action to be taken when a signal arrives. */ -struct sigaction - { - /* Special flags. */ - int sa_flags; - - /* Signal handler. */ - __sighandler_t sa_handler; - - /* Additional set of signals to be blocked. */ - __sigset_t sa_mask; - - /* Padding. */ - int sa_resv[2]; - }; - -/* Bits in `sa_flags'. */ -#ifdef __USE_MISC -# define SA_ONSTACK 0x1 /* Take signal on signal stack. */ -# define SA_RESETHAND 0x2 /* Reset to SIG_DFL on entry to handler. */ -# define SA_RESTART 0x4 /* Restart syscall on signal return. */ -# define SA_SIGINFO 0x8 /* Provide additional info to the handler. */ -# define SA_NODEFER 0x10 /* Don't automatically block the signal when - its handler is being executed. */ -# define SA_NOCLDWAIT 0x10000 /* Don't save zombie processes. */ -#endif -#define SA_NOCLDSTOP 0x20000 /* Don't send SIGCHLD when children stop. */ - -/* Values for the HOW argument to `sigprocmask'. */ -#define SIG_BLOCK 1 /* Block signals. */ -#define SIG_UNBLOCK 2 /* Unblock signals. */ -#define SIG_SETMASK 3 /* Set the set of blocked signals. */ diff --git a/sysdeps/unix/sysv/sysv4/bits/signum.h b/sysdeps/unix/sysv/sysv4/bits/signum.h deleted file mode 100644 index 07f900a78b..0000000000 --- a/sysdeps/unix/sysv/sysv4/bits/signum.h +++ /dev/null @@ -1,66 +0,0 @@ -/* Signal number definitions. SVR4 version. - Copyright (C) 1994, 1996 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifdef _SIGNAL_H - -/* Fake signal functions. */ -#define SIG_ERR ((__sighandler_t) -1) /* Error return. */ -#define SIG_DFL ((__sighandler_t) 0) /* Default action. */ -#define SIG_IGN ((__sighandler_t) 1) /* Ignore signal. */ - - -/* Signals. */ -#define SIGHUP 1 /* Hangup (POSIX). */ -#define SIGINT 2 /* Interrupt (ANSI). */ -#define SIGQUIT 3 /* Quit (POSIX). */ -#define SIGILL 4 /* Illegal instruction (ANSI). */ -#define SIGABRT SIGIOT /* Abort (ANSI). */ -#define SIGTRAP 5 /* Trace trap (POSIX). */ -#define SIGIOT 6 /* IOT trap (4.2 BSD). */ -#define SIGEMT 7 /* EMT trap (4.2 BSD). */ -#define SIGFPE 8 /* Floating-point exception (ANSI). */ -#define SIGKILL 9 /* Kill, unblockable (POSIX). */ -#define SIGBUS 10 /* Bus error (4.2 BSD). */ -#define SIGSEGV 11 /* Segmentation violation (ANSI). */ -#define SIGSYS 12 /* Bad argument to system call (4.2 BSD)*/ -#define SIGPIPE 13 /* Broken pipe (POSIX). */ -#define SIGALRM 14 /* Alarm clock (POSIX). */ -#define SIGTERM 15 /* Termination (ANSI). */ -#define SIGUSR1 16 /* User-defined signal 1 (POSIX). */ -#define SIGUSR2 17 /* User-defined signal 2 (POSIX). */ -#define SIGCHLD 18 /* Child status has changed (POSIX). */ -#define SIGCLD SIGCHLD /* Same as SIGCHLD (System V). */ -#define SIGPWR 19 /* Power failure restart (System V). */ -#define SIGWINCH 20 /* Window size change (4.3 BSD, Sun). */ -#define SIGURG 21 /* Urgent condition on socket (4.2 BSD).*/ -#define SIGPOLL 22 /* Pollable event occurred (System V). */ -#define SIGIO SIGPOLL /* I/O now possible (4.2 BSD). */ -#define SIGSTOP 23 /* Stop, unblockable (POSIX). */ -#define SIGTSTP 24 /* Keyboard stop (POSIX). */ -#define SIGCONT 25 /* Continue (POSIX). */ -#define SIGTTIN 26 /* Background read from tty (POSIX). */ -#define SIGTTOU 27 /* Background write to tty (POSIX). */ -#define SIGVTALRM 28 /* Virtual alarm clock (4.2 BSD). */ -#define SIGPROF 29 /* Profiling alarm clock (4.2 BSD). */ -#define SIGXCPU 30 /* CPU limit exceeded (4.2 BSD). */ -#define SIGXFSZ 31 /* File size limit exceeded (4.2 BSD). */ - -#endif /* <signal.h> included. */ - -#define _NSIG 32 /* Biggest signal number + 1. */ diff --git a/sysdeps/unix/sysv/sysv4/bits/sigset.h b/sysdeps/unix/sysv/sysv4/bits/sigset.h deleted file mode 100644 index 9093c72952..0000000000 --- a/sysdeps/unix/sysv/sysv4/bits/sigset.h +++ /dev/null @@ -1,98 +0,0 @@ -/* __sig_atomic_t, __sigset_t, and related definitions. SVR4 version. - Copyright (C) 1994-1996, 2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SIGSET_H_types -#define _SIGSET_H_types 1 - -typedef int __sig_atomic_t; - -/* A `sigset_t' has a bit for each signal. */ -typedef struct - { - unsigned long int __sigbits[4]; - } __sigset_t; - -#endif /* ! _SIGSET_H_types */ - -/* We only want to define these functions if <signal.h> was actually - included; otherwise we were included just to define the types. Since we - are namespace-clean, it wouldn't hurt to define extra macros. But - trouble can be caused by functions being defined (e.g., any global - register vars declared later will cause compilation errors). */ - -#if !defined (_SIGSET_H_fns) && defined (_SIGNAL_H) -#define _SIGSET_H_fns 1 - -/* Return a mask that includes SIG only. */ -#define __sigmask(sig) (1 << ((sig) - 1)) - - -/* It's easier to assume 8-bit bytes than to get CHAR_BIT. */ -#define __NSSBITS (sizeof (unsigned long int) * 8) -#define __SSELT(s) ((s) / __NSSBITS) -#define __SSMASK(s) (1 << ((s) % __NSSBITS)) - -#ifdef __USE_EXTERN_INLINES -# ifndef _EXTERN_INLINE -# define _EXTERN_INLINE extern __inline -# endif - -_EXTERN_INLINE int -__sigemptyset (__sigset_t *__set) -{ - __set->__sigbits[0] = __set->__sigbits[1] = - __set->__sigbits[2] = __set->__sigbits[3] = 0L; - return 0; -} - -_EXTERN_INLINE int -__sigfillset (__sigset_t *__set) -{ - /* SVR4 has a system call for `sigfillset' (!), and it only sets the bits - for signals [1,31]. Setting bits for unimplemented signals seems - harmless (and we will find out if it really is). */ - __set->__sigbits[0] = __set->__sigbits[1] = - __set->__sigbits[2] = __set->__sigbits[3] = ~0L; - return 0; -} - -_EXTERN_INLINE int -__sigaddset (__sigset_t *__set, int __sig) -{ - __set->__sigbits[__SSELT (__sig)] |= __SSMASK (__sig); - return 0; -} - -_EXTERN_INLINE int -__sigdelset (__sigset_t *__set, int __sig) -{ - __set->__sigbits[__SSELT (__sig)] &= ~__SSMASK (__sig); - return 0; -} - -_EXTERN_INLINE int -__sigismember (__const __sigset_t *__set, int __sig) -{ - if (__set->__sigbits[__SSELT (__sig)] & __SSMASK (__sig)) - return 1; - return 0; -} -#endif /* use extern inlines. */ - -#endif /* ! _SIGSET_H_fns */ diff --git a/sysdeps/unix/sysv/sysv4/bits/utsname.h b/sysdeps/unix/sysv/sysv4/bits/utsname.h deleted file mode 100644 index 891ae68628..0000000000 --- a/sysdeps/unix/sysv/sysv4/bits/utsname.h +++ /dev/null @@ -1,23 +0,0 @@ -/* Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SYS_UTSNAME_H -# error "Never include <bits/utsname.h> directly; use <sys/utsname.h> instead." -#endif - -#define _UTSNAME_LENGTH 257 diff --git a/sysdeps/unix/sysv/sysv4/bits/waitflags.h b/sysdeps/unix/sysv/sysv4/bits/waitflags.h deleted file mode 100644 index 40bc823de6..0000000000 --- a/sysdeps/unix/sysv/sysv4/bits/waitflags.h +++ /dev/null @@ -1,34 +0,0 @@ -/* Definitions of flag bits for `waitpid' et al. - Copyright (C) 1993, 1996, 1997, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Brendan Kehoe (brendan@zen.org). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#if !defined _SYS_WAIT_H && !defined _STDLIB_H -# error "Never include <bits/waitflags.h> directly; use <sys/wait.h> instead." -#endif - - -/* Bits in the third argument to `waitpid'. */ -#define WNOHANG 64 /* Don't block waiting. */ -#define WUNTRACED 4 /* Report status of stopped children. */ - -#ifdef __USE_SVID -# define WEXITED 1 /* Look for children that have exited. */ -# define WTRAPPED 2 /* Look for processes that stopped - while tracing. */ -#endif diff --git a/sysdeps/unix/sysv/sysv4/dup2.c b/sysdeps/unix/sysv/sysv4/dup2.c deleted file mode 100644 index 7d36e0e352..0000000000 --- a/sysdeps/unix/sysv/sysv4/dup2.c +++ /dev/null @@ -1,2 +0,0 @@ -/* SVR4 uses the POSIX dup2. */ -#include <sysdeps/posix/dup2.c> diff --git a/sysdeps/unix/sysv/sysv4/ftruncate.c b/sysdeps/unix/sysv/sysv4/ftruncate.c deleted file mode 100644 index 47e040eb2c..0000000000 --- a/sysdeps/unix/sysv/sysv4/ftruncate.c +++ /dev/null @@ -1,37 +0,0 @@ -/* ftruncate for SVR4 using the fcntl F_FREESP command. - Copyright (C) 1995, 1997 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sys/types.h> -#include <unistd.h> -#include <fcntl.h> -#include <string.h> - -/* Truncate the file FD refers to to LENGTH bytes. */ -int -ftruncate (fd, length) - int fd; - off_t length; -{ - struct flock fl; - - memset (&fl, 0, sizeof fl); - fl.l_type = F_WRLCK; - fl.l_start = length; - return fcntl (fd, F_FREESP, &fl); -} diff --git a/sysdeps/unix/sysv/sysv4/gethostname.c b/sysdeps/unix/sysv/sysv4/gethostname.c deleted file mode 100644 index 4a058b51c1..0000000000 --- a/sysdeps/unix/sysv/sysv4/gethostname.c +++ /dev/null @@ -1,35 +0,0 @@ -/* Copyright (C) 1994, 1995, 1997, 2000, 2001 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Brendan Kehoe (brendan@zen.org). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <errno.h> -#include <unistd.h> -#include <sys/types.h> -#include <sys/systeminfo.h> - -extern int __sysinfo (int command, char *buf, long int count); - -int -__gethostname (name, namelen) - char *name; - size_t namelen; -{ - return __sysinfo (SI_HOSTNAME, name, namelen); -} - -weak_alias (__gethostname, gethostname) diff --git a/sysdeps/unix/sysv/sysv4/getpagesize.c b/sysdeps/unix/sysv/sysv4/getpagesize.c deleted file mode 100644 index 6119640758..0000000000 --- a/sysdeps/unix/sysv/sysv4/getpagesize.c +++ /dev/null @@ -1,2 +0,0 @@ -/* Solaris uses sysconf ala POSIX.1. */ -#include <sysdeps/posix/getpagesize.c> diff --git a/sysdeps/unix/sysv/sysv4/getpgid.c b/sysdeps/unix/sysv/sysv4/getpgid.c deleted file mode 100644 index 95f96417cc..0000000000 --- a/sysdeps/unix/sysv/sysv4/getpgid.c +++ /dev/null @@ -1,32 +0,0 @@ -/* Copyright (C) 1993,1995,1997,1999,2002,2004 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <unistd.h> -#include <sys/types.h> - -extern pid_t __pgrpsys (int type, ...); - -/* Get the process group ID of process PID. */ -pid_t -__getpgid (pid) - pid_t pid; -{ - return __pgrpsys (4, pid); -} -libc_hidden_def (__getpgid) -weak_alias (__getpgid, getpgid) diff --git a/sysdeps/unix/sysv/sysv4/i386/Dist b/sysdeps/unix/sysv/sysv4/i386/Dist deleted file mode 100644 index 69d16ac6bf..0000000000 --- a/sysdeps/unix/sysv/sysv4/i386/Dist +++ /dev/null @@ -1 +0,0 @@ -sys-sig.S diff --git a/sysdeps/unix/sysv/sysv4/i386/Makefile b/sysdeps/unix/sysv/sysv4/i386/Makefile deleted file mode 100644 index 56f0a37de1..0000000000 --- a/sysdeps/unix/sysv/sysv4/i386/Makefile +++ /dev/null @@ -1,3 +0,0 @@ -ifeq ($(subdir),signal) -sysdep_routines := $(sysdep_routines) sys-sig -endif diff --git a/sysdeps/unix/sysv/sysv4/i386/bits/stat.h b/sysdeps/unix/sysv/sysv4/i386/bits/stat.h deleted file mode 100644 index c1016a9228..0000000000 --- a/sysdeps/unix/sysv/sysv4/i386/bits/stat.h +++ /dev/null @@ -1,93 +0,0 @@ -/* Copyright (C) 1993, 1996, 1997, 1999, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SYS_STAT_H -# error "Never include <bits/stat.h> directly; use <sys/stat.h> instead." -#endif - -#include <bits/types.h> - -/* Versions of the `struct stat' data structure and - the bits of the `xmknod' interface. */ -#define _STAT_VER 2 -#define _MKNOD_VER 2 - -/* Structure describing file characteristics. */ -struct stat - { - unsigned long itn st_dev; /* Device. */ - long int st_filler1[3]; - unsigned long int st_ino; /* File serial number. */ - unsigned long int st_mode; /* File mode. */ - unsigned long int st_nlink; /* Link count. */ - long int st_uid; /* User ID of the file's owner. */ - long int st_gid; /* Group ID of the file's group.*/ - unsigned long int st_rdev; /* Device number, if device. */ - long int st_filler2[2]; - - long int st_size; /* Size of file, in bytes. */ - /* SVR4 added this extra long to allow for expansion of off_t. */ - long int st_filler3; - - long int st_atime; /* Time of last access. */ - unsigned long int st_atime_usec; - long int st_mtime; /* Time of last modification. */ - unsigned long int st_mtime_usec; - long int st_ctime; /* Time of last status change. */ - unsigned long int st_ctime_usec; - - __blksize_t st_blksize; /* Optimal block size for I/O. */ -#define _STATBUF_ST_BLKSIZE /* Tell code we have this member. */ - - __blkcnt_t st_blocks; /* Number of 512-byte blocks allocated. */ - char st_fstype[16]; /* The type of this filesystem. */ - int st_aclcnt; - unsigned long int st_level; - unsigned long int st_flags; - unsigned long int st_cmwlevel; - long int st_filler4[4]; - }; - -/* Encoding of the file mode. */ - -#define __S_IFMT 0170000 /* These bits determine file type. */ - -/* File types. */ -#define __S_IFDIR 0040000 /* Directory. */ -#define __S_IFCHR 0020000 /* Character device. */ -#define __S_IFBLK 0060000 /* Block device. */ -#define __S_IFREG 0100000 /* Regular file. */ -#define __S_IFIFO 0010000 /* FIFO. */ - -/* These don't actually exist on System V, but having them doesn't hurt. */ -#define __S_IFLNK 0120000 /* Symbolic link. */ -#define __S_IFSOCK 0140000 /* Socket. */ - -/* POSIX.1b objects. */ -#define __S_TYPEISMQ(buf) (0) -#define __S_TYPEISSEM(buf) (0) -#define __S_TYPEISSHM(buf) (0) - -/* Protection bits. */ - -#define __S_ISUID 04000 /* Set user ID on execution. */ -#define __S_ISGID 02000 /* Set group ID on execution. */ -#define __S_ISVTX 01000 /* Save swapped text after use (sticky). */ -#define __S_IREAD 0400 /* Read by owner. */ -#define __S_IWRITE 0200 /* Write by owner. */ -#define __S_IEXEC 0100 /* Execute by owner. */ diff --git a/sysdeps/unix/sysv/sysv4/i386/sys-sig.S b/sysdeps/unix/sysv/sysv4/i386/sys-sig.S deleted file mode 100644 index 6e2d1abde3..0000000000 --- a/sysdeps/unix/sysv/sysv4/i386/sys-sig.S +++ /dev/null @@ -1,30 +0,0 @@ -/* Copyright (C) 1994, 1997 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sysdep.h> - -.globl C_SYMBOL_NAME(__sigreturn) - -ENTRY (__sigaction_syscall) - movl $C_SYMBOL_NAME(__sigreturn), %edx - DO_CALL (sigaction, 3) - jb syscall_error - ret - -PSEUDO (__context_syscall, context, 2) - ret diff --git a/sysdeps/unix/sysv/sysv4/i386/syscalls.list b/sysdeps/unix/sysv/sysv4/i386/syscalls.list deleted file mode 100644 index 560cd8366e..0000000000 --- a/sysdeps/unix/sysv/sysv4/i386/syscalls.list +++ /dev/null @@ -1,6 +0,0 @@ -# File name Caller Syscall name # args Strong name Weak names - -xstat - xstat 3 __xstat _xstat -fxstat - fxstat 3 __fxstat _fxstat -lxstat - lxstat 3 __lxstat _lxstat -xmknod - xmknod 4 __xmknod _xmknod diff --git a/sysdeps/unix/sysv/sysv4/i386/sysdep.h b/sysdeps/unix/sysv/sysv4/i386/sysdep.h deleted file mode 100644 index daecdb6222..0000000000 --- a/sysdeps/unix/sysv/sysv4/i386/sysdep.h +++ /dev/null @@ -1,38 +0,0 @@ -/* Copyright (C) 1994, 1997 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sysdeps/unix/sysv/i386/sysdep.h> - -/* In SVR4 some system calls can fail with the error ERESTART, - and this means the call should be retried. */ - -#ifndef _ERRNO_H -#define _ERRNO_H -#endif -#include <bits/errno.h> - -#undef PSEUDO -#define PSEUDO(name, syscall_name, args) \ - .globl syscall_error; \ - ENTRY (name) \ - DO_CALL (syscall_name, args); \ - jae noerror; \ - cmpb $ERESTART, %al; \ - je C_SYMBOL_NAME (name); \ - jmp syscall_error; \ - noerror: diff --git a/sysdeps/unix/sysv/sysv4/i386/vfork.S b/sysdeps/unix/sysv/sysv4/i386/vfork.S deleted file mode 100644 index bbe99fbc41..0000000000 --- a/sysdeps/unix/sysv/sysv4/i386/vfork.S +++ /dev/null @@ -1 +0,0 @@ -#include <sysdeps/unix/bsd/i386/vfork.S> diff --git a/sysdeps/unix/sysv/sysv4/sethostname.c b/sysdeps/unix/sysv/sysv4/sethostname.c deleted file mode 100644 index d74b0f4f3b..0000000000 --- a/sysdeps/unix/sysv/sysv4/sethostname.c +++ /dev/null @@ -1,33 +0,0 @@ -/* Copyright (C) 1994, 1997, 2004 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Brendan Kehoe (brendan@zen.org). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <errno.h> -#include <unistd.h> -#include <sys/types.h> -#include <sys/systeminfo.h> - -extern int __sysinfo (int command, const char *buf, long count); - -int -sethostname (name, namelen) - const char *name; - size_t namelen; -{ - return __sysinfo (SI_SET_HOSTNAME, name, namelen); -} diff --git a/sysdeps/unix/sysv/sysv4/setpgid.c b/sysdeps/unix/sysv/sysv4/setpgid.c deleted file mode 100644 index 80f4ad6430..0000000000 --- a/sysdeps/unix/sysv/sysv4/setpgid.c +++ /dev/null @@ -1,34 +0,0 @@ -/* Copyright (C) 1993,1995-1997,1999,2002,2004 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <errno.h> -#include <unistd.h> - -extern int __pgrpsys (pid_t type, ...); - -/* Set the process group ID of the process matching PID to PGID. - If PID is zero, the current process's process group ID is set. - If PGID is zero, the process ID of the process is used. */ -int -__setpgid (pid, pgid) - pid_t pid, pgid; -{ - return __pgrpsys (5, pid, pgid); -} -libc_hidden_def (__setpgid) -weak_alias (__setpgid, setpgid) diff --git a/sysdeps/unix/sysv/sysv4/setsid.c b/sysdeps/unix/sysv/sysv4/setsid.c deleted file mode 100644 index faa2c42d7d..0000000000 --- a/sysdeps/unix/sysv/sysv4/setsid.c +++ /dev/null @@ -1,33 +0,0 @@ -/* Copyright (C) 1993, 1995, 1997, 1999, 2004 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <errno.h> -#include <unistd.h> - -extern pid_t __pgrpsys (int type, ...); - -/* Create a new session with the calling process as its leader. - The process group IDs of the session and the calling process - are set to the process ID of the calling process, which is returned. */ -pid_t -__setsid () -{ - return __pgrpsys (3); -} - -weak_alias (__setsid, setsid) diff --git a/sysdeps/unix/sysv/sysv4/sigaction.c b/sysdeps/unix/sysv/sysv4/sigaction.c deleted file mode 100644 index d5926b3d42..0000000000 --- a/sysdeps/unix/sysv/sysv4/sigaction.c +++ /dev/null @@ -1,80 +0,0 @@ -/* Copyright (C) 1994,1995,1996,1997,2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <errno.h> -#include <signal.h> -#include <stddef.h> - -static __sighandler_t user_handlers[NSIG]; - -extern int __context_syscall (int, struct sigcontext *); -extern int __sigaction_syscall (int, - const struct sigaction *, struct sigaction *); - -static void -trampoline (int sig, int code, struct sigcontext *context) -{ - (*(void (*) (int, int, struct sigcontext *)) user_handlers[sig]) - (sig, code, context); - __context_syscall (1, context); -} - -/* If ACT is not NULL, change the action for SIG to *ACT. - If OACT is not NULL, put the old action for SIG in *OACT. */ -int -__sigaction (sig, act, oact) - int sig; - const struct sigaction *act; - struct sigaction *oact; -{ - struct sigaction myact; - __sighandler_t ohandler; - - if (sig <= 0 || sig >= NSIG) - { - __set_errno (EINVAL); - return -1; - } - - ohandler = user_handlers[sig]; - - if (act != NULL) - { - user_handlers[sig] = act->sa_handler; - if (act->sa_handler != SIG_DFL && act->sa_handler != SIG_IGN) - { - myact = *act; - act = &myact; - act->sa_handler = (__sighandler_t) trampoline; - } - } - - if (__sigaction_syscall (sig, act, oact) < 0) - { - /* The syscall got an error. Restore the old handler and return -1. */ - user_handlers[sig] = ohandler; - return -1; - } - - if (oact != NULL && oact->sa_handler == (__sighandler_t) trampoline) - oact->sa_handler = ohandler; - - return 0; -} -libc_hidden_def (__sigaction) -weak_alias (__sigaction, sigaction) diff --git a/sysdeps/unix/sysv/sysv4/siginfo.h b/sysdeps/unix/sysv/sysv4/siginfo.h deleted file mode 100644 index 2bb925738c..0000000000 --- a/sysdeps/unix/sysv/sysv4/siginfo.h +++ /dev/null @@ -1,59 +0,0 @@ -/* Definitions of the siginfo structure. - Copyright (C) 1993, 1994, 1997 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Brendan Kehoe (brendan@zen.org). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SIGINFO_H -#define _SIGINFO_H 1 - -#ifdef __USE_SVID -/* SVR4 puts a ton of other stuff in this structure. For now, we'll just - define the two things we really need out of it, and hope for the best. */ - -/* These define the different states a child can have on exit. - We need these to build the status return for things like waitpid. */ -#define EXITED 1 -#define KILLED 2 -#define CORED 3 -#define TRAPPED 4 -#define STOPPED 5 -#define CONTINUED 6 - -typedef struct __siginfo - { - int filler1; - - /* Code indicating child's status */ - int __code; - - int filler2; - - /* The PID of the child. */ - long __pid; - - int filler3; - - /* The child's status. */ - int __status; - - int filler4[26]; - - } __siginfo_t; - -#endif /* __USE_SVID */ -#endif /* siginfo.h */ diff --git a/sysdeps/unix/sysv/sysv4/sigset-cvt-mask.h b/sysdeps/unix/sysv/sysv4/sigset-cvt-mask.h deleted file mode 100644 index 5b7ea25885..0000000000 --- a/sysdeps/unix/sysv/sysv4/sigset-cvt-mask.h +++ /dev/null @@ -1,37 +0,0 @@ -/* Convert between lowlevel sigmask and libc representation of sigset_t. - SysVr4 version. - Copyright (C) 1998, 2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Joe Keane <jgk@jgk.org>. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -static inline int __attribute__ ((unused)) -sigset_set_old_mask (sigset_t *set, int mask) -{ - set->__sigbits[0] = (unsigned int) mask; - set->__sigbits[1] = 0ul; - set->__sigbits[2] = 0ul; - set->__sigbits[3] = 0ul; - - return 0; -} - -static inline int __attribute__ ((unused)) -sigset_get_old_mask (const sigset_t *set) -{ - return (unsigned int) set->__sigbits[0]; -} diff --git a/sysdeps/unix/sysv/sysv4/solaris2/Makefile b/sysdeps/unix/sysv/sysv4/solaris2/Makefile deleted file mode 100644 index 3ad90f748a..0000000000 --- a/sysdeps/unix/sysv/sysv4/solaris2/Makefile +++ /dev/null @@ -1,6 +0,0 @@ -# The linker supplied with Solaris looks in the current directory -# before searching others. Compiling the various programs that come -# along the way (e.g., glue-ctype) will fail because it'll try to link -# with the libc.a being *constructed* in $(objdir). As a work-around, -# we add this to each native-compile. -ALL_BUILD_CFLAGS += -L/lib diff --git a/sysdeps/unix/sysv/sysv4/solaris2/bits/dirent.h b/sysdeps/unix/sysv/sysv4/solaris2/bits/dirent.h deleted file mode 100644 index fa0250eb3e..0000000000 --- a/sysdeps/unix/sysv/sysv4/solaris2/bits/dirent.h +++ /dev/null @@ -1,50 +0,0 @@ -/* Copyright (C) 1996, 1997, 1999 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _DIRENT_H -# error "Never use <bits/dirent.h> directly; include <dirent.h> instead." -#endif - -struct dirent - { -#ifndef __USE_FILE_OFFSET64 - __ino_t d_ino; - __off_t d_off; -#else - __ino64_t d_ino; - __off64_t d_off; -#endif - unsigned short int d_reclen; - char d_name[256]; /* We must not include limits.h! */ - }; - -#ifdef __USE_LARGEFILE64 -struct dirent64 - { - __ino64_t d_ino; - __off64_t d_off; - unsigned short int d_reclen; - char d_name[256]; /* We must not include limits.h! */ - }; -#endif - -#define d_fileno d_ino /* Backwards compatibility. */ - -#undef _DIRENT_HAVE_D_NAMLEN -#define _DIRENT_HAVE_D_RECLEN -#define _DIRENT_HAVE_D_OFF diff --git a/sysdeps/unix/sysv/sysv4/solaris2/bits/errno.h b/sysdeps/unix/sysv/sysv4/solaris2/bits/errno.h deleted file mode 100644 index 6c0de92151..0000000000 --- a/sysdeps/unix/sysv/sysv4/solaris2/bits/errno.h +++ /dev/null @@ -1,168 +0,0 @@ -/* Copyright (C) 1991, 1994, 1996, 1997, 1998 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* This file defines the `errno' constants. */ - -#if !defined __Emath_defined && (defined _ERRNO_H || defined __need_Emath) -#undef __need_Emath -#define __Emath_defined 1 - -# define EDOM 33 /* Math argument out of domain of function. */ -# define EILSEQ 88 /* Illegal byte sequence. */ -# define ERANGE 34 /* Math result not representable. */ -#endif - -#ifdef _ERRNO_H -/* All error codes the system knows about. */ - -# define EPERM 1 /* Not super-user. */ -# define ENOENT 2 /* No such file or directory. */ -# define ESRCH 3 /* No such process. */ -# define EINTR 4 /* Interrupted system call. */ -# define EIO 5 /* I/O error. */ -# define ENXIO 6 /* No such device or address. */ -# define E2BIG 7 /* Arg list too long. */ -# define ENOEXEC 8 /* Exec format error. */ -# define EBADF 9 /* Bad file number. */ -# define ECHILD 10 /* No children. */ -# define EAGAIN 11 /* Resource temporarily unavailable. */ -# define EWOULDBLOCK EAGAIN -# define ENOMEM 12 /* Not enough core. */ -# define EACCES 13 /* Permission denied. */ -# define EFAULT 14 /* Bad address. */ -# define ENOTBLK 15 /* Block device required. */ -# define EBUSY 16 /* Mount device busy. */ -# define EEXIST 17 /* File exists. */ -# define EXDEV 18 /* Cross-device link. */ -# define ENODEV 19 /* No such device. */ -# define ENOTDIR 20 /* Not a directory. */ -# define EISDIR 21 /* Is a directory. */ -# define EINVAL 22 /* Invalid argument. */ -# define ENFILE 23 /* File table overflow. */ -# define EMFILE 24 /* Too many open files. */ -# define ENOTTY 25 /* Inappropriate ioctl for device. */ -# define ETXTBSY 26 /* Text file busy. */ -# define EFBIG 27 /* File too large. */ -# define ENOSPC 28 /* No space left on device. */ -# define ESPIPE 29 /* Illegal seek. */ -# define EROFS 30 /* Read only file system. */ -# define EMLINK 31 /* Too many links. */ -# define EPIPE 32 /* Broken pipe. */ -# define ENOMSG 35 /* No message of desired type. */ -# define EIDRM 36 /* Identifier removed. */ -# define ECHRNG 37 /* Channel number out of range. */ -# define EL2NSYNC 38 /* Level 2 not synchronized. */ -# define EL3HLT 39 /* Level 3 halted. */ -# define EL3RST 40 /* Level 3 reset. */ -# define ELNRNG 41 /* Link number out of range. */ -# define EUNATCH 42 /* Protocol driver not attached. */ -# define ENOCSI 43 /* No CSI structure available. */ -# define EL2HLT 44 /* Level 2 halted. */ -# define EDEADLK 45 /* Deadlock condition. */ -# define ENOLCK 46 /* No record locks available. */ -# define ECANCELED 47 /* Operation canceled. */ -# define ENOTSUP 48 /* Operation not supported. */ - -/* Filesystem Quotas. */ -# define EDQUOT 49 /* Disc quota exceeded. */ - -/* Convergent Error Returns. */ -# define EBADE 50 /* Invalid exchange. */ -# define EBADR 51 /* Invalid request descriptor. */ -# define EXFULL 52 /* Exchange full. */ -# define ENOANO 53 /* No anode. */ -# define EBADRQC 54 /* Invalid request code. */ -# define EBADSLT 55 /* Invalid slot. */ -# define EDEADLOCK 56 /* File locking deadlock error. */ - -# define EBFONT 57 /* Bad font file fmt. */ - -/* STREAM problems. */ -# define ENOSTR 60 /* Device not a stream. */ -# define ENODATA 61 /* No data (for no delay io). */ -# define ETIME 62 /* Timer expired. */ -# define ENOSR 63 /* Out of streams resources. */ - -# define ENONET 64 /* Machine is not on the network. */ -# define ENOPKG 65 /* Package not installed. */ -# define EREMOTE 66 /* The object is remote. */ -# define ENOLINK 67 /* The link has been severed. */ -# define EADV 68 /* Advertise error. */ -# define ESRMNT 69 /* Srmount error. */ - -# define ECOMM 70 /* Communication error on send. */ -# define EPROTO 71 /* Protocol error. */ -# define EMULTIHOP 74 /* Multihop attempted. */ -# define EBADMSG 77 /* Trying to read unreadable message. */ -# define ENAMETOOLONG 78 /* Path name is too long. */ -# define EOVERFLOW 79 /* Value too large to be stored in data type.*/ -# define ENOTUNIQ 80 /* Given log. name not unique. */ -# define EBADFD 81 /* F.d. invalid for this operation. */ -# define EREMCHG 82 /* Remote address changed. */ - -/* Shared library problems. */ -# define ELIBACC 83 /* Can't access a needed shared lib. */ -# define ELIBBAD 84 /* Accessing a corrupted shared lib. */ -# define ELIBSCN 85 /* .lib section in a.out corrupted. */ -# define ELIBMAX 86 /* Attempting to link in too many libs. */ -# define ELIBEXEC 87 /* Attempting to exec a shared library. */ -# define ENOSYS 89 /* Unsupported file system operation. */ -# define ELOOP 90 /* Symbolic link loop. */ -# define ERESTART 91 /* Restartable system call. */ -# define ESTRPIPE 92 /* If pipe/FIFO, don't sleep in stream head. */ -# define ENOTEMPTY 93 /* Directory not empty. */ -# define EUSERS 94 /* Too many users (for UFS). */ - -/* BSD Networking Software: argument errors. */ -# define ENOTSOCK 95 /* Socket operation on non-socket. */ -# define EDESTADDRREQ 96 /* Destination address required. */ -# define EMSGSIZE 97 /* Message too long. */ -# define EPROTOTYPE 98 /* Protocol wrong type for socket. */ -# define ENOPROTOOPT 99 /* Protocol not available. */ -# define EPROTONOSUPPORT 120 /* Protocol not supported. */ -# define ESOCKTNOSUPPORT 121 /* Socket type not supported. */ -# define EOPNOTSUPP 122 /* Operation not supported on socket. */ -# define EPFNOSUPPORT 123 /* Protocol family not supported. */ -# define EAFNOSUPPORT 124 /* Address family not supported by - protocol family. */ -# define EADDRINUSE 125 /* Address already in use. */ -# define EADDRNOTAVAIL 126 /* Can't assign requested address. */ -/* BSD Networking Software: operational errors. */ -# define ENETDOWN 127 /* Network is down. */ -# define ENETUNREACH 128 /* Network is unreachable. */ -# define ENETRESET 129 /* Network dropped connection because - of reset. */ -# define ECONNABORTED 130 /* Software caused connection abort. */ -# define ECONNRESET 131 /* Connection reset by peer. */ -# define ENOBUFS 132 /* No buffer space available. */ -# define EISCONN 133 /* Socket is already connected. */ -# define ENOTCONN 134 /* Socket is not connected. */ -/* XENIX has 135 - 142. */ -# define ESHUTDOWN 143 /* Can't send after socket shutdown. */ -# define ETOOMANYREFS 144 /* Too many references: can't splice. */ -# define ETIMEDOUT 145 /* Connection timed out. */ -# define ECONNREFUSED 146 /* Connection refused. */ -# define EHOSTDOWN 147 /* Host is down. */ -# define EHOSTUNREACH 148 /* No route to host. */ -# define EALREADY 149 /* operation already in progress. */ -# define EINPROGRESS 150 /* operation now in progress. */ - -/* SUN Network File System. */ -# define ESTALE 151 /* Stale NFS file handle. */ - -#endif diff --git a/sysdeps/unix/sysv/sysv4/solaris2/bits/signum.h b/sysdeps/unix/sysv/sysv4/solaris2/bits/signum.h deleted file mode 100644 index a2659530b6..0000000000 --- a/sysdeps/unix/sysv/sysv4/solaris2/bits/signum.h +++ /dev/null @@ -1,76 +0,0 @@ -/* Signal number definitions. Solaris 2 version. - Copyright (C) 1994, 1996, 1998 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifdef _SIGNAL_H - -/* Fake signal functions. */ -#define SIG_ERR ((__sighandler_t) -1) /* Error return. */ -#define SIG_DFL ((__sighandler_t) 0) /* Default action. */ -#define SIG_IGN ((__sighandler_t) 1) /* Ignore signal. */ -#ifdef __USE_UNIX98 -# define SIG_HOLD ((__sighandler_t) 2) /* Add signal to hold mask. */ -#endif - - -/* Signals. */ -#define SIGHUP 1 /* Hangup (POSIX). */ -#define SIGINT 2 /* Interrupt (ANSI). */ -#define SIGQUIT 3 /* Quit (POSIX). */ -#define SIGILL 4 /* Illegal instruction (ANSI). */ -#define SIGABRT SIGIOT /* Abort (ANSI). */ -#define SIGTRAP 5 /* Trace trap (POSIX). */ -#define SIGIOT 6 /* IOT trap (4.2 BSD). */ -#define SIGEMT 7 /* EMT trap (4.2 BSD). */ -#define SIGFPE 8 /* Floating-point exception (ANSI). */ -#define SIGKILL 9 /* Kill, unblockable (POSIX). */ -#define SIGBUS 10 /* Bus error (4.2 BSD). */ -#define SIGSEGV 11 /* Segmentation violation (ANSI). */ -#define SIGSYS 12 /* Bad argument to system call (4.2 BSD)*/ -#define SIGPIPE 13 /* Broken pipe (POSIX). */ -#define SIGALRM 14 /* Alarm clock (POSIX). */ -#define SIGTERM 15 /* Termination (ANSI). */ -#define SIGUSR1 16 /* User-defined signal 1 (POSIX). */ -#define SIGUSR2 17 /* User-defined signal 2 (POSIX). */ -#define SIGCHLD 18 /* Child status has changed (POSIX). */ -#define SIGCLD SIGCHLD /* Same as SIGCHLD (System V). */ -#define SIGPWR 19 /* Power failure restart (System V). */ -#define SIGWINCH 20 /* Window size change (4.3 BSD, Sun). */ -#define SIGURG 21 /* Urgent condition on socket (4.2 BSD).*/ -#define SIGPOLL 22 /* Pollable event occurred (System V). */ -#define SIGIO SIGPOLL /* I/O now possible (4.2 BSD). */ -#define SIGSTOP 23 /* Stop, unblockable (POSIX). */ -#define SIGTSTP 24 /* Keyboard stop (POSIX). */ -#define SIGCONT 25 /* Continue (POSIX). */ -#define SIGTTIN 26 /* Background read from tty (POSIX). */ -#define SIGTTOU 27 /* Background write to tty (POSIX). */ -#define SIGVTALRM 28 /* Virtual alarm clock (4.2 BSD). */ -#define SIGPROF 29 /* Profiling alarm clock (4.2 BSD). */ -#define SIGXCPU 30 /* CPU limit exceeded (4.2 BSD). */ -#define SIGXFSZ 31 /* File size limit exceeded (4.2 BSD). */ -/* The following signals are new in Solaris 2. */ -#define SIGWAITING 32 /* Process's lwps are blocked. */ -#define SIGLWP 33 /* Special signal used by thread library. */ -#define SIGFREEZE 34 /* Special signal used by CPR. */ -#define SIGTHAW 35 /* Special signal used by CPR. */ -#define _SIGRTMIN 36 /* First (highest-priority) realtime signal. */ -#define _SIGRTMAX 43 /* Last (lowest-priority) realtime signal. */ - -#endif /* <signal.h> included. */ - -#define _NSIG 44 /* Biggest signal number + 1. */ diff --git a/sysdeps/unix/sysv/sysv4/solaris2/bits/sigstack.h b/sysdeps/unix/sysv/sysv4/solaris2/bits/sigstack.h deleted file mode 100644 index 753caac8a8..0000000000 --- a/sysdeps/unix/sysv/sysv4/solaris2/bits/sigstack.h +++ /dev/null @@ -1,55 +0,0 @@ -/* sigstack, sigaltstack definitions. - Copyright (C) 1998 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SIGNAL_H -# error "Never include this file directly. Use <signal.h> instead" -#endif - - -/* Structure describing a signal stack (obsolete). */ -struct sigstack - { - __ptr_t ss_sp; /* Signal stack pointer. */ - int ss_onstack; /* Nonzero if executing on this stack. */ - }; - - -/* Possible values for `ss_flags.'. */ -enum -{ - SS_ONSTACK = 1, -#define SS_ONSTACK SS_ONSTACK - SS_DISABLE -#define SS_DISABLE SS_DISABLE -}; - -/* Minimum stack size for a signal handler. */ -#define MINSIGSTKSZ 2048 - -/* System default stack size. */ -#define SIGSTKSZ 8192 - - -/* Alternate, preferred interface. */ -typedef struct sigaltstack - { - __ptr_t ss_sp; - int ss_flags; - size_t ss_size; - } stack_t; diff --git a/sysdeps/unix/sysv/sysv4/solaris2/bits/stat.h b/sysdeps/unix/sysv/sysv4/solaris2/bits/stat.h deleted file mode 100644 index 22c1c1f855..0000000000 --- a/sysdeps/unix/sysv/sysv4/solaris2/bits/stat.h +++ /dev/null @@ -1,119 +0,0 @@ -/* Copyright (C) 1993, 96, 97, 98, 99, 2000 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SYS_STAT_H -# error "Never include <bits/stat.h> directly; use <sys/stat.h> instead." -#endif - -#include <bits/types.h> - -/* Length of array allocated for file system type name. */ -#define _ST_FSTYPSZ 16 - - -/* Structure describing file characteristics. */ -struct stat - { - __dev_t st_dev; - long int st_filler1[3]; - __ino_t st_ino; /* File serial number. */ - __mode_t st_mode; /* File mode. */ - __nlink_t st_nlink; /* Link count. */ - __uid_t st_uid; /* User ID of the file's owner. */ - __gid_t st_gid; /* Group ID of the file's group.*/ - __dev_t st_rdev; /* Device number, if device. */ - long int st_filler2[2]; - - __off_t st_size; /* Size of file, in bytes. */ - /* SVR4 added this extra long to allow for expansion of off_t. */ - long int st_filler3; - - __time_t st_atime; /* Time of last access. */ - unsigned long int st_atime_usec; - __time_t st_mtime; /* Time of last modification. */ - unsigned long int st_mtime_usec; - __time_t st_ctime; /* Time of last status change. */ - unsigned long int st_ctime_usec; - - __blksize_t st_blksize; /* Optimal block size for I/O. */ -#define _STATBUF_ST_BLKSIZE /* Tell code we have this member. */ - - __blkcnt_t st_blocks; /* Number of 512-byte blocks allocated. */ - char st_fstype[_ST_FSTYPSZ]; - long int st_filler4[8]; - }; - -#ifdef __USE_LARGEFILE64 -/* struct stat64 has the shape as stat */ -struct stat64 - { - __dev_t st_dev; /* Device */ - long int st_filler1[2]; - __ino64_t st_ino; /* File serial number */ - __mode_t st_mode; /* File mode */ - __nlink_t st_nlink; /* Link count */ - __uid_t st_uid; /* User ID of the file's owner. */ - __gid_t st_gid; /* Group ID of the file's group.*/ - __dev_t st_rdev; /* Device number, if device */ - long int st_filler2; - - __off64_t st_size; /* Size of file, in bytes. */ - - __time_t st_atime; /* Time of last access */ - unsigned long int st_atime_usec; - __time_t st_mtime; /* Time of last modification */ - unsigned long int st_mtime_usec; - __time_t st_ctime; /* Time of last status change */ - unsigned long int st_ctime_usec; - - __blksize_t st_blksize; - __blkcnt64_t st_blocks; - char st_fstype[_ST_FSTYPSZ]; - long int st_filler3[8]; -}; -#endif - - -/* Encoding of the file mode. */ - -#define __S_IFMT 0170000 /* These bits determine file type. */ - -/* File types. */ -#define __S_IFDIR 0040000 /* Directory. */ -#define __S_IFCHR 0020000 /* Character device. */ -#define __S_IFBLK 0060000 /* Block device. */ -#define __S_IFREG 0100000 /* Regular file. */ -#define __S_IFIFO 0010000 /* FIFO. */ - -/* These don't actually exist on System V, but having them doesn't hurt. */ -#define __S_IFLNK 0120000 /* Symbolic link. */ -#define __S_IFSOCK 0140000 /* Socket. */ - -/* POSIX.1b objects. */ -#define __S_TYPEISMQ(buf) (0) -#define __S_TYPEISSEM(buf) (0) -#define __S_TYPEISSHM(buf) (0) - -/* Protection bits. */ - -#define __S_ISUID 04000 /* Set user ID on execution. */ -#define __S_ISGID 02000 /* Set group ID on execution. */ -#define __S_ISVTX 01000 /* Save swapped text after use (sticky). */ -#define __S_IREAD 0400 /* Read by owner. */ -#define __S_IWRITE 0200 /* Write by owner. */ -#define __S_IEXEC 0100 /* Execute by owner. */ diff --git a/sysdeps/unix/sysv/sysv4/solaris2/bits/types.h b/sysdeps/unix/sysv/sysv4/solaris2/bits/types.h deleted file mode 100644 index a9ce216c69..0000000000 --- a/sysdeps/unix/sysv/sysv4/solaris2/bits/types.h +++ /dev/null @@ -1,120 +0,0 @@ -/* Copyright (C) 1991,92,1994-1999,2000,2001 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* - * Never include this file directly; use <sys/types.h> instead. - */ - -#ifndef _BITS_TYPES_H -#define _BITS_TYPES_H 1 - -#include <features.h> - -#define __need_size_t -#include <stddef.h> - -/* Convenience types. */ -typedef unsigned char __u_char; -typedef unsigned short __u_short; -typedef unsigned int __u_int; -typedef unsigned long __u_long; -#ifdef __GNUC__ -typedef unsigned long long int __u_quad_t; -typedef long long int __quad_t; -#else -typedef struct -{ - long __val[2]; -} __quad_t; -typedef struct -{ - __u_long __val[2]; -} __u_quad_t; -#endif -typedef signed char __int8_t; -typedef unsigned char __uint8_t; -typedef signed short int __int16_t; -typedef unsigned short int __uint16_t; -typedef signed int __int32_t; -typedef unsigned int __uint32_t; -#ifdef __GNUC__ -typedef signed long long int __int64_t; -typedef unsigned long long int __uint64_t; -#endif -typedef __quad_t *__qaddr_t; -typedef unsigned long int __dev_t; /* Type of device numbers. */ -typedef long int __uid_t; /* Type of user identifications. */ -typedef long int __gid_t; /* Type of group identifications. */ -typedef unsigned long int __ino_t; /* Type of file serial numbers. */ -typedef unsigned long int __mode_t; /* Type of file attribute bitmasks. */ -typedef unsigned long int __nlink_t; /* Type of file link counts. */ -typedef long int __off_t; /* Type of file sizes and offsets. */ -typedef __quad_t __loff_t; /* Type of file sizes and offsets. */ -typedef long int __pid_t; /* Type of process identifications. */ -typedef int __ssize_t; /* Type of a byte count, or error. */ -typedef __u_quad_t __fsid_t; /* Type of file system IDs. */ -typedef long int __clock_t; /* Type of CPU usage counts. */ -typedef long int __rlim_t; /* Type for resource measurement. */ -typedef __quad_t __rlim64_t; /* Type for resource measurement (LFS). */ -typedef __quad_t __ino64_t; /* Type for file serial numbers. */ -typedef __loff_t __off64_t; /* Type of file izes and offsets. */ -typedef unsigned int __id_t; /* General type for IDs. */ - -/* Everythin' else. */ -typedef long int __daddr_t; /* The type of a disk address. */ -typedef char *__caddr_t; -typedef long int __time_t; -typedef unsigned int __useconds_t; -typedef int __suseconds_t; -typedef long int __swblk_t; /* Type of a swap block maybe? */ -typedef int __key_t; /* Type of an IPC key */ - -/* fd_set for select. */ - -/* Number of descriptors that can fit in an `fd_set'. */ -#define __FD_SETSIZE 1024 - - -/* Type to represent block size. */ -typedef long int __blksize_t; - -/* Types from the Large File Support interface. */ - -/* Type to count number os disk blocks. */ -typedef long int __blkcnt_t; -typedef __quad_t __blkcnt64_t; - -/* Type to count file system blocks. */ -typedef unsigned int __fsblkcnt_t; -typedef __u_quad_t __fsblkcnt64_t; - -/* Type to count file system inodes. */ -typedef unsigned long int __fsfilcnt_t; -typedef __u_quad_t __fsfilcnt64_t; - -/* Used in XTI. */ -typedef int __t_scalar_t; -typedef unsigned int __t_uscalar_t; - -/* Duplicates info from stdint.h but this is used in unistd.h. */ -typedef long int __intptr_t; - -/* Duplicate info from sys/socket.h. */ -typedef unsigned int __socklen_t; - -#endif /* bits/types.h */ diff --git a/sysdeps/unix/sysv/sysv4/solaris2/fsync.S b/sysdeps/unix/sysv/sysv4/solaris2/fsync.S deleted file mode 100644 index 493926a98c..0000000000 --- a/sysdeps/unix/sysv/sysv4/solaris2/fsync.S +++ /dev/null @@ -1,30 +0,0 @@ -/* Copyright (C) 1994, 1997 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Brendan Kehoe (brendan@zen.org). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sysdep.h> - -/* Solaris uses fdsync for the normal fsync. */ -ENTRY(fsync) - mov 16, %i1 - mov SYS_ify(fdsync), %g1 - ta 8 - bcs syscall_error - nop - mov %g0, %o0 - ret diff --git a/sysdeps/unix/sysv/sysv4/solaris2/getdents.c b/sysdeps/unix/sysv/sysv4/solaris2/getdents.c deleted file mode 100644 index ab782ffaac..0000000000 --- a/sysdeps/unix/sysv/sysv4/solaris2/getdents.c +++ /dev/null @@ -1,114 +0,0 @@ -/* Copyright (C) 1993,95,96,97,98, 2004 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <alloca.h> -#include <dirent.h> -#include <stddef.h> -#include <string.h> -#include <unistd.h> -#include <sys/param.h> -#include <sys/types.h> - -#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER) - - -extern int __getdents (int fd, char *buf, size_t nbytes); - -/* For Solaris we need a special version of this file since the - definition of `struct dirent' is not the same for the kernel and - the libc. There is one additional field which might be introduced - in the kernel structure in the future. - - He is the system definition of `struct dirent' as of 2.6: */ - -struct kernel_dirent - { - ino_t d_ino; - off_t d_off; - unsigned short int d_reclen; - char d_name[256]; - }; - -#ifdef GETDENTS64 -#define __getdirentries __getdirentries64 -#define dirent dirent64 -#endif - -/* The problem here is that we cannot simply read the next NBYTES - bytes. We need to take the additional field into account. We use - some heuristic. Assuming the directory contains names with 14 - characters on average we can compute an estimate number of entries - which fit in the buffer. Taking this number allows us to specify a - correct number of bytes to read. If we should be wrong, we can reset - the file descriptor. */ -ssize_t -__getdirentries (int fd, char *buf, size_t nbytes, off_t *basep) -{ - off_t base = __lseek (fd, (off_t) 0, SEEK_CUR); - off_t last_offset = base; - size_t red_nbytes; - struct kernel_dirent *skdp, *kdp; - struct dirent *dp; - int retval; - const size_t size_diff = (offsetof (struct dirent, d_name) - - offsetof (struct kernel_dirent, d_name)); - - red_nbytes = nbytes - ((nbytes / (offsetof (struct dirent, d_name) + 14)) - * size_diff); - - dp = (struct dirent *) buf; - skdp = kdp = __alloca (red_nbytes); - - retval = __getdents (fd, (char *) kdp, red_nbytes); - - while ((char *) kdp < (char *) skdp + retval) - { - const size_t alignment = __alignof__ (struct dirent); - /* Since kdp->d_reclen is already aligned for the kernel structure - this may compute a value that is bigger than necessary. */ - size_t new_reclen = ((kdp->d_reclen + size_diff + alignment - 1) - & ~(alignment - 1)); - if ((char *) dp + new_reclen > buf + nbytes) - { - /* Our heuristic failed. We read too many entries. Reset - the stream. */ - __lseek (fd, last_offset, SEEK_SET); - break; - } - - last_offset = kdp->d_off; - dp->d_ino = kdp->d_ino; - dp->d_off = kdp->d_off; - dp->d_reclen = new_reclen; - dp->d_type = DT_UNKNOWN; - memcpy (dp->d_name, kdp->d_name, - kdp->d_reclen - offsetof (struct kernel_dirent, d_name)); - - dp = (struct dirent *) ((char *) dp + new_reclen); - kdp = (struct kernel_dirent *) (((char *) kdp) + kdp->d_reclen); - } - - if (basep) - *basep = base; - - return (char *) dp - buf; -} - -#ifndef GETDENTS64 -weak_alias (__getdirentries, getdirentries) -#endif diff --git a/sysdeps/unix/sysv/sysv4/solaris2/sigpending.c b/sysdeps/unix/sysv/sysv4/solaris2/sigpending.c deleted file mode 100644 index 2723d79f7a..0000000000 --- a/sysdeps/unix/sysv/sysv4/solaris2/sigpending.c +++ /dev/null @@ -1,37 +0,0 @@ -/* Copyright (C) 1998 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <errno.h> -#include <stddef.h> -#include <signal.h> - -extern int __syscall_sigpending (int subcode, sigset_t *set); - - -/* Store in SET all signals that are blocked and pending. */ -int -sigpending (sigset_t *set) -{ - if (set == NULL) - { - __set_errno (EINVAL); - return -1; - } - - return __syscall_sigpending (1, set); -} diff --git a/sysdeps/unix/sysv/sysv4/solaris2/sigstack.c b/sysdeps/unix/sysv/sysv4/solaris2/sigstack.c deleted file mode 100644 index 5aa73c8dcb..0000000000 --- a/sysdeps/unix/sysv/sysv4/solaris2/sigstack.c +++ /dev/null @@ -1,3 +0,0 @@ -/* We can reuse the Linux implementation with some tricks. */ -#define __NR_sigaltstack 1 -#include <sysdeps/unix/sysv/linux/sigstack.c> diff --git a/sysdeps/unix/sysv/sysv4/solaris2/sigwaitinfo.c b/sysdeps/unix/sysv/sysv4/solaris2/sigwaitinfo.c deleted file mode 100644 index f246640023..0000000000 --- a/sysdeps/unix/sysv/sysv4/solaris2/sigwaitinfo.c +++ /dev/null @@ -1,2 +0,0 @@ -/* We can reuse the Linux implementation. */ -#include <sysdeps/unix/sysv/linux/sigwaitinfo.c> diff --git a/sysdeps/unix/sysv/sysv4/solaris2/sparc/Dist b/sysdeps/unix/sysv/sysv4/solaris2/sparc/Dist deleted file mode 100644 index 7832507772..0000000000 --- a/sysdeps/unix/sysv/sysv4/solaris2/sparc/Dist +++ /dev/null @@ -1 +0,0 @@ -sys/trap.h diff --git a/sysdeps/unix/sysv/sysv4/solaris2/sparc/Makefile b/sysdeps/unix/sysv/sysv4/solaris2/sparc/Makefile deleted file mode 100644 index 1c17ea168e..0000000000 --- a/sysdeps/unix/sysv/sysv4/solaris2/sparc/Makefile +++ /dev/null @@ -1,11 +0,0 @@ -# This flag is necessary because GCC now tries to call _Q_{mul, etc...} -# instead of doing the stuff the hard way. For now, printf_fp.o, __vfscanf.o, -# and difftime.o don't work because of this. The long-term fix is to actually -# implement what they're doing, but for the short-term, we must do this. -sysdep-CFLAGS := $(sysdep-CFLAGS) -mhard-quad-float - -ifeq ($(subdir),crypt) - -crypt := crypt.solar - -endif diff --git a/sysdeps/unix/sysv/sysv4/solaris2/sparc/bits/sigcontext.h b/sysdeps/unix/sysv/sysv4/solaris2/sparc/bits/sigcontext.h deleted file mode 100644 index 7c4bca6049..0000000000 --- a/sysdeps/unix/sysv/sysv4/solaris2/sparc/bits/sigcontext.h +++ /dev/null @@ -1,34 +0,0 @@ -/* Structure describing state saved while handling a signal. Sparc version. - Copyright (C) 1992, 1994, 1997 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SIGNAL_H -# error "Never use <bits/sigcontext.h> directly; include <signal.h> instead." -#endif - -struct sigcontext - { - int sc_onstack; - __sigset_t sc_mask; - -#define SPARC_MAXREGWINDOW 31 /* Maximum usable register windows. */ - int sc_sp, sc_pc, sc_npc, sc_psr, sc_g1, sc_o0; - int sc_wbcnt; /* Number of outstanding windows. */ - __ptr_t sc_spbuf[SPARC_MAXREGWINDOW]; /* SP's for each window. */ - int sc_wbuf[SPARC_MAXREGWINDOW][16]; /* Saved register windows. */ - }; diff --git a/sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c b/sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c deleted file mode 100644 index 3c75e3f011..0000000000 --- a/sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c +++ /dev/null @@ -1,185 +0,0 @@ -/* Copyright (C) 1999 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <stddef.h> -#include <libintl.h> - - -/* This is a list of all known `errno' codes. */ - - -const int _sys_nerr = 152; - -const char *const _sys_errlist[] = -{ - N_("Error 0"), - N_("Not owner"), - N_("No such file or directory"), - N_("No such process"), - N_("Interrupted system call"), - N_("I/O error"), - N_("No such device or address"), - N_("Arg list too long"), - N_("Exec format error"), - N_("Bad file number"), - N_("No child processes"), - N_("Resource temporarily unavailable"), - N_("Not enough space"), - N_("Permission denied"), - N_("Bad address"), - N_("Block device required"), - N_("Device busy"), - N_("File exists"), - N_("Cross-device link"), - N_("No such device"), - N_("Not a directory"), - N_("Is a directory"), - N_("Invalid argument"), - N_("File table overflow"), - N_("Too many open files"), - N_("Inappropriate ioctl for device"), - N_("Text file busy"), - N_("File too large"), - N_("No space left on device"), - N_("Illegal seek"), - N_("Read-only file system"), - N_("Too many links"), - N_("Broken pipe"), - N_("Argument out of domain"), - N_("Result too large"), - N_("No message of desired type"), - N_("Identifier removed"), - N_("Channel number out of range"), - N_("Level 2 not synchronized"), - N_("Level 3 halted"), - N_("Level 3 reset"), - N_("Link number out of range"), - N_("Protocol driver not attached"), - N_("No CSI structure available"), - N_("Level 2 halted"), - N_("Deadlock situation detected/avoided"), - N_("No record locks available"), - N_("Operation canceled"), - N_("Operation not supported"), - N_("Disc quota exceeded"), - N_("Bad exchange descriptor"), - N_("Bad request descriptor"), - N_("Message tables full"), - N_("Anode table overflow"), - N_("Bad request code"), - N_("Invalid slot"), - N_("File locking deadlock"), - N_("Bad font file format"), - N_("Error 58"), - N_("Error 59"), - N_("Not a stream device"), - N_("No data available"), - N_("Timer expired"), - N_("Out of stream resources"), - N_("Machine is not on the network"), - N_("Package not installed"), - N_("Object is remote"), - N_("Link has been severed"), - N_("Advertise error"), - N_("Srmount error"), - N_("Communication error on send"), - N_("Protocol error"), - N_("Error 72"), - N_("Error 73"), - N_("Multihop attempted"), - N_("Error 75"), - N_("Error 76"), - N_("Not a data message"), - N_("File name too long"), - N_("Value too large for defined data type"), - N_("Name not unique on network"), - N_("File descriptor in bad state"), - N_("Remote address changed"), - N_("Can not access a needed shared library"), - N_("Accessing a corrupted shared library"), - N_(".lib section in a.out corrupted"), - N_("Attempting to link in more shared libraries than system limit"), - N_("Can not exec a shared library directly"), - N_("Illegal byte sequence"), - N_("Operation not applicable"), - N_("Number of symbolic links encountered during path name traversal exceeds MAXSYMLINKS"), - N_("Error 91"), - N_("Error 92"), - N_("Directory not empty"), - N_("Too many users"), - N_("Socket operation on non-socket"), - N_("Destination address required"), - N_("Message too long"), - N_("Protocol wrong type for socket"), - N_("Option not supported by protocol"), - N_("Error 100"), - N_("Error 101"), - N_("Error 102"), - N_("Error 103"), - N_("Error 104"), - N_("Error 105"), - N_("Error 106"), - N_("Error 107"), - N_("Error 108"), - N_("Error 109"), - N_("Error 110"), - N_("Error 111"), - N_("Error 112"), - N_("Error 113"), - N_("Error 114"), - N_("Error 115"), - N_("Error 116"), - N_("Error 117"), - N_("Error 118"), - N_("Error 119"), - N_("Protocol not supported"), - N_("Socket type not supported"), - N_("Operation not supported on transport endpoint"), - N_("Protocol family not supported"), - N_("Address family not supported by protocol family"), - N_("Address already in use"), - N_("Cannot assign requested address"), - N_("Network is down"), - N_("Network is unreachable"), - N_("Network dropped connection because of reset"), - N_("Software caused connection abort"), - N_("Connection reset by peer"), - N_("No buffer space available"), - N_("Transport endpoint is already connected"), - N_("Transport endpoint is not connected"), - N_("Structure needs cleaning"), - N_("Error 136"), - N_("Not a name file"), - N_("Not available"), - N_("Is a name file"), - N_("Remote I/O error"), - N_("Reserved for future use"), - N_("Error 142"), - N_("Cannot send after socket shutdown"), - N_("Too many references: cannot splice"), - N_("Connection timed out"), - N_("Connection refused"), - N_("Host is down"), - N_("No route to host"), - N_("Operation already in progress"), - N_("Operation now in progress"), - N_("Stale NFS file handle") -}; - -weak_alias (_sys_errlist, sys_errlist) -weak_alias (_sys_nerr, sys_nerr) diff --git a/sysdeps/unix/sysv/sysv4/solaris2/sparc/sparc32/syscall.S b/sysdeps/unix/sysv/sysv4/solaris2/sparc/sparc32/syscall.S deleted file mode 100644 index b9f2996e31..0000000000 --- a/sysdeps/unix/sysv/sysv4/solaris2/sparc/sparc32/syscall.S +++ /dev/null @@ -1,2 +0,0 @@ -/* Bets are that the Linux code works... */ -#include <sysdeps/unix/sysv/linux/sparc/sparc32/syscall.S> diff --git a/sysdeps/unix/sysv/sysv4/solaris2/sparc/start.c b/sysdeps/unix/sysv/sysv4/solaris2/sparc/start.c deleted file mode 100644 index afdfaaa2e5..0000000000 --- a/sysdeps/unix/sysv/sysv4/solaris2/sparc/start.c +++ /dev/null @@ -1,4 +0,0 @@ -#define NO_SHLIB -/* Solaris needs start named `_start', not `start'. */ -#define NO_EXPLICIT_START -#include <sysdeps/unix/sparc/start.c> diff --git a/sysdeps/unix/sysv/sysv4/solaris2/sparc/sys/trap.h b/sysdeps/unix/sysv/sysv4/solaris2/sparc/sys/trap.h deleted file mode 100644 index 39d2645973..0000000000 --- a/sysdeps/unix/sysv/sysv4/solaris2/sparc/sys/trap.h +++ /dev/null @@ -1,36 +0,0 @@ -/* Copyright (C) 1998 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SYS_TRAP_H -#define _SYS_TRAP_H 1 - -/* Solaris2 software traps. */ - -#define ST_OSYSCALL 0x00 -#define ST_BREAKPOINT 0x01 -#define ST_DIV0 0x02 -#define ST_FLUSH_WINDOWS 0x03 -#define ST_CLEAN_WINDOWS 0x04 -#define ST_RANGE_CHECK 0x05 -#define ST_FIX_ALIGN 0x06 -#define ST_INT_OVERFLOW 0x07 -#define ST_SYSCALL 0x08 - -/* Traps 0x10 through 0x1f are allotted to the user. */ - -#endif /* sys/trap.h */ diff --git a/sysdeps/unix/sysv/sysv4/solaris2/sparc/sys/ucontext.h b/sysdeps/unix/sysv/sysv4/solaris2/sparc/sys/ucontext.h deleted file mode 100644 index 6e9f69067d..0000000000 --- a/sysdeps/unix/sysv/sysv4/solaris2/sparc/sys/ucontext.h +++ /dev/null @@ -1,42 +0,0 @@ -/* Copyright (C) 1998 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SYS_UCONTEXT_H -#define _SYS_UCONTEXT_H 1 - -#include <features.h> -#include <signal.h> -#include <sys/types.h> - -typedef struct -{ - long int mc_filler[78]; -} mcontext_t; - -struct ucontext -{ - unsigned long int uc_flags; - struct ucontext *uc_link; - sigset_t uc_sigmask; - stack_t uc_stack; - mcontext_t uc_mcontext; - long int uc_filler[23]; -}; -typedef struct ucontext ucontext_t; - -#endif /* sys/ucontext.h */ diff --git a/sysdeps/unix/sysv/sysv4/solaris2/sparc/syscalls.list b/sysdeps/unix/sysv/sysv4/solaris2/sparc/syscalls.list deleted file mode 100644 index d96fbba7e2..0000000000 --- a/sysdeps/unix/sysv/sysv4/solaris2/sparc/syscalls.list +++ /dev/null @@ -1,3 +0,0 @@ -# File name Caller Syscall name # args Strong name Weak names - -sys-sig - context 2 __context_syscall diff --git a/sysdeps/unix/sysv/sysv4/solaris2/sparc/sysdep.S b/sysdeps/unix/sysv/sysv4/solaris2/sparc/sysdep.S deleted file mode 100644 index 2ac767c987..0000000000 --- a/sysdeps/unix/sysv/sysv4/solaris2/sparc/sysdep.S +++ /dev/null @@ -1,47 +0,0 @@ -/* Copyright (C) 1993, 1994, 1997 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Brendan Kehoe (brendan@zen.org). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <sysdep.h> -#define _ERRNO_H -#include <bits/errno.h> - -ENTRY(syscall_error) - /* If it was a syscall that got interrupted, but can - be restarted, drop EINTR in. */ - cmp %o0, ERESTART - be,a notint - mov EINTR, %o0 - -notint: -#if defined (EWOULDBLOCK_sys) && EWOULDBLOCK_sys != EAGAIN - /* We translate the system's EWOULDBLOCK error into EAGAIN. - The GNU C library always defines EWOULDBLOCK==EAGAIN. - EWOULDBLOCK_sys is the original number. */ - cmp %o0, EWOULDBLOCK_sys - be,a notblock - mov EAGAIN, %o0 -#endif - -notblock:/* Store it in errno... */ - sethi %hi(C_SYMBOL_NAME(errno)), %g1 - st %o0, [%g1 + %lo(C_SYMBOL_NAME(errno))] - - /* And just kick back a -1. */ - retl - mov -1, %o0 diff --git a/sysdeps/unix/sysv/sysv4/solaris2/sparc/sysdep.h b/sysdeps/unix/sysv/sysv4/solaris2/sparc/sysdep.h deleted file mode 100644 index 9a0db6afe1..0000000000 --- a/sysdeps/unix/sysv/sysv4/solaris2/sparc/sysdep.h +++ /dev/null @@ -1,56 +0,0 @@ -/* Copyright (C) 1993,1994,1995,1997,1998,2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Brendan Kehoe (brendan@zen.org). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* Solaris 2 does not precede the asm names of C symbols with a `_'. */ -#ifndef NO_UNDERSCORES -#define NO_UNDERSCORES -#endif - -#include <sysdeps/unix/sysdep.h> - -#ifdef __ASSEMBLER__ - -/* As of gcc-2.6.0, it complains about pound signs in front of things - that aren't arguments to the macro. So we use this to pull it off - instead. */ -#define cat(a,b) a##b -#define poundfnc cat(#,function) - -#define ENTRY(name) \ - .section ".text"; \ - .align 4; \ - .global C_SYMBOL_NAME(name); \ - .type C_SYMBOL_NAME(name), poundfnc; \ - C_LABEL(name) - -#define PSEUDO(name, syscall_name, args) \ - ENTRY (name) \ - mov SYS_ify(syscall_name), %g1; \ - ta 8; \ - bcs C_SYMBOL_NAME(syscall_error); \ - nop - -#define ret retl; nop -#define r0 %o0 -#define r1 %o1 -#define MOVE(x,y) mov x, y - -#define LOC(name) .L##name - -#endif /* __ASSEMBLER__ */ diff --git a/sysdeps/unix/sysv/sysv4/solaris2/sys/param.h b/sysdeps/unix/sysv/sysv4/solaris2/sys/param.h deleted file mode 100644 index bbd7b06a11..0000000000 --- a/sysdeps/unix/sysv/sysv4/solaris2/sys/param.h +++ /dev/null @@ -1,59 +0,0 @@ -/* Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SYS_PARAM_H -#define _SYS_PARAM_H 1 - -#include <limits.h> - -/* BSD names for some <limits.h> values. */ - -#define NBBY CHAR_BIT -#ifndef NGROUPS -# define NGROUPS NGROUPS_MAX -#endif -#define MAXSYMLINKS 5 -#define CANBSIZ MAX_CANON -#define NCARGS ARG_MAX -#define MAXPATHLEN PATH_MAX -#define NOFILE OPEN_MAX - - -#include <sys/types.h> - -/* Bit map related macros. */ -#define setbit(a,i) ((a)[(i)/NBBY] |= 1<<((i)%NBBY)) -#define clrbit(a,i) ((a)[(i)/NBBY] &= ~(1<<((i)%NBBY))) -#define isset(a,i) ((a)[(i)/NBBY] & (1<<((i)%NBBY))) -#define isclr(a,i) (((a)[(i)/NBBY] & (1<<((i)%NBBY))) == 0) - -/* Macros for counting and rounding. */ -#ifndef howmany -# define howmany(x, y) (((x)+((y)-1))/(y)) -#endif -#define roundup(x, y) ((((x)+((y)-1))/(y))*(y)) -#define powerof2(x) ((((x)-1)&(x))==0) - -/* Macros for min/max. */ -#define MIN(a,b) (((a)<(b))?(a):(b)) -#define MAX(a,b) (((a)>(b))?(a):(b)) - -/* Unit of `st_blocks'. */ -#define DEV_BSIZE 512 - -#endif /* sys/param.h */ diff --git a/sysdeps/unix/sysv/sysv4/solaris2/sys/syscall.h b/sysdeps/unix/sysv/sysv4/solaris2/sys/syscall.h deleted file mode 100644 index 15c43a3c33..0000000000 --- a/sysdeps/unix/sysv/sysv4/solaris2/sys/syscall.h +++ /dev/null @@ -1,245 +0,0 @@ -/* Copyright (C) 1998 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SYSCALL_H -#define _SYSCALL_H 1 - -/* Solaris 2 syscall numbers */ - -#define SYS_syscall 0 -#define SYS_exit 1 -#define SYS_fork 2 -#define SYS_read 3 -#define SYS_write 4 -#define SYS_open 5 -#define SYS_close 6 -#define SYS_wait 7 -#define SYS_creat 8 -#define SYS_link 9 -#define SYS_unlink 10 -#define SYS_exec 11 -#define SYS_chdir 12 -#define SYS_time 13 -#define SYS_mknod 14 -#define SYS_chmod 15 -#define SYS_chown 16 -#define SYS_brk 17 -#define SYS_stat 18 -#define SYS_lseek 19 -#define SYS_getpid 20 -#define SYS_mount 21 -#define SYS_umount 22 -#define SYS_setuid 23 -#define SYS_getuid 24 -#define SYS_stime 25 -#define SYS_ptrace 26 -#define SYS_alarm 27 -#define SYS_fstat 28 -#define SYS_pause 29 -#define SYS_utime 30 -#define SYS_stty 31 -#define SYS_gtty 32 -#define SYS_access 33 -#define SYS_nice 34 -#define SYS_statfs 35 -#define SYS_sync 36 -#define SYS_kill 37 -#define SYS_fstatfs 38 -#define SYS_pgrpsys 39 -#define SYS_xenix 40 -#define SYS_dup 41 -#define SYS_pipe 42 -#define SYS_times 43 -#define SYS_profil 44 -#define SYS_plock 45 -#define SYS_setgid 46 -#define SYS_getgid 47 -#define SYS_signal 48 -#define SYS_msgsys 49 -#define SYS_syssun 50 -#define SYS_sysi86 50 -#define SYS_sysppc 50 -#define SYS_acct 51 -#define SYS_shmsys 52 -#define SYS_semsys 53 -#define SYS_ioctl 54 -#define SYS_uadmin 55 -#define SYS_utssys 57 -#define SYS_fdsync 58 -#define SYS_execve 59 -#define SYS_umask 60 -#define SYS_chroot 61 -#define SYS_fcntl 62 -#define SYS_ulimit 63 -#define SYS_rmdir 79 -#define SYS_mkdir 80 -#define SYS_getdents 81 -#define SYS_sysfs 84 -#define SYS_getmsg 85 -#define SYS_putmsg 86 -#define SYS_poll 87 -#define SYS_lstat 88 -#define SYS_symlink 89 -#define SYS_readlink 90 -#define SYS_setgroups 91 -#define SYS_getgroups 92 -#define SYS_fchmod 93 -#define SYS_fchown 94 -#define SYS_sigprocmask 95 -#define SYS_sigsuspend 96 -#define SYS_sigaltstack 97 -#define SYS_sigaction 98 -#define SYS_sigpending 99 -#define SYS_context 100 -#define SYS_evsys 101 -#define SYS_evtrapret 102 -#define SYS_statvfs 103 -#define SYS_fstatvfs 104 -#define SYS_nfssys 106 -#define SYS_waitsys 107 -#define SYS_sigsendsys 108 -#define SYS_hrtsys 109 -#define SYS_acancel 110 -#define SYS_async 111 -#define SYS_priocntlsys 112 -#define SYS_pathconf 113 -#define SYS_mincore 114 -#define SYS_mmap 115 -#define SYS_mprotect 116 -#define SYS_munmap 117 -#define SYS_fpathconf 118 -#define SYS_vfork 119 -#define SYS_fchdir 120 -#define SYS_readv 121 -#define SYS_writev 122 -#define SYS_xstat 123 -#define SYS_lxstat 124 -#define SYS_fxstat 125 -#define SYS_xmknod 126 -#define SYS_clocal 127 -#define SYS_setrlimit 128 -#define SYS_getrlimit 129 -#define SYS_lchown 130 -#define SYS_memcntl 131 -#define SYS_getpmsg 132 -#define SYS_putpmsg 133 -#define SYS_rename 134 -#define SYS_uname 135 -#define SYS_setegid 136 -#define SYS_sysconfig 137 -#define SYS_adjtime 138 -#define SYS_systeminfo 139 -#define SYS_seteuid 141 -#define SYS_vtrace 142 -#define SYS_fork1 143 -#define SYS_sigtimedwait 144 -#define SYS_lwp_info 145 -#define SYS_yield 146 -#define SYS_lwp_sema_wait 147 -#define SYS_lwp_sema_post 148 -#define SYS_lwp_sema_trywait 149 -#define SYS_modctl 152 -#define SYS_fchroot 153 -#define SYS_utimes 154 -#define SYS_vhangup 155 -#define SYS_gettimeofday 156 -#define SYS_getitimer 157 -#define SYS_setitimer 158 -#define SYS_lwp_create 159 -#define SYS_lwp_exit 160 -#define SYS_lwp_suspend 161 -#define SYS_lwp_continue 162 -#define SYS_lwp_kill 163 -#define SYS_lwp_self 164 -#define SYS_lwp_setprivate 165 -#define SYS_lwp_getprivate 166 -#define SYS_lwp_wait 167 -#define SYS_lwp_mutex_unlock 168 -#define SYS_lwp_mutex_lock 169 -#define SYS_lwp_cond_wait 170 -#define SYS_lwp_cond_signal 171 -#define SYS_lwp_cond_broadcast 172 -#define SYS_pread 173 -#define SYS_pwrite 174 -#define SYS_llseek 175 -#define SYS_inst_sync 176 -#define SYS_kaio 178 -#define SYS_tsolsys 184 -#define SYS_acl 185 -#define SYS_auditsys 186 -#define SYS_processor_bind 187 -#define SYS_processor_info 188 -#define SYS_p_online 189 -#define SYS_sigqueue 190 -#define SYS_clock_gettime 191 -#define SYS_clock_settime 192 -#define SYS_clock_getres 193 -#define SYS_timer_create 194 -#define SYS_timer_delete 195 -#define SYS_timer_settime 196 -#define SYS_timer_gettime 197 -#define SYS_timer_getoverrun 198 -#define SYS_nanosleep 199 -#define SYS_facl 200 -#define SYS_door 201 -#define SYS_setreuid 202 -#define SYS_setregid 203 -#define SYS_install_utrap 204 -#define SYS_signotify 205 -#define SYS_schedctl 206 -#define SYS_pset 207 -#define SYS_resolvepath 209 -#define SYS_signotifywait 210 -#define SYS_lwp_sigredirect 211 -#define SYS_lwp_alarm 212 -#define SYS_getdents64 213 -#define SYS_mmap64 214 -#define SYS_stat64 215 -#define SYS_lstat64 216 -#define SYS_fstat64 217 -#define SYS_statvfs64 218 -#define SYS_fstatvfs64 219 -#define SYS_setrlimit64 220 -#define SYS_getrlimit64 221 -#define SYS_pread64 222 -#define SYS_pwrite64 223 -#define SYS_creat64 224 -#define SYS_open64 225 -#define SYS_rpcsys 226 -#define SYS_so_socket 230 -#define SYS_so_socketpair 231 -#define SYS_bind 232 -#define SYS_listen 233 -#define SYS_accept 234 -#define SYS_connect 235 -#define SYS_shutdown 236 -#define SYS_recv 237 -#define SYS_recvfrom 238 -#define SYS_recvmsg 239 -#define SYS_send 240 -#define SYS_sendmsg 241 -#define SYS_sendto 242 -#define SYS_getpeername 243 -#define SYS_getsockname 244 -#define SYS_getsockopt 245 -#define SYS_setsockopt 246 -#define SYS_sockconfig 247 -#define SYS_ntp_gettime 248 -#define SYS_ntp_adjtime 249 - -#endif /* sys/syscall.h */ diff --git a/sysdeps/unix/sysv/sysv4/solaris2/syscalls.list b/sysdeps/unix/sysv/sysv4/solaris2/syscalls.list deleted file mode 100644 index 092d869efc..0000000000 --- a/sysdeps/unix/sysv/sysv4/solaris2/syscalls.list +++ /dev/null @@ -1,7 +0,0 @@ -# File name Caller Syscall name # args Strong name Weak names - -sigaction - sigaction 3 __sigaction sigaction -sigaltstack - sigaltstack 2 sigaltstack -sigpending - sigpending 2 __syscall_sigpending -sigqueue - sigqueue 3 __sigqueue sigqueue -sigtimedwait - sigtimedwait 3 __sigtimedwait sigtime diff --git a/sysdeps/unix/sysv/sysv4/syscalls.list b/sysdeps/unix/sysv/sysv4/syscalls.list deleted file mode 100644 index 7b75d55248..0000000000 --- a/sysdeps/unix/sysv/sysv4/syscalls.list +++ /dev/null @@ -1,7 +0,0 @@ -# File name Caller Syscall name # args Strong name Weak names - -pgrpsys - pgrpsys 3 __pgrpsys -sigprocmask - sigprocmask 3 __sigprocmask sigprocmask -sysconfig - sysconfig 1 __sysconfig -sysinfo - systeminfo 3 __sysinfo -__waitid waitpid waitsys 3 __waitid diff --git a/sysdeps/unix/sysv/sysv4/sysconf.c b/sysdeps/unix/sysv/sysv4/sysconf.c deleted file mode 100644 index bfe7823c4c..0000000000 --- a/sysdeps/unix/sysv/sysv4/sysconf.c +++ /dev/null @@ -1,366 +0,0 @@ -/* Copyright (C) 1993,1995,1996,1997,2002,2004 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Brendan Kehoe (brendan@zen.org). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <errno.h> -#include <limits.h> -#include <unistd.h> -#include <stdio.h> -#include <time.h> -#include <sysconfig.h> - -extern int __sysconfig (int); - -/* Get the value of the system variable NAME. */ -long int -__sysconf (name) - int name; -{ - switch (name) - { - default: - __set_errno (EINVAL); - return -1; - - case _SC_ARG_MAX: -#ifdef ARG_MAX - return ARG_MAX; -#else - return -1; -#endif - - case _SC_CHILD_MAX: -#ifdef CHILD_MAX - return CHILD_MAX; -#else - return -1; -#endif - - case _SC_CLK_TCK: - return __sysconfig (_CONFIG_CLK_TCK); - - case _SC_NGROUPS_MAX: -#ifdef NGROUPS_MAX - return NGROUPS_MAX; -#else - return -1; -#endif - - /* Both of these are looking for _CONFIG_OPEN_FILES. */ - case _SC_OPEN_MAX: - case _SC_STREAM_MAX: - return __sysconfig (_CONFIG_OPEN_FILES); - - case _SC_TZNAME_MAX: - return __tzname_max (); - - case _SC_JOB_CONTROL: -#ifdef _POSIX_JOB_CONTROL - return 1; -#else - return -1; -#endif - - case _SC_SAVED_IDS: -#ifdef _POSIX_SAVED_IDS - return 1; -#else - return -1; -#endif - - case _SC_REALTIME_SIGNALS: -#ifdef _POSIX_REALTIME_SIGNALS - return 1; -#else - return -1; -#endif - - case _SC_PRIORITY_SCHEDULING: -#ifdef _POSIX_PRIORITY_SCHEDULING - return 1; -#else - return -1; -#endif - - case _SC_TIMERS: -#ifdef _POSIX_TIMERS - return 1; -#else - return -1; -#endif - - case _SC_ASYNCHRONOUS_IO: -#ifdef _POSIX_ASYNCHRONOUS_IO - return 1; -#else - return -1; -#endif - - case _SC_PRIORITIZED_IO: -#ifdef _POSIX_PRIORITIZED_IO - return 1; -#else - return -1; -#endif - - case _SC_SYNCHRONIZED_IO: -#ifdef _POSIX_SYNCHRONIZED_IO - return 1; -#else - return -1; -#endif - - case _SC_FSYNC: -#ifdef _POSIX_FSYNC - return 1; -#else - return -1; -#endif - - case _SC_MAPPED_FILES: -#ifdef _POSIX_MAPPED_FILES - return 1; -#else - return -1; -#endif - - case _SC_MEMLOCK: -#ifdef _POSIX_MEMLOCK - return 1; -#else - return -1; -#endif - - case _SC_MEMLOCK_RANGE: -#ifdef _POSIX_MEMLOCK_RANGE - return 1; -#else - return -1; -#endif - - case _SC_MEMORY_PROTECTION: -#ifdef _POSIX_MEMORY_PROTECTION - return 1; -#else - return -1; -#endif - - case _SC_MESSAGE_PASSING: -#ifdef _POSIX_MESSAGE_PASSING - return 1; -#else - return -1; -#endif - - case _SC_SEMAPHORES: -#ifdef _POSIX_SEMAPHORES - return 1; -#else - return -1; -#endif - - case _SC_SHARED_MEMORY_OBJECTS: -#ifdef _POSIX_SHARED_MEMORY_OBJECTS - return 1; -#else - return -1; -#endif - - case _SC_VERSION: - return _POSIX_VERSION; - - case _SC_PAGESIZE: - return __sysconfig (_CONFIG_PAGESIZE); - - case _SC_AIO_LISTIO_MAX: -#ifdef AIO_LISTIO_MAX - return AIO_LISTIO_MAX; -#else - return -1; -#endif - - case _SC_AIO_MAX: -#ifdef AIO_MAX - return AIO_MAX; -#else - return -1; -#endif - - case _SC_AIO_PRIO_DELTA_MAX: -#ifdef AIO_PRIO_DELTA_MAX - return AIO_PRIO_DELTA_MAX; -#else - return -1; -#endif - - case _SC_DELAYTIMER_MAX: -#ifdef DELAYTIMER_MAX - return DELAYTIMER_MAX; -#else - return -1; -#endif - - case _SC_MQ_OPEN_MAX: -#ifdef MQ_OPEN_MAX - return MQ_OPEN_MAX; -#else - return -1; -#endif - - case _SC_MQ_PRIO_MAX: -#ifdef MQ_PRIO_MAX - return MQ_PRIO_MAX; -#else - return -1; -#endif - - case _SC_RTSIG_MAX: -#ifdef RTSIG_MAX - return RTSIG_MAX; -#else - return -1; -#endif - - case _SC_SEM_NSEMS_MAX: -#ifdef SEM_NSEMS_MAX - return SEM_NSEMS_MAX; -#else - return -1; -#endif - - case _SC_SEM_VALUE_MAX: -#ifdef SEM_VALUE_MAX - return SEM_VALUE_MAX; -#else - return -1; -#endif - - case _SC_SIGQUEUE_MAX: -#ifdef SIGQUEUE_MAX - return SIGQUEUE_MAX; -#else - return -1; -#endif - - case _SC_TIMER_MAX: -#ifdef TIMER_MAX - return TIMER_MAX; -#else - return -1; -#endif - - case _SC_BC_BASE_MAX: -#ifdef BC_BASE_MAX - return BC_BASE_MAX; -#else - return -1; -#endif - - case _SC_BC_DIM_MAX: -#ifdef BC_DIM_MAX - return BC_DIM_MAX; -#else - return -1; -#endif - - case _SC_BC_SCALE_MAX: -#ifdef BC_SCALE_MAX - return BC_SCALE_MAX; -#else - return -1; -#endif - - case _SC_BC_STRING_MAX: -#ifdef BC_STRING_MAX - return BC_STRING_MAX; -#else - return -1; -#endif - - case _SC_EQUIV_CLASS_MAX: -#ifdef EQUIV_CLASS_MAX - return EQUIV_CLASS_MAX; -#else - return -1; -#endif - - case _SC_EXPR_NEST_MAX: -#ifdef EXPR_NEST_MAX - return EXPR_NEST_MAX; -#else - return -1; -#endif - - case _SC_LINE_MAX: -#ifdef LINE_MAX - return LINE_MAX; -#else - return -1; -#endif - - case _SC_RE_DUP_MAX: -#ifdef RE_DUP_MAX - return RE_DUP_MAX; -#else - return -1; -#endif - - case _SC_CHARCLASS_NAME_MAX: -#ifdef CHARCLASS_NAME_MAX - return CHARCLASS_NAME_MAX; -#else - return -1; -#endif - - case _SC_2_VERSION: - /* This is actually supposed to return the version - of the 1003.2 utilities on the system {POSIX2_VERSION}. */ - return _POSIX2_C_VERSION; - - case _SC_2_C_BIND: -#ifdef _POSIX2_C_BIND - return _POSIX2_C_BIND; -#else - return -1; -#endif - - case _SC_2_C_DEV: -#ifdef _POSIX2_C_DEV - return _POSIX2_C_DEV; -#else - return -1; -#endif - - case _SC_2_FORT_DEV: -#ifdef _POSIX2_FORT_DEV - return _POSIX2_FORT_DEV; -#else - return -1; -#endif - - case _SC_2_SW_DEV: -#ifdef _POSIX2_SW_DEV - return _POSIX2_SW_DEV; -#else - return -1; -#endif - } -} - -weak_alias (__sysconf, sysconf) -libc_hidden_def (__sysconf) diff --git a/sysdeps/unix/sysv/sysv4/sysconfig.h b/sysdeps/unix/sysv/sysv4/sysconfig.h deleted file mode 100644 index b51a3649a4..0000000000 --- a/sysdeps/unix/sysv/sysv4/sysconfig.h +++ /dev/null @@ -1,28 +0,0 @@ -/* `__sysconfig' NAME values. - Copyright (C) 1993, 1997 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Brendan Kehoe (brendan@zen.org). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef __SYSCONFIG_H -#define __SYSCONFIG_H - -#define _CONFIG_OPEN_FILES 4 /* process limit on open files */ -#define _CONFIG_PAGESIZE 6 /* MMU page size */ -#define _CONFIG_CLK_TCK 7 /* all times are in CLK_TCKths of a second */ - -#endif diff --git a/sysdeps/unix/sysv/sysv4/system.c b/sysdeps/unix/sysv/sysv4/system.c deleted file mode 100644 index fbfe43f19a..0000000000 --- a/sysdeps/unix/sysv/sysv4/system.c +++ /dev/null @@ -1,2 +0,0 @@ -/* SVR4 does have `waitpid'. Avoid unix/system.c, which says we don't. */ -#include <sysdeps/posix/system.c> diff --git a/sysdeps/unix/sysv/sysv4/waitpid.c b/sysdeps/unix/sysv/sysv4/waitpid.c deleted file mode 100644 index 23f9ceb029..0000000000 --- a/sysdeps/unix/sysv/sysv4/waitpid.c +++ /dev/null @@ -1,120 +0,0 @@ -/* Copyright (C) 1993,94,95,96,97,2002,2004 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Brendan Kehoe (brendan@zen.org). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <errno.h> -#include <sys/wait.h> -#include <sys/types.h> -#include <stddef.h> -#include "siginfo.h" - -typedef enum __idtype - { - /* Look for processes based upon a given PID. */ - P_PID, - - /* Look for processes based upon a given process-group ID. */ - P_PGID = 2, - - /* Look for any process. */ - P_ALL = 7, - } __idtype_t; - -extern __pid_t __getpgid (__pid_t pid); -extern int __waitid (__idtype_t idtype, __pid_t id, - __siginfo_t *infop, int options); - -/* Wait for a child matching PID to die. - If PID is greater than 0, match any process whose process ID is PID. - If PID is (pid_t) -1, match any process. - If PID is (pid_t) 0, match any process with the - same process group as the current process. - If PID is less than -1, match any process whose - process group is the absolute value of PID. - If the WNOHANG bit is set in OPTIONS, and that child - is not already dead, return (pid_t) 0. If successful, - return PID and store the dead child's status in STAT_LOC. - Return (pid_t) -1 for errors. If the WUNTRACED bit is set in OPTIONS, - return status for stopped children; otherwise don't. */ - -__pid_t -__libc_waitpid (__pid_t pid, int *stat_loc, int options) -{ - __idtype_t idtype; - __pid_t tmp_pid = pid; - __siginfo_t infop; - - if (pid <= WAIT_MYPGRP) - { - if (pid == WAIT_ANY) - { - /* Request the status for any child. */ - idtype = P_ALL; - } - else if (pid == WAIT_MYPGRP) - { - /* Request the status for any child process that has - a pgid that's equal to that of our parent. */ - tmp_pid = __getpgid (0); - idtype = P_PGID; - } - else /* PID < -1 */ - { - /* Request the status for any child whose pgid is equal - to the absolute value of PID. */ - tmp_pid = pid & ~0; /* XXX not pseudo-insn */ - idtype = P_PGID; - } - } - else - { - /* Request the status for the child whose pid is PID. */ - idtype = P_PID; - } - - if (__waitid (idtype, tmp_pid, &infop, options | WEXITED | WTRAPPED) < 0) - return -1; - - switch (infop.__code) - { - case EXITED: - *stat_loc = W_EXITCODE (infop.__status, 0); - break; - case STOPPED: - case TRAPPED: - *stat_loc = W_STOPCODE (infop.__status); - break; - case KILLED: - /* Don't know what to do with continue, since it isn't documented. - Putting it here seemed the right place though. */ - case CONTINUED: - *stat_loc = infop.__status; - /* FALLTHROUGH */ - case CORED: - *stat_loc |= WCOREFLAG; - break; - } - - /* Return the PID out of the INFOP structure instead of the one we were - called with, to account for cases of being called with -1 to signify - any PID. */ - return infop.__pid; -} -weak_alias (__libc_waitpid, __waitpid) -weak_alias (__libc_waitpid, waitpid) -libc_hidden_weak (__waitpid) diff --git a/sysdeps/vax/DEFS.h b/sysdeps/vax/DEFS.h deleted file mode 100644 index 50f8b7e131..0000000000 --- a/sysdeps/vax/DEFS.h +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Copyright (c) 1982, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)DEFS.h 8.1 (Berkeley) 6/4/93 - */ - -#define R0 0x001 -#define R1 0x002 -#define R2 0x004 -#define R3 0x008 -#define R4 0x010 -#define R5 0x020 -#define R6 0x040 -#define R7 0x080 -#define R8 0x100 -#define R9 0x200 -#define R10 0x400 -#define R11 0x800 - -#ifdef PROF -#define ENTRY(x, regs) \ - .globl _/**/x; .align 2; _/**/x: .word regs; \ - .data; 1:; .long 0; .text; moval 1b,r0; jsb mcount -#define ASENTRY(x, regs) \ - .globl x; .align 2; x: .word regs; \ - .data; 1:; .long 0; .text; moval 1b,r0; jsb mcount -#else -#define ENTRY(x, regs) \ - .globl _/**/x; .align 2; _/**/x: .word regs -#define ASENTRY(x, regs) \ - .globl x; .align 2; x: .word regs -#endif diff --git a/sysdeps/vax/Dist b/sysdeps/vax/Dist deleted file mode 100644 index 22a693094a..0000000000 --- a/sysdeps/vax/Dist +++ /dev/null @@ -1,2 +0,0 @@ -DEFS.h -fl.h diff --git a/sysdeps/vax/Makefile b/sysdeps/vax/Makefile deleted file mode 100644 index 909fc29f33..0000000000 --- a/sysdeps/vax/Makefile +++ /dev/null @@ -1,32 +0,0 @@ -# Copyright (C) 1991, 1994, 1997 Free Software Foundation, Inc. -# This file is part of the GNU C Library. - -# The GNU C Library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License, or (at your option) any later version. - -# The GNU C Library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. - -# You should have received a copy of the GNU Lesser General Public -# License along with the GNU C Library; if not, write to the Free -# Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA -# 02111-1307 USA. - -ifeq ($(subdir),math) -ifndef math-twiddled - -elided-routines := $(elided-routines) acos asin cos sin ceil rint hypot \ - __copysign __scalb __drem __logb __finite -sysdep_routines := $(sysdep_routines) asincos sincos argred \ - support exp__E log__L - -math-twiddled := t -endif - -bsdmath_dirs := $(bsdmath_dirs) vax - -endif diff --git a/sysdeps/vax/__longjmp.c b/sysdeps/vax/__longjmp.c deleted file mode 100644 index 8ffb8cd4b6..0000000000 --- a/sysdeps/vax/__longjmp.c +++ /dev/null @@ -1,129 +0,0 @@ -/* Copyright (C) 1991, 1992, 1994, 1997 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. - - Derived from @(#)_setjmp.s 5.7 (Berkeley) 6/27/88, - Copyright (C) 1980 Regents of the University of California. - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - 1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - 4. Neither the name of the University nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - SUCH DAMAGE.*/ - -#include <setjmp.h> - -#ifndef __GNUC__ - #error This file uses GNU C extensions; you must compile with GCC. -#endif - - -#define REI 02 /* Vax `rei' opcode. */ - -/* Jump to the position specified by ENV, causing the - setjmp call there to return VAL, or 1 if VAL is 0. */ -__NORETURN -void -__longjmp (env, val) - const __jmp_buf env; - int val; -{ - register long int *fp asm("fp"); - long int *regsave; - unsigned long int flags; - - if (env.__fp == NULL) - __libc_fatal("longjmp: Invalid ENV argument.\n"); - - if (val == 0) - val = 1; - - asm volatile("loop:"); - - flags = *(long int *) (6 + (char *) fp); - regsave = (long int *) (20 + (char *) fp); - if (flags & 1) - /* R0 was saved by the caller. - Store VAL where it will be restored from. */ - *regsave++ = val; - if (flags & 2) - /* R1 was saved by the caller. - Store ENV where it will be restored from. */ - *regsave = env; - - /* Was the FP saved in the last call the same one in ENV? */ - asm volatile("cmpl %0, 12(fp);" - /* Yes, return to it. */ - "beql done;" - /* The FP in ENV is less than the one saved in the last call. - This means we have already returned from the function that - called `setjmp' with ENV! */ - "blssu latejump;" : /* No outputs. */ : "g" (env.__fp)); - - /* We are more than one level below the state in ENV. - Return to where we will pop another stack frame. */ - asm volatile("movl $loop, 16(fp);" - "ret"); - - asm volatile("done:"); - { - char return_insn asm("*16(fp)"); - if (return_insn == REI) - /* We're returning with an `rei' instruction. - Do a return with PSL-PC pop. */ - asm volatile("movab 0f, 16(fp)"); - else - /* Do a standard return. */ - asm volatile("movab 1f, 16(fp)"); - - /* Return. */ - asm volatile("ret"); - } - - asm volatile("0:" /* `rei' return. */ - /* Compensate for PSL-PC push. */ - "addl2 %0, sp;" - "1:" /* Standard return. */ - /* Return to saved PC. */ - "jmp %1" : /* No outputs. */ : - "g" (8), "g" (env.__pc)); - - /* Jump here when the FP saved in ENV points - to a function that has already returned. */ - asm volatile("latejump:"); - __libc_fatal("longjmp: Attempt to jump to a function that has returned.\n"); -} diff --git a/sysdeps/vax/add_n.s b/sysdeps/vax/add_n.s deleted file mode 100644 index 265a8c7881..0000000000 --- a/sysdeps/vax/add_n.s +++ /dev/null @@ -1,48 +0,0 @@ -# VAX __mpn_add_n -- Add two limb vectors of the same length > 0 and store -# sum in a third limb vector. - -# Copyright (C) 1992, 1994 Free Software Foundation, Inc. - -# This file is part of the GNU MP Library. - -# The GNU MP Library is free software; you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation; either version 2.1 of the License, or (at your -# option) any later version. - -# The GNU MP Library is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public -# License for more details. - -# You should have received a copy of the GNU Lesser General Public License -# along with the GNU MP Library; see the file COPYING.LIB. If not, write to -# the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, -# MA 02111-1307, USA. - - -# INPUT PARAMETERS -# res_ptr (sp + 4) -# s1_ptr (sp + 8) -# s2_ptr (sp + 12) -# size (sp + 16) - -.text - .align 1 -.globl ___mpn_add_n -___mpn_add_n: - .word 0x0 - movl 16(ap),r0 - movl 12(ap),r1 - movl 8(ap),r2 - movl 4(ap),r3 - subl2 r4,r4 - -Loop: - movl (r2)+,r4 - adwc (r1)+,r4 - movl r4,(r3)+ - jsobgtr r0,Loop - - adwc r0,r0 - ret diff --git a/sysdeps/vax/addmul_1.s b/sysdeps/vax/addmul_1.s deleted file mode 100644 index c6d657dcf3..0000000000 --- a/sysdeps/vax/addmul_1.s +++ /dev/null @@ -1,126 +0,0 @@ -# VAX __mpn_addmul_1 -- Multiply a limb vector with a limb and add -# the result to a second limb vector. - -# Copyright (C) 1992, 1994 Free Software Foundation, Inc. - -# This file is part of the GNU MP Library. - -# The GNU MP Library is free software; you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation; either version 2.1 of the License, or (at your -# option) any later version. - -# The GNU MP Library is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public -# License for more details. - -# You should have received a copy of the GNU Lesser General Public License -# along with the GNU MP Library; see the file COPYING.LIB. If not, write to -# the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, -# MA 02111-1307, USA. - - -# INPUT PARAMETERS -# res_ptr (sp + 4) -# s1_ptr (sp + 8) -# size (sp + 12) -# s2_limb (sp + 16) - -.text - .align 1 -.globl ___mpn_addmul_1 -___mpn_addmul_1: - .word 0xfc0 - movl 12(ap),r4 - movl 8(ap),r8 - movl 4(ap),r9 - movl 16(ap),r6 - jlss s2_big - - clrl r3 - incl r4 - ashl $-1,r4,r7 - jlbc r4,L1 - clrl r11 - -# Loop for S2_LIMB < 0x80000000 -Loop1: movl (r8)+,r1 - jlss L1n0 - emul r1,r6,$0,r2 - addl2 r11,r2 - adwc $0,r3 - addl2 r2,(r9)+ - adwc $0,r3 -L1: movl (r8)+,r1 - jlss L1n1 -L1p1: emul r1,r6,$0,r10 - addl2 r3,r10 - adwc $0,r11 - addl2 r10,(r9)+ - adwc $0,r11 - - jsobgtr r7,Loop1 - movl r11,r0 - ret - -L1n0: emul r1,r6,$0,r2 - addl2 r11,r2 - adwc r6,r3 - addl2 r2,(r9)+ - adwc $0,r3 - movl (r8)+,r1 - jgeq L1p1 -L1n1: emul r1,r6,$0,r10 - addl2 r3,r10 - adwc r6,r11 - addl2 r10,(r9)+ - adwc $0,r11 - - jsobgtr r7,Loop1 - movl r11,r0 - ret - - -s2_big: clrl r3 - incl r4 - ashl $-1,r4,r7 - jlbc r4,L2 - clrl r11 - -# Loop for S2_LIMB >= 0x80000000 -Loop2: movl (r8)+,r1 - jlss L2n0 - emul r1,r6,$0,r2 - addl2 r11,r2 - adwc r1,r3 - addl2 r2,(r9)+ - adwc $0,r3 -L2: movl (r8)+,r1 - jlss L2n1 -L2p1: emul r1,r6,$0,r10 - addl2 r3,r10 - adwc r1,r11 - addl2 r10,(r9)+ - adwc $0,r11 - - jsobgtr r7,Loop2 - movl r11,r0 - ret - -L2n0: emul r1,r6,$0,r2 - addl2 r11,r2 - adwc r6,r3 - addl2 r2,(r9)+ - adwc r1,r3 - movl (r8)+,r1 - jgeq L2p1 -L2n1: emul r1,r6,$0,r10 - addl2 r3,r10 - adwc r6,r11 - addl2 r10,(r9)+ - adwc r1,r11 - - jsobgtr r7,Loop2 - movl r11,r0 - ret diff --git a/sysdeps/vax/bcopy.s b/sysdeps/vax/bcopy.s deleted file mode 100644 index 186ad365f8..0000000000 --- a/sysdeps/vax/bcopy.s +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Copyright (c) 1983 Regents of the University of California. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#if defined(LIBC_SCCS) && !defined(lint) - .asciz "@(#)bcopy.s 5.6 (Berkeley) 6/1/90" -#endif /* LIBC_SCCS and not lint */ - -/* bcopy(from, to, size) */ - -#include "DEFS.h" - -ENTRY(bcopy, R6) - movl 4(ap),r1 - movl 8(ap),r3 - movl 12(ap),r6 - cmpl r1,r3 - bgtr 2f # normal forward case - blss 3f # overlapping, must do backwards - ret # equal, nothing to do -1: - subl2 r0,r6 - movc3 r0,(r1),(r3) -2: - movzwl $65535,r0 - cmpl r6,r0 - jgtr 1b - movc3 r6,(r1),(r3) - ret -3: - addl2 r6,r1 - addl2 r6,r3 - movzwl $65535,r0 - jbr 5f -4: - subl2 r0,r6 - subl2 r0,r1 - subl2 r0,r3 - movc3 r0,(r1),(r3) - movzwl $65535,r0 - subl2 r0,r1 - subl2 r0,r3 -5: - cmpl r6,r0 - jgtr 4b - subl2 r6,r1 - subl2 r6,r3 - movc3 r6,(r1),(r3) - ret diff --git a/sysdeps/vax/bits/huge_val.h b/sysdeps/vax/bits/huge_val.h deleted file mode 100644 index 63395b15e3..0000000000 --- a/sysdeps/vax/bits/huge_val.h +++ /dev/null @@ -1,26 +0,0 @@ -/* `HUGE_VAL' constant for Vaxen. - Used by <stdlib.h> and <math.h> functions for overflow. - Copyright (C) 1992, 1996, 1997 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _MATH_H -# error "Never use <bits/huge_val.h> directly; include <math.h> instead." -#endif - - -#define HUGE_VAL 1.70141182460469227e38 diff --git a/sysdeps/vax/bits/setjmp.h b/sysdeps/vax/bits/setjmp.h deleted file mode 100644 index 10ca170a2a..0000000000 --- a/sysdeps/vax/bits/setjmp.h +++ /dev/null @@ -1,11 +0,0 @@ -/* Define the machine-dependent type `jmp_buf'. Vax version. */ - -#ifndef _SETJMP_H -# error "Never include <bits/setjmp.h> directly; use <setjmp.h> instead." -#endif - -typedef struct - { - PTR __fp; - PTR __pc; - } __jmp_buf[1]; diff --git a/sysdeps/vax/bsd-_setjmp.S b/sysdeps/vax/bsd-_setjmp.S deleted file mode 100644 index 756e96b707..0000000000 --- a/sysdeps/vax/bsd-_setjmp.S +++ /dev/null @@ -1,33 +0,0 @@ -/* BSD `_setjmp' entry point to `sigsetjmp (..., 0)'. Vax version. - Copyright (C) 1994, 1997, 2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* This just does a tail-call to `__sigsetjmp (ARG, 0)'. - We cannot do it in C because it must be a tail-call, so frame-unwinding - in setjmp doesn't clobber the state restored by longjmp. */ - -#include <sysdep.h> - -ENTRY (_setjmp) - popl r0 /* Pop return PC. */ - popl r1 /* Pop jmp_buf argument. */ - pushl $0 /* Push second argument of zero. */ - pushl r1 /* Push back first argument. */ - pushl r0 /* Push back return PC. */ - jmp C_SYMBOL_NAME (__sigsetjmp) -libc_hidden_def (_setjmp) diff --git a/sysdeps/vax/bsd-setjmp.S b/sysdeps/vax/bsd-setjmp.S deleted file mode 100644 index 792fcf7a69..0000000000 --- a/sysdeps/vax/bsd-setjmp.S +++ /dev/null @@ -1,32 +0,0 @@ -/* BSD `setjmp' entry point to `sigsetjmp (..., 1)'. Vax version. - Copyright (C) 1994, 1997 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* This just does a tail-call to `__sigsetjmp (ARG, 1)'. - We cannot do it in C because it must be a tail-call, so frame-unwinding - in setjmp doesn't clobber the state restored by longjmp. */ - -#include <sysdep.h> - -ENTRY (setjmp) - popl r0 /* Pop return PC. */ - popl r1 /* Pop jmp_buf argument. */ - pushl $1 /* Push second argument of one. */ - pushl r1 /* Push back first argument. */ - pushl r0 /* Push back return PC. */ - jmp C_SYMBOL_NAME (__sigsetjmp) diff --git a/sysdeps/vax/bzero.s b/sysdeps/vax/bzero.s deleted file mode 100644 index be61a97d89..0000000000 --- a/sysdeps/vax/bzero.s +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright (c) 1983 Regents of the University of California. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#if defined(LIBC_SCCS) && !defined(lint) - .asciz "@(#)bzero.s 5.6 (Berkeley) 6/1/90" -#endif /* LIBC_SCCS and not lint */ - -/* bzero(base, length) */ - -#include "DEFS.h" - -ENTRY(__bzero, 0) - movl 4(ap),r3 - jbr 2f -1: - subl2 r0,8(ap) - movc5 $0,(r3),$0,r0,(r3) -2: - movzwl $65535,r0 - cmpl 8(ap),r0 - jgtr 1b - movc5 $0,(r3),$0,8(ap),(r3) - ret -weak_alias (__bzero, bzero) diff --git a/sysdeps/vax/ffs.s b/sysdeps/vax/ffs.s deleted file mode 100644 index 6272cfd59f..0000000000 --- a/sysdeps/vax/ffs.s +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Copyright (c) 1983 Regents of the University of California. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#if defined(LIBC_SCCS) && !defined(lint) - .asciz "@(#)ffs.s 5.6 (Berkeley) 6/1/90" -#endif /* LIBC_SCCS and not lint */ - -/* bit = ffs(value) */ - -#include "DEFS.h" - -ENTRY(__ffs, 0) - ffs $0,$32,4(ap),r0 - bneq 1f - mnegl $1,r0 -1: - incl r0 - ret -weak_alias (__ffs, ffs) diff --git a/sysdeps/vax/fl.h b/sysdeps/vax/fl.h deleted file mode 100644 index 79cbeb247a..0000000000 --- a/sysdeps/vax/fl.h +++ /dev/null @@ -1,68 +0,0 @@ -/* Copyright (C) 1991, 1997 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef __need_HUGE_VAL - -/* Floating-point constants for Vaxen. */ - -#define FLT_RADIX 2 - -#define FLT_ROUNDS _FLT_ROUNDS_TONEAREST - -#define FLT_MANT_DIG 23 -#define DBL_MANT_DIG 55 -#define LDBL_MANT_DIG 55 - -#define FLT_DIG 6 -#define DBL_DIG 16 -#define LDBL_DIG 16 - -#define FLT_MIN_EXP (-128) -#define DBL_MIN_EXP (-128) -#define LDBL_MIN_EXP (-128) - -#define FLT_MIN_10_EXP (-38) -#define DBL_MIN_10_EXP (-38) -#define LDBL_MIN_10_EXP (-38) - -#define FLT_MAX_EXP 127 -#define DBL_MAX_EXP 127 -#define LDBL_MAX_EXP 127 - -#define FLT_MAX_10_EXP 38 -#define DBL_MAX_10_EXP 38 -#define LDBL_MAX_10_EXP 38 - -#define FLT_MAX 1.7014116e38 -#define DBL_MAX 1.70141182460469227e38 -#define LDBL_MAX DBL_MAX - -#define FLT_EPSILON 2.384186e-7 -#define DBL_EPSILON 5.55111512312578270e-17 -#define LDBL_EPSILON DBL_EPSILON - -#define FLT_MIN 0.2938736e-38 -#define DBL_MIN 0.29387358770557187e-38 -#define LDBL_MIN DBL_MIN - -#else /* Need HUGE_VAL. */ - -/* Used by <stdlib.h> and <math.h> functions for overflow. */ -#define HUGE_VAL 1.70141182460469227e38 - -#endif /* Don't need HUGE_VAL. */ diff --git a/sysdeps/vax/gccframe.h b/sysdeps/vax/gccframe.h deleted file mode 100644 index 323d5115d4..0000000000 --- a/sysdeps/vax/gccframe.h +++ /dev/null @@ -1,22 +0,0 @@ -/* Definition of object in frame unwind info. vax version. - Copyright (C) 2001 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#define DWARF_FRAME_REGISTERS 16 - -#include <sysdeps/generic/gccframe.h> diff --git a/sysdeps/vax/gmp-mparam.h b/sysdeps/vax/gmp-mparam.h deleted file mode 100644 index 1ebfa19c5f..0000000000 --- a/sysdeps/vax/gmp-mparam.h +++ /dev/null @@ -1,29 +0,0 @@ -/* gmp-mparam.h -- Compiler/machine parameter header file. - -Copyright (C) 1991, 1993, 1994, 1995 Free Software Foundation, Inc. - -This file is part of the GNU MP Library. - -The GNU MP Library is free software; you can redistribute it and/or modify -it under the terms of the GNU Lesser General Public License as published by -the Free Software Foundation; either version 2.1 of the License, or (at your -option) any later version. - -The GNU MP Library is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public -License for more details. - -You should have received a copy of the GNU Lesser General Public License -along with the GNU MP Library; see the file COPYING.LIB. If not, write to -the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, -MA 02111-1307, USA. */ - -#define BITS_PER_MP_LIMB 32 -#define BYTES_PER_MP_LIMB 4 -#define BITS_PER_LONGINT 32 -#define BITS_PER_INT 32 -#define BITS_PER_SHORTINT 16 -#define BITS_PER_CHAR 8 - -#define IEEE_DOUBLE_BIG_ENDIAN 0 diff --git a/sysdeps/vax/htonl.s b/sysdeps/vax/htonl.s deleted file mode 100644 index f3e2195c00..0000000000 --- a/sysdeps/vax/htonl.s +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright (C) 1983 Regents of the University of California. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#if defined(LIBC_SCCS) && !defined(lint) - .asciz "@(#)htonl.s 5.5 (Berkeley) 6/27/88" -#endif /* LIBC_SCCS and not lint */ - -/* netorder = htonl(hostorder) */ - -#include "DEFS.h" - -ENTRY(htonl, 0) - rotl $-8,4(ap),r0 - insv r0,$16,$8,r0 - movb 7(ap),r0 - ret -weak_alias (htonl, ntohl) diff --git a/sysdeps/vax/htons.s b/sysdeps/vax/htons.s deleted file mode 100644 index 5f9ea7384d..0000000000 --- a/sysdeps/vax/htons.s +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright (C) 1983 Regents of the University of California. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#if defined(LIBC_SCCS) && !defined(lint) - .asciz "@(#)htons.s 5.5 (Berkeley) 6/27/88" -#endif /* LIBC_SCCS and not lint */ - -/* hostorder = htons(netorder) */ - -#include "DEFS.h" - -ENTRY(htons, 0) - rotl $8,4(ap),r0 - movb 5(ap),r0 - movzwl r0,r0 - ret -weak_alias (htons, ntohs) diff --git a/sysdeps/vax/memccpy.c b/sysdeps/vax/memccpy.c deleted file mode 100644 index 9a459ff5eb..0000000000 --- a/sysdeps/vax/memccpy.c +++ /dev/null @@ -1,46 +0,0 @@ -/* Copyright (C) 1991, 1992, 1995, 1997 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include <string.h> - -/* Copy no more than N bytes of SRC to DEST, stopping when C is found. - Return the position in DEST one byte past where C was copied, - or NULL if C was not found in the first N bytes of SRC. */ -void * -__memccpy (dest, src, c, n) - void *dest; - const void *src; - int c; - size_t nbytes; -{ - /* Except when N > 65535, this is what a hand-coded version would - do anyway. */ - - void *found = memchr (src, c, n); - - if (found == NULL) - { - (void) memcpy (dest, src, n); - return NULL; - } - - (void) memcpy (dest, src, (char *) found + 1 - (char *) src); - return (PTR) ((char *) dest + ((char *) found + 1 - (char *) src)); -} - -weak_alias (__memccpy, memccpy) diff --git a/sysdeps/vax/memchr.s b/sysdeps/vax/memchr.s deleted file mode 100644 index 5c54ba8e79..0000000000 --- a/sysdeps/vax/memchr.s +++ /dev/null @@ -1,74 +0,0 @@ -/*- - * Copyright (c) 1990 The Regents of the University of California. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#if defined(LIBC_SCCS) && !defined(lint) - .asciz "@(#)memchr.s 5.1 (Berkeley) 5/29/90" -#endif /* LIBC_SCCS and not lint */ - -/* - * Find the first occurrence of c in the memory at cp (length n). - * Return pointer to match or null pointer. - * - * This code optimises the usual case (0 < n < 65535). - * - * void * - * memchr(cp, c, n) - * char *cp, c; - * size_t n; - */ - -#include "DEFS.h" - -ENTRY(__memchr, 0) - movq 4(ap),r1 # r1 = cp; r2 = c - movl 12(ap),r0 # r0 = n - movzwl $65535,r4 # handy constant -0: - cmpl r0,r4 # check for annoying locc limit - bgtru 3f - - /* n <= 65535 */ - locc r2,r0,(r1) # search n bytes for c - beql 2f # done if not found (r0 already 0) -1: /* found character c at (r1) */ - movl r1,r0 -2: - ret - -3: /* n > 65535 */ - locc r2,r4,(r1) # search 65535 bytes for c - beql 1b # done if found - decw r0 # from 0 to 65535 - subl2 r0,r4 # adjust n - brb 0b # and loop - -weak_alias (__memchr, memchr) -#if !__BOUNDED_POINTERS__ -weak_alias (__memchr, __ubp_memchr) -#endif diff --git a/sysdeps/vax/memcmp.s b/sysdeps/vax/memcmp.s deleted file mode 100644 index e32fe24f41..0000000000 --- a/sysdeps/vax/memcmp.s +++ /dev/null @@ -1,59 +0,0 @@ -/*- - * Copyright (c) 1990 The Regents of the University of California. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#if defined(LIBC_SCCS) && !defined(lint) - .asciz "@(#)memcmp.s 5.1 (Berkeley) 5/15/90" -#endif /* LIBC_SCCS and not lint */ - -/* int memcmp(s1, s2, n) */ - -#include "DEFS.h" - -ENTRY(memcmp, 0) - movl 4(ap),r1 /* r1 = s1 */ - movq 8(ap),r3 /* r3 = s2; r4 = n */ - movzwl $65535,r5 -0: - cmpl r4,r5 - jgtru 3f /* handle stupid cmpc3 limitation */ - cmpc3 r4,(r1),(r3) /* compare */ - beql 2f /* done if same (r0 = 0) */ -1: - movzbl (r1),r0 - movzbl (r3),r2 - subl2 r2,r0 /* return *s1 - *s2; s1,s2 unsigned chars */ -2: - ret -3: - subl2 r5,r4 /* do 64K; adjust count */ - cmpc3 r5,(r1),(r3) - jeql 0b /* loop if same */ - jbr 1b - -weak_alias (memcmp, bcmp) diff --git a/sysdeps/vax/memmove.s b/sysdeps/vax/memmove.s deleted file mode 100644 index 738544142f..0000000000 --- a/sysdeps/vax/memmove.s +++ /dev/null @@ -1,89 +0,0 @@ -/*- - * Copyright (c) 1990 The Regents of the University of California. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#if defined(LIBC_SCCS) && !defined(lint) - .asciz "@(#)memmove.s 5.1 (Berkeley) 5/15/90" -#endif /* LIBC_SCCS and not lint */ - -/* - * void *memmove(dst, src, size) - * returns dst - * - * This optimises the usual case (count < 65536) at the expense - * of some extra memory references and branches when count >= 65536. - */ - -#include "DEFS.h" - -ENTRY(memmove, 0) - movzwl $65535,r0 /* r0 = 64K (needed below) */ - movq 8(ap),r1 /* r1 = src, r2 = length */ - movl 4(ap),r3 /* r3 = dst */ - cmpl r1,r3 - bgtru 1f /* normal forward case */ - beql 2f /* equal, nothing to do */ - addl2 r2,r1 /* overlaps iff src<dst but src+len>dst */ - cmpl r1,r3 - bgtru 4f /* overlapping, must move backwards */ - subl2 r2,r1 - -1: /* move forward */ - cmpl r2,r0 - bgtru 3f /* stupid movc3 limitation */ - movc3 r2,(r1),(r3) /* move it all */ -2: - movl 4(ap),r0 /* return original dst */ - ret -3: - subl2 r0,12(ap) /* adjust length by 64K */ - movc3 r0,(r1),(r3) /* move 64K */ - movl 12(ap),r2 - decw r0 /* from 0 to 65535 */ - brb 1b /* retry */ - -4: /* move backward */ - addl2 r2,r3 -5: - cmpl r2,r0 - bgtru 6f /* stupid movc3 limitation */ - subl2 r2,r1 - subl2 r2,r3 - movc3 r2,(r1),(r3) /* move it all */ - movl 4(ap),r0 /* return original dst */ - ret -6: - subl2 r0,12(ap) /* adjust length by 64K */ - subl2 r0,r1 - subl2 r0,r3 - movc3 r0,(r1),(r3) /* move 64K */ - movl 12(ap),r2 - decw r0 - subl2 r0,r1 - subl2 r0,r3 - brb 5b diff --git a/sysdeps/vax/memset.s b/sysdeps/vax/memset.s deleted file mode 100644 index dda14868f9..0000000000 --- a/sysdeps/vax/memset.s +++ /dev/null @@ -1,51 +0,0 @@ -/*- - * Copyright (c) 1990 The Regents of the University of California. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#if defined(LIBC_SCCS) && !defined(lint) - .asciz "@(#)memset.s 5.2 (Berkeley) 5/12/91" -#endif /* LIBC_SCCS and not lint */ - -/* void *memset(base, c, length) */ - -#include "DEFS.h" - -ENTRY(memset, 0) - movl 4(ap),r3 -1: - movzwl $65535,r0 - movq 8(ap),r1 - cmpl r2,r0 - jgtru 2f - movc5 $0,(r3),r1,r2,(r3) - movl r1,r0 - ret -2: - subl2 r0,12(ap) - movc5 $0,(r3),r1,r0,(r3) - jbr 1b diff --git a/sysdeps/vax/mul_1.s b/sysdeps/vax/mul_1.s deleted file mode 100644 index 295638b06e..0000000000 --- a/sysdeps/vax/mul_1.s +++ /dev/null @@ -1,123 +0,0 @@ -# VAX __mpn_mul_1 -- Multiply a limb vector with a limb and store -# the result in a second limb vector. - -# Copyright (C) 1992, 1994 Free Software Foundation, Inc. - -# This file is part of the GNU MP Library. - -# The GNU MP Library is free software; you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation; either version 2.1 of the License, or (at your -# option) any later version. - -# The GNU MP Library is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public -# License for more details. - -# You should have received a copy of the GNU Lesser General Public License -# along with the GNU MP Library; see the file COPYING.LIB. If not, write to -# the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, -# MA 02111-1307, USA. - - -# INPUT PARAMETERS -# res_ptr (sp + 4) -# s1_ptr (sp + 8) -# size (sp + 12) -# s2_limb (sp + 16) - -.text - .align 1 -.globl ___mpn_mul_1 -___mpn_mul_1: - .word 0xfc0 - movl 12(ap),r4 - movl 8(ap),r8 - movl 4(ap),r9 - movl 16(ap),r6 - jlss s2_big - -# One might want to combine the addl2 and the store below, but that -# is actually just slower according to my timing tests. (VAX 3600) - - clrl r3 - incl r4 - ashl $-1,r4,r7 - jlbc r4,L1 - clrl r11 - -# Loop for S2_LIMB < 0x80000000 -Loop1: movl (r8)+,r1 - jlss L1n0 - emul r1,r6,$0,r2 - addl2 r11,r2 - adwc $0,r3 - movl r2,(r9)+ -L1: movl (r8)+,r1 - jlss L1n1 -L1p1: emul r1,r6,$0,r10 - addl2 r3,r10 - adwc $0,r11 - movl r10,(r9)+ - - jsobgtr r7,Loop1 - movl r11,r0 - ret - -L1n0: emul r1,r6,$0,r2 - addl2 r11,r2 - adwc r6,r3 - movl r2,(r9)+ - movl (r8)+,r1 - jgeq L1p1 -L1n1: emul r1,r6,$0,r10 - addl2 r3,r10 - adwc r6,r11 - movl r10,(r9)+ - - jsobgtr r7,Loop1 - movl r11,r0 - ret - - -s2_big: clrl r3 - incl r4 - ashl $-1,r4,r7 - jlbc r4,L2 - clrl r11 - -# Loop for S2_LIMB >= 0x80000000 -Loop2: movl (r8)+,r1 - jlss L2n0 - emul r1,r6,$0,r2 - addl2 r11,r2 - adwc r1,r3 - movl r2,(r9)+ -L2: movl (r8)+,r1 - jlss L2n1 -L2p1: emul r1,r6,$0,r10 - addl2 r3,r10 - adwc r1,r11 - movl r10,(r9)+ - - jsobgtr r7,Loop2 - movl r11,r0 - ret - -L2n0: emul r1,r6,$0,r2 - addl2 r1,r3 - addl2 r11,r2 - adwc r6,r3 - movl r2,(r9)+ - movl (r8)+,r1 - jgeq L2p1 -L2n1: emul r1,r6,$0,r10 - addl2 r1,r11 - addl2 r3,r10 - adwc r6,r11 - movl r10,(r9)+ - - jsobgtr r7,Loop2 - movl r11,r0 - ret diff --git a/sysdeps/vax/setjmp.c b/sysdeps/vax/setjmp.c deleted file mode 100644 index 0e38f3974a..0000000000 --- a/sysdeps/vax/setjmp.c +++ /dev/null @@ -1,62 +0,0 @@ -/* Copyright (C) 1991, 1992, 1994, 1997 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. - - Derived from @(#)_setjmp.s 5.7 (Berkeley) 6/27/88, - Copyright (C) 1980 Regents of the University of California. - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - 1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - 4. Neither the name of the University nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - SUCH DAMAGE. -*/ - -#include <setjmp.h> - - -/* Save the current program position in ENV and return 0. */ -int -__sigsetjmp (jmp_buf env, int savemask) -{ - /* Save our caller's FP and PC. */ - asm ("movl 12(fp), %0" : "=g" (env[0].__jmpbuf[0].__fp)); - asm ("movl 16(fp), %0" : "=g" (env[0].__jmpbuf[0].__pc)); - - /* Save the signal mask if requested. */ - return __sigjmp_save (env, savemask); -} diff --git a/sysdeps/vax/strcat.s b/sysdeps/vax/strcat.s deleted file mode 100644 index bfe64e61a3..0000000000 --- a/sysdeps/vax/strcat.s +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Copyright (c) 1983 Regents of the University of California. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#if defined(LIBC_SCCS) && !defined(lint) - .asciz "@(#)strcat.s 5.6 (Berkeley) 6/1/90" -#endif /* LIBC_SCCS and not lint */ - -/* - * Concatenate string s2 to the end of s1 - * and return the base of s1. - * - * char * - * strcat(s1, s2) - * char *s1, *s2; - */ -#include "DEFS.h" - -ENTRY(strcat, R6|R7) - movq 4(ap), r6 # r6 = s1; r7 = s2 - movl r6,r1 -0: - locc $0,$65535,(r1) # look for '\0' - beql 0b - movl r1,r3 # save end of s1 -1: - locc $0,$65535,(r7) # find length of s2 - bneq 2f - movc3 $65535,(r7),(r3)# copy full block - movl r1,r7 - jbr 1b -2: - subl2 r7,r1 # calculate length - incl r1 - movc3 r1,(r7),(r3) # copy remainder - movl r6,r0 - ret diff --git a/sysdeps/vax/strchr.s b/sysdeps/vax/strchr.s deleted file mode 100644 index d56cb4b0a0..0000000000 --- a/sysdeps/vax/strchr.s +++ /dev/null @@ -1,103 +0,0 @@ -/* - * Copyright (c) 1988 Regents of the University of California. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#if defined(LIBC_SCCS) && !defined(lint) - .asciz "@(#)strchr.s 5.4 (Berkeley) 6/1/90" -#endif /* LIBC_SCCS and not lint */ - -/* - * Find the first occurrence of c in the string cp. - * Return pointer to match or null pointer. - * - * char * - * strchr(cp, c) - * char *cp, c; - */ -#include "DEFS.h" - - .lcomm tbl,256 - -ENTRY(strchr, 0) - movzwl $65535,r4 /* handy constant */ - movq 4(ap),r1 /* r1 = cp; r2 = c */ - movzbl r2,r2 - beql Lzero /* special case for c == '\0' */ - -/* - * Fancy scanc version. Alas, it is not reentrant. - */ - movab tbl,r3 /* r3 = base of table */ - bbss $0,(r3),Lreent /* ensure not reentering */ - movab (r3)[r2],r5 - incb (r5) /* mark both '\0' and c */ -0: - scanc r4,(r1),(r3),$1 /* look for c or '\0' */ - beql 0b /* still looking */ - movl r1,r0 /* return whatever we found */ - tstb (r0) - bneq 1f # unless it was '\0': - clrl r0 # then return NULL -1: - clrb (r5) /* clean up table */ - clrb (r3) - ret - -/* - * Special case for \0. - */ -Lzero: - locc r2,r4,(r1) /* just find end of string */ - beql Lzero /* still looking */ - movl r1,r0 /* found it */ - ret - -/* - * Slower reentrant version is two two-step searches. The first - * phase runs until we know where the string ends; it locates the - * first occurrence of c within a 65535-byte block. If we find - * the end of the string first, we switch to the second phase, - * were we look only up to the known end of string. - */ -Lreent: -0: /* first phase */ - movl r1,r3 - locc $0,r4,(r3) /* look for '\0' */ - bneq 1f - locc r2,r4,(r3) /* look for c */ - beql 0b /* not found: reset pointer and loop */ - movl r1,r0 /* found: return it */ - ret -1: /* second phase */ - subl3 r3,r1,r0 /* length of short block */ - locc r2,r0,(r3) /* look for c */ - beql 2f /* not found: return NULL */ - movl r1,r0 -2: ret - -weak_alias (strchr, index) diff --git a/sysdeps/vax/strcmp.s b/sysdeps/vax/strcmp.s deleted file mode 100644 index 479e14f301..0000000000 --- a/sysdeps/vax/strcmp.s +++ /dev/null @@ -1,81 +0,0 @@ -/* - * Copyright (c) 1983 Regents of the University of California. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#if defined(LIBC_SCCS) && !defined(lint) - .asciz "@(#)strcmp.s 5.6 (Berkeley) 6/1/90" -#endif /* LIBC_SCCS and not lint */ - -/* - * Compare string s1 lexicographically to string s2. - * Return: - * 0 s1 == s2 - * > 0 s1 > s2 - * < 0 s2 < s2 - * - * strcmp(s1, s2) - * char *s1, *s2; - */ -#include "DEFS.h" - -ENTRY(strcmp, 0) - movl 4(ap),r1 # r1 = s1 - movl 8(ap),r3 # r3 = s2 - subb3 (r3),(r1),r0 # quick check for first char different - beql 1f # have to keep checking - cvtbl r0,r0 - ret -1: - clrl r5 # calculate min bytes to next page boundary - subb3 r1,$255,r5 # r5 = (bytes - 1) to end of page for s1 - subb3 r3,$255,r0 # r0 = (bytes - 1) to end of page for s2 - cmpb r0,r5 # r5 = min(r0, r5); - bgtru 2f - movb r0,r5 -2: - incl r5 # r5 = min bytes to next page boundary - cmpc3 r5,(r1),(r3) # compare strings - bneq 3f - subl2 r5,r1 # check if found null yet - locc $0,r5,(r1) - beql 1b # not yet done, continue checking - subl2 r0,r3 - mnegb (r3),r0 # r0 = '\0' - *s2 - cvtbl r0,r0 - ret -3: - subl2 r0,r5 # check for null in matching string - subl2 r5,r1 - locc $0,r5,(r1) - bneq 4f - subb3 (r3),(r1),r0 # r0 = *s1 - *s2 - cvtbl r0,r0 - ret -4: - clrl r0 # both the same to null - ret diff --git a/sysdeps/vax/strcpy.s b/sysdeps/vax/strcpy.s deleted file mode 100644 index 1eb00ba6c3..0000000000 --- a/sysdeps/vax/strcpy.s +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Copyright (c) 1983 Regents of the University of California. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#if defined(LIBC_SCCS) && !defined(lint) - .asciz "@(#)strcpy.s 5.6 (Berkeley) 6/1/90" -#endif /* LIBC_SCCS and not lint */ - -/* - * Copy string s2 over top of s1. - * Return base of s1. - * - * char * - * strcpy(s1, s2) - * char *s1, *s2; - */ -#include "DEFS.h" - -ENTRY(strcpy, R6) - movl 4(ap), r3 # r3 = s1 - movl 8(ap), r6 # r6 = s2 -1: - locc $0,$65535,(r6) # find length of s2 - bneq 2f - movc3 $65535,(r6),(r3)# copy full block - movl r1,r6 - jbr 1b -2: - subl2 r6,r1 # calculate length - incl r1 - movc3 r1,(r6),(r3) # copy remainder - movl 4(ap),r0 # return base of s1 - ret diff --git a/sysdeps/vax/strcspn.s b/sysdeps/vax/strcspn.s deleted file mode 100644 index 155b783089..0000000000 --- a/sysdeps/vax/strcspn.s +++ /dev/null @@ -1,62 +0,0 @@ -/*- - * Copyright (c) 1990 The Regents of the University of California. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#if defined(LIBC_SCCS) && !defined(lint) - .asciz "@(#)strcspn.s 5.1 (Berkeley) 5/15/90" -#endif /* LIBC_SCCS and not lint */ - -/* - * Span the complement of string s2 (skip characters that are not in s2). - * Return the number of characters in s1 that were skipped. - * - * size_t - * strcspn(s1, s2) - * const char *s1, *s2; - */ -#include "DEFS.h" - -ENTRY(strcspn, 0) - subl2 $32,sp /* make 256 bit table */ - movc5 $0,(sp),$0,$32,(sp) - movq 4(ap),r1 /* r1 = s1, r2 = s2 */ - - /* turn on bit for each character in s2, including '\0' */ -1: - movzbl (r2)+,r0 - bbss r0,(sp),1b - bneq 1b - movl r1,r0 /* r0 = s (current pos in s1) */ - - /* look for a character that is in s2 */ -2: - movzbl (r0)+,r2 /* c = *s++ */ - bbc r2,(sp),2b /* loop until c is in table */ - decl r0 /* s-- */ - subl2 r1,r0 /* r0 = s - s1 = count */ - ret diff --git a/sysdeps/vax/strlen.s b/sysdeps/vax/strlen.s deleted file mode 100644 index 9479fbbf65..0000000000 --- a/sysdeps/vax/strlen.s +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright (c) 1983 Regents of the University of California. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#if defined(LIBC_SCCS) && !defined(lint) - .asciz "@(#)strlen.s 5.6 (Berkeley) 6/1/90" -#endif /* LIBC_SCCS and not lint */ - -/* - * Return the length of cp (not counting '\0'). - * - * strlen(cp) - * char *cp; - */ -#include "DEFS.h" - -ENTRY(strlen, 0) - movl 4(ap),r1 -1: - locc $0,$65535,(r1) # look for '\0' - beql 1b - subl3 4(ap),r1,r0 # len = cp - base - ret diff --git a/sysdeps/vax/strncat.s b/sysdeps/vax/strncat.s deleted file mode 100644 index 2387d1b1bb..0000000000 --- a/sysdeps/vax/strncat.s +++ /dev/null @@ -1,79 +0,0 @@ -/* - * Copyright (c) 1983 Regents of the University of California. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#if defined(LIBC_SCCS) && !defined(lint) - .asciz "@(#)strncat.s 5.6 (Berkeley) 6/1/90" -#endif /* LIBC_SCCS and not lint */ - -/* - * Concatenate string s2 on the end of s1 - * and return the base of s1. The parameter - * n is the maximum length of string s2 to - * concatenate. - * - * char * - * strncat(s1, s2, n) - * char *s1, *s2; - * int n; - */ -#include "DEFS.h" - -ENTRY(strncat, R6) - movl 12(ap),r6 # r6 = n - bleq done # n <= 0 - movl 4(ap),r3 # r3 = s1 - movl r3,r1 -0: - locc $0,$65535,(r1) - beql 0b - movl r1,r3 # r3 = index(s1, '\0'); - movl 8(ap),r1 # r1 = s2 -1: - movzwl $65535,r2 # r2 = bytes in first chunk - cmpl r6,r2 # r2 = min(bytes in chunk, n); - jgeq 2f - movl r6,r2 -2: - subl2 r2,r6 # update n - locc $0,r2,(r1) # '\0' found? - jneq 3f - subl2 r2,r1 # back up pointer updated by locc - movc3 r2,(r1),(r3) # copy in next piece - tstl r6 # run out of space? - jneq 1b - clrb (r3) # force '\0' termination - jbr done -3: - subl2 r0,r2 # r2 = number of bytes to move - subl2 r2,r1 # back up pointer updated by locc - incl r2 # copy '\0' as well - movc3 r2,(r1),(r3) # copy in last piece -done: - movl 4(ap),r0 # return s1 - ret diff --git a/sysdeps/vax/strncmp.s b/sysdeps/vax/strncmp.s deleted file mode 100644 index 8d8f5d419a..0000000000 --- a/sysdeps/vax/strncmp.s +++ /dev/null @@ -1,85 +0,0 @@ -/* - * Copyright (c) 1983 Regents of the University of California. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#if defined(LIBC_SCCS) && !defined(lint) - .asciz "@(#)strncmp.s 5.6 (Berkeley) 6/1/90" -#endif /* LIBC_SCCS and not lint */ - -/* - * Compare at most n characters of string - * s1 lexicographically to string s2. - * Return: - * 0 s1 == s2 - * > 0 s1 > s2 - * < 0 s2 < s2 - * - * strncmp(s1, s2, n) - * char *s1, *s2; - * int n; - */ -#include "DEFS.h" - -ENTRY(strncmp, 0) - movl 4(ap),r1 # r1 = s1 - movq 8(ap),r3 # r3 = s2; r4 = n -1: - clrl r5 # calculate min bytes to next page boundary - subb3 r1,$255,r5 # r5 = (bytes - 1) to end of page for s1 - subb3 r3,$255,r0 # r0 = (bytes - 1) to end of page for s2 - cmpb r0,r5 # r5 = min(r0, r5); - bgtru 2f - movb r0,r5 -2: - incl r5 # r5 = min bytes to next page boundary - cmpl r4,r5 # r5 = min(n, r5); - bgeq 3f - movl r4,r5 -3: - cmpc3 r5,(r1),(r3) # compare strings - bneq 4f - subl2 r5,r4 # check for end of comparison - beql 5f - subl2 r5,r1 # check if found null yet - locc $0,r5,(r1) - beql 1b # not yet done, continue checking - subl2 r0,r3 - mnegb (r3),r0 # r0 = '\0' - *s2 - cvtbl r0,r0 - ret -4: - subl2 r0,r5 # check for null in matching string - subl2 r5,r1 - locc $0,r5,(r1) - bneq 5f - subb3 (r3),(r1),r0 # r0 = *s1 - *s2 - cvtbl r0,r0 - ret -5: - clrl r0 # both the same to null - ret diff --git a/sysdeps/vax/strncpy.s b/sysdeps/vax/strncpy.s deleted file mode 100644 index ade70e9dca..0000000000 --- a/sysdeps/vax/strncpy.s +++ /dev/null @@ -1,80 +0,0 @@ -/* - * Copyright (c) 1983 Regents of the University of California. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#if defined(LIBC_SCCS) && !defined(lint) - .asciz "@(#)strncpy.s 5.6 (Berkeley) 6/1/90" -#endif /* LIBC_SCCS and not lint */ - -/* - * Copy string s2 over top of string s1. - * Truncate or null-pad to n bytes. - * - * char * - * strncpy(s1, s2, n) - * char *s1, *s2; - */ -#include "DEFS.h" - -ENTRY(strncpy, R6) - movl 12(ap),r6 # r6 = n - bleq done # n <= 0 - movl 4(ap),r3 # r3 = s1 - movl 8(ap),r1 # r1 = s2 -1: - movzwl $65535,r2 # r2 = bytes in first chunk - cmpl r6,r2 # r2 = min(bytes in chunk, n); - jgeq 2f - movl r6,r2 -2: - subl2 r2,r6 # update n - locc $0,r2,(r1) # '\0' found? - jneq 3f - subl2 r2,r1 # back up pointer updated by locc - movc3 r2,(r1),(r3) # copy in next piece - tstl r6 # run out of space? - jneq 1b - jbr done -3: # copy up to '\0' logic - addl2 r0,r6 # r6 = number of null-pad bytes - subl2 r0,r2 # r2 = number of bytes to move - subl2 r2,r1 # back up pointer updated by locc - movc3 r2,(r1),(r3) # copy in last piece -4: # null-pad logic - movzwl $65535,r2 # r2 = bytes in first chunk - cmpl r6,r2 # r2 = min(bytes in chunk, n); - jgeq 5f - movl r6,r2 -5: - subl2 r2,r6 # update n - movc5 $0,(r3),$0,r2,(r3)# pad with '\0's - tstl r6 # finished padding? - jneq 4b -done: - movl 4(ap),r0 # return s1 - ret diff --git a/sysdeps/vax/strpbrk.s b/sysdeps/vax/strpbrk.s deleted file mode 100644 index 4a0e541719..0000000000 --- a/sysdeps/vax/strpbrk.s +++ /dev/null @@ -1,64 +0,0 @@ -/*- - * Copyright (c) 1990 The Regents of the University of California. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#if defined(LIBC_SCCS) && !defined(lint) - .asciz "@(#)strpbrk.s 5.1 (Berkeley) 5/15/90" -#endif /* LIBC_SCCS and not lint */ - -/* - * Find in s1 the first occurrence of any character from s2. - * If there are none, return NULL. - * - * char * - * strpbrk(s1, s2) - * const char *s1, *s2; - */ -#include "DEFS.h" - -ENTRY(strpbrk, 0) - subl2 $32,sp /* make 256 bit table */ - movc5 $0,(sp),$0,$32,(sp) - movq 4(ap),r0 /* r0 = s1, r1 = s2 */ - - /* turn on bit for each character in s2, including '\0' */ -1: - movzbl (r1)+,r2 - bbss r2,(sp),1b - bneq 1b - - /* look for a character that is in s2 */ -2: - movzbl (r0)+,r2 /* c = *s++ */ - bbc r2,(sp),2b /* loop until c is in table */ - beql 3f /* if c==0, go return NULL */ - decl r0 /* s-- */ - ret -3: - clrl r0 - ret diff --git a/sysdeps/vax/strrchr.s b/sysdeps/vax/strrchr.s deleted file mode 100644 index b0e482c9fa..0000000000 --- a/sysdeps/vax/strrchr.s +++ /dev/null @@ -1,112 +0,0 @@ -/* - * Copyright (c) 1988 Regents of the University of California. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#if defined(LIBC_SCCS) && !defined(lint) - .asciz "@(#)strrchr.s 5.4 (Berkeley) 6/1/90" -#endif /* LIBC_SCCS and not lint */ - -/* - * Find the last occurrence of c in the string cp. - * Return pointer to match or null pointer. - * - * char * - * strrchr(cp, c) - * char *cp, c; - */ -#include "DEFS.h" - - .lcomm tbl,256 - -ENTRY(strrchr, 0) - movzwl $65535,r4 /* handy 65535 */ - movq 4(ap),r1 /* r1 = cp; r2 = c */ - movzbl r2,r2 - beql Lzero /* special case for c == '\0' */ - - clrl r5 /* r5 = pointer to last match */ - -/* - * Fancy scanc version. Alas, it is not reentrant. - */ - movab tbl,r3 /* r3 = address of table */ - bbss $0,(r3),Lreent /* ensure not reentering */ - movab (r3)[r2],r4 - incb (r4) /* mark both '\0' and c */ -0: - scanc $65535,(r1),(r3),$1 /* look for c or '\0' */ - beql 0b /* keep looking */ - tstb (r1) - beql 1f /* done if '\0' */ - movab (r1)+,r5 /* save most recently found, and skip over it */ - jbr 0b /* keep looking */ -1: - movl r5,r0 /* return last found (if any) */ - clrb (r4) /* clean up table */ - clrb (r3) - ret - -/* - * Special case for \0. - */ -Lzero: - locc $0,r4,(r1) /* just find end of string */ - beql Lzero /* still looking */ - movl r1,r0 /* found it */ - ret - -/* - * Slower reentrant version is two two-step searches. The first - * phase runs until we know where the string ends; it locates any - * occurrences of c within a 65535-byte block. Once we have found - * the end of the string, we find any further occurrences before - * that location. - */ -Lreent: -0: /* first phase */ - movl r1,r3 - locc $0,r4,(r3) /* look for '\0' */ - bneq 1f - locc r2,r4,(r3) /* continue phase 1 search for c */ - beql 0b - movab (r1)+,r5 /* found c: save and increment pointer */ - brb 0b /* and continue */ - -1: /* second phase */ - subl3 r3,r1,r0 /* length of short block */ - movl r3,r1 -2: - locc r2,r0,(r1) /* look for c */ - beql 3f /* skip if not found */ - movab (r1)+,r5 /* save pointer as before */ - sobgtr r0,2b /* adjust count and loop */ -3: - movl r5,r0 /* return stashed pointer */ - ret - -weak_alias (strrchr, rindex) diff --git a/sysdeps/vax/strsep.s b/sysdeps/vax/strsep.s deleted file mode 100644 index dcf2a7caaa..0000000000 --- a/sysdeps/vax/strsep.s +++ /dev/null @@ -1,81 +0,0 @@ -/*- - * Copyright (c) 1990 The Regents of the University of California. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#if defined(LIBC_SCCS) && !defined(lint) - .asciz "@(#)strsep.s 5.1 (Berkeley) 5/15/90" -#endif /* LIBC_SCCS and not lint */ - -/* - * Get next word from string *stringp, where words are - * strings separated by characters from delim. - * - * Writes NULs into the string at *stringp to end tokens. - * On return, *stringp points past the last NUL written (if there might - * be further tokens), or is NULL (if there are definitely no more tokens). - * - * If *stringp is NULL, strtoken returns NULL. - * - * char * - * strtoken(stringp, delim) - * register char **stringp; - * register char const *delim; - */ -#include "DEFS.h" - -ENTRY(strsep, 0) - tstl *4(ap) /* if (*stringp == NULL) */ - bneq 0f - clrl r0 # return (NULL); - ret - -0: - subl2 $32,sp /* make room for 256 bit table */ - movc5 $0,(sp),$0,$32,(sp) - movq 4(ap),r1 /* r1 = stringp, r2 = delim */ - - /* turn on bit for each character in s2, including '\0' */ -1: - movzbl (r2)+,r0 - bbss r0,(sp),1b - bneq 1b - - movl (r1),r3 /* r3 = s = *stringp */ - movl r3,r0 /* save return value */ - - /* scan for delimiters */ -2: - movzbl (r3)+,r2 /* c = *s++ */ - bbc r2,(sp),2b /* loop until c is in table */ - beql 3f - clrb -1(r3) /* if c!='\0', s[-1] = 0 */ - movl r3,(r1) /* and *stringp = s */ - ret -3: - clrl (r1) /* else *stringp = NULL */ - ret diff --git a/sysdeps/vax/strspn.s b/sysdeps/vax/strspn.s deleted file mode 100644 index ca944828cd..0000000000 --- a/sysdeps/vax/strspn.s +++ /dev/null @@ -1,66 +0,0 @@ -/*- - * Copyright (c) 1990 The Regents of the University of California. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#if defined(LIBC_SCCS) && !defined(lint) - .asciz "@(#)strspn.s 5.1 (Berkeley) 5/15/90" -#endif /* LIBC_SCCS and not lint */ - -/* - * Span the string s2 (skip characters that are in s2). - * Return the number of characters in s1 that were skipped. - * - * size_t - * strspn(s1, s2) - * const char *s1, *s2; - */ -#include "DEFS.h" - -ENTRY(strspn, 0) - subl2 $32,sp /* make 256 bit table */ - movc5 $0,(sp),$0,$32,(sp) - movq 4(ap),r1 /* r1 = s1, r2 = s2 */ - - /* turn on bit for each character in s2, including '\0' */ -1: - movzbl (r2)+,r0 - bbss r0,(sp),1b - bneq 1b - - /* now clear bit for '\0' */ - /* (this is easier than avoiding setting it in the first place) */ - bicb2 $1,(sp) /* stop at '\0' */ - movl r1,r0 /* r0 = s (current pos in s1) */ - - /* look for a character that is not in s2 */ -2: - movzbl (r0)+,r2 /* c = *s++ */ - bbs r2,(sp),2b /* loop while c is in table */ - decl r0 /* s-- */ - subl2 r1,r0 /* r0 = s - s1 = count */ - ret diff --git a/sysdeps/vax/strstr.s b/sysdeps/vax/strstr.s deleted file mode 100644 index 0283a57dcf..0000000000 --- a/sysdeps/vax/strstr.s +++ /dev/null @@ -1,109 +0,0 @@ -/*- - * Copyright (c) 1990 The Regents of the University of California. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#if defined(LIBC_SCCS) && !defined(lint) - .asciz "@(#)strstr.s 5.2 (Berkeley) 8/21/90" -#endif /* LIBC_SCCS and not lint */ - -/* - * Find the first occurrence of s2 as a substring in s1. - * If s2 is empty, return s1. - * - * char *strstr(s1, s2) - * const char *s1, *s2; - */ -#include "DEFS.h" - -ENTRY(strstr, 0) - movq 4(ap),r3 /* r3 = s1, r4 = s2 */ - movzwl $65535,r2 /* r2 = locc/matchc limit */ - locc $0,r2,(r4) /* find '\0' in s2 */ - beql 4f - subl3 r4,r1,r5 /* r5 = strlen(s2) */ - beql 1f /* if r5 == 0, return s1 */ - - /* - * s2 is short enough to apply matchc. - * If s1 is long, we have to do it in stages. - */ -0: locc $0,r2,(r3) /* find '\0' in s1 */ - beql 3f - - /* - * Both strings are `short'; we can use matchc directly. - */ - subl3 r3,r1,r1 /* r1 = strlen(s1) */ - matchc r5,(r4),r1,(r3) /* find substring */ - bneq 2f - - /* - * r3 points r5 bytes past match. Return the match. - */ -1: subl3 r5,r3,r0 /* return (byte_past_match - strlen(s2)) */ - ret - - /* - * There is no matching substring. - */ -2: clrl r0 /* return NULL */ - ret - - /* - * s1 is too long (> 65535 bytes) to apply matchc directly, - * but s2 is short enough. Apply s2 to s1, then (if not - * found yet) advancing s1 by (65536-strlen(s2)) bytes and - * loop. - */ -3: matchc r5,(r4),r2,(r3) /* search */ - beql 1b /* if found, go return it */ - decw r2 /* from 0 to 65535 */ - incl r3 /* already advanced 65535, now 65536 */ - subl2 r5,r3 /* ... minus strlen(s2) */ - brb 0b - - /* - * s2 is too long (> 65535 bytes) to bother with matchc. - */ -4: locc $0,r2,(r1) /* continue working on strlen(s2) */ - beql 4b - subl3 r1,r4,r5 /* r5 = strlen(s2) */ - movb (r4)+,r2 /* r2 = *s2++ */ - decl r5 /* fix up length */ -5: movb (r3)+,r0 /* r0 = *s1++ */ - beql 2b /* if '\0', return NULL */ - cmpb r0,r2 - bneq 5b /* loop until first char found */ - pushr R5|R4|R3|R2 /* save c, s1, s2, n */ - pushr R5|R4|R3 /* strncmp(s1, s2, n) */ - calls $3,_strncmp - popr R2|R3|R4|R5 /* restore */ - tstl r0 - bneq 5b /* loop until strncmp says rest same too */ - subl3 $1,r3,r0 /* return previous s1 */ - ret diff --git a/sysdeps/vax/sub_n.s b/sysdeps/vax/sub_n.s deleted file mode 100644 index 14ba343f96..0000000000 --- a/sysdeps/vax/sub_n.s +++ /dev/null @@ -1,48 +0,0 @@ -# VAX __mpn_sub_n -- Subtract two limb vectors of the same length > 0 and store -# difference in a third limb vector. - -# Copyright (C) 1992, 1994 Free Software Foundation, Inc. - -# This file is part of the GNU MP Library. - -# The GNU MP Library is free software; you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation; either version 2.1 of the License, or (at your -# option) any later version. - -# The GNU MP Library is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public -# License for more details. - -# You should have received a copy of the GNU Lesser General Public License -# along with the GNU MP Library; see the file COPYING.LIB. If not, write to -# the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, -# MA 02111-1307, USA. - - -# INPUT PARAMETERS -# res_ptr (sp + 4) -# s1_ptr (sp + 8) -# s2_ptr (sp + 12) -# size (sp + 16) - -.text - .align 1 -.globl ___mpn_sub_n -___mpn_sub_n: - .word 0x0 - movl 16(ap),r0 - movl 12(ap),r1 - movl 8(ap),r2 - movl 4(ap),r3 - subl2 r4,r4 - -Loop: - movl (r2)+,r4 - sbwc (r1)+,r4 - movl r4,(r3)+ - jsobgtr r0,Loop - - adwc r0,r0 - ret diff --git a/sysdeps/vax/submul_1.s b/sysdeps/vax/submul_1.s deleted file mode 100644 index 5ff8d016ce..0000000000 --- a/sysdeps/vax/submul_1.s +++ /dev/null @@ -1,126 +0,0 @@ -# VAX __mpn_submul_1 -- Multiply a limb vector with a limb and subtract -# the result from a second limb vector. - -# Copyright (C) 1992, 1994 Free Software Foundation, Inc. - -# This file is part of the GNU MP Library. - -# The GNU MP Library is free software; you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation; either version 2.1 of the License, or (at your -# option) any later version. - -# The GNU MP Library is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public -# License for more details. - -# You should have received a copy of the GNU Lesser General Public License -# along with the GNU MP Library; see the file COPYING.LIB. If not, write to -# the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, -# MA 02111-1307, USA. - - -# INPUT PARAMETERS -# res_ptr (sp + 4) -# s1_ptr (sp + 8) -# size (sp + 12) -# s2_limb (sp + 16) - -.text - .align 1 -.globl ___mpn_submul_1 -___mpn_submul_1: - .word 0xfc0 - movl 12(ap),r4 - movl 8(ap),r8 - movl 4(ap),r9 - movl 16(ap),r6 - jlss s2_big - - clrl r3 - incl r4 - ashl $-1,r4,r7 - jlbc r4,L1 - clrl r11 - -# Loop for S2_LIMB < 0x80000000 -Loop1: movl (r8)+,r1 - jlss L1n0 - emul r1,r6,$0,r2 - addl2 r11,r2 - adwc $0,r3 - subl2 r2,(r9)+ - adwc $0,r3 -L1: movl (r8)+,r1 - jlss L1n1 -L1p1: emul r1,r6,$0,r10 - addl2 r3,r10 - adwc $0,r11 - subl2 r10,(r9)+ - adwc $0,r11 - - jsobgtr r7,Loop1 - movl r11,r0 - ret - -L1n0: emul r1,r6,$0,r2 - addl2 r11,r2 - adwc r6,r3 - subl2 r2,(r9)+ - adwc $0,r3 - movl (r8)+,r1 - jgeq L1p1 -L1n1: emul r1,r6,$0,r10 - addl2 r3,r10 - adwc r6,r11 - subl2 r10,(r9)+ - adwc $0,r11 - - jsobgtr r7,Loop1 - movl r11,r0 - ret - - -s2_big: clrl r3 - incl r4 - ashl $-1,r4,r7 - jlbc r4,L2 - clrl r11 - -# Loop for S2_LIMB >= 0x80000000 -Loop2: movl (r8)+,r1 - jlss L2n0 - emul r1,r6,$0,r2 - addl2 r11,r2 - adwc r1,r3 - subl2 r2,(r9)+ - adwc $0,r3 -L2: movl (r8)+,r1 - jlss L2n1 -L2p1: emul r1,r6,$0,r10 - addl2 r3,r10 - adwc r1,r11 - subl2 r10,(r9)+ - adwc $0,r11 - - jsobgtr r7,Loop2 - movl r11,r0 - ret - -L2n0: emul r1,r6,$0,r2 - addl2 r11,r2 - adwc r6,r3 - subl2 r2,(r9)+ - adwc r1,r3 - movl (r8)+,r1 - jgeq L2p1 -L2n1: emul r1,r6,$0,r10 - addl2 r3,r10 - adwc r6,r11 - subl2 r10,(r9)+ - adwc r1,r11 - - jsobgtr r7,Loop2 - movl r11,r0 - ret diff --git a/sysdeps/z8000/add_n.s b/sysdeps/z8000/add_n.s deleted file mode 100644 index 4d290265a5..0000000000 --- a/sysdeps/z8000/add_n.s +++ /dev/null @@ -1,53 +0,0 @@ -! Z8000 __mpn_add_n -- Add two limb vectors of equal, non-zero length. - -! Copyright (C) 1993, 1994 Free Software Foundation, Inc. - -! This file is part of the GNU MP Library. - -! The GNU MP Library is free software; you can redistribute it and/or modify -! it under the terms of the GNU Lesser General Public License as published by -! the Free Software Foundation; either version 2.1 of the License, or (at your -! option) any later version. - -! The GNU MP Library is distributed in the hope that it will be useful, but -! WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -! or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public -! License for more details. - -! You should have received a copy of the GNU Lesser General Public License -! along with the GNU MP Library; see the file COPYING.LIB. If not, write to -! the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, -! MA 02111-1307, USA. - - -! INPUT PARAMETERS -! res_ptr r7 -! s1_ptr r6 -! s2_ptr r5 -! size r4 - -! If we are really crazy, we can use push to write a few result words -! backwards, using push just because it is faster than reg+disp. We'd -! then add 2x the number of words written to r7... - - unseg - .text - even - global ___mpn_add_n -___mpn_add_n: - pop r0,@r6 - pop r1,@r5 - add r0,r1 - ld @r7,r0 - dec r4 - jr eq,Lend -Loop: pop r0,@r6 - pop r1,@r5 - adc r0,r1 - inc r7,#2 - ld @r7,r0 - dec r4 - jr ne,Loop -Lend: ld r2,r4 ! use 0 already in r4 - adc r2,r2 - ret t diff --git a/sysdeps/z8000/gmp-mparam.h b/sysdeps/z8000/gmp-mparam.h deleted file mode 100644 index 4216df673c..0000000000 --- a/sysdeps/z8000/gmp-mparam.h +++ /dev/null @@ -1,27 +0,0 @@ -/* gmp-mparam.h -- Compiler/machine parameter header file. - -Copyright (C) 1991, 1993, 1994 Free Software Foundation, Inc. - -This file is part of the GNU MP Library. - -The GNU MP Library is free software; you can redistribute it and/or modify -it under the terms of the GNU Lesser General Public License as published by -the Free Software Foundation; either version 2.1 of the License, or (at your -option) any later version. - -The GNU MP Library is distributed in the hope that it will be useful, but -WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public -License for more details. - -You should have received a copy of the GNU Lesser General Public License -along with the GNU MP Library; see the file COPYING.LIB. If not, write to -the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, -MA 02111-1307, USA. */ - -#define BITS_PER_MP_LIMB 16 -#define BYTES_PER_MP_LIMB 2 -#define BITS_PER_LONGINT 32 -#define BITS_PER_INT 16 -#define BITS_PER_SHORTINT 16 -#define BITS_PER_CHAR 8 diff --git a/sysdeps/z8000/mul_1.s b/sysdeps/z8000/mul_1.s deleted file mode 100644 index e449dfacb0..0000000000 --- a/sysdeps/z8000/mul_1.s +++ /dev/null @@ -1,68 +0,0 @@ -! Z8000 __mpn_mul_1 -- Multiply a limb vector with a limb and store -! the result in a second limb vector. - -! Copyright (C) 1993, 1994, 1995 Free Software Foundation, Inc. - -! This file is part of the GNU MP Library. - -! The GNU MP Library is free software; you can redistribute it and/or modify -! it under the terms of the GNU Lesser General Public License as published by -! the Free Software Foundation; either version 2.1 of the License, or (at your -! option) any later version. - -! The GNU MP Library is distributed in the hope that it will be useful, but -! WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -! or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public -! License for more details. - -! You should have received a copy of the GNU Lesser General Public License -! along with the GNU MP Library; see the file COPYING.LIB. If not, write to -! the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, -! MA 02111-1307, USA. - - -! INPUT PARAMETERS -! res_ptr r7 -! s1_ptr r6 -! size r5 -! s2_limb r4 - - unseg - .text - even - global ___mpn_mul_1 -___mpn_mul_1: - sub r2,r2 ! zero carry limb - and r4,r4 - jr mi,Lneg - -Lpos: pop r1,@r6 - ld r9,r1 - mult rr8,r4 - and r1,r1 ! shift msb of loaded limb into cy - jr mi,Lp ! branch if loaded limb's msb is set - add r8,r4 ! hi_limb += sign_comp2 -Lp: add r9,r2 ! lo_limb += cy_limb - xor r2,r2 - adc r2,r8 - ld @r7,r9 - inc r7,#2 - dec r5 - jr ne,Lpos - ret t - -Lneg: pop r1,@r6 - ld r9,r1 - mult rr8,r4 - add r8,r1 ! hi_limb += sign_comp1 - and r1,r1 - jr mi,Ln - add r8,r4 ! hi_limb += sign_comp2 -Ln: add r9,r2 ! lo_limb += cy_limb - xor r2,r2 - adc r2,r8 - ld @r7,r9 - inc r7,#2 - dec r5 - jr ne,Lneg - ret t diff --git a/sysdeps/z8000/sub_n.s b/sysdeps/z8000/sub_n.s deleted file mode 100644 index c0787755c6..0000000000 --- a/sysdeps/z8000/sub_n.s +++ /dev/null @@ -1,54 +0,0 @@ -! Z8000 __mpn_sub_n -- Subtract two limb vectors of the same length > 0 and -! store difference in a third limb vector. - -! Copyright (C) 1993, 1994 Free Software Foundation, Inc. - -! This file is part of the GNU MP Library. - -! The GNU MP Library is free software; you can redistribute it and/or modify -! it under the terms of the GNU Lesser General Public License as published by -! the Free Software Foundation; either version 2.1 of the License, or (at your -! option) any later version. - -! The GNU MP Library is distributed in the hope that it will be useful, but -! WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -! or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public -! License for more details. - -! You should have received a copy of the GNU Lesser General Public License -! along with the GNU MP Library; see the file COPYING.LIB. If not, write to -! the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, -! MA 02111-1307, USA. - - -! INPUT PARAMETERS -! res_ptr r7 -! s1_ptr r6 -! s2_ptr r5 -! size r4 - -! If we are really crazy, we can use push to write a few result words -! backwards, using push just because it is faster than reg+disp. We'd -! then add 2x the number of words written to r7... - - unseg - .text - even - global ___mpn_sub_n -___mpn_sub_n: - pop r0,@r6 - pop r1,@r5 - sub r0,r1 - ld @r7,r0 - dec r4 - jr eq,Lend -Loop: pop r0,@r6 - pop r1,@r5 - sbc r0,r1 - inc r7,#2 - ld @r7,r0 - dec r4 - jr ne,Loop -Lend: ld r2,r4 ! use 0 already in r4 - adc r2,r2 - ret t diff --git a/time/Makefile b/time/Makefile index acd82d855e..cb6ce4413d 100644 --- a/time/Makefile +++ b/time/Makefile @@ -1,4 +1,4 @@ -# Copyright (C) 1991-2002, 2003 Free Software Foundation, Inc. +# Copyright (C) 1991-2002,2003,2004 Free Software Foundation, Inc. # This file is part of the GNU C Library. # The GNU C Library is free software; you can redistribute it and/or @@ -34,7 +34,7 @@ aux := era alt_digit lc-time-cleanup distribute := datemsk tests := test_time clocktest tst-posixtz tst-strptime tst_wcsftime \ - tst-getdate tst-mktime tst-ftime_l tst-strftime + tst-getdate tst-mktime tst-mktime2 tst-ftime_l tst-strftime include ../Rules diff --git a/time/mktime.c b/time/mktime.c index ea9778c872..72b20128a3 100644 --- a/time/mktime.c +++ b/time/mktime.c @@ -37,11 +37,11 @@ #include <time.h> #include <limits.h> -#include <string.h> /* For string function builtin redirect. */ #if DEBUG # include <stdio.h> # include <stdlib.h> +# include <string.h> /* Make it work even if the system's libc has its own mktime routine. */ # define mktime my_mktime #endif /* DEBUG */ @@ -60,6 +60,7 @@ #ifndef TIME_T_MAX # define TIME_T_MAX TYPE_MAXIMUM (time_t) #endif +#define TIME_T_MIDPOINT (((TIME_T_MIN + TIME_T_MAX) >> 1) + 1) /* Verify a requirement at compile-time (unlike assert, which is runtime). */ #define verify(name, assertion) struct name { char a[(assertion) ? 1 : -1]; } @@ -75,12 +76,17 @@ verify (right_shift_propagates_sign, -1 >> 1 == -1); #define TM_YEAR_BASE 1900 verify (base_year_is_a_multiple_of_100, TM_YEAR_BASE % 100 == 0); -#ifndef __isleap -/* Nonzero if YEAR is a leap year (every 4 years, - except every 100th isn't, and every 400th is). */ -# define __isleap(year) \ - ((year) % 4 == 0 && ((year) % 100 != 0 || (year) % 400 == 0)) -#endif +/* Return 1 if YEAR + TM_YEAR_BASE is a leap year. */ +static inline int +leapyear (long int year) +{ + /* Don't add YEAR to TM_YEAR_BASE, as that might overflow. + Also, work even if YEAR is negative. */ + return + ((year & 3) == 0 + && (year % 100 != 0 + || ((year / 100) & 3) == (- (TM_YEAR_BASE / 100) & 3))); +} /* How many days come before each month (0-12). */ #ifndef _LIBC @@ -103,44 +109,77 @@ const unsigned short int __mon_yday[2][13] = # include "time_r.h" # undef __localtime_r # define __localtime_r localtime_r +# define __mktime_internal mktime_internal #endif +/* Return an integer value measuring (YEAR1-YDAY1 HOUR1:MIN1:SEC1) - + (YEAR0-YDAY0 HOUR0:MIN0:SEC0) in seconds, assuming that the clocks + were not adjusted between the time stamps. + + The YEAR values uses the same numbering as TP->tm_year. Values + need not be in the usual range. However, YEAR1 must not be less + than 2 * INT_MIN or greater than 2 * INT_MAX. + + The result may overflow. It is the caller's responsibility to + detect overflow. */ + +static inline time_t +ydhms_diff (long int year1, long int yday1, int hour1, int min1, int sec1, + int year0, int yday0, int hour0, int min0, int sec0) +{ + verify (C99_integer_division, -1 / 2 == 0); + verify (long_int_year_and_yday_are_wide_enough, + INT_MAX <= LONG_MAX / 2 || TIME_T_MAX <= UINT_MAX); + + /* Compute intervening leap days correctly even if year is negative. + Take care to avoid integer overflow here. */ + int a4 = (year1 >> 2) + (TM_YEAR_BASE >> 2) - ! (year1 & 3); + int b4 = (year0 >> 2) + (TM_YEAR_BASE >> 2) - ! (year0 & 3); + int a100 = a4 / 25 - (a4 % 25 < 0); + int b100 = b4 / 25 - (b4 % 25 < 0); + int a400 = a100 >> 2; + int b400 = b100 >> 2; + int intervening_leap_days = (a4 - b4) - (a100 - b100) + (a400 - b400); + + /* Compute the desired time in time_t precision. Overflow might + occur here. */ + time_t tyear1 = year1; + time_t years = tyear1 - year0; + time_t days = 365 * years + yday1 - yday0 + intervening_leap_days; + time_t hours = 24 * days + hour1 - hour0; + time_t minutes = 60 * hours + min1 - min0; + time_t seconds = 60 * minutes + sec1 - sec0; + return seconds; +} + -/* Yield the difference between (YEAR-YDAY HOUR:MIN:SEC) and (*TP), - measured in seconds, ignoring leap seconds. - YEAR uses the same numbering as TM->tm_year. - All values are in range, except possibly YEAR. - If TP is null, return a nonzero value. - If overflow occurs, yield the low order bits of the correct answer. */ +/* Return a time_t value corresponding to (YEAR-YDAY HOUR:MIN:SEC), + assuming that *T corresponds to *TP and that no clock adjustments + occurred between *TP and the desired time. + If TP is null, return a value not equal to *T; this avoids false matches. + If overflow occurs, yield the minimal or maximal value, except do not + yield a value equal to *T. */ static time_t -ydhms_tm_diff (int year, int yday, int hour, int min, int sec, - const struct tm *tp) +guess_time_tm (long int year, long int yday, int hour, int min, int sec, + const time_t *t, const struct tm *tp) { - if (!tp) - return 1; - else + if (tp) { - verify (C99_integer_division, -1 / 2 == 0); - - /* Compute intervening leap days correctly even if year is negative. - Take care to avoid int overflow. time_t overflow is OK, since - only the low order bits of the correct time_t answer are needed. - Don't convert to time_t until after all divisions are done, since - time_t might be unsigned. */ - int a4 = (year >> 2) + (TM_YEAR_BASE >> 2) - ! (year & 3); - int b4 = (tp->tm_year >> 2) + (TM_YEAR_BASE >> 2) - ! (tp->tm_year & 3); - int a100 = a4 / 25 - (a4 % 25 < 0); - int b100 = b4 / 25 - (b4 % 25 < 0); - int a400 = a100 >> 2; - int b400 = b100 >> 2; - int intervening_leap_days = (a4 - b4) - (a100 - b100) + (a400 - b400); - time_t years = year - (time_t) tp->tm_year; - time_t days = (365 * years + intervening_leap_days - + (yday - tp->tm_yday)); - return (60 * (60 * (24 * days + (hour - tp->tm_hour)) - + (min - tp->tm_min)) - + (sec - tp->tm_sec)); + time_t d = ydhms_diff (year, yday, hour, min, sec, + tp->tm_year, tp->tm_yday, + tp->tm_hour, tp->tm_min, tp->tm_sec); + time_t t1 = *t + d; + if ((t1 < *t) == (TYPE_SIGNED (time_t) ? d < 0 : TIME_T_MAX / 2 < d)) + return t1; } + + /* Overflow occurred one way or another. Return the nearest result + that is actually in range, except don't report a zero difference + if the actual difference is nonzero, as that would cause a false + match. */ + return (*t < TIME_T_MIDPOINT + ? TIME_T_MIN + (*t == TIME_T_MIN) + : TIME_T_MAX - (*t == TIME_T_MAX)); } /* Use CONVERT to convert *T to a broken down time in *TP. @@ -193,13 +232,14 @@ ranged_convert (struct tm *(*convert) (const time_t *, struct tm *), the monotonic and mostly-unit-linear conversion function CONVERT. Use *OFFSET to keep track of a guess at the offset of the result, compared to what the result would be for UTC without leap seconds. - If *OFFSET's guess is correct, only one CONVERT call is needed. */ + If *OFFSET's guess is correct, only one CONVERT call is needed. + This function is external because it is used also by timegm.c. */ time_t __mktime_internal (struct tm *tp, struct tm *(*convert) (const time_t *, struct tm *), time_t *offset) { - time_t t, dt, t0, t1, t2; + time_t t, gt, t0, t1, t2; struct tm tm; /* The maximum number of probes (calls to CONVERT) should be enough @@ -225,7 +265,8 @@ __mktime_internal (struct tm *tp, int mon_remainder = mon % 12; int negative_mon_remainder = mon_remainder < 0; int mon_years = mon / 12 - negative_mon_remainder; - int year = year_requested + mon_years; + long int lyear_requested = year_requested; + long int year = lyear_requested + mon_years; /* The other values need not be in range: the remaining code handles minor overflows correctly, @@ -234,38 +275,95 @@ __mktime_internal (struct tm *tp, /* Calculate day of year from year, month, and day of month. The result need not be in range. */ - int yday = ((__mon_yday[__isleap (year + TM_YEAR_BASE)] - [mon_remainder + 12 * negative_mon_remainder]) - + mday - 1); + int mon_yday = ((__mon_yday[leapyear (year)] + [mon_remainder + 12 * negative_mon_remainder]) + - 1); + long int lmday = mday; + long int yday = mon_yday + lmday; + + time_t guessed_offset = *offset; int sec_requested = sec; - /* Only years after 1970 are defined. - If year is 69, it might still be representable due to - timezone differences. */ - if (year < 69) - return -1; - -#if LEAP_SECONDS_POSSIBLE - /* Handle out-of-range seconds specially, - since ydhms_tm_diff assumes every minute has 60 seconds. */ - if (sec < 0) - sec = 0; - if (59 < sec) - sec = 59; -#endif + if (LEAP_SECONDS_POSSIBLE) + { + /* Handle out-of-range seconds specially, + since ydhms_tm_diff assumes every minute has 60 seconds. */ + if (sec < 0) + sec = 0; + if (59 < sec) + sec = 59; + } + + /* Invert CONVERT by probing. First assume the same offset as last + time. */ + + t0 = ydhms_diff (year, yday, hour, min, sec, + EPOCH_YEAR - TM_YEAR_BASE, 0, 0, 0, - guessed_offset); - /* Invert CONVERT by probing. First assume the same offset as last time. - Then repeatedly use the error to improve the guess. */ + if (TIME_T_MAX / INT_MAX / 366 / 24 / 60 / 60 < 3) + { + /* time_t isn't large enough to rule out overflows, so check + for major overflows. A gross check suffices, since if t0 + has overflowed, it is off by a multiple of TIME_T_MAX - + TIME_T_MIN + 1. So ignore any component of the difference + that is bounded by a small value. */ + + /* Approximate log base 2 of the number of time units per + biennium. A biennium is 2 years; use this unit instead of + years to avoid integer overflow. For example, 2 average + Gregorian years are 2 * 365.2425 * 24 * 60 * 60 seconds, + which is 63113904 seconds, and rint (log2 (63113904)) is + 26. */ + int ALOG2_SECONDS_PER_BIENNIUM = 26; + int ALOG2_MINUTES_PER_BIENNIUM = 20; + int ALOG2_HOURS_PER_BIENNIUM = 14; + int ALOG2_DAYS_PER_BIENNIUM = 10; + int LOG2_YEARS_PER_BIENNIUM = 1; + + int approx_requested_biennia = + ((year_requested >> LOG2_YEARS_PER_BIENNIUM) + - ((EPOCH_YEAR - TM_YEAR_BASE) >> LOG2_YEARS_PER_BIENNIUM) + + (mday >> ALOG2_DAYS_PER_BIENNIUM) + + (hour >> ALOG2_HOURS_PER_BIENNIUM) + + (min >> ALOG2_MINUTES_PER_BIENNIUM) + + (LEAP_SECONDS_POSSIBLE ? 0 : sec >> ALOG2_SECONDS_PER_BIENNIUM)); + + int approx_biennia = t0 >> ALOG2_SECONDS_PER_BIENNIUM; + int diff = approx_biennia - approx_requested_biennia; + int abs_diff = diff < 0 ? - diff : diff; + + /* IRIX 4.0.5 cc miscaculates TIME_T_MIN / 3: it erroneously + gives a positive value of 715827882. Setting a variable + first then doing math on it seems to work. + (ghazi@caip.rutgers.edu) */ + time_t time_t_max = TIME_T_MAX; + time_t time_t_min = TIME_T_MIN; + time_t overflow_threshold = + (time_t_max / 3 - time_t_min / 3) >> ALOG2_SECONDS_PER_BIENNIUM; + + if (overflow_threshold < abs_diff) + { + /* Overflow occurred. Try repairing it; this might work if + the time zone offset is enough to undo the overflow. */ + time_t repaired_t0 = -1 - t0; + approx_biennia = repaired_t0 >> ALOG2_SECONDS_PER_BIENNIUM; + diff = approx_biennia - approx_requested_biennia; + abs_diff = diff < 0 ? - diff : diff; + if (overflow_threshold < abs_diff) + return -1; + guessed_offset += repaired_t0 - t0; + t0 = repaired_t0; + } + } - tm.tm_year = EPOCH_YEAR - TM_YEAR_BASE; - tm.tm_yday = tm.tm_hour = tm.tm_min = tm.tm_sec = 0; - t0 = ydhms_tm_diff (year, yday, hour, min, sec, &tm); + /* Repeatedly use the error to improve the guess. */ - for (t = t1 = t2 = t0 + *offset, dst2 = 0; - (dt = ydhms_tm_diff (year, yday, hour, min, sec, - ranged_convert (convert, &t, &tm))); - t1 = t2, t2 = t, t += dt, dst2 = tm.tm_isdst != 0) + for (t = t1 = t2 = t0, dst2 = 0; + (gt = guess_time_tm (year, yday, hour, min, sec, &t, + ranged_convert (convert, &t, &tm)), + t != gt); + t1 = t2, t2 = t, t = gt, dst2 = tm.tm_isdst != 0) if (t == t1 && t != t2 && (tm.tm_isdst < 0 || (isdst < 0 @@ -273,91 +371,83 @@ __mktime_internal (struct tm *tp, : (isdst != 0) != (tm.tm_isdst != 0)))) /* We can't possibly find a match, as we are oscillating between two values. The requested time probably falls - within a spring-forward gap of size DT. Follow the common - practice in this case, which is to return a time that is DT + within a spring-forward gap of size GT - T. Follow the common + practice in this case, which is to return a time that is GT - T away from the requested time, preferring a time whose tm_isdst differs from the requested value. (If no tm_isdst was requested and only one of the two values has a nonzero tm_isdst, prefer that value.) In practice, this is more useful than returning -1. */ - break; + goto offset_found; else if (--remaining_probes == 0) return -1; - /* If we have a match, check whether tm.tm_isdst has the requested + /* We have a match. Check whether tm.tm_isdst has the requested value, if any. */ - if (dt == 0 && isdst != tm.tm_isdst && 0 <= isdst && 0 <= tm.tm_isdst) + if (isdst != tm.tm_isdst && 0 <= isdst && 0 <= tm.tm_isdst) { /* tm.tm_isdst has the wrong value. Look for a neighboring time with the right value, and use its UTC offset. - Heuristic: probe the previous three calendar quarters (approximately), - looking for the desired isdst. This isn't perfect, - but it's good enough in practice. */ - int quarter = 7889238; /* seconds per average 1/4 Gregorian year */ - int i; - - /* If we're too close to the time_t limit, look in future quarters. */ - if (t < TIME_T_MIN + 3 * quarter) - quarter = -quarter; - for (i = 1; i <= 3; i++) - { - time_t ot = t - i * quarter; - struct tm otm; - ranged_convert (convert, &ot, &otm); - if (otm.tm_isdst == isdst) - { - /* We found the desired tm_isdst. - Extrapolate back to the desired time. */ - t = ot + ydhms_tm_diff (year, yday, hour, min, sec, &otm); - ranged_convert (convert, &t, &tm); - break; - } - } + Heuristic: probe the adjacent timestamps in both directions, + looking for the desired isdst. This should work for all real + time zone histories in the tz database. */ + + /* Distance between probes when looking for a DST boundary. In + tzdata2003a, the shortest period of DST is 601200 seconds + (e.g., America/Recife starting 2000-10-08 01:00), and the + shortest period of non-DST surrounded by DST is 694800 + seconds (Africa/Tunis starting 1943-04-17 01:00). Use the + minimum of these two values, so we don't miss these short + periods when probing. */ + int stride = 601200; + + /* The longest period of DST in tzdata2003a is 536454000 seconds + (e.g., America/Jujuy starting 1946-10-01 01:00). The longest + period of non-DST is much longer, but it makes no real sense + to search for more than a year of non-DST, so use the DST + max. */ + int duration_max = 536454000; + + /* Search in both directions, so the maximum distance is half + the duration; add the stride to avoid off-by-1 problems. */ + int delta_bound = duration_max / 2 + stride; + + int delta, direction; + + for (delta = stride; delta < delta_bound; delta += stride) + for (direction = -1; direction <= 1; direction += 2) + { + time_t ot = t + delta * direction; + if ((ot < t) == (direction < 0)) + { + struct tm otm; + ranged_convert (convert, &ot, &otm); + if (otm.tm_isdst == isdst) + { + /* We found the desired tm_isdst. + Extrapolate back to the desired time. */ + t = guess_time_tm (year, yday, hour, min, sec, &ot, &otm); + ranged_convert (convert, &t, &tm); + goto offset_found; + } + } + } } - *offset = t - t0; + offset_found: + *offset = guessed_offset + t - t0; -#if LEAP_SECONDS_POSSIBLE - if (sec_requested != tm.tm_sec) + if (LEAP_SECONDS_POSSIBLE && sec_requested != tm.tm_sec) { /* Adjust time to reflect the tm_sec requested, not the normalized value. Also, repair any damage from a false match due to a leap second. */ - t += sec_requested - sec + (sec == 0 && tm.tm_sec == 60); - if (! (*convert) (&t, &tm)) - return -1; - } -#endif - - if (TIME_T_MAX / INT_MAX / 366 / 24 / 60 / 60 < 3) - { - /* time_t isn't large enough to rule out overflows in ydhms_tm_diff, - so check for major overflows. A gross check suffices, - since if t has overflowed, it is off by a multiple of - TIME_T_MAX - TIME_T_MIN + 1. So ignore any component of - the difference that is bounded by a small value. */ - - double dyear = (double) year_requested + mon_years - tm.tm_year; - double dday = 366 * dyear + mday; - double dsec = 60 * (60 * (24 * dday + hour) + min) + sec_requested; - - /* On Irix4.0.5 cc, dividing TIME_T_MIN by 3 does not produce - correct results, ie., it erroneously gives a positive value - of 715827882. Setting a variable first then doing math on it - seems to work. (ghazi@caip.rutgers.edu) */ - - const time_t time_t_max = TIME_T_MAX; - const time_t time_t_min = TIME_T_MIN; - - if (time_t_max / 3 - time_t_min / 3 < (dsec < 0 ? - dsec : dsec)) - return -1; - } - - if (year == 69) - { - /* If year was 69, need to check whether the time was representable - or not. */ - if (t < 0 || t > 2 * 24 * 60 * 60) + int sec_adjustment = (sec == 0 && tm.tm_sec == 60) - sec; + t1 = t + sec_requested; + t2 = t1 + sec_adjustment; + if (((t1 < t) != (sec_requested < 0)) + | ((t2 < t1) != (sec_adjustment < 0)) + | ! (*convert) (&t, &tm)) return -1; } @@ -366,6 +456,10 @@ __mktime_internal (struct tm *tp, } +/* FIXME: This should use a signed type wide enough to hold any UTC + offset in seconds. 'int' should be good enough for GNU code. We + can't fix this unilaterally though, as other modules invoke + __mktime_internal. */ static time_t localtime_offset; /* Convert *TP to a time_t value. */ @@ -402,7 +496,6 @@ not_equal_tm (const struct tm *a, const struct tm *b) | (a->tm_mday ^ b->tm_mday) | (a->tm_mon ^ b->tm_mon) | (a->tm_year ^ b->tm_year) - | (a->tm_mday ^ b->tm_mday) | (a->tm_yday ^ b->tm_yday) | (a->tm_isdst ^ b->tm_isdst)); } @@ -528,6 +621,6 @@ main (int argc, char **argv) /* Local Variables: -compile-command: "gcc -DDEBUG -DHAVE_TIME_R_POSIX -Wall -W -O -g mktime.c -o mktime" +compile-command: "gcc -DDEBUG -Wall -W -O -g mktime.c -o mktime" End: */ diff --git a/time/tst-mktime.c b/time/tst-mktime.c index 8bc7631461..416a85616c 100644 --- a/time/tst-mktime.c +++ b/time/tst-mktime.c @@ -55,9 +55,11 @@ main (void) setenv ("TZ", "CET-1", 1); t = mktime (&time_str); - if (t != (time_t) -1) +#define EVENING69_CET (EVENING69 - (5 - -1) * 60 * 60) + if (t != EVENING69_CET) { - printf ("mktime returned %ld, expected -1\n", (long) t); + printf ("mktime returned %ld, expected %ld\n", + (long) t, (long) EVENING69_CET); result = 1; } else diff --git a/time/tst-mktime2.c b/time/tst-mktime2.c new file mode 100644 index 0000000000..fe7c370928 --- /dev/null +++ b/time/tst-mktime2.c @@ -0,0 +1,140 @@ +/* Test program from Paul Eggert and Tony Leneis. */ +#include <time.h> +#include <stdlib.h> +#include <unistd.h> + +static time_t time_t_max; +static time_t time_t_min; + +/* Values we'll use to set the TZ environment variable. */ +static const char *tz_strings[] = + { + (const char *) 0, "GMT0", "JST-9", + "EST+3EDT+2,M10.1.0/00:00:00,M2.3.0/00:00:00" + }; +#define N_STRINGS ((int) (sizeof (tz_strings) / sizeof (tz_strings[0]))) + +/* Fail if mktime fails to convert a date in the spring-forward gap. + Based on a problem report from Andreas Jaeger. */ +static void +spring_forward_gap (void) +{ + /* glibc (up to about 1998-10-07) failed this test. */ + struct tm tm; + + /* Use the portable POSIX.1 specification "TZ=PST8PDT,M4.1.0,M10.5.0" + instead of "TZ=America/Vancouver" in order to detect the bug even + on systems that don't support the Olson extension, or don't have the + full zoneinfo tables installed. */ + setenv ("TZ", "PST8PDT,M4.1.0,M10.5.0", 1); + + tm.tm_year = 98; + tm.tm_mon = 3; + tm.tm_mday = 5; + tm.tm_hour = 2; + tm.tm_min = 0; + tm.tm_sec = 0; + tm.tm_isdst = -1; + if (mktime (&tm) == (time_t)-1) + exit (1); +} + +static void +mktime_test1 (time_t now) +{ + struct tm *lt = localtime (&now); + if (lt && mktime (lt) != now) + exit (2); +} + +static void +mktime_test (time_t now) +{ + mktime_test1 (now); + mktime_test1 ((time_t) (time_t_max - now)); + mktime_test1 ((time_t) (time_t_min + now)); +} + +static void +irix_6_4_bug (void) +{ + /* Based on code from Ariel Faigon. */ + struct tm tm; + tm.tm_year = 96; + tm.tm_mon = 3; + tm.tm_mday = 0; + tm.tm_hour = 0; + tm.tm_min = 0; + tm.tm_sec = 0; + tm.tm_isdst = -1; + mktime (&tm); + if (tm.tm_mon != 2 || tm.tm_mday != 31) + exit (3); +} + +static void +bigtime_test (int j) +{ + struct tm tm; + time_t now; + tm.tm_year = tm.tm_mon = tm.tm_mday = tm.tm_hour = tm.tm_min = tm.tm_sec = j; + now = mktime (&tm); + if (now != (time_t) -1) + { + struct tm *lt = localtime (&now); + if (! (lt + && lt->tm_year == tm.tm_year + && lt->tm_mon == tm.tm_mon + && lt->tm_mday == tm.tm_mday + && lt->tm_hour == tm.tm_hour + && lt->tm_min == tm.tm_min + && lt->tm_sec == tm.tm_sec + && lt->tm_yday == tm.tm_yday + && lt->tm_wday == tm.tm_wday + && ((lt->tm_isdst < 0 ? -1 : 0 < lt->tm_isdst) + == (tm.tm_isdst < 0 ? -1 : 0 < tm.tm_isdst)))) + exit (4); + } +} + +static int +do_test (void) +{ + time_t t, delta; + int i, j; + + setenv ("TZ", "America/Sao_Paulo", 1); + /* This test makes some buggy mktime implementations loop. + Give up after 60 seconds; a mktime slower than that + isn't worth using anyway. */ + alarm (60); + + for (time_t_max = 1; 0 < time_t_max; time_t_max *= 2) + continue; + time_t_max--; + if ((time_t) -1 < 0) + for (time_t_min = -1; (time_t) (time_t_min * 2) < 0; time_t_min *= 2) + continue; + delta = time_t_max / 997; /* a suitable prime number */ + for (i = 0; i < N_STRINGS; i++) + { + if (tz_strings[i]) + setenv ("TZ", tz_strings[i], 1); + + for (t = 0; t <= time_t_max - delta; t += delta) + mktime_test (t); + mktime_test ((time_t) 1); + mktime_test ((time_t) (60 * 60)); + mktime_test ((time_t) (60 * 60 * 24)); + + for (j = 1; 0 < j; j *= 2) + bigtime_test (j); + bigtime_test (j - 1); + } + irix_6_4_bug (); + spring_forward_gap (); + return 0; +} + +#define TEST_FUNCTION do_test () +#include "../test-skeleton.c" |