Remove non-ELF support

This commit is contained in:
Ulrich Drepper 2012-01-07 20:30:26 -05:00
parent 16dd419d92
commit 0269750ca6
35 changed files with 118 additions and 421 deletions

View File

@ -1,5 +1,38 @@
2012-01-07 Ulrich Drepper <drepper@gmail.com>
[BZ #13551]
* Makeconfig: Remove all but ELF support including AIX support.
* Makerules: Likewise.
* config.h.in: Likewise.
* config.make.in: Likewise.
* configure: Likewise.
* configure.in: Likewise.
* csu/Makefile: Likewise.
* csu/version.c: Likewise.
* debug/Makefile: Likewise.
* dlfcn/Makefile: Likewise.
* elf/Makefile: Likewise.
* extra-lib.mk: Likewise.
* iconv/Makefile: Likewise.
* include/libc-symbols.h: Likewise.
* include/shlib-compat.h: Likewise.
* resolv/Makefile: Likewise.
* resolv/res_libc.c: Likewise.
* rt/Makefile: Likewise.
* sysdeps/i386/asm-syntax.h: Likewise.
* sysdeps/i386/sysdep.h: Likewise.
* sysdeps/ieee754/ldbl-opt/math_ldbl_opt.h: Likewise.
* sysdeps/mach/sysdep.h: Likewise.
* sysdeps/powerpc/powerpc32/Makefile: Likewise.
* sysdeps/powerpc/powerpc64/Makefile: Likewise.
* sysdeps/s390/asm-syntax.h: Likewise.
* sysdeps/s390/s390-32/sysdep.h: Likewise.
* sysdeps/s390/s390-64/sysdep.h: Likewise.
* sysdeps/sh/sysdep.h: Likewise.
* sysdeps/unix/sparc/sysdep.h: Likewise.
* sysdeps/wordsize-32/divdi3.c: Likewise.
* sysdeps/x86_64/sysdep.h: Likewise.
* argp/Versions: Remove _argp_unlock_xxx.
[BZ #13559]

View File

@ -92,12 +92,7 @@ stack-align-test-flags =
# We have a special subdir for each binary format.
# For now, only ELF is fully supported.
ifeq ($(elf),yes)
binfmt-subdir = elf
else
# This is probably better than nothing.
binfmt-subdir = aout
endif
# Complete path to sysdep dirs.
# `configure' writes a definition of `config-sysdirs' in `config.make'.
@ -395,9 +390,7 @@ asm-CPPFLAGS =
endif
# ELF always supports init/fini sections
ifeq ($(elf),yes)
have-initfini = yes
endif
ifeq ($(have-as-needed),yes)
as-needed := -Wl,--as-needed
@ -426,7 +419,7 @@ ifndef static-start-installed-name
static-start-installed-name = $(start-installed-name)
endif
ifeq (yesyesyes,$(build-shared)$(elf)$(have-z-combreloc))
ifeq (yesyes,$(build-shared)$(have-z-combreloc))
combreloc-LDFLAGS = -Wl,-z,combreloc
LDFLAGS.so += $(combreloc-LDFLAGS)
LDFLAGS-rtld += $(combreloc-LDFLAGS)
@ -496,13 +489,12 @@ ifndef +link-bounded
$(link-extra-libs-bounded) $(link-libc-bounded) $(+postctor) $(+postinit)
endif
ifndef config-LDFLAGS
ifeq (yesyes,$(build-shared)$(elf))
ifeq (yes,$(build-shared))
config-LDFLAGS = -Wl,-dynamic-linker=$(slibdir)/$(rtld-installed-name)
endif
endif
ifndef link-libc
ifeq (yes,$(build-shared))
ifeq ($(elf),yes)
# We need the versioned name of libc.so in the deps of $(others) et al
# so that the symlink to libc.so is created before anything tries to
# run the linked programs.
@ -512,7 +504,6 @@ link-libc = -Wl,-rpath-link=$(rpath-link) \
$(as-needed) $(common-objpfx)elf/ld.so $(no-as-needed) $(gnulib)
# This is how to find at build-time things that will be installed there.
rpath-dirs = math elf dlfcn nss nis rt resolv crypt
endif
rpath-link = \
$(common-objdir):$(subst $(empty) ,:,$(patsubst ../$(subdir),.,$(rpath-dirs:%=$(common-objpfx)%)))
elfobjdir := $(patsubst ../$(subdir),.,$(common-objpfx)elf)
@ -524,12 +515,10 @@ endif
endif
# Differences in the linkers on the various platforms.
ifeq ($(elf),yes)
LDFLAGS-rpath-ORIGIN = -Wl,-rpath,'$$ORIGIN'
LDFLAGS-soname-fname = -Wl,-soname,$(@F)
LDFLAGS-rdynamic = -rdynamic
LDFLAGS-Bsymbolic = -Bsymbolic
endif
# Choose the default search path for the dynamic linker based on
# where we will install libraries.
@ -571,7 +560,6 @@ gnulib := -lgcc $(libgcc_eh)
static-gnulib := -lgcc -lgcc_eh $(libunwind)
libc.so-gnulib := -lgcc
endif
ifeq ($(elf),yes)
+preinit = $(addprefix $(csu-objpfx),crti.o)
+postinit = $(addprefix $(csu-objpfx),crtn.o)
+prector = `$(CC) $(sysdep-LDFLAGS) --print-file-name=crtbegin.o`
@ -580,14 +568,13 @@ ifeq ($(elf),yes)
+prectorS = `$(CC) $(sysdep-LDFLAGS) --print-file-name=crtbeginS.o`
+postctorS = `$(CC) $(sysdep-LDFLAGS) --print-file-name=crtendS.o`
+interp = $(addprefix $(elf-objpfx),interp.os)
endif
csu-objpfx = $(common-objpfx)csu/
elf-objpfx = $(common-objpfx)elf/
# How to run a program we just linked with our library.
# The program binary is assumed to be $(word 2,$^).
built-program-file = $(dir $(word 2,$^))$(notdir $(word 2,$^))
ifeq (yesyes,$(build-shared)$(elf))
ifeq (yes,$(build-shared))
comma = ,
sysdep-library-path = \
$(subst $(empty) ,:,$(strip $(patsubst -Wl$(comma)-rpath-link=%, %,\
@ -915,29 +902,12 @@ endif
endif # build-shared
ifeq ($(elf),yes)
dlfcn = dlfcn
ifeq ($(build-shared),yes)
libdl = $(common-objpfx)dlfcn/libdl.so$(libdl.so-version)
else
libdl = $(common-objpfx)dlfcn/libdl.a
endif
else
ifneq (,$(findstring aix,$(config-os)))
ifeq ($(build-shared),yes)
dlfcn = dlfcn
libdl = $(common-objpfx)dlfcn/libdl.so$(libdl.so-version)
else
# No libdl without shared libs on AIX
dlfcn =
libdl =
endif
else
# No ELF, no AIX - no libdl, at least for now.
dlfcn =
libdl =
endif
endif
# These are the subdirectories containing the library source. The order
# is more or less arbitrary. The sorting step will take care of the

View File

@ -408,7 +408,7 @@ endif
# Modify the list of routines we build for different targets
ifeq (yesyes,$(build-shared)$(elf))
ifeq (yes,$(build-shared))
ifndef libc.so-version
# Undefine this because it can't work when we libc.so is unversioned.
static-only-routines =
@ -449,13 +449,8 @@ endif
# $(LDLIBS-%.so) may contain -l switches to generate run-time dependencies
# on other shared objects.
lib%.so: lib%_pic.a $(+preinit) $(+postinit) $(+interp)
ifneq (,$(findstring aix,$(config-os)))
(echo '#!'; \
dump -g $< | sed '1,6d' | cut -f2 | sort | uniq) > $(<:a=exp)
endif
$(build-shlib)
ifeq ($(elf),yes)
define build-shlib-helper
$(LINK.o) -shared $(static-libgcc) -Wl,-O1 $(sysdep-LDFLAGS) \
$(if $($(@F)-no-z-defs)$(no-z-defs),,-Wl,-z,defs) $(config-LDFLAGS) \
@ -465,20 +460,7 @@ $(LINK.o) -shared $(static-libgcc) -Wl,-O1 $(sysdep-LDFLAGS) \
$(LDFLAGS.so) $(LDFLAGS-$(@F:lib%.so=%).so) \
-L$(subst :, -L,$(rpath-link)) -Wl,-rpath-link=$(rpath-link)
endef
else
ifneq (,$(findstring aix,$(config-os)))
define build-shlib-helper
$(LINK.o) -Wl,-G,-bM:SRE,-bnoentry,-bE:$(<:a=exp) \
$(sysdep-LDFLAGS) $(config-LDFLAGS) $(extra-B-$(@F:lib%.so=%).so) \
$(extra-B-$(@F:lib%.so=%).so) $(load-map-file) \
$(LDFLAGS.so) $(LDFLAGS-$(@F:lib%.so=%).so) \
-L$(subst :, -L,$(rpath-link))
endef
else
endif
endif
ifeq (yes,$(elf))
ifeq (yes,$(use-default-link))
# If the linker is good enough, we can let it use its default linker script.
shlib-lds =
@ -527,30 +509,7 @@ define build-shlib
$(build-shlib-helper) -o $@ $(shlib-lds-flags) \
$(csu-objpfx)abi-note.o $(build-shlib-objlist)
endef
else
ifneq (,$(findstring aix,$(config-os)))
define build-shlib
$(build-shlib-helper) \
-o $@ \
$(filter-out $(map-file) $(+preinit) $(+postinit),$^) \
$(no-whole-archive) $(LDLIBS-$(@F:lib%.so=%).so)
endef
define build-shlib
$(build-shlib-helper) \
$(build-shlib-objlist)
endef
endif
endif
ifneq (,$(findstring aix,$(config-os)))
define build-module-helper
$(LINK.o) -Wl,-G -Wl,-bM:SRE -Wl,-bnoentry -Wl,-bexpall \
$(sysdep-LDFLAGS) $(config-LDFLAGS) \
$(load-map-file) \
$(LDFLAGS.so) $(LDFLAGS-$(@F:%.so=%).so) \
-L$(subst :, -L,$(rpath-link)) -Wl,-L=$(rpath-link)
endef
else
define build-module-helper
$(LINK.o) -shared $(static-libgcc) $(sysdep-LDFLAGS) $(config-LDFLAGS) \
$(if $($(@F)-no-z-defs)$(no-z-defs),,-Wl,-z,defs) \
@ -558,11 +517,9 @@ $(LINK.o) -shared $(static-libgcc) $(sysdep-LDFLAGS) $(config-LDFLAGS) \
$(LDFLAGS.so) $(LDFLAGS-$(@F:%.so=%).so) \
-L$(subst :, -L,$(rpath-link)) -Wl,-rpath-link=$(rpath-link)
endef
endif
# This macro is similar to build-shlib but it does not define a soname
# and it does not depend on the destination name to start with `lib'.
ifeq (yes,$(elf))
# binutils only position loadable notes into the first page for binaries,
# not for shared objects
define build-module
@ -574,23 +531,6 @@ $(build-module-helper) -o $@ $(shlib-lds-flags) \
$(csu-objpfx)abi-note.o \
-Wl,--as-needed $(build-module-objlist) -Wl,--no-as-needed
endef
else
ifneq (,$(findstring aix,$(config-os)))
define build-module
$(build-module-helper) \
-o $@ \
$(filter-out $(map-file) $(+preinit) $(+postinit),$^) \
$(no-whole-archive) $(LDLIBS-$(@F:%.so=%).so)
endef
else
define build-module
define build-module
$(build-module-helper) \
-o $@ \
$(build-module-objlist)
endef
endif
endif
build-module-helper-objlist = \
$(patsubst %_pic.a,$(whole-archive) %_pic.a $(no-whole-archive),\
@ -617,7 +557,6 @@ endif
# contains some of libc_pic.a already, which will prevent the COMMONs
# from being allocated in libc.so, which introduces evil dependencies
# between libc.so and ld.so, which can make it impossible to upgrade.
ifeq ($(elf),yes)
$(common-objpfx)libc_pic.os: $(common-objpfx)libc_pic.a
$(LINK.o) -nostdlib -nostartfiles -r -o $@ \
$(LDFLAGS-c_pic.os) -Wl,-d $(whole-archive) $^ -o $@
@ -655,23 +594,6 @@ $(common-objpfx)libc.so$(libc.so-version): $(common-objpfx)libc.so
common-generated += libc.so$(libc.so-version)
endif
endif
else
ifneq (,$(findstring aix,$(config-os)))
$(common-objpfx)libc.so: $(common-objpfx)libc_pic.a
@rm -f $@
(echo '#!'; \
dump -g $^ | sed '1,6d' | cut -f2 | sort | uniq) > $(^:a=exp)
sed '/__mulh/d;/__mull/d;/__divss/d;/__divus/d;/__quoss/d;/__quous/d' \
/lib/syscalls.exp > $(common-objpfx)syscalls.exp
$(LINK.o) -G -bM:SRE -bnoentry -bE:$(^:a=exp) \
-bE:$(common-objpfx)syscalls.exp \
-bI:$(common-objpfx)syscalls.exp \
-L$(common-objpfx) -o $@ $^
# AIX runtime ld wants libc.so to be libc.a(shr.o) hardwired
cp $@ $(common-objpfx)shr.o
$(AR) $(ARFLAGS) $(common-objpfx)libc.a $(common-objpfx)shr.o
endif
endif
# Figure out the source filenames in this directory.

4
NEWS
View File

@ -9,8 +9,8 @@ Version 2.16
* The following bugs are resolved with this release:
13526, 13527, 13528, 13529, 13531, 13532, 13533, 13547, 13552, 13555,
13559
13526, 13527, 13528, 13529, 13531, 13532, 13533, 13547, 13551, 13552,
13555, 13559
* ISO C11 support:

View File

@ -8,11 +8,6 @@
# error "glibc must not be compiled with -ffast-math"
#endif
/* Define if using ELF, which supports weak symbols.
This implies HAVE_ASM_WEAK_DIRECTIVE and NO_UNDERSCORES; set by
--with-elf. */
#undef HAVE_ELF
/* Define if building with SELinux support. Set by --with-selinux. */
#undef HAVE_SELINUX
@ -22,9 +17,6 @@
/* Defined if building with SELinux support & libcap libs are detected. */
#undef HAVE_LIBCAP
/* Define if using XCOFF. Set by --with-xcoff. */
#undef HAVE_XCOFF
/* Define if C symbols are asm symbols. Don't define if C symbols
have a `_' prepended to make the asm symbol. */
#undef NO_UNDERSCORES

View File

@ -44,7 +44,6 @@ sysincludes = @SYSINCLUDES@
c++-sysincludes = @CXX_SYSINCLUDES@
all-warnings = @all_warnings@
elf = @elf@
have-z-combreloc = @libc_cv_z_combreloc@
have-z-execstack = @libc_cv_z_execstack@
have-initfini = @libc_cv_have_initfini@

43
configure vendored
View File

@ -616,8 +616,6 @@ profile
libc_cv_pic_default
shared
static
xcoff
elf
ldd_rewrite_script
use_ldconfig
libc_cv_as_i686
@ -769,7 +767,6 @@ with_fp
with_binutils
with_elf
with_selinux
with_xcoff
with_headers
with_default_link
enable_sanity_checks
@ -1458,7 +1455,6 @@ Optional Packages:
--with-binutils=PATH specify location of binutils (as and ld)
--with-elf if using the ELF object format
--with-selinux if building with SELinux support
--with-xcoff if using the XCOFF object format
--with-headers=PATH location of system headers to use (for example
/usr/src/linux/include) [default=compiler default]
--with-default-link do not use explicit linker scripts
@ -3545,14 +3541,6 @@ else
fi
# Check whether --with-xcoff was given.
if test "${with_xcoff+set}" = set; then :
withval=$with_xcoff; xcoff=$withval
else
xcoff=no
fi
# Check whether --with-headers was given.
if test "${with_headers+set}" = set; then :
@ -3817,20 +3805,7 @@ test "$config_vendor" = unknown && config_vendor=
config_os="`echo $config_os | sed 's/^unknown-//'`"
# Some configurations imply other options.
case "$host_os" in
# i586-linuxaout is mangled into i586-pc-linux-gnuaout
linux*ecoff* | linux*aout* | gnu*aout* | gnu*ecoff*)
;;
gnu* | linux* | freebsd* | netbsd* | sysv4* | solaris2* | irix6*)
# These systems (almost) always use the ELF format.
elf=yes
;;
aix*)
# These systems are always xcoff
xcoff=yes
elf=no
;;
esac
elf=yes
# The configure fragment of an add-on port can modify these to supplement
# or override the table in the case statement below. No fragment should
@ -4017,7 +3992,7 @@ fi
###
if test -z "$enable_hacker_mode" && test x"$libc_config_ok" != xyes; then
case "$machine-$host_os" in
*-linux* | *-gnu* | arm*-none* | powerpc-aix4.3.*)
*-linux* | *-gnu* | arm*-none*)
;;
*)
echo "*** The GNU C library is currently not available for this platform."
@ -4223,10 +4198,6 @@ irix6*)
base_os=unix/sysv/irix6/$os ;;
solaris[2-9]*)
base_os=unix/sysv/sysv4 ;;
hpux*)
base_os=unix/sysv/hpux/$os ;;
aix4.3*)
base_os=unix/sysv/aix/aix4.3 ;;
none)
base_os=standalone ;;
esac
@ -7930,16 +7901,6 @@ fi
if test $elf = yes; then
$as_echo "#define HAVE_ELF 1" >>confdefs.h
fi
if test $xcoff = yes; then
$as_echo "#define HAVE_XCOFF 1" >>confdefs.h
fi
if test $shared = default; then
shared=$elf

View File

@ -87,11 +87,6 @@ AC_ARG_WITH([selinux],
[if building with SELinux support]),
[with_selinux=$withval],
[with_selinux=auto])
AC_ARG_WITH([xcoff],
AC_HELP_STRING([--with-xcoff],
[if using the XCOFF object format]),
[xcoff=$withval],
[xcoff=no])
AC_ARG_WITH([headers],
AC_HELP_STRING([--with-headers=PATH],
@ -308,20 +303,7 @@ test "$config_vendor" = unknown && config_vendor=
config_os="`echo $config_os | sed 's/^unknown-//'`"
# Some configurations imply other options.
case "$host_os" in
# i586-linuxaout is mangled into i586-pc-linux-gnuaout
linux*ecoff* | linux*aout* | gnu*aout* | gnu*ecoff*)
;;
gnu* | linux* | freebsd* | netbsd* | sysv4* | solaris2* | irix6*)
# These systems (almost) always use the ELF format.
elf=yes
;;
aix*)
# These systems are always xcoff
xcoff=yes
elf=no
;;
esac
elf=yes
# The configure fragment of an add-on port can modify these to supplement
# or override the table in the case statement below. No fragment should
@ -507,7 +489,7 @@ AC_SUBST(add_on_subdirs)
###
if test -z "$enable_hacker_mode" && test x"$libc_config_ok" != xyes; then
case "$machine-$host_os" in
*-linux* | *-gnu* | arm*-none* | powerpc-aix4.3.*)
*-linux* | *-gnu* | arm*-none*)
;;
*)
echo "*** The GNU C library is currently not available for this platform."
@ -670,10 +652,6 @@ irix6*)
base_os=unix/sysv/irix6/$os ;;
solaris[2-9]*)
base_os=unix/sysv/sysv4 ;;
hpux*)
base_os=unix/sysv/hpux/$os ;;
aix4.3*)
base_os=unix/sysv/aix/aix4.3 ;;
none)
base_os=standalone ;;
esac
@ -2334,14 +2312,6 @@ AC_SUBST(libc_cv_as_i686)
AC_SUBST(use_ldconfig)
AC_SUBST(ldd_rewrite_script)
AC_SUBST(elf) AC_SUBST(xcoff)
if test $elf = yes; then
AC_DEFINE(HAVE_ELF)
fi
if test $xcoff = yes; then
AC_DEFINE(HAVE_XCOFF)
fi
AC_SUBST(static)
AC_SUBST(shared)
if test $shared = default; then

View File

@ -1,5 +1,5 @@
# Makefile for csu code for GNU C library.
# Copyright (C) 1995-2004, 2005, 2006, 2010 Free Software Foundation, Inc.
# Copyright (C) 1995-2006, 2010, 2012 Free Software Foundation, Inc.
# This file is part of the GNU C Library.
# The GNU C Library is free software; you can redistribute it and/or
@ -70,10 +70,8 @@ omit-deps += $(patsubst %.o,%,$(static-start-installed-name) \
install-lib += $(static-start-installed-name) g$(static-start-installed-name)
endif
ifeq (yes,$(elf))
before-compile += $(objpfx)abi-tag.h
generated += abi-tag.h
endif
ifeq ($(have-initfini),yes)
@ -124,10 +122,8 @@ $(objpfx)defs.h: $(objpfx)initfini.s
endif
ifeq (yes,$(elf))
extra-objs += abi-note.o init.o
asm-CPPFLAGS += -I$(objpfx).
endif
include ../Rules
@ -139,7 +135,6 @@ $(CC) -nostdlib -nostartfiles -r -o $@ $^
endef
ifndef start-installed-name-rule
ifeq (yes,$(elf))
# We link the ELF startfile along with a SHT_NOTE section indicating
# the kernel ABI the binaries linked with this library will require.
$(objpfx)$(start-installed-name): $(objpfx)start.o $(objpfx)abi-note.o \
@ -151,19 +146,6 @@ $(objpfx)S$(start-installed-name): $(objpfx)start.os $(objpfx)abi-note.o \
$(objpfx)b$(start-installed-name): $(objpfx)start.ob $(objpfx)abi-note.ob \
$(objpfx)init.ob
$(link-relocatable)
else
# The startfile is installed under different names, so we just call our
# source file `start.c' and copy to the installed name after compiling.
$(objpfx)$(start-installed-name): $(objpfx)start.o
rm -f $@
ln $< $@
$(objpfx)S$(start-installed-name): $(objpfx)start.os
rm -f $@
ln $< $@
$(objpfx)b$(start-installed-name): $(objpfx)start.ob
rm -f $@
ln $< $@
endif
endif
# The profiling startfile is made by linking together the normal

View File

@ -66,7 +66,6 @@ __gnu_get_libc_version (void)
}
weak_alias (__gnu_get_libc_version, gnu_get_libc_version)
#ifdef HAVE_ELF
/* This function is the entry point for the shared object.
Running the library as a program will get here. */
@ -77,4 +76,3 @@ __libc_main (void)
__libc_print_version ();
_exit (0);
}
#endif

View File

@ -1,4 +1,4 @@
# Copyright (C) 1998-2001,2004-2008, 2009, 2011 Free Software Foundation, Inc.
# Copyright (C) 1998-2001,2004-2008, 2009, 2011, 2012 Free Software Foundation, Inc.
# This file is part of the GNU C Library.
# The GNU C Library is free software; you can redistribute it and/or
@ -140,11 +140,9 @@ install-bin-script = xtrace
include ../Makeconfig
distribute += catchsegv.sh xtrace.sh
ifeq ($(elf),yes)
ifeq ($(build-shared),yes)
install-bin-script += catchsegv
endif
endif
generated = catchsegv xtrace
include ../Rules

View File

@ -1,4 +1,4 @@
# Copyright (C) 1995-2006, 2010 Free Software Foundation, Inc.
# Copyright (C) 1995-2006, 2010, 2012 Free Software Foundation, Inc.
# This file is part of the GNU C Library.
# The GNU C Library is free software; you can redistribute it and/or
@ -53,7 +53,7 @@ failtestmod.so-no-z-defs = yes
glreflib2.so-no-z-defs = yes
errmsg1mod.so-no-z-defs = yes
ifeq (yesyesyes,$(build-static)$(build-shared)$(elf))
ifeq (yesyes,$(build-static)$(build-shared))
tests += tststatic tststatic2
tests-static += tststatic tststatic2
modules-names += modstatic modstatic2
@ -134,4 +134,4 @@ $(objpfx)bug-atexit3.out: $(objpfx)bug-atexit3-lib.so
# This ensures they will load libc.so for needed symbols if loaded by
# a statically-linked program that hasn't already loaded it.
$(objpfx)libdl.so: $(common-objpfx)libc.so $(common-objpfx)libc_nonshared.a \
$(if $(filter yes,$(elf)), $(elfobjdir)/ld.so)
$(elfobjdir)/ld.so

View File

@ -1,4 +1,4 @@
# Copyright (C) 1995-2007,2008,2009,2010,2011 Free Software Foundation, Inc.
# Copyright (C) 1995-2011, 2012 Free Software Foundation, Inc.
# This file is part of the GNU C Library.
# The GNU C Library is free software; you can redistribute it and/or
@ -202,7 +202,7 @@ tests += tst-array1 tst-array2 tst-array3 tst-array4 tst-array5
endif
ifeq (yes,$(build-static))
tests-static = tst-tls1-static tst-tls2-static tst-stackguard1-static
ifeq (yesyesyes,$(build-static)$(build-shared)$(elf))
ifeq (yesyes,$(build-static)$(build-shared))
tests-static += tst-tls9-static
tst-tls9-static-ENV = \
LD_LIBRARY_PATH=$(objpfx):$(common-objpfx):$(common-objpfx)dlfcn

View File

@ -12,7 +12,7 @@ extra-libs-left := $(filter-out $(lib),$(extra-libs-left))
object-suffixes-$(lib) := $(filter-out $($(lib)-inhibit-o),$(object-suffixes))
ifneq (,$($(lib)-static-only-routines))
ifneq (,$(filter yesyes%,$(build-shared)$(elf)$($(lib).so-version)))
ifneq (,$(filter yes%,$(build-shared)$($(lib).so-version)))
object-suffixes-$(lib) += $(filter-out $($(lib)-inhibit-o),.oS)
endif
endif

View File

@ -1,4 +1,5 @@
# Copyright (C) 1997,1998,2000-2004,2007,2009 Free Software Foundation, Inc.
# Copyright (C) 1997,1998,2000-2004,2007,2009,2012
# Free Software Foundation, Inc.
# This file is part of the GNU C Library.
# The GNU C Library is free software; you can redistribute it and/or
@ -27,13 +28,7 @@ headers = iconv.h gconv.h
routines = iconv_open iconv iconv_close \
gconv_open gconv gconv_close gconv_db gconv_conf \
gconv_builtin gconv_simple gconv_trans gconv_cache
ifeq ($(elf),yes)
routines += gconv_dl
else
CFLAGS-gconv_db.c = -DSTATIC_GCONV
CFLAGS-gconv_cache.c = -DSTATIC_GCONV
CFLAGS-gconv_simple.c = -DSTATIC_GCONV
endif
vpath %.c ../locale/programs ../intl

View File

@ -1,6 +1,6 @@
/* Support macros for making weak and strong aliases for symbols,
and for using symbol sets and linker warnings with GNU ld.
Copyright (C) 1995-1998,2000-2006,2008,2009,2011
Copyright (C) 1995-1998,2000-2006,2008,2009,2011,2012
Free Software Foundation, Inc.
This file is part of the GNU C Library.
@ -32,7 +32,6 @@
* ASM_GLOBAL_DIRECTIVE with `.globl' or `.global'.
* ASM_TYPE_DIRECTIVE_PREFIX with `@' or `#' or whatever for .type,
or leave it undefined if there is no .type directive.
* HAVE_ELF if using ELF, which supports weak symbols using `.weak'.
* HAVE_ASM_WEAK_DIRECTIVE if we have weak symbols using `.weak'.
* HAVE_ASM_WEAKEXT_DIRECTIVE if we have weak symbols using `.weakext'.
@ -54,8 +53,7 @@
#include <config.h>
/* The symbols in all the user (non-_) macros are C symbols.
NO HAVE_ELF implies a.out. */
/* The symbols in all the user (non-_) macros are C symbols. */
#if defined HAVE_ASM_WEAK_DIRECTIVE || defined HAVE_ASM_WEAKEXT_DIRECTIVE
# define HAVE_WEAK_SYMBOLS
@ -222,51 +220,35 @@
/* When a reference to SYMBOL is encountered, the linker will emit a
warning message MSG. */
#ifdef HAVE_ELF
/* We want the .gnu.warning.SYMBOL section to be unallocated. */
# ifdef HAVE_ASM_PREVIOUS_DIRECTIVE
# define __make_section_unallocated(section_string) \
#ifdef HAVE_ASM_PREVIOUS_DIRECTIVE
# define __make_section_unallocated(section_string) \
asm (".section " section_string "\n\t.previous");
# elif defined HAVE_ASM_POPSECTION_DIRECTIVE
# define __make_section_unallocated(section_string) \
#elif defined HAVE_ASM_POPSECTION_DIRECTIVE
# define __make_section_unallocated(section_string) \
asm (".pushsection " section_string "\n\t.popsection");
# else
# define __make_section_unallocated(section_string)
# endif
#else
# define __make_section_unallocated(section_string)
#endif
/* Tacking on "\n\t#" to the section name makes gcc put it's bogus
section attributes on what looks like a comment to the assembler. */
# ifdef HAVE_SECTION_QUOTES
# define __sec_comment "\"\n\t#\""
# else
# define __sec_comment "\n\t#"
# endif
# define link_warning(symbol, msg) \
#ifdef HAVE_SECTION_QUOTES
# define __sec_comment "\"\n\t#\""
#else
# define __sec_comment "\n\t#"
#endif
#define link_warning(symbol, msg) \
__make_section_unallocated (".gnu.warning." #symbol) \
static const char __evoke_link_warning_##symbol[] \
__attribute__ ((used, section (".gnu.warning." #symbol __sec_comment))) \
= msg;
# define libc_freeres_ptr(decl) \
#define libc_freeres_ptr(decl) \
__make_section_unallocated ("__libc_freeres_ptrs, \"aw\", %nobits") \
decl __attribute__ ((section ("__libc_freeres_ptrs" __sec_comment)))
# define __libc_freeres_fn_section \
#define __libc_freeres_fn_section \
__attribute__ ((section ("__libc_freeres_fn")))
#else /* Not ELF: a.out */
# ifdef HAVE_XCOFF
/* XCOFF does not support .stabs.
The native aix linker will remove the .stab and .stabstr sections
The gnu linker will have a fatal error if there is a relocation for
symbol in the .stab section. Silently disable this macro. */
# define link_warning(symbol, msg)
# else
# define link_warning(symbol, msg) \
asm (".stabs \"" msg "\",30,0,0,0\n\t" \
".stabs \"" __SYMBOL_PREFIX #symbol "\",1,0,0,0\n");
# endif /* XCOFF */
# define libc_freeres_ptr(decl) decl
# define __libc_freeres_fn_section
#endif
#define libc_freeres_fn(name) \
static void name (void) __attribute_used__ __libc_freeres_fn_section; \
text_set_element (__libc_subfreeres, name); \
@ -337,77 +319,50 @@ for linking")
/* Symbol set support macros. */
#ifdef HAVE_ELF
/* Make SYMBOL, which is in the text segment, an element of SET. */
# define text_set_element(set, symbol) _elf_set_element(set, symbol)
#define text_set_element(set, symbol) _elf_set_element(set, symbol)
/* Make SYMBOL, which is in the data segment, an element of SET. */
# define data_set_element(set, symbol) _elf_set_element(set, symbol)
#define data_set_element(set, symbol) _elf_set_element(set, symbol)
/* Make SYMBOL, which is in the bss segment, an element of SET. */
# define bss_set_element(set, symbol) _elf_set_element(set, symbol)
#define bss_set_element(set, symbol) _elf_set_element(set, symbol)
/* These are all done the same way in ELF.
There is a new section created for each set. */
# ifdef SHARED
#ifdef SHARED
/* When building a shared library, make the set section writable,
because it will need to be relocated at run time anyway. */
# define _elf_set_element(set, symbol) \
# define _elf_set_element(set, symbol) \
static const void *__elf_set_##set##_element_##symbol##__ \
__attribute__ ((used, section (#set))) = &(symbol)
# else
# define _elf_set_element(set, symbol) \
#else
# define _elf_set_element(set, symbol) \
static const void *const __elf_set_##set##_element_##symbol##__ \
__attribute__ ((used, section (#set))) = &(symbol)
# endif
#endif
/* Define SET as a symbol set. This may be required (it is in a.out) to
be able to use the set's contents. */
# define symbol_set_define(set) symbol_set_declare(set)
#define symbol_set_define(set) symbol_set_declare(set)
/* Declare SET for use in this module, if defined in another module.
In a shared library, this is always local to that shared object.
For static linking, the set might be wholly absent and so we use
weak references. */
# define symbol_set_declare(set) \
#define symbol_set_declare(set) \
extern char const __start_##set[] __symbol_set_attribute; \
extern char const __stop_##set[] __symbol_set_attribute;
# ifdef SHARED
# define __symbol_set_attribute attribute_hidden
# else
# define __symbol_set_attribute __attribute__ ((weak))
# endif
#ifdef SHARED
# define __symbol_set_attribute attribute_hidden
#else
# define __symbol_set_attribute __attribute__ ((weak))
#endif
/* Return a pointer (void *const *) to the first element of SET. */
# define symbol_set_first_element(set) ((void *const *) (&__start_##set))
#define symbol_set_first_element(set) ((void *const *) (&__start_##set))
/* Return true iff PTR (a void *const *) has been incremented
past the last element in SET. */
# define symbol_set_end_p(set, ptr) ((ptr) >= (void *const *) &__stop_##set)
#else /* Not ELF: a.out. */
# ifdef HAVE_XCOFF
/* XCOFF does not support .stabs.
The native aix linker will remove the .stab and .stabstr sections
The gnu linker will have a fatal error if there is a relocation for
symbol in the .stab section. Silently disable these macros. */
# define text_set_element(set, symbol)
# define data_set_element(set, symbol)
# define bss_set_element(set, symbol)
# else
# define text_set_element(set, symbol) \
asm (".stabs \"" __SYMBOL_PREFIX #set "\",23,0,0," __SYMBOL_PREFIX #symbol)
# define data_set_element(set, symbol) \
asm (".stabs \"" __SYMBOL_PREFIX #set "\",25,0,0," __SYMBOL_PREFIX #symbol)
# define bss_set_element(set, symbol) ?error Must use initialized data.
# endif /* XCOFF */
# define symbol_set_define(set) void *const (set)[1];
# define symbol_set_declare(set) extern void *const (set)[1];
# define symbol_set_first_element(set) &(set)[1]
# define symbol_set_end_p(set, ptr) (*(ptr) == 0)
#endif /* ELF. */
#define symbol_set_end_p(set, ptr) ((ptr) >= (void *const *) &__stop_##set)
#if DO_VERSIONING
# define symbol_version(real, name, version) \

View File

@ -1,5 +1,5 @@
/* Macros for managing ABI-compatibility definitions using ELF symbol versions.
Copyright (C) 2000, 2002, 2006 Free Software Foundation, Inc.
Copyright (C) 2000, 2002, 2006, 2012 Free Software 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,13 +20,13 @@
#ifndef _SHLIB_COMPAT_H
#define _SHLIB_COMPAT_H 1
#if defined HAVE_ELF && defined DO_VERSIONING
#if defined DO_VERSIONING
/* Since there is just one set of .d files generated, we need to
include this unconditionally to have the dependency noticed properly. */
#include <abi-versions.h> /* header generated by abi-versions.awk */
#endif
#if defined HAVE_ELF && defined SHARED && defined DO_VERSIONING
#if defined SHARED && defined DO_VERSIONING
/* The file abi-versions.h (generated by scripts/abi-versions.awk) defines
symbols like `ABI_libm_GLIBC_2_0' for each version set in the source

View File

@ -1,5 +1,7 @@
2012-01-07 Ulrich Drepper <drepper@gmail.com>
* Makefile: Remove elf=yes test, only ELF is supported.
* shlib-versions: Remove entries for ports architectures.
In case anyone cares, the IA-64 architecture could move to ports.

View File

@ -1,4 +1,4 @@
# Copyright (C) 2002-2008,2009,2010 Free Software Foundation, Inc.
# Copyright (C) 2002-2008,2009,2010,2012 Free Software Foundation, Inc.
# This file is part of the GNU C Library.
# The GNU C Library is free software; you can redistribute it and/or
@ -519,7 +519,7 @@ $(objpfx)libpthread.so: +postinit += $(addprefix $(objpfx),$(crtn-objs))
# Depend on ld.so too to get proper versions of ld.so symbols.
$(objpfx)libpthread.so: $(common-objpfx)libc.so \
$(common-objpfx)libc_nonshared.a \
$(if $(filter yes,$(elf)), $(elfobjdir)/ld.so)
$(elfobjdir)/ld.so
# Make sure we link with the thread library.
ifeq ($(build-shared),yes)

View File

@ -1,4 +1,4 @@
# Copyright (C) 1994-2001,2003,2004,2007,2008,2011
# Copyright (C) 1994-2001,2003,2004,2007,2008,2011,2012
# Free Software Foundation, Inc.
# This file is part of the GNU C Library.
@ -91,7 +91,7 @@ CFLAGS-res_hconf.c = -fexceptions
$(objpfx)libresolv.so: $(common-objpfx)libc.so $(common-objpfx)libc_nonshared.a
# Some hosts need '__stack_chk_guard', so pull in the definition from
# ld.so if required.
ifeq (yesyes,$(have-ssp)$(elf))
ifeq (yes,$(have-ssp))
LDLIBS-resolv.so += $(as-needed) $(elfobjdir)/ld.so $(no-as-needed)
endif

View File

@ -133,7 +133,7 @@ extern __thread struct __res_state *__libc_resp
/* We declare this with compat_symbol so that it's not
visible at link time. Programs must use the accessor functions. */
#if defined HAVE_ELF && defined SHARED && defined DO_VERSIONING
#if defined SHARED && defined DO_VERSIONING
# include <shlib-compat.h>
compat_symbol (libc, _res, _res, GLIBC_2_0);
#endif

View File

@ -1,4 +1,4 @@
# Copyright (C) 1997-2004, 2006, 2007 Free Software Foundation, Inc.
# Copyright (C) 1997-2004, 2006, 2007, 2012 Free Software Foundation, Inc.
# This file is part of the GNU C Library.
# The GNU C Library is free software; you can redistribute it and/or
@ -69,7 +69,7 @@ LDFLAGS-rt.so = -Wl,--enable-new-dtags,-z,nodelete
# a statically-linked program that hasn't already loaded it.
$(objpfx)librt.so: $(common-objpfx)libc.so $(common-objpfx)libc_nonshared.a \
$(shared-thread-library) \
$(if $(filter yes,$(elf)), $(elfobjdir)/ld.so)
$(elfobjdir)/ld.so
ifeq (yes,$(build-shared))
$(addprefix $(objpfx),$(tests)): $(objpfx)librt.so $(shared-thread-library)
@ -84,5 +84,5 @@ tst-mqueue7-ARGS = -- $(built-program-cmd)
ifeq (yes,$(build-static-nss))
otherlibs += $(nssobjdir)/libnss_files.a $(resolvobjdir)/libnss_dns.a \
$(resolvobjdir)/libresolv.a
$(resolvobjdir)/libresolv.a
endif

View File

@ -1,5 +1,5 @@
/* Definitions for x86 syntax variations.
Copyright (C) 1992, 1994, 1995, 1997, 2000 Free Software Foundation, Inc.
Copyright (C) 1992,1994,1995,1997,2000,2012 Free Software Foundation, Inc.
This file is part of the GNU C Library. Its master source is NOT part of
the C library, however. The master source lives in the GNU MP Library.
@ -19,11 +19,7 @@
02111-1307 USA. */
#undef ALIGN
#if defined NOLOG_ALIGN || defined HAVE_ELF
# define ALIGN(log) .align 1<<log
#else
# define ALIGN(log) .align log
#endif
#define ALIGN(log) .align 1<<log
#undef L
#ifdef __ELF__

View File

@ -1,5 +1,5 @@
/* Assembler macros for i386.
Copyright (C) 1991-93,95,96,98,2002,2003,2005,2006,2011
Copyright (C) 1991-93,95,96,98,2002,2003,2005,2006,2011,2012
Free Software Foundation, Inc.
This file is part of the GNU C Library.
@ -24,8 +24,6 @@
/* Syntactic details of assembler. */
#ifdef HAVE_ELF
/* ELF uses byte-counts for .align, most others use log2 of count of bytes. */
#define ALIGNARG(log2) 1<<log2
/* For ELF we need the `.type' directive to make shared libs work right. */
@ -36,14 +34,6 @@
#undef NO_UNDERSCORES
#define NO_UNDERSCORES
#else
#define ALIGNARG(log2) log2
#define ASM_TYPE_DIRECTIVE(name,type) /* Nothing is specified. */
#define ASM_SIZE_DIRECTIVE(name) /* Nothing is specified. */
#endif
/* Define an entry point visible from C.
@ -160,11 +150,7 @@ __i686.get_pc_thunk.reg: \
/* Local label name for asm code. */
#ifndef L
#ifdef HAVE_ELF
#define L(name) .L##name
#else
#define L(name) name
#endif
#endif
#define atom_text_section .section ".text.atom", "ax"

View File

@ -10,7 +10,7 @@
SHLIB_COMPAT(lib, introduced, LONG_DOUBLE_COMPAT_VERSION)
#define long_double_symbol(lib, local, symbol) \
long_double_symbol_1 (lib, local, symbol, LONG_DOUBLE_COMPAT_VERSION)
#if defined HAVE_ELF && defined SHARED && defined DO_VERSIONING
#if defined SHARED && defined DO_VERSIONING
# define ldbl_hidden_def(local, name) libc_hidden_ver (local, name)
# define ldbl_strong_alias(name, aliasname) \
strong_alias (name, __GL_##name##_##aliasname) \

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1994, 1995, 1997 Free Software Foundation, Inc.
/* Copyright (C) 1994, 1995, 1997, 2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@ -28,7 +28,6 @@
#define EXT(x) C_SYMBOL_NAME(x)
#define LEXT(x) C_SYMBOL_NAME(x##:)
#ifdef HAVE_ELF
/* For ELF we need to add the `.type' directive to make shared libraries
work right. */
#undef ENTRY
@ -37,7 +36,6 @@
.align ALIGN; \
.type name,@function; \
name:
#endif
#endif

View File

@ -23,7 +23,6 @@ pic-ccflag = -fpic
endif
ifeq ($(subdir),csu)
ifneq ($(elf),no)
# The initfini generation code doesn't work in the presence of -fPIC, so
# we use -fpic instead which is much better.
CFLAGS-initfini.s += -fpic -O1
@ -32,7 +31,7 @@ CFLAGS-initfini.s += -fpic -O1
# of the library should be able to control what goes into sdata.
CFLAGS-init.o = -G0
CFLAGS-gmon-start.o = -G0
endif
ifeq (yes,$(build-shared))
# Compatibility
ifeq (yes,$(have-protected))

View File

@ -28,12 +28,10 @@ no-special-regs := $(sort $(foreach n,40 41 50 51 60 61 62 63 \
ifeq ($(subdir),csu)
sysdep_routines += hp-timing
elide-routines.os += hp-timing
ifneq ($(elf),no)
# The initfini generation code doesn't work in the presence of -fPIC, so
# we use -fpic instead which is much better.
CFLAGS-initfini.s += -fpic -O1
endif
endif
ifeq ($(subdir),elf)
# help gcc inline asm code from dl-machine.h

View File

@ -1,5 +1,5 @@
/* Definitions for S/390 syntax variations.
Copyright (C) 1992, 1994, 1995, 1997, 2000 Free Software Foundation, Inc.
Copyright (C) 1992, 1994, 1995, 1997, 2000, 2012 Free Software Foundation, Inc.
This file is part of the GNU C Library. Its master source is NOT part of
the C library, however. The master source lives in the GNU MP Library.
@ -19,11 +19,7 @@
02111-1307 USA. */
#undef ALIGN
#if defined NOLOG_ALIGN || defined HAVE_ELF
# define ALIGN(log) .align 1<<log
#else
# define ALIGN(log) .align log
#endif
#define ALIGN(log) .align 1<<log
#undef L
#ifdef __ELF__

View File

@ -1,5 +1,5 @@
/* Assembler macros for s390.
Copyright (C) 2000, 2001, 2003 Free Software Foundation, Inc.
Copyright (C) 2000, 2001, 2003, 2012 Free Software Foundation, Inc.
Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
This file is part of the GNU C Library.
@ -24,8 +24,6 @@
/* Syntactic details of assembler. */
#ifdef HAVE_ELF
/* ELF uses byte-counts for .align, most others use log2 of count of bytes. */
#define ALIGNARG(log2) 1<<log2
/* For ELF we need the `.type' directive to make shared libs work right. */
@ -36,14 +34,6 @@
#undef NO_UNDERSCORES
#define NO_UNDERSCORES
#else
#define ALIGNARG(log2) log2
#define ASM_TYPE_DIRECTIVE(name,type) /* Nothing is specified. */
#define ASM_SIZE_DIRECTIVE(name) /* Nothing is specified. */
#endif
/* Define an entry point visible from C. */
#define ENTRY(name) \

View File

@ -1,5 +1,5 @@
/* Assembler macros for 64 bit S/390.
Copyright (C) 2001, 2003 Free Software Foundation, Inc.
Copyright (C) 2001, 2003, 2012 Free Software Foundation, Inc.
Contributed by Martin Schwidefsky (schwidefsky@de.ibm.com).
This file is part of the GNU C Library.
@ -24,8 +24,6 @@
/* Syntactic details of assembler. */
#ifdef HAVE_ELF
/* ELF uses byte-counts for .align, most others use log2 of count of bytes. */
#define ALIGNARG(log2) 1<<log2
/* For ELF we need the `.type' directive to make shared libs work right. */
@ -36,14 +34,6 @@
#undef NO_UNDERSCORES
#define NO_UNDERSCORES
#else
#define ALIGNARG(log2) log2
#define ASM_TYPE_DIRECTIVE(name,type) /* Nothing is specified. */
#define ASM_SIZE_DIRECTIVE(name) /* Nothing is specified. */
#endif
/* Define an entry point visible from C. */
#define ENTRY(name) \

View File

@ -1,5 +1,5 @@
/* Assembler macros for SH.
Copyright (C) 1999, 2000, 2005 Free Software Foundation, Inc.
Copyright (C) 1999, 2000, 2005, 2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@ -23,8 +23,6 @@
/* Syntactic details of assembler. */
#ifdef HAVE_ELF
#define ALIGNARG(log2) log2
/* For ELF we need the `.type' directive to make shared libs work right. */
#define ASM_TYPE_DIRECTIVE(name,typearg) .type name,@##typearg;
@ -36,15 +34,6 @@
#define PLTJMP(_x) _x
#endif
#else
#define ALIGNARG(log2) log2
#define ASM_TYPE_DIRECTIVE(name,type) /* Nothing is specified. */
#define ASM_SIZE_DIRECTIVE(name) /* Nothing is specified. */
#define PLTJMP(_x) _x
#endif
/* Define an entry point visible from C. */
#define ENTRY(name) \

View File

@ -1,5 +1,5 @@
/* Copyright (C) 1993, 1994, 1995, 1997, 2003, 2011
Free Software Foundation, Inc.
/* Copyright (C) 1993, 1994, 1995, 1997, 2003, 2011, 2012
Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@ -49,20 +49,12 @@ __sparc_get_pc_thunk.reg: \
mov %##tmp, %o7;
#endif
#ifdef HAVE_ELF
#define ENTRY(name) \
.global C_SYMBOL_NAME(name); \
.type name,@function; \
.align 4; \
C_LABEL(name)
#else
#define ENTRY(name) \
.global C_SYMBOL_NAME(name); \
.align 4; \
C_LABEL(name)
#endif /* HAVE_ELF */
#define PSEUDO(name, syscall_name, args) \
.global syscall_error; \

View File

@ -1,5 +1,5 @@
/* 64-bit multiplication and division
Copyright (C) 1989, 1992-1999,2000,2001,2002,2003,2004,2005
Copyright (C) 1989, 1992-1999,2000,2001,2002,2003,2004,2005,2012
Free Software Foundation, Inc.
This file is part of the GNU C Library.
@ -335,7 +335,7 @@ strong_alias (__umoddi3, __umoddi3_internal)
/* We declare these with compat_symbol so that they are not visible at
link time. Programs must use the functions from libgcc. */
#if defined HAVE_ELF && defined SHARED && defined DO_VERSIONING
#if defined SHARED && defined DO_VERSIONING
# include <shlib-compat.h>
compat_symbol (libc, __divdi3, __divdi3, GLIBC_2_0);
compat_symbol (libc, __moddi3, __moddi3, GLIBC_2_0);

View File

@ -1,5 +1,5 @@
/* Assembler macros for x86-64.
Copyright (C) 2001, 2002, 2003, 2011 Free Software Foundation, Inc.
Copyright (C) 2001, 2002, 2003, 2011, 2012 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@ -23,8 +23,6 @@
/* Syntactic details of assembler. */
#ifdef HAVE_ELF
/* ELF uses byte-counts for .align, most others use log2 of count of bytes. */
#define ALIGNARG(log2) 1<<log2
/* For ELF we need the `.type' directive to make shared libs work right. */
@ -35,14 +33,6 @@
#undef NO_UNDERSCORES
#define NO_UNDERSCORES
#else
#define ALIGNARG(log2) log2
#define ASM_TYPE_DIRECTIVE(name,type) /* Nothing is specified. */
#define ASM_SIZE_DIRECTIVE(name) /* Nothing is specified. */
#endif
/* Define an entry point visible from C. */
#define ENTRY(name) \
@ -106,12 +96,8 @@ lose: \
/* Local label name for asm code. */
#ifndef L
# ifdef HAVE_ELF
/* ELF-like local names start with `.L'. */
# define L(name) .L##name
# else
# define L(name) name
# endif
# define L(name) .L##name
#endif
#define atom_text_section .section ".text.atom", "ax"