public inbox for glibc-cvs@sourceware.org
help / color / mirror / Atom feed
* [glibc/azanella/clang] Remove --with-default-link configure option
@ 2023-02-09 19:45 Adhemerval Zanella
0 siblings, 0 replies; only message in thread
From: Adhemerval Zanella @ 2023-02-09 19:45 UTC (permalink / raw)
To: glibc-cvs
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=75d48c5c0ad258b2d6e256bada6b29feef7161be
commit 75d48c5c0ad258b2d6e256bada6b29feef7161be
Author: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Date: Tue Nov 15 14:04:39 2022 -0300
Remove --with-default-link configure option
Now that there is no need to use a special linker script to hardening
internal data structures, remove the --with-default-link configure
option and associated definitions.
Diff:
---
INSTALL | 6 ------
Makerules | 21 ++++++---------------
config.make.in | 1 -
configure | 13 -------------
configure.ac | 7 -------
elf/Makefile | 2 --
| 2 +-
manual/install.texi | 6 ------
8 files changed, 7 insertions(+), 51 deletions(-)
diff --git a/INSTALL b/INSTALL
index 970d6627e2..cc1bfe9cbb 100644
--- a/INSTALL
+++ b/INSTALL
@@ -90,12 +90,6 @@ if 'CFLAGS' is specified it must enable optimization. For example:
library will still be usable, but functionality may be lost--for
example, you can't build a shared libc with old binutils.
-'--with-default-link'
- With '--with-default-link', the build system does not use a custom
- linker script for linking shared objects. The default is
- '--without-default-link', because the custom linker script is
- needed for full RELRO protection.
-
'--with-nonshared-cflags=CFLAGS'
Use additional compiler flags CFLAGS to build the parts of the
library which are always statically linked into applications and
diff --git a/Makerules b/Makerules
index c9e9569a15..1af15e376b 100644
--- a/Makerules
+++ b/Makerules
@@ -544,13 +544,8 @@ $(LINK.o) -shared -static-libgcc -Wl,-O1 $(sysdep-LDFLAGS) \
-L$(subst :, -L,$(rpath-link)) -Wl,-rpath-link=$(rpath-link)
endef
-# If the linker is good enough, we can let it use its default linker script.
-# In the long term the custom linker script will be removed.
-shlib-lds =
-shlib-lds-flags =
-
define build-shlib
-$(build-shlib-helper) -o $@ $(shlib-lds-flags) \
+$(build-shlib-helper) -o $@ \
$(csu-objpfx)abi-note.o $(build-shlib-objlist)
endef
@@ -569,12 +564,12 @@ endef
# binutils only position loadable notes into the first page for binaries,
# not for shared objects
define build-module
-$(build-module-helper) -o $@ $(shlib-lds-flags) \
+$(build-module-helper) -o $@ \
$(csu-objpfx)abi-note.o $(build-module-objlist) $(link-libc-args)
$(call after-link,$@)
endef
define build-module-asneeded
-$(build-module-helper) -o $@ $(shlib-lds-flags) \
+$(build-module-helper) -o $@ \
$(csu-objpfx)abi-note.o \
-Wl,--as-needed $(build-module-objlist) -Wl,--no-as-needed \
$(link-libc-args)
@@ -606,7 +601,6 @@ $(common-objpfx)libc_pic.os: $(common-objpfx)libc_pic.a
$(LINK.o) -nostdlib -nostartfiles -r -o $@ \
$(LDFLAGS-c_pic.os) $(whole-archive) $^ -o $@
-ifeq (,$(strip $(shlib-lds-flags)))
# Generate a list of -R options to excise .gnu.glibc-stub.* sections.
$(common-objpfx)libc_pic.opts: $(common-objpfx)libc_pic.os
$(OBJDUMP) -h $< | \
@@ -620,7 +614,6 @@ $(common-objpfx)libc_pic.os.clean: $(common-objpfx)libc_pic.opts \
generated += libc_pic.opts libc_pic.os.clean
libc_pic_clean := .clean
-endif
# Build a possibly-modified version of libc_pic.a for use in building
# linkobj/libc.so.
@@ -650,16 +643,14 @@ $(common-objpfx)linkobj/libc.so: link-libc-deps = # empty
$(common-objpfx)libc.so: $(common-objpfx)libc_pic.os$(libc_pic_clean) \
$(elf-objpfx)sofini.os \
$(elf-objpfx)interp.os \
- $(elf-objpfx)ld.so \
- $(shlib-lds)
+ $(elf-objpfx)ld.so
$(build-shlib)
$(call after-link,$@)
$(common-objpfx)linkobj/libc.so: $(common-objpfx)linkobj/libc_pic.a \
$(elf-objpfx)sofini.os \
$(elf-objpfx)interp.os \
- $(elf-objpfx)ld.so \
- $(shlib-lds)
+ $(elf-objpfx)ld.so
$(build-shlib)
$(call after-link,$@)
@@ -720,7 +711,7 @@ endif
extra-modules-build := $(filter-out $(modules-names-nobuild),$(modules-names))
$(extra-modules-build:%=$(objpfx)%.so): $(objpfx)%.so: \
- $(objpfx)%.os $(shlib-lds) $(link-libs-deps)
+ $(objpfx)%.os $(link-libs-deps)
$(build-module)
endif
\f
diff --git a/config.make.in b/config.make.in
index d7c416cbea..befcc22625 100644
--- a/config.make.in
+++ b/config.make.in
@@ -69,7 +69,6 @@ have-libaudit = @have_libaudit@
have-libcap = @have_libcap@
have-cc-with-libunwind = @libc_cv_cc_with_libunwind@
bind-now = @bindnow@
-use-default-link = @use_default_link@
have-cxx-thread_local = @libc_cv_cxx_thread_local@
have-loop-to-function = @libc_cv_cc_loop_to_function@
have-textrel_ifunc = @libc_cv_textrel_ifunc@
diff --git a/configure b/configure
index efb891456a..c5a831e3cd 100755
--- a/configure
+++ b/configure
@@ -680,7 +680,6 @@ hardcoded_path_in_tests
enable_timezone_tools
rtld_early_cflags
extra_nonshared_cflags
-use_default_link
sysheaders
ac_ct_CXX
CXXFLAGS
@@ -756,7 +755,6 @@ with_gd_lib
with_binutils
with_selinux
with_headers
-with_default_link
with_nonshared_cflags
with_rtld_early_cflags
with_timeoutfactor
@@ -1475,7 +1473,6 @@ Optional Packages:
--with-selinux if building with SELinux support
--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
--with-nonshared-cflags=CFLAGS
build nonshared libraries with additional CFLAGS
--with-rtld-early-cflags=CFLAGS
@@ -3275,16 +3272,6 @@ fi
-
-# Check whether --with-default-link was given.
-if test "${with_default_link+set}" = set; then :
- withval=$with_default_link; use_default_link=$withval
-else
- use_default_link=no
-fi
-
-
-
# Check whether --with-nonshared-cflags was given.
if test "${with_nonshared_cflags+set}" = set; then :
withval=$with_nonshared_cflags; extra_nonshared_cflags=$withval
diff --git a/configure.ac b/configure.ac
index 011844a3d4..88a6a88220 100644
--- a/configure.ac
+++ b/configure.ac
@@ -147,13 +147,6 @@ AC_ARG_WITH([headers],
[sysheaders=''])
AC_SUBST(sysheaders)
-AC_SUBST(use_default_link)
-AC_ARG_WITH([default-link],
- AS_HELP_STRING([--with-default-link],
- [do not use explicit linker scripts]),
- [use_default_link=$withval],
- [use_default_link=no])
-
dnl Additional build flags injection.
AC_ARG_WITH([nonshared-cflags],
AS_HELP_STRING([--with-nonshared-cflags=CFLAGS],
diff --git a/elf/Makefile b/elf/Makefile
index ebf4f59a6c..3ae023ec9e 100644
--- a/elf/Makefile
+++ b/elf/Makefile
@@ -1234,8 +1234,6 @@ endif
# Command to link into a larger single relocatable object.
reloc-link = $(LINK.o) -nostdlib -nostartfiles -r
-$(objpfx)sotruss-lib.so: $(shlib-lds)
-
$(objpfx)dl-allobjs.os: $(all-rtld-routines:%=$(objpfx)%.os)
$(reloc-link) -o $@ $^
--git a/iconvdata/extra-module.mk b/iconvdata/extra-module.mk
index ecaf507624..a816659763 100644
--- a/iconvdata/extra-module.mk
+++ b/iconvdata/extra-module.mk
@@ -4,7 +4,7 @@ extra-modules-left := $(strip $(filter-out $(mod),$(extra-modules-left)))
extra-objs := $(extra-objs) $(patsubst %,%.os,$($(mod)-routines))
$(objpfx)$(mod).so: $(addprefix $(objpfx),$(addsuffix .os,$($(mod)-routines)))\
- $(shlib-lds) $(link-libc-deps)
+ $(link-libc-deps)
$(build-module-asneeded)
ifneq (,$(extra-modules-left))
diff --git a/manual/install.texi b/manual/install.texi
index 260f8a5c82..60fca21aed 100644
--- a/manual/install.texi
+++ b/manual/install.texi
@@ -117,12 +117,6 @@ problem and suppress these constructs, so that the library will still be
usable, but functionality may be lost---for example, you can't build a
shared libc with old binutils.
-@item --with-default-link
-With @code{--with-default-link}, the build system does not use a custom
-linker script for linking shared objects. The default is
-@code{--without-default-link}, because the custom linker script is
-needed for full RELRO protection.
-
@item --with-nonshared-cflags=@var{cflags}
Use additional compiler flags @var{cflags} to build the parts of the
library which are always statically linked into applications and
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2023-02-09 19:45 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-02-09 19:45 [glibc/azanella/clang] Remove --with-default-link configure option Adhemerval Zanella
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).