1998-02-09  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/unix/sysv/linux/syscalls.list: Don't mark lchown as
	extra syscall.

	* grp/Makefile: Fix logic when checking for thread package.
	* pwd/Makefile: Likewise.

1998-02-11 08:23  H.J. Lu  <hjl@gnu.org>

	* elf/Makefile (rtld-map): Replaced by libc-map.

	* elf/rtld.map: Removed.

	* libc.map (__libc_enable_secure, _dl_catch_error,
	_dl_check_all_versions, _dl_debug_initialize, _dl_debug_state,
	_dl_default_scope, _dl_global_scope_end, _dl_init_next,
	_dl_lookup_symbol, _dl_map_object, _dl_map_object_deps,
	_dl_object_relocation_scope, _dl_relocate_object,
	_dl_signal_error, _dl_starting_up, _dl_sysdep_start,
	_r_debug): Added for ld.so.

1998-02-10 08:38  H.J. Lu  <hjl@gnu.org>

	* libio/iofclose.c: Check PIC && DO_VERSIONING instead of
	DO_VERSIONING.
	* libio/iofdopen.c: Ditto.
	* libio/iofopen.c: Ditto.
	* libio/oldfileops.c: Ditto.

	* libc.map (sys_nerr, _sys_errlist, sys_errlist): Added for
	version GLIBC_2.1.

	* sysdeps/unix/sysv/linux/Makefile (stdio-common): Removed
	oldsiglist from sysdep_routines and shared-only-routines.

	* sysdeps/unix/sysv/linux/errlist.c: New.
	* sysdeps/unix/sysv/linux/errlist.h: New.
	* sysdeps/unix/sysv/linux/sizes.h: New.
	* sysdeps/unix/sysv/linux/alpha/sizes.h: New.
	* sysdeps/unix/sysv/linux/sparc64/sizes.h: New.

	* sysdeps/unix/sysv/linux/oldsiglist.c: Removed.

	* sysdeps/unix/sysv/linux/siglist.c: Include <sizes.h>.
	(__old_sys_siglist, __old_sys_sigabbrev): Use ELF .size
	directive.

	* sysdeps/unix/sysv/linux/siglist.h (OLD_SIGLIST_SIZE_STR): New.

	* sysdeps/unix/sysv/linux/Dist (errlist.h, sizes.h.): Added.
	(oldsiglist.c): Removed.

	* sysdeps/gnu/errlist.awk (SYS_SIGLIST, SYS_NERR): New.
	(_sys_siglist): Use SYS_SIGLIST instead.
	(_sys_nerr): Use SYS_NERR instead.

	* sysdeps/gnu/errlist.c: Rebuilt.

1998-02-11 08:35  H.J. Lu  <hjl@gnu.org>

	* elf/Makefile (others-static): New, set to ldconfig.
	($(objpfx)ldconfig): Removed.

	* Rules (binaries-all, binaries-static, binaries-shared): New.
	Create targets for $(binaries-static) and $(binaries-shared).

	* Makeconfig (+link-static, link-libc-static,
	link-extra-libs-static): New for static linking.
This commit is contained in:
Ulrich Drepper 1998-02-12 18:22:41 +00:00
parent 241b119df7
commit e15867921d
25 changed files with 347 additions and 82 deletions

View File

@ -1,3 +1,73 @@
1998-02-09 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/unix/sysv/linux/syscalls.list: Don't mark lchown as
extra syscall.
* grp/Makefile: Fix logic when checking for thread package.
* pwd/Makefile: Likewise.
1998-02-11 08:23 H.J. Lu <hjl@gnu.org>
* elf/Makefile (rtld-map): Replaced by libc-map.
* elf/rtld.map: Removed.
* libc.map (__libc_enable_secure, _dl_catch_error,
_dl_check_all_versions, _dl_debug_initialize, _dl_debug_state,
_dl_default_scope, _dl_global_scope_end, _dl_init_next,
_dl_lookup_symbol, _dl_map_object, _dl_map_object_deps,
_dl_object_relocation_scope, _dl_relocate_object,
_dl_signal_error, _dl_starting_up, _dl_sysdep_start,
_r_debug): Added for ld.so.
1998-02-10 08:38 H.J. Lu <hjl@gnu.org>
* libio/iofclose.c: Check PIC && DO_VERSIONING instead of
DO_VERSIONING.
* libio/iofdopen.c: Ditto.
* libio/iofopen.c: Ditto.
* libio/oldfileops.c: Ditto.
* libc.map (sys_nerr, _sys_errlist, sys_errlist): Added for
version GLIBC_2.1.
* sysdeps/unix/sysv/linux/Makefile (stdio-common): Removed
oldsiglist from sysdep_routines and shared-only-routines.
* sysdeps/unix/sysv/linux/errlist.c: New.
* sysdeps/unix/sysv/linux/errlist.h: New.
* sysdeps/unix/sysv/linux/sizes.h: New.
* sysdeps/unix/sysv/linux/alpha/sizes.h: New.
* sysdeps/unix/sysv/linux/sparc64/sizes.h: New.
* sysdeps/unix/sysv/linux/oldsiglist.c: Removed.
* sysdeps/unix/sysv/linux/siglist.c: Include <sizes.h>.
(__old_sys_siglist, __old_sys_sigabbrev): Use ELF .size
directive.
* sysdeps/unix/sysv/linux/siglist.h (OLD_SIGLIST_SIZE_STR): New.
* sysdeps/unix/sysv/linux/Dist (errlist.h, sizes.h.): Added.
(oldsiglist.c): Removed.
* sysdeps/gnu/errlist.awk (SYS_SIGLIST, SYS_NERR): New.
(_sys_siglist): Use SYS_SIGLIST instead.
(_sys_nerr): Use SYS_NERR instead.
* sysdeps/gnu/errlist.c: Rebuilt.
1998-02-11 08:35 H.J. Lu <hjl@gnu.org>
* elf/Makefile (others-static): New, set to ldconfig.
($(objpfx)ldconfig): Removed.
* Rules (binaries-all, binaries-static, binaries-shared): New.
Create targets for $(binaries-static) and $(binaries-shared).
* Makeconfig (+link-static, link-libc-static,
link-extra-libs-static): New for static linking.
1998-02-11 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* manual/memory.texi (Using the Memory Debugger): Fix typo.

View File

@ -380,6 +380,18 @@ ifndef +link
$(common-objpfx)libc% $(+postinit),$^) \
$(link-extra-libs) $(link-libc) $(+postctor) $(+postinit)
endif
# Command for statically linking programs with the C library.
ifndef +link-static
+link-static = $(CC) -nostdlib -nostartfiles -static -o $@ \
$(sysdep-LDFLAGS) $(LDFLAGS) \
$(addprefix $(csu-objpfx),$(start-installed-name)) \
$(+preinit) $(+prector) \
$(filter-out $(addprefix $(csu-objpfx),start.o \
$(start-installed-name))\
$(+preinit) $(link-extra-libs-static) \
$(common-objpfx)libc% $(+postinit),$^) \
$(link-extra-libs-static) $(link-libc-static) $(+postctor) $(+postinit)
endif
ifndef config-LDFLAGS
ifeq (yes,$(build-shared))
config-LDFLAGS = -Wl,-dynamic-linker=$(slibdir)/$(rtld-installed-name)
@ -425,6 +437,11 @@ else
link-extra-libs = $(foreach lib,$(LDLIBS-$(@F)),$(common-objpfx)$(lib).a)
endif
endif
# The static libraries.
link-libc-static = $(common-objpfx)libc.a $(gnulib) $(common-objpfx)libc.a
link-extra-libs-static = $(foreach lib,$(LDLIBS-$(@F)),$(common-objpfx)$(lib).a)
ifndef gnulib
gnulib := -lgcc
endif

24
Rules
View File

@ -94,19 +94,27 @@ tests: $(tests:%=$(objpfx)%.out)
endif
ifeq ($(build-programs),yes)
ifneq "$(strip $(others) $(tests) $(test-srcs))" ""
$(addprefix $(objpfx),$(others) $(tests) $(test-srcs)): %: %.o \
$(sort $(filter $(common-objpfx)libc%,$(link-libc))) \
$(addprefix $(csu-objpfx),start.o) $(+preinit) $(+postinit)
$(+link)
endif
binaries-all = $(others) $(tests) $(test-srcs)
binaries-static = $(others-static) $(tests-static) $(test-srcs-static)
else
ifneq "$(strip $(tests) $(test-srcs))" ""
$(addprefix $(objpfx),$(tests) $(test-srcs)): %: %.o \
binaries-all = $(tests) $(test-srcs)
binaries-static = $(tests-static) $(test-srcs-static)
endif
binaries-shared = $(filter-out $(binaries-static), $(binaries-all))
ifneq "$(strip $(binaries-shared))" ""
$(addprefix $(objpfx),$(binaries-shared)): %: %.o \
$(sort $(filter $(common-objpfx)libc%,$(link-libc))) \
$(addprefix $(csu-objpfx),start.o) $(+preinit) $(+postinit)
$(+link)
endif
ifneq "$(strip $(binaries-static))" ""
$(addprefix $(objpfx),$(binaries-static)): %: %.o \
$(sort $(filter $(common-objpfx)libc%,$(link-libc-static))) \
$(addprefix $(csu-objpfx),start.o) $(+preinit) $(+postinit)
$(+link-static)
endif
ifneq "$(strip $(tests) $(test-srcs))" ""

View File

@ -35,7 +35,6 @@ elide-routines.os = $(dl-routines) dl-support enbl-secure
# ld.so uses those routines, plus some special stuff for being the program
# interpreter and operating independent of libc.
rtld-routines := rtld $(dl-routines) dl-sysdep dl-minimal
rtld-map := rtld.map
distribute = $(rtld-routines:=.c) dynamic-link.h do-rel.h dl-machine.h \
dl-hash.h soinit.c sofini.c ldd.sh.in ldd.bash.in eval.c \
genrtldtbl.awk atomicity.h dl-procinfo.h
@ -61,15 +60,9 @@ generated += ldd
endif
ifeq (yes,$(has-ldconfig))
others-static += ldconfig
others += ldconfig
install-rootsbin = ldconfig
$(objpfx)ldconfig: $(objpfx)ldconfig.o
$(CC) -nostdlib -nostartfiles -o $@ $(sysdep-LDFLAGS) -static \
$(addprefix $(csu-objpfx),start.o) $(+preinit) \
$(filter-out $(addprefix $(csu-objpfx),start.o) $(+preinit) \
$(link-extra-libs) $(common-objpfx)libc% $(+postinit),$^) \
$(link-extra-libs) $(common-objpfx)libc.a $(gnulib) $(+postinit)
endif
include ../Rules
@ -114,7 +107,7 @@ define rtld-link
$(LINK.o) -nostdlib -nostartfiles -shared -o $@ \
-Wl,-rpath=$(default-rpath) $(LDFLAGS-rtld) \
$(filter-out $(objpfx)rtld-ldscript,$^) \
-Wl,--version-script=$(rtld-map)
-Wl,--version-script=$(libc-map)
endef
else
$(objpfx)ld.so: $(objpfx)librtld.os
@ -123,7 +116,7 @@ $(objpfx)ld.so: $(objpfx)librtld.os
define rtld-link
$(LINK.o) -nostdlib -nostartfiles -shared -o $@ \
-Wl,-rpath=$(default-rpath) $^ \
-Wl,--version-script=$(rtld-map)
-Wl,--version-script=$(libc-map)
endef
endif

View File

@ -1,12 +0,0 @@
GLIBC_2.0 {
global:
# Not right, but I'll figure it out.
*;
# local:
# *;
};
GLIBC_2.1 {
} GLIBC_2.0;

View File

@ -31,7 +31,7 @@ tests := testgrp
include ../Rules
# We can later add the names of other thread packages here.
ifeq (,$(findstring linuxthreads,$(add-ons)))
ifneq (,$(findstring linuxthreads,$(add-ons)))
CFLAGS-getgrgid_r.c = -DUSE_NSCD=1
CFLAGS-getgrnam_r.c = -DUSE_NSCD=1

View File

@ -426,6 +426,14 @@ GLIBC_2.0 {
xdrrec_endofrecord; xdrrec_eof; xdrrec_skiprecord; xdrstdio_create;
xencrypt; xprt_register; xprt_unregister;
# Those are in the dynamic linker, but used by libc.so.
__libc_enable_secure; _dl_catch_error; _dl_check_all_versions;
_dl_debug_initialize; _dl_debug_state; _dl_default_scope;
_dl_global_scope_end; _dl_init_next; _dl_lookup_symbol;
_dl_map_object; _dl_map_object_deps; _dl_object_relocation_scope;
_dl_relocate_object; _dl_signal_error; _dl_starting_up;
_dl_sysdep_start; _r_debug;
local:
*;
};
@ -454,4 +462,6 @@ GLIBC_2.1 {
getrusage;
wait4;
# New errlist.
_sys_errlist; sys_errlist; sys_nerr;
} GLIBC_2.0;

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1993, 1995, 1997 Free Software Foundation, Inc.
/* Copyright (C) 1993, 1995, 1997, 1998 Free Software Foundation, Inc.
This file is part of the GNU IO Library.
This library is free software; you can redistribute it and/or
@ -53,7 +53,7 @@ _IO_new_fclose (fp)
return status;
}
#ifdef DO_VERSIONING
#if defined PIC && DO_VERSIONING
strong_alias (_IO_new_fclose, __new_fclose)
default_symbol_version (_IO_new_fclose, _IO_fclose, GLIBC_2.1);
default_symbol_version (__new_fclose, fclose, GLIBC_2.1);

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1993, 1994, 1997 Free Software Foundation, Inc.
/* Copyright (C) 1993, 1994, 1997, 1998 Free Software Foundation, Inc.
This file is part of the GNU IO Library.
This library is free software; you can redistribute it and/or
@ -129,7 +129,7 @@ _IO_new_fdopen (fd, mode)
return (_IO_FILE *) &new_f->fp;
}
#ifdef DO_VERSIONING
#if defined PIC && DO_VERSIONING
strong_alias (_IO_new_fdopen, __new_fdopen)
default_symbol_version (_IO_new_fdopen, _IO_fdopen, GLIBC_2.1);
default_symbol_version (__new_fdopen, fdopen, GLIBC_2.1);

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1993, 1997 Free Software Foundation, Inc.
/* Copyright (C) 1993, 1997, 1998 Free Software Foundation, Inc.
This file is part of the GNU IO Library.
This library is free software; you can redistribute it and/or
@ -59,7 +59,7 @@ _IO_new_fopen (filename, mode)
return NULL;
}
#ifdef DO_VERSIONING
#if defined PIC && DO_VERSIONING
strong_alias (_IO_new_fopen, __new_fopen)
default_symbol_version (_IO_new_fopen, _IO_fopen, GLIBC_2.1);
default_symbol_version (__new_fopen, fopen, GLIBC_2.1);

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1993, 1995, 1997 Free Software Foundation, Inc.
/* Copyright (C) 1993, 1995, 1997, 1998 Free Software Foundation, Inc.
This file is part of the GNU IO Library.
Written by Per Bothner <bothner@cygnus.com>.
@ -26,7 +26,7 @@
/* This is a compatibility file. If we don't build the libc with
versioning don't compile this file. */
#if DO_VERSIONING
#if defined PIC && DO_VERSIONING
#ifndef _POSIX_SOURCE
@ -719,4 +719,4 @@ struct _IO_jump_t _IO_old_file_jumps =
};
#endif /* DO_VERSIONING */
#endif /* PIC && DO_VERSIONING */

View File

@ -29,7 +29,7 @@ routines := fgetpwent getpw putpwent \
include ../Rules
# We can later add the names of other thread packages here.
ifeq (,$(findstring linuxthreads,$(add-ons)))
ifneq (,$(findstring linuxthreads,$(add-ons)))
CFLAGS-getpwuid_r.c = -DUSE_NSCD=1
CFLAGS-getpwnam_r.c = -DUSE_NSCD=1

View File

@ -1,4 +1,4 @@
# Copyright (C) 1991, 92, 93, 94, 95, 96, 97 Free Software Foundation, Inc.
# Copyright (C) 1991, 92, 93, 94, 95, 96, 97, 98 Free Software Foundation, Inc.
# This file is part of the GNU C Library.
# The GNU C Library is free software; you can redistribute it and/or
@ -32,7 +32,14 @@ BEGIN {
print "";
print "#include <errno.h>";
print "";
print "const char *const _sys_errlist[] =";
print "#ifndef SYS_ERRLIST";
print "# define SYS_ERRLIST _sys_errlist";
print "#endif";
print "#ifndef SYS_NERR";
print "# define SYS_NERR _sys_nerr";
print "#endif";
print "";
print "const char *const SYS_ERRLIST[] =";
print " {";
print " [0] = N_(\"Success\"),"
}
@ -77,7 +84,9 @@ errnoh == 4 \
END {
print " };";
print "";
print "const int _sys_nerr = sizeof _sys_errlist / sizeof _sys_errlist[0];";
print "const int SYS_NERR = sizeof SYS_ERRLIST / sizeof SYS_ERRLIST [0];";
print "#ifndef PIC";
print "weak_alias (_sys_errlist, sys_errlist)";
print "weak_alias (_sys_nerr, sys_nerr)";
print "#endif";
}

View File

@ -2,7 +2,14 @@
#include <errno.h>
const char *const _sys_errlist[] =
#ifndef SYS_ERRLIST
# define SYS_ERRLIST _sys_errlist
#endif
#ifndef SYS_NERR
# define SYS_NERR _sys_nerr
#endif
const char *const SYS_ERRLIST[] =
{
[0] = N_("Success"),
#ifdef EPERM
@ -807,6 +814,8 @@ TRANS This error code has no purpose. */
#endif
};
const int _sys_nerr = sizeof _sys_errlist / sizeof _sys_errlist[0];
const int SYS_NERR = sizeof SYS_ERRLIST / sizeof SYS_ERRLIST [0];
#ifndef PIC
weak_alias (_sys_errlist, sys_errlist)
weak_alias (_sys_nerr, sys_nerr)
#endif

View File

@ -1,14 +1,15 @@
stdio_lim.h.in
cmsg_nxthdr.c
errlist.h
init-first.h
kernel_sigaction.h
kernel_stat.h
kernel_termios.h
llseek.c
oldsiglist.c
s_pread64.c
s_pwrite64.c
siglist.h
sizes.h
socketcall.h
sysctl.c
termio.h

View File

@ -67,12 +67,6 @@ endif
ifeq ($(subdir),stdio-common)
# Just disable the auto generation in sysdeps/generic
inhibit-siglist := yes
ifeq ($(versioning),yes)
sysdep_routines += oldsiglist
endif
shared-only-routines += oldsiglist
endif
ifeq ($(subdir),inet)

View File

@ -0,0 +1,24 @@
/* 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 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. */
#ifndef _SIZES_H
#define _SIZES_H 1
#define PTR_SIZE_STR "8"
#endif /* sizes.h */

View File

@ -0,0 +1,58 @@
/* 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 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 <sizes.h>
#include <errlist.h>
#if defined HAVE_ELF && defined PIC && defined DO_VERSIONING
# define SYS_ERRLIST __new_sys_errlist
# define SYS_NERR __new_sys_nerr
asm (".data; .globl __old_sys_errlist; __old_sys_errlist:");
#endif
#include <sysdeps/gnu/errlist.c>
#if defined HAVE_ELF && defined PIC && defined DO_VERSIONING
asm (".type __old_sys_errlist,@object;.size __old_sys_errlist,"
OLD_ERRLIST_SIZE_STR "*" PTR_SIZE_STR);
extern const char *const *__old_sys_errlist;
const int __old_sys_nerr = OLD_ERRLIST_SIZE;
strong_alias (__old_sys_nerr, _old_sys_nerr);
symbol_version (__old_sys_nerr, _sys_nerr, GLIBC_2.0);
symbol_version (_old_sys_nerr, sys_nerr, GLIBC_2.0);
strong_alias (__old_sys_errlist, _old_sys_errlist);
symbol_version (__old_sys_errlist, _sys_errlist, GLIBC_2.0);
symbol_version (_old_sys_errlist, sys_errlist, GLIBC_2.0);
strong_alias (__new_sys_nerr, _new_sys_nerr)
#if 0
default_symbol_version (__new_sys_nerr, _sys_nerr, GLIBC_2.1);
#else
strong_alias (__new_sys_nerr, _sys_nerr);
#endif
default_symbol_version (_new_sys_nerr, sys_nerr, GLIBC_2.1);
strong_alias (__new_sys_errlist, _new_sys_errlist)
default_symbol_version (__new_sys_errlist, _sys_errlist, GLIBC_2.1);
default_symbol_version (_new_sys_errlist, sys_errlist, GLIBC_2.1);
#endif

View File

@ -0,0 +1,25 @@
/* 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 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. */
#ifndef _ERRLIST_H
#define _ERRLIST_H 1
#define OLD_ERRLIST_SIZE_STR "123"
#define OLD_ERRLIST_SIZE 123
#endif /* errlist.h */

View File

@ -1,21 +0,0 @@
#include <stddef.h>
#include <signal.h>
const char * const __old_sys_siglist[32] =
{
#define init_sig(sig, abbrev, desc) [sig] desc,
#include "siglist.h"
#undef init_sig
};
const char * const __old_sys_sigabbrev[32] =
{
#define init_sig(sig, abbrev, desc) [sig] abbrev,
#include "siglist.h"
#undef init_sig
};
strong_alias (__old_sys_siglist, _old_sys_siglist)
symbol_version (__old_sys_siglist, _sys_siglist, GLIBC_2.0);
symbol_version (_old_sys_siglist, sys_siglist, GLIBC_2.0);
symbol_version (__old_sys_sigabbrev, sys_sigabbrev, GLIBC_2.0);

View File

@ -18,28 +18,58 @@
#include <stddef.h>
#include <signal.h>
#include <sizes.h>
const char * const __new_sys_siglist[NSIG] =
#if defined HAVE_ELF && defined PIC && defined DO_VERSIONING
# define SYS_SIGLIST __new_sys_siglist
# define SYS_SIGABBREV __new_sys_sigabbrev
#else
# define SYS_SIGLIST _sys_siglist
# define SYS_SIGABBREV _sys_sigabbrev
#endif
#if defined HAVE_ELF && defined PIC && defined DO_VERSIONING
asm (".data; .globl __old_sys_siglist; __old_sys_siglist:");
#endif
const char *const SYS_SIGLIST[NSIG] =
{
#define init_sig(sig, abbrev, desc) [sig] desc,
#include "siglist.h"
#undef init_sig
};
const char * const __new_sys_sigabbrev[NSIG] =
#if defined HAVE_ELF && defined PIC && defined DO_VERSIONING
asm (".type __old_sys_siglist,@object;.size __old_sys_siglist,"
OLD_SIGLIST_SIZE_STR "*" PTR_SIZE_STR);
asm (".data; .globl __old_sys_sigabbrev; __old_sys_sigabbrev:");
#endif
const char *const SYS_SIGABBREV[NSIG] =
{
#define init_sig(sig, abbrev, desc) [sig] abbrev,
#include "siglist.h"
#undef init_sig
};
#ifdef DO_VERSIONING
#if defined HAVE_ELF && defined PIC && defined DO_VERSIONING
asm (".type __old_sys_sigabbrev,@object;.size __old_sys_sigabbrev,"
OLD_SIGLIST_SIZE_STR "*" PTR_SIZE_STR);
extern const char *const *__old_sys_siglist;
extern const char *const *__old_sys_sigabbrev;
strong_alias (__old_sys_siglist, _old_sys_siglist)
symbol_version (__old_sys_siglist, _sys_siglist, GLIBC_2.0);
symbol_version (_old_sys_siglist, sys_siglist, GLIBC_2.0);
symbol_version (__old_sys_sigabbrev, sys_sigabbrev, GLIBC_2.0);
strong_alias (__new_sys_siglist, _new_sys_siglist)
default_symbol_version (__new_sys_siglist, _sys_siglist, GLIBC_2.1);
default_symbol_version (_new_sys_siglist, sys_siglist, GLIBC_2.1);
default_symbol_version (__new_sys_sigabbrev, sys_sigabbrev, GLIBC_2.1);
#else
weak_alias(__new_sys_siglist, _sys_siglist)
weak_alias(__new_sys_siglist, sys_siglist)
weak_alias(__new_sys_sigabbrev, sys_sigabbrev)
weak_alias (_sys_siglist, sys_siglist)
weak_alias (_sys_sigabbrev, sys_sigabbrev)
#endif

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1996, 1997 Free Software Foundation, Inc.
/* Copyright (C) 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
@ -63,3 +63,5 @@
#elif defined(SIGPWR)
init_sig (SIGPWR, "PWR", N_("Power failure"))
#endif
#define OLD_SIGLIST_SIZE_STR "32"

View File

@ -0,0 +1,24 @@
/* 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 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. */
#ifndef _SIZES_H
#define _SIZES_H 1
#define PTR_SIZE_STR "4"
#endif /* sizes.h */

View File

@ -0,0 +1,24 @@
/* 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 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. */
#ifndef _SIZES_H
#define _SIZES_H 1
#define PTR_SIZE_STR "8"
#endif /* sizes.h */

View File

@ -19,7 +19,7 @@ ioperm - ioperm 3 ioperm
iopl - iopl 1 iopl
ipc msgget ipc 5 __ipc
klogctl EXTRA syslog 3 klogctl
lchown EXTRA lchown 3 __lchown lchown
lchown - lchown 3 __lchown lchown
mlock EXTRA mlock 2 __mlock mlock
mlockall EXTRA mlockall 1 __mlockall mlockall
mount EXTRA mount 5 __mount mount