From 2aa15430850362f50b069e21598e9acc625d4c27 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Tue, 5 Dec 2000 04:18:59 +0000 Subject: Update. 2000-12-04 Ulrich Drepper * configure.in: Define HAVE_ASM_GLOBAL_DOT_NAME for AIX. * config.h.in: Add HAVE_ASM_GLOBAL_DOT_NAME. * include/libc-symbols.h (strong_alias): Define special version for HAVE_ASM_GLOBAL_DOT_NAME. (weak_alias): Likewise. * sysdeps/powerpc/bsd-setjmp.S: Use strong_alias not .set. * sysdeps/unix/sysv/aix/Makefile [$(subdir)==login] (sysdep_routines): Add setutxent, getutxent, endutxent, getutxid, getutxline, pututxline, and utmpxname. * sysdeps/unix/sysv/aix/fchdir.c: Define __fchdir. * sysdeps/unix/sysv/aix/lseek.c: Define __libc_lseek alias. * sysdeps/unix/sysv/aix/open.c: Define __libc_open alias. * sysdeps/unix/sysv/aix/pread.c: Define pread alias. * sysdeps/unix/sysv/aix/pread64.c: Define pread64 alias. * sysdeps/unix/sysv/aix/sysdep.h (JUMPTARGET): Use C_TEXT. * sysdeps/unix/sysv/aix/bits/types.h: Define __clockid_t and __timer_t. * sysdeps/unix/sysv/aix/bits/utmp.h: Cleanup. Add comments. * sysdeps/unix/sysv/linux/sys/param.h (MAXHOSTNAMELEN): Define. Patches by Michael Keezer . --- sysdeps/unix/sysv/aix/Makefile | 7 ++++++ sysdeps/unix/sysv/aix/bits/types.h | 6 +++++ sysdeps/unix/sysv/aix/bits/utmp.h | 40 ++++++++++++++++----------------- sysdeps/unix/sysv/aix/fchdir.c | 27 +++++++++++++++++++++- sysdeps/unix/sysv/aix/lseek.c | 1 + sysdeps/unix/sysv/aix/open.c | 1 + sysdeps/unix/sysv/aix/powerpc/s_lrint.c | 29 ++++++++++++++++++++++++ sysdeps/unix/sysv/aix/pread.c | 1 + sysdeps/unix/sysv/aix/pread64.c | 1 + sysdeps/unix/sysv/aix/sysdep.h | 2 +- sysdeps/unix/sysv/aix/write.c | 2 +- 11 files changed, 94 insertions(+), 23 deletions(-) create mode 100644 sysdeps/unix/sysv/aix/powerpc/s_lrint.c (limited to 'sysdeps/unix/sysv/aix') diff --git a/sysdeps/unix/sysv/aix/Makefile b/sysdeps/unix/sysv/aix/Makefile index 3de7e02f49..b49b56267e 100644 --- a/sysdeps/unix/sysv/aix/Makefile +++ b/sysdeps/unix/sysv/aix/Makefile @@ -9,6 +9,13 @@ ifeq ($(subdir),misc) sysdep_routines += dl-open dl-sym dl-close endif +ifeq ($(subdir),login) +sysdep_routines += setutxent getutxent endutxent getutxid getutxline \ + pututxline utmpxname + +sysdep_headers += utmpx.h bits/utmpx.h +endif + # Don't compile the ctype glue code, since there is no old non-GNU C library. inhibit-glue = yes diff --git a/sysdeps/unix/sysv/aix/bits/types.h b/sysdeps/unix/sysv/aix/bits/types.h index 830dcea7b0..a89393d704 100644 --- a/sysdeps/unix/sysv/aix/bits/types.h +++ b/sysdeps/unix/sysv/aix/bits/types.h @@ -87,6 +87,12 @@ 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; + /* One element in the file descriptor mask array. */ typedef unsigned long int __fd_mask; diff --git a/sysdeps/unix/sysv/aix/bits/utmp.h b/sysdeps/unix/sysv/aix/bits/utmp.h index 04844096b0..38cf31e6ed 100644 --- a/sysdeps/unix/sysv/aix/bits/utmp.h +++ b/sysdeps/unix/sysv/aix/bits/utmp.h @@ -1,5 +1,5 @@ /* The `struct utmp' type, describing entries in the utmp file. AIX. - Copyright (C) 1996, 1997, 1999 Free Software Foundation, Inc. + 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 @@ -21,12 +21,9 @@ # error "Never include directly; use instead." #endif - -#include - -#define _PATH_UTMP "/etc/utmp" -#define _PATH_WTMP "/var/adm/wtmp" -#define _PATH_LASTLOG "/var/adm/lastlog" +#include +#include +#include #define UT_LINESIZE 12 @@ -52,22 +49,25 @@ struct utmp }; +/* 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 - - -/* Values for the `ut_type' field of a `struct utmp'. */ -#define EMPTY 0 -#define RUN_LVL 1 -#define BOOT_TIME 2 -#define OLD_TIME 3 -#define NEW_TIME 4 -#define INIT_PROCESS 5 -#define LOGIN_PROCESS 6 -#define USER_PROCESS 7 -#define DEAD_PROCESS 8 -#define ACCOUNTING 9 diff --git a/sysdeps/unix/sysv/aix/fchdir.c b/sysdeps/unix/sysv/aix/fchdir.c index 6036fbbffd..97d31714f5 100644 --- a/sysdeps/unix/sysv/aix/fchdir.c +++ b/sysdeps/unix/sysv/aix/fchdir.c @@ -1 +1,26 @@ -/* This is a system call. */ +/* 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 Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C 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. */ + +#include + +int +__fchdir (fd) + int fd; +{ + return fchdir (fd); +} diff --git a/sysdeps/unix/sysv/aix/lseek.c b/sysdeps/unix/sysv/aix/lseek.c index 99a6fb50b1..387ebd0de8 100644 --- a/sysdeps/unix/sysv/aix/lseek.c +++ b/sysdeps/unix/sysv/aix/lseek.c @@ -6,3 +6,4 @@ __lseek (int fd, off_t offset, int whence) { return lseek (fd, offset, whence); } +strong_alias (__lseek, __libc_lseek) diff --git a/sysdeps/unix/sysv/aix/open.c b/sysdeps/unix/sysv/aix/open.c index 7bab537154..89cd955c38 100644 --- a/sysdeps/unix/sysv/aix/open.c +++ b/sysdeps/unix/sysv/aix/open.c @@ -35,3 +35,4 @@ __open (const char *file, int oflag, ...) return open (file, oflag, mode); } +strong_alias (__open, __libc_open) diff --git a/sysdeps/unix/sysv/aix/powerpc/s_lrint.c b/sysdeps/unix/sysv/aix/powerpc/s_lrint.c new file mode 100644 index 0000000000..18c42d5c4d --- /dev/null +++ b/sysdeps/unix/sysv/aix/powerpc/s_lrint.c @@ -0,0 +1,29 @@ +/* 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 Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C 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. */ + +#include + +/* 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 index 35fd7ca398..137fc3485c 100644 --- a/sysdeps/unix/sysv/aix/pread.c +++ b/sysdeps/unix/sysv/aix/pread.c @@ -25,3 +25,4 @@ __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 index 428fc63321..1a88a7caa7 100644 --- a/sysdeps/unix/sysv/aix/pread64.c +++ b/sysdeps/unix/sysv/aix/pread64.c @@ -25,3 +25,4 @@ __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/sysdep.h b/sysdeps/unix/sysv/aix/sysdep.h index 182e324dfc..1a43f96bc3 100644 --- a/sysdeps/unix/sysv/aix/sysdep.h +++ b/sysdeps/unix/sysv/aix/sysdep.h @@ -85,4 +85,4 @@ C_TEXT (name): /* Jumping to another function. We are jumping to the TOC entry. */ -#define JUMPTARGET(name) name +#define JUMPTARGET(name) C_TEXT (name) diff --git a/sysdeps/unix/sysv/aix/write.c b/sysdeps/unix/sysv/aix/write.c index 6a43fb1290..c872e04810 100644 --- a/sysdeps/unix/sysv/aix/write.c +++ b/sysdeps/unix/sysv/aix/write.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1999 Free Software Foundation, Inc. +/* Copyright (C) 1999, 2000 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , 1999. -- cgit v1.2.3