aboutsummaryrefslogtreecommitdiff
path: root/csu/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'csu/Makefile')
-rw-r--r--csu/Makefile161
1 files changed, 0 insertions, 161 deletions
diff --git a/csu/Makefile b/csu/Makefile
deleted file mode 100644
index 88646b6e8f..0000000000
--- a/csu/Makefile
+++ /dev/null
@@ -1,161 +0,0 @@
-# Makefile for csu code for GNU C library.
-# Copyright (C) 1995-2017 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, see
-# <http://www.gnu.org/licenses/>.
-
-# This directory contains the C startup code (that which calls main). This
-# consists of the startfile, built from start.c and installed as crt0.o
-# (traditionally) or crt1.o (for ELF). In ELF we also install crti.o and
-# crtn.o, special "initializer" and "finalizer" files used in the link
-# to make the .init and .fini sections work right.
-
-subdir := csu
-
-include ../Makeconfig
-
-routines = init-first libc-start $(libc-init) sysdep version check_fds \
- libc-tls elf-init dso_handle
-aux = errno
-elide-routines.os = libc-tls
-static-only-routines = elf-init
-csu-dummies = $(filter-out $(start-installed-name),crt1.o Mcrt1.o)
-extra-objs = start.o \
- $(start-installed-name) g$(start-installed-name) $(csu-dummies) \
- S$(start-installed-name)
-omit-deps = $(patsubst %.o,%,$(start-installed-name) g$(start-installed-name) \
- b$(start-installed-name) $(csu-dummies) \
- S$(start-installed-name))
-install-lib = $(start-installed-name) g$(start-installed-name) $(csu-dummies)
-generated += version-info.h
-before-compile += $(objpfx)version-info.h
-
-# No tests are allowed in the csu/ subdirectory because the startup
-# code is compiled with special flags.
-tests =
-
-CFLAGS-.o += $(no-stack-protector)
-CFLAGS-.op += $(no-stack-protector)
-CFLAGS-.os += $(no-stack-protector)
-
-ifeq (yes,$(build-shared))
-extra-objs += S$(start-installed-name) gmon-start.os
-ifneq ($(start-installed-name),$(static-start-installed-name))
-extra-objs += gmon-start.o
-endif
-install-lib += S$(start-installed-name)
-generated += start.os
-else
-extra-objs += gmon-start.o
-endif
-
-ifneq ($(start-installed-name),$(static-start-installed-name))
-extra-objs += $(static-start-installed-name) g$(static-start-installed-name)
-omit-deps += $(patsubst %.o,%,$(static-start-installed-name) \
- g$(static-start-installed-name))
-install-lib += $(static-start-installed-name) g$(static-start-installed-name)
-endif
-
-before-compile += $(objpfx)abi-tag.h
-generated += abi-tag.h
-
-# These are the special initializer/finalizer files. They are always the
-# first and last file in the link. crti.o ... crtn.o define the global
-# "functions" _init and _fini to run the .init and .fini sections.
-crtstuff = crti crtn
-
-install-lib += $(crtstuff:=.o)
-extra-objs += $(crtstuff:=.o)
-
-extra-objs += abi-note.o init.o
-asm-CPPFLAGS += -I$(objpfx).
-
-include ../Rules
-
-# Make these in the lib pass so they're available in time to link things with.
-subdir_lib: $(extra-objs:%=$(objpfx)%)
-
-define link-relocatable
-$(CC) -nostdlib -nostartfiles -r -o $@ $^
-endef
-
-ifndef start-installed-name-rule
-# 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 \
- $(objpfx)init.o
- $(link-relocatable)
-$(objpfx)S$(start-installed-name): $(objpfx)start.os $(objpfx)abi-note.o \
- $(objpfx)init.o
- $(link-relocatable)
-endif
-
-# The profiling startfile is made by linking together the normal
-# startfile with gmon-start.o, which defines a constructor function
-# to turn on profiling code at startup.
-ifeq (yes,$(build-shared))
-$(objpfx)g$(start-installed-name): \
- $(objpfx)g%: $(objpfx)S% $(objpfx)gmon-start.os
- $(link-relocatable)
-ifneq ($(start-installed-name),$(static-start-installed-name))
-$(objpfx)g$(static-start-installed-name): \
- $(objpfx)g%: $(objpfx)% $(objpfx)gmon-start.o
- $(link-relocatable)
-endif
-else
-$(addprefix $(objpfx),$(sort g$(start-installed-name) \
- g$(static-start-installed-name))): \
- $(objpfx)g%: $(objpfx)% $(objpfx)gmon-start.o
- $(link-relocatable)
-endif
-
-# These extra files are sometimes expected by system standard linking
-# procedures, but we have nothing for them to do. So compile empty files.
-$(addprefix $(objpfx),$(filter-out $(start-installed-name), $(csu-dummies))):\
- $(before-compile)
- $(COMPILE.c) -o $@ -x c /dev/null
-
-# These headers are used by the startup code.
-$(objpfx)abi-tag.h: $(..)abi-tags
- $(make-target-directory)
- rm -f $@.new
- sed -e 's/#.*$$//' -e '/^[ ]*$$/d' $< | \
- while read conf tagos tagver; do \
- test `expr '$(config-machine)-$(config-vendor)-$(config-os)' \
- : "$$conf"` != 0 || continue; \
- ( echo "$$tagos" | \
- sed -e 's/[^0-9xXa-fA-F ]//' \
- -e 's/^/#define __ABI_TAG_OS /'; \
- echo "#ifndef __ABI_TAG_VERSION"; \
- echo "$$tagver" | \
- sed -e 's/[^0-9xXa-fA-F]/ /g' -e 's/ *$$//' \
- -e 's/ /,/g' -e 's/^/# define __ABI_TAG_VERSION /'; \
- echo "#endif" ) > $@.new; \
- done
- if test -r $@.new; then mv -f $@.new $@; \
- else echo >&2 'This configuration not matched in $<'; exit 1; fi
-
-all-Banner-files = $(wildcard $(addsuffix /Banner,\
- $(sort $(subdir-srcdirs) \
- $(sysdeps-srcdirs))))
-$(objpfx)version-info.h: $(common-objpfx)config.make $(all-Banner-files)
- $(make-target-directory)
- (files="$(all-Banner-files)"; \
- if test -n "$$files"; then \
- printf '"Available extensions:\\n"\n'; \
- sed -e '/^#/d' -e 's/^[[:space:]]*/ /' \
- -e 's/^\(.*\)$$/\"\1\\n\"/' $$files; \
- fi) > $@T
- mv -f $@T $@