svn commit: branches/uClibc-nptl: ldso ldso/ldso ldso/ldso/i386 ldso/ldso/ etc...
sjhill at uclibc.org
sjhill at uclibc.org
Sun Nov 20 01:24:17 UTC 2005
Author: sjhill
Date: 2005-11-19 17:24:15 -0800 (Sat, 19 Nov 2005)
New Revision: 12436
Log:
Dynamic loader now builds with new build system. Fix problems with 'dl-sysdep.h' and the loader that I should have caught a while ago.
Removed:
branches/uClibc-nptl/libpthread/nptl/sysdeps/generic/dl-sysdep.h
branches/uClibc-nptl/libpthread/nptl/sysdeps/unix/sysv/linux/i386/dl-sysdep.h
branches/uClibc-nptl/libpthread/nptl/sysdeps/unix/sysv/linux/i386/i686/dl-sysdep.h
Modified:
branches/uClibc-nptl/ldso/Makefile
branches/uClibc-nptl/ldso/ldso/Makefile
branches/uClibc-nptl/ldso/ldso/Makefile.in
branches/uClibc-nptl/ldso/ldso/i386/dl-sysdep.h
branches/uClibc-nptl/ldso/ldso/mips/dl-sysdep.h
branches/uClibc-nptl/ldso/libdl/Makefile
branches/uClibc-nptl/ldso/libdl/Makefile.in
Changeset:
Modified: branches/uClibc-nptl/ldso/Makefile
===================================================================
--- branches/uClibc-nptl/ldso/Makefile 2005-11-20 00:49:28 UTC (rev 12435)
+++ branches/uClibc-nptl/ldso/Makefile 2005-11-20 01:24:15 UTC (rev 12436)
@@ -2,59 +2,14 @@
#
# Copyright (C) 2000-2005 Erik Andersen <andersen at uclibc.org>
#
-# This program 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.
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
#
-# This program is distributed in the hope that 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 this program; if not, write to the Free Software Foundation, Inc.,
-# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
TOPDIR=../
-include $(TOPDIR)Rules.mak
-DIRS = ldso libdl
-
-ifneq ($(strip $(BUILD_UCLIBC_LDSO)),y)
-all: subdirs
-else
-all:
-endif
-
-LN_HEADERS := $(patsubst %, include/%, elf.h)
-LN_ARCH_HEADERS := $(patsubst %, include/%, dl-startup.h dl-syscalls.h dl-sysdep.h dl-debug.h)
-HEADERS := $(LN_HEADERS) $(LN_ARCH_HEADERS) include/dl-progname.h
-
-headers: $(HEADERS)
-
-$(LN_HEADERS):
- $(LN) -sf $(TOPDIR)../$@ $@
-
-$(LN_ARCH_HEADERS):
- $(LN) -sf ../ldso/$(TARGET_ARCH)/$(patsubst include/%,%,$@) $@
-
-include/dl-progname.h:
- echo '#include "$(TARGET_ARCH)/elfinterp.c"' \
- > include/dl-progname.h
-
-headers_clean:
- $(RM) $(HEADERS)
-
-clean: subdirs_clean headers_clean
-
-subdirs: $(patsubst %, _dir_%, $(DIRS))
-subdirs_clean: $(patsubst %, _dirclean_%, $(DIRS))
-
-$(patsubst %, _dir_%, $(DIRS)): headers
- $(MAKE) -C $(patsubst _dir_%, %, $@)
-
-$(patsubst %, _dirclean_%, $(DIRS)): dummy
- $(MAKE) -C $(patsubst _dirclean_%, %, $@) clean
-
-.PHONY: dummy
+top_srcdir=$(TOPDIR)
+top_builddir=../
+include $(top_builddir)Rules.mak
+all: libs
+include Makefile.in
+include $(top_srcdir)Makerules
Modified: branches/uClibc-nptl/ldso/ldso/Makefile
===================================================================
--- branches/uClibc-nptl/ldso/ldso/Makefile 2005-11-20 00:49:28 UTC (rev 12435)
+++ branches/uClibc-nptl/ldso/ldso/Makefile 2005-11-20 01:24:15 UTC (rev 12436)
@@ -1,106 +1,15 @@
# Makefile for uClibc
#
-# Copyright (C) 2000-2004 Erik Andersen <andersen at uclibc.org>
+# Copyright (C) 2000-2005 Erik Andersen <andersen at uclibc.org>
#
-# This program 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.
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
#
-# This program is distributed in the hope that 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 this program; if not, write to the Free Software Foundation, Inc.,
-# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
TOPDIR=../../
-include $(TOPDIR)Rules.mak
-XXFLAGS=$(XWARNINGS) $(SSP_DISABLE_FLAGS)
-
-ifeq ($(DODEBUG),y)
-# Not really much point in including debugging info, since gdb
-# can't really debug ldso, since gdb requires help from ldso to
-# debug things....
-XXFLAGS+=-Os -g
-else
-XXFLAGS+=$(OPTIMIZATION)
-endif
-ifeq ($(UCLIBC_HAS_THREADS_NATIVE),y)
-XXFLAGS+= -DUCLIBC_LDSO=\"$(UCLIBC_LDSO)\" $(XARCH_CFLAGS) $(CPU_CFLAGS) $(PICFLAG) \
- -DUCLIBC_RUNTIME_PREFIX=\"$(RUNTIME_PREFIX)\" \
- -fno-builtin -nostdinc -D_LIBC -I$(TOPDIR)ldso/include -I. -I$(TOPDIR)include $(PTINC) -DSHARED -DIS_IN_rtld
-else
-XXFLAGS+= -DUCLIBC_LDSO=\"$(UCLIBC_LDSO)\" $(XARCH_CFLAGS) $(CPU_CFLAGS) $(PICFLAG) \
- -DUCLIBC_RUNTIME_PREFIX=\"$(RUNTIME_PREFIX)\" \
- -fno-builtin -nostdinc -D_LIBC -I$(TOPDIR)ldso/include -I. -I$(TOPDIR)include
-endif
-
-XXFLAGS+=-isystem $(shell $(CC) -print-file-name=include)
-
-ifeq ($(strip $(SUPPORT_LD_DEBUG)),y)
-XXFLAGS+=-D__SUPPORT_LD_DEBUG__
-endif
-
-ifeq ($(strip $(SUPPORT_LD_DEBUG_EARLY)),y)
-XXFLAGS+=-D__SUPPORT_LD_DEBUG_EARLY__
-endif
-
-#This stuff will not work with -fomit-frame-pointer
-XXFLAGS := $(XXFLAGS:-fomit-frame-pointer=)
-
-# BEWARE!!! At least mips* will die if -O0 is used!!!
-ifeq ($(strip $(TARGET_ARCH)),mips)
-XXFLAGS := $(XXFLAGS:-O0=-O1)
-endif
-
-ASFLAGS=$(XXFLAGS)
-ifeq ($(UCLIBC_BUILD_NOEXECSTACK),y)
-ASFLAGS+=$(call check_as,--noexecstack)
-endif
-
-LDFLAGS=$(CPU_LDFLAGS-y) -e _start -z now -Bsymbolic -shared --warn-common --export-dynamic --sort-common \
- -z combreloc --discard-locals --discard-all --no-undefined
-
-ifeq ($(UCLIBC_BUILD_RELRO),y)
-LDFLAGS+=-z relro
-endif
-
-ifneq ($(strip $(SUPPORT_LD_DEBUG)),y)
-LDFLAGS+=-s
-endif
-
-LIB_NAME=ld-uClibc
-SO_LIB_NAME=$(TOPDIR)lib/$(UCLIBC_LDSO)
-SO_FULL_NAME=$(LIB_NAME)-$(MAJOR_VERSION).$(MINOR_VERSION).$(SUBLEVEL).so
-
-CSRC= ldso.c
-COBJS=$(patsubst %.c,%.o, $(CSRC))
-
-ASRC=$(wildcard $(TARGET_ARCH)/*.S)
-AOBJS=$(patsubst %.S,%.o, $(ASRC))
-
-OBJS=$(AOBJS) $(COBJS)
-
-all: $(SO_LIB_NAME)
-
-$(SO_LIB_NAME): $(OBJS)
- $(INSTALL) -d $(TOPDIR)lib
- $(RM) $(TOPDIR)lib/$(SO_FULL_NAME) $(SO_LIB_NAME)
- $(LD) $(LDFLAGS) -soname=$(UCLIBC_LDSO) \
- -o $(TOPDIR)lib/$(SO_FULL_NAME) $(OBJS) $(LIBGCC)
- $(LN) -sf $(SO_FULL_NAME) $(SO_LIB_NAME)
-
-$(COBJS): %.o : %.c
- $(CC) $(XXFLAGS) -c $< -o $@
- $(STRIPTOOL) -x -R .note -R .comment $*.o
-
-$(AOBJS): %.o : %.S
- $(CC) $(ASFLAGS) -c $< -o $@
- $(STRIPTOOL) -x -R .note -R .comment $*.o
-
-clean:
- $(RM) *.o */*.o *~ core
+top_srcdir=$(TOPDIR)
+top_builddir=../../
+include $(top_builddir)Rules.mak
+all: libs
+include Makefile.in
+include $(top_srcdir)Makerules
Modified: branches/uClibc-nptl/ldso/ldso/Makefile.in
===================================================================
--- branches/uClibc-nptl/ldso/ldso/Makefile.in 2005-11-20 00:49:28 UTC (rev 12435)
+++ branches/uClibc-nptl/ldso/ldso/Makefile.in 2005-11-20 01:24:15 UTC (rev 12436)
@@ -28,6 +28,10 @@
CFLAGS-ldso += -Os -g
endif
+ifeq ($(UCLIBC_HAS_THREADS_NATIVE),y)
+CFLAGS-ldso += $(PTINC) -DSHARED
+endif
+
CFLAGS-ldso/ldso/$(TARGET_ARCH)/ := $(CFLAGS-ldso)
ifneq ($(SUPPORT_LD_DEBUG),y)
Modified: branches/uClibc-nptl/ldso/ldso/i386/dl-sysdep.h
===================================================================
--- branches/uClibc-nptl/ldso/ldso/i386/dl-sysdep.h 2005-11-20 00:49:28 UTC (rev 12435)
+++ branches/uClibc-nptl/ldso/ldso/i386/dl-sysdep.h 2005-11-20 01:24:15 UTC (rev 12436)
@@ -79,3 +79,62 @@
*reloc_addr += load_off;
} while (--relative_count);
}
+
+/*
+ * These were taken from the 'dl-sysdep.h' files in the 'nptl' directory
+ * in glibc.
+ */
+#if USE_TLS
+# ifdef CONFIG_686
+/* Traditionally system calls have been made using int $0x80. A
+ second method was introduced which, if possible, will use the
+ sysenter/syscall instructions. To signal the presence and where to
+ find the code the kernel passes an AT_SYSINFO value in the
+ auxiliary vector to the application. */
+# define NEED_DL_SYSINFO 1
+# define USE_DL_SYSINFO 1
+
+# if defined NEED_DL_SYSINFO && !defined __ASSEMBLER__
+extern void _dl_sysinfo_int80 (void) attribute_hidden;
+# define DL_SYSINFO_DEFAULT (uintptr_t) _dl_sysinfo_int80
+# define DL_SYSINFO_IMPLEMENTATION \
+ asm (".text\n\t" \
+ ".type _dl_sysinfo_int80, at function\n\t" \
+ ".hidden _dl_sysinfo_int80\n" \
+ CFI_STARTPROC "\n" \
+ "_dl_sysinfo_int80:\n\t" \
+ "int $0x80;\n\t" \
+ "ret;\n\t" \
+ CFI_ENDPROC "\n" \
+ ".size _dl_sysinfo_int80,.-_dl_sysinfo_int80\n\t" \
+ ".previous");
+# endif
+# else
+/* Traditionally system calls have been made using int $0x80. A
+ second method was introduced which, if possible, will use the
+ sysenter/syscall instructions. To signal the presence and where to
+ find the code the kernel passes an AT_SYSINFO value in the
+ auxiliary vector to the application.
+ sysenter/syscall is not useful on i386 through i586, but the dynamic
+ linker and dl code in libc.a has to be able to load i686 compiled
+ libraries. */
+# define NEED_DL_SYSINFO 1
+# undef USE_DL_SYSINFO
+
+# if defined NEED_DL_SYSINFO && !defined __ASSEMBLER__
+extern void _dl_sysinfo_int80 (void) attribute_hidden;
+# define DL_SYSINFO_DEFAULT (uintptr_t) _dl_sysinfo_int80
+# define DL_SYSINFO_IMPLEMENTATION \
+ asm (".text\n\t" \
+ ".type _dl_sysinfo_int80, at function\n\t" \
+ ".hidden _dl_sysinfo_int80\n\t" \
+ CFI_STARTPROC "\n" \
+ "_dl_sysinfo_int80:\n\t" \
+ "int $0x80;\n\t" \
+ "ret;\n\t" \
+ CFI_ENDPROC "\n" \
+ ".size _dl_sysinfo_int80,.-_dl_sysinfo_int80\n\t" \
+ ".previous;");
+# endif
+# endif /* CONFIG_686 */
+#endif /* USE_TLS */
Modified: branches/uClibc-nptl/ldso/ldso/mips/dl-sysdep.h
===================================================================
--- branches/uClibc-nptl/ldso/ldso/mips/dl-sysdep.h 2005-11-20 00:49:28 UTC (rev 12435)
+++ branches/uClibc-nptl/ldso/ldso/mips/dl-sysdep.h 2005-11-20 01:24:15 UTC (rev 12436)
@@ -126,4 +126,3 @@
/* No REALTIVE relocs in MIPS? */
}
#endif /* !_ARCH_DL_SYSDEP */
-
Modified: branches/uClibc-nptl/ldso/libdl/Makefile
===================================================================
--- branches/uClibc-nptl/ldso/libdl/Makefile 2005-11-20 00:49:28 UTC (rev 12435)
+++ branches/uClibc-nptl/ldso/libdl/Makefile 2005-11-20 01:24:15 UTC (rev 12436)
@@ -1,104 +1,15 @@
# Makefile for uClibc
#
-# Copyright (C) 2000 by Lineo, inc.
-# Copyright (C) 2000-2002 Erik Andersen <andersen at uclibc.org>
+# Copyright (C) 2000-2005 Erik Andersen <andersen at uclibc.org>
#
-# This program 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.
+# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
#
-# This program is distributed in the hope that 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 this program; if not, write to the Free Software Foundation, Inc.,
-# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-
TOPDIR=../../
-include $(TOPDIR)Rules.mak
-XXFLAGS=$(XWARNINGS) $(SSP_CFLAGS) $(SSP_ALL_CFLAGS)
-ifeq ($(DODEBUG),y)
-XXFLAGS+=-O0 -g3
-else
-XXFLAGS+=$(OPTIMIZATION)
-endif
-ifeq ($(UCLIBC_HAS_THREADS_NATIVE),y)
-XXFLAGS+= $(XARCH_CFLAGS) $(CPU_CFLAGS) \
- -DUCLIBC_RUNTIME_PREFIX=\"$(RUNTIME_PREFIX)\" \
- -fno-builtin -nostdinc -D_LIBC -I$(TOPDIR)ldso/include -I$(TOPDIR)ldso/ldso -I$(TOPDIR)include $(PTINC) -DIS_IN_rtld
-else
-XXFLAGS+= $(XARCH_CFLAGS) $(CPU_CFLAGS) \
- -DUCLIBC_RUNTIME_PREFIX=\"$(RUNTIME_PREFIX)\" \
- -fno-builtin -nostdinc -D_LIBC -I$(TOPDIR)ldso/include -I$(TOPDIR)ldso/ldso -I$(TOPDIR)include
-endif
-
-XXFLAGS+=-isystem $(shell $(CC) -print-file-name=include)
-ifeq ($(strip $(SUPPORT_LD_DEBUG)),y)
-XXFLAGS+=-D__SUPPORT_LD_DEBUG__
-endif
-XXFLAGS_NOPIC:=$(XXFLAGS)
-ifeq ($(DOPIC),y)
- XXFLAGS += $(PICFLAG) -D__LIBDL_SHARED__
-ifeq ($(UCLIBC_HAS_THREADS_NATIVE),y)
- XXFLAGS += -DSHARED
-endif
-endif
-
-# BEWARE!!! At least mips* will die if -O0 is used!!!
-ifeq ($(strip $(TARGET_ARCH)),mips)
-XXFLAGS := $(XXFLAGS:-O0=-O1)
-endif
-
-LIB_NAME=libdl
-AR_LIB_NAME=$(TOPDIR)lib/$(LIB_NAME).a
-SO_LIB_NAME=$(TOPDIR)lib/$(LIB_NAME).so
-SO_FULL_NAME=$(LIB_NAME)-$(MAJOR_VERSION).$(MINOR_VERSION).$(SUBLEVEL).so
-
-CSRC = libdl.c
-OBJS = libdl.o
-PIC_OBJS = libdl_pic.o
-
-# we do not get here, do we need a libdl.a, if ld.so is not ours?
-#ifeq ($(strip $(HAVE_SHARED)),y)
-all: $(AR_LIB_NAME) $(SO_LIB_NAME)
-#else
-#all: $(AR_LIB_NAME)
-#endif
-
-$(AR_LIB_NAME): $(OBJS) ../ldso/$(TARGET_ARCH)/resolve.o
- $(INSTALL) -d $(TOPDIR)lib
- $(RM) $(AR_LIB_NAME)
- $(AR) $(ARFLAGS) $(AR_LIB_NAME) $(OBJS) ../ldso/$(TARGET_ARCH)/resolve.o
-
-shared_$(LIB_NAME).a: $(PIC_OBJS)
- $(RM) shared_$(LIB_NAME).a
- $(AR) $(ARFLAGS) shared_$(LIB_NAME).a $(PIC_OBJS)
-
-# this will be built only on the second round, when libc.so is present,
-# else we would link against libc.a
-$(SO_LIB_NAME): shared_$(LIB_NAME).a
- if [ -f $(TOPDIR)lib/libc.so ] ; then \
- $(RM) $(TOPDIR)lib/$(SO_FULL_NAME) $(SO_LIB_NAME).$(MAJOR_VERSION) $(SO_LIB_NAME) ; \
- $(LD) $(LDFLAGS) -soname=$(LIB_NAME).so.$(MAJOR_VERSION) \
- -o $(TOPDIR)lib/$(SO_FULL_NAME) -fini dl_cleanup --whole-archive shared_$(LIB_NAME).a \
- --no-whole-archive $(TOPDIR)libc/misc/internals/interp.o \
- -L$(TOPDIR)lib -lc $(LDADD_LIBFLOAT) $(TOPDIR)lib/$(UCLIBC_LDSO) $(LIBGCC) ; \
- $(LN) -sf $(SO_FULL_NAME) $(SO_LIB_NAME).$(MAJOR_VERSION) ; \
- $(LN) -sf $(SO_FULL_NAME) $(SO_LIB_NAME) ; \
- fi
-
-$(OBJS): %.o : %.c
- $(CC) $(XXFLAGS_NOPIC) -c $< -o $@
- $(STRIPTOOL) -x -R .note -R .comment $*.o
-
-libdl_pic.o: libdl.c
- $(CC) $(XXFLAGS) -c $< -o $@
- $(STRIPTOOL) -x -R .note -R .comment $*.o
-
-clean:
- $(RM) *.[oa] *~ core
+top_srcdir=$(TOPDIR)
+top_builddir=../../
+include $(top_builddir)Rules.mak
+all: libs
+include Makefile.in
+include $(top_srcdir)Makerules
Modified: branches/uClibc-nptl/ldso/libdl/Makefile.in
===================================================================
--- branches/uClibc-nptl/ldso/libdl/Makefile.in 2005-11-20 00:49:28 UTC (rev 12435)
+++ branches/uClibc-nptl/ldso/libdl/Makefile.in 2005-11-20 01:24:15 UTC (rev 12436)
@@ -16,6 +16,10 @@
CFLAGS-libdl += -D__SUPPORT_LD_DEBUG__
endif
+ifeq ($(UCLIBC_HAS_THREADS_NATIVE),y)
+CFLAGS-libdl += $(PTINC) -DSHARED -DIS_IN_rtld
+endif
+
LDFLAGS-libdl.so := $(LDFLAGS) -fini dl_cleanup
LIBS-libdl.so := $(LIBS) $(top_builddir)lib/$(UCLIBC_LDSO)
Deleted: branches/uClibc-nptl/libpthread/nptl/sysdeps/generic/dl-sysdep.h
===================================================================
--- branches/uClibc-nptl/libpthread/nptl/sysdeps/generic/dl-sysdep.h 2005-11-20 00:49:28 UTC (rev 12435)
+++ branches/uClibc-nptl/libpthread/nptl/sysdeps/generic/dl-sysdep.h 2005-11-20 01:24:15 UTC (rev 12436)
@@ -1,35 +0,0 @@
-/* System-specific settings for dynamic linker code. Generic version.
- Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along 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 multiple inclusion protection need here because it's just macros.
- We don't want to use _DL_SYSDEP_H in case we are #include_next'd. */
-
-/* This macro must be defined to either 0 or 1.
-
- If 1, then an errno global variable hidden in ld.so will work right with
- all the errno-using libc code compiled for ld.so, and there is never a
- need to share the errno location with libc. This is appropriate only if
- all the libc functions that ld.so uses are called without PLT and always
- get the versions linked into ld.so rather than the libc ones. */
-
-#ifdef IS_IN_rtld
-# define RTLD_PRIVATE_ERRNO 1
-#else
-# define RTLD_PRIVATE_ERRNO 0
-#endif
Deleted: branches/uClibc-nptl/libpthread/nptl/sysdeps/unix/sysv/linux/i386/dl-sysdep.h
===================================================================
--- branches/uClibc-nptl/libpthread/nptl/sysdeps/unix/sysv/linux/i386/dl-sysdep.h 2005-11-20 00:49:28 UTC (rev 12435)
+++ branches/uClibc-nptl/libpthread/nptl/sysdeps/unix/sysv/linux/i386/dl-sysdep.h 2005-11-20 01:24:15 UTC (rev 12436)
@@ -1,64 +0,0 @@
-/* System-specific settings for dynamic linker code. IA-32 version.
- Copyright (C) 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_SYSDEP_H
-#define _DL_SYSDEP_H 1
-
-/* This macro must be defined to either 0 or 1.
-
- If 1, then an errno global variable hidden in ld.so will work right with
- all the errno-using libc code compiled for ld.so, and there is never a
- need to share the errno location with libc. This is appropriate only if
- all the libc functions that ld.so uses are called without PLT and always
- get the versions linked into ld.so rather than the libc ones. */
-
-#ifdef IS_IN_rtld
-# define RTLD_PRIVATE_ERRNO 1
-#else
-# define RTLD_PRIVATE_ERRNO 0
-#endif
-
-/* Traditionally system calls have been made using int $0x80. A
- second method was introduced which, if possible, will use the
- sysenter/syscall instructions. To signal the presence and where to
- find the code the kernel passes an AT_SYSINFO value in the
- auxiliary vector to the application.
- sysenter/syscall is not useful on i386 through i586, but the dynamic
- linker and dl code in libc.a has to be able to load i686 compiled
- libraries. */
-#define NEED_DL_SYSINFO 1
-#undef USE_DL_SYSINFO
-
-#if defined NEED_DL_SYSINFO && !defined __ASSEMBLER__
-extern void _dl_sysinfo_int80 (void) attribute_hidden;
-# define DL_SYSINFO_DEFAULT (uintptr_t) _dl_sysinfo_int80
-# define DL_SYSINFO_IMPLEMENTATION \
- asm (".text\n\t" \
- ".type _dl_sysinfo_int80, at function\n\t" \
- ".hidden _dl_sysinfo_int80\n\t" \
- CFI_STARTPROC "\n" \
- "_dl_sysinfo_int80:\n\t" \
- "int $0x80;\n\t" \
- "ret;\n\t" \
- CFI_ENDPROC "\n" \
- ".size _dl_sysinfo_int80,.-_dl_sysinfo_int80\n\t" \
- ".previous;");
-#endif
-
-#endif /* dl-sysdep.h */
Deleted: branches/uClibc-nptl/libpthread/nptl/sysdeps/unix/sysv/linux/i386/i686/dl-sysdep.h
===================================================================
--- branches/uClibc-nptl/libpthread/nptl/sysdeps/unix/sysv/linux/i386/i686/dl-sysdep.h 2005-11-20 00:49:28 UTC (rev 12435)
+++ branches/uClibc-nptl/libpthread/nptl/sysdeps/unix/sysv/linux/i386/i686/dl-sysdep.h 2005-11-20 01:24:15 UTC (rev 12436)
@@ -1,61 +0,0 @@
-/* System-specific settings for dynamic linker code. IA-32 version.
- Copyright (C) 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_SYSDEP_H
-#define _DL_SYSDEP_H 1
-
-/* This macro must be defined to either 0 or 1.
-
- If 1, then an errno global variable hidden in ld.so will work right with
- all the errno-using libc code compiled for ld.so, and there is never a
- need to share the errno location with libc. This is appropriate only if
- all the libc functions that ld.so uses are called without PLT and always
- get the versions linked into ld.so rather than the libc ones. */
-
-#ifdef IS_IN_rtld
-# define RTLD_PRIVATE_ERRNO 1
-#else
-# define RTLD_PRIVATE_ERRNO 0
-#endif
-
-/* Traditionally system calls have been made using int $0x80. A
- second method was introduced which, if possible, will use the
- sysenter/syscall instructions. To signal the presence and where to
- find the code the kernel passes an AT_SYSINFO value in the
- auxiliary vector to the application. */
-#define NEED_DL_SYSINFO 1
-#define USE_DL_SYSINFO 1
-
-#if defined NEED_DL_SYSINFO && !defined __ASSEMBLER__
-extern void _dl_sysinfo_int80 (void) attribute_hidden;
-# define DL_SYSINFO_DEFAULT (uintptr_t) _dl_sysinfo_int80
-# define DL_SYSINFO_IMPLEMENTATION \
- asm (".text\n\t" \
- ".type _dl_sysinfo_int80, at function\n\t" \
- ".hidden _dl_sysinfo_int80\n" \
- CFI_STARTPROC "\n" \
- "_dl_sysinfo_int80:\n\t" \
- "int $0x80;\n\t" \
- "ret;\n\t" \
- CFI_ENDPROC "\n" \
- ".size _dl_sysinfo_int80,.-_dl_sysinfo_int80\n\t" \
- ".previous");
-#endif
-
-#endif /* dl-sysdep.h */
More information about the uClibc-cvs
mailing list