From patchwork Fri Mar 6 18:24:16 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vineet Gupta X-Patchwork-Id: 38457 Received: (qmail 124297 invoked by alias); 6 Mar 2020 18:25:04 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 123480 invoked by uid 89); 6 Mar 2020 18:24:41 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-21.0 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, KAM_SHORT autolearn=ham version=3.3.1 spammy=lives, Later, Infrastructure X-HELO: smtprelay-out1.synopsys.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=synopsys.com; s=mail; t=1583519068; bh=00LwbB2CiCHqaUqlXt0l+MZ5yQHBqOIHMwTJpBjLqbo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=NXYH7GdP5bH9Uo+FjPbQPp47c1Aj7kUYD8YN3iX+K07ma6s81dn/HDoWUtPPq7VQB 0zVmEg/5H2tDPVygdJIJe9CPsqs8kmnp4qZ6hlq9sVXmLZ8w2BGMLQxlqZ1MZJHsQ8 UA7olyvxYNc3X7Prtq4RaeSVC47BX6sTSj3a/H7PO/W9XkGrZCeec+sz9TtPTU3dI4 TgHgzap7KKahu+s3b6Rv7lmvP1Qfib1r2ofZn52Zd/X6loDqn4nQDzmCAAXHy2gXCh twD7oU7HcddTdkJezceSjJPCVRFhKofYqMdmJjh4Uq0qsUIR9wf1XPcOeitwKoRjNa HgpCBEDG1E6VA== From: Vineet Gupta To: libc-alpha@sourceware.org Cc: linux-snps-arc@lists.infradead.org, Vineet Gupta Subject: [PATCH v3 14/17] ARC: Build Infrastructure Date: Fri, 6 Mar 2020 10:24:16 -0800 Message-Id: <20200306182419.13945-15-vgupta@synopsys.com> In-Reply-To: <20200306182419.13945-1-vgupta@synopsys.com> References: <20200306182419.13945-1-vgupta@synopsys.com> MIME-Version: 1.0 Signed-off-by: Vineet Gupta --- sysdeps/arc/Implies | 3 +++ sysdeps/arc/Makefile | 25 ++++++++++++++++++++++ sysdeps/arc/Versions | 6 ++++++ sysdeps/arc/configure | 14 ++++++++++++ sysdeps/arc/configure.ac | 11 ++++++++++ sysdeps/arc/nptl/Makefile | 22 +++++++++++++++++++ sysdeps/arc/preconfigure | 15 +++++++++++++ sysdeps/unix/sysv/linux/arc/Implies | 3 +++ sysdeps/unix/sysv/linux/arc/Makefile | 20 +++++++++++++++++ sysdeps/unix/sysv/linux/arc/Versions | 16 ++++++++++++++ sysdeps/unix/sysv/linux/arc/configure | 4 ++++ sysdeps/unix/sysv/linux/arc/configure.ac | 4 ++++ sysdeps/unix/sysv/linux/arc/shlib-versions | 2 ++ 13 files changed, 145 insertions(+) create mode 100644 sysdeps/arc/Implies create mode 100644 sysdeps/arc/Makefile create mode 100644 sysdeps/arc/Versions create mode 100644 sysdeps/arc/configure create mode 100644 sysdeps/arc/configure.ac create mode 100644 sysdeps/arc/nptl/Makefile create mode 100644 sysdeps/arc/preconfigure create mode 100644 sysdeps/unix/sysv/linux/arc/Implies create mode 100644 sysdeps/unix/sysv/linux/arc/Makefile create mode 100644 sysdeps/unix/sysv/linux/arc/Versions create mode 100644 sysdeps/unix/sysv/linux/arc/configure create mode 100644 sysdeps/unix/sysv/linux/arc/configure.ac create mode 100644 sysdeps/unix/sysv/linux/arc/shlib-versions diff --git a/sysdeps/arc/Implies b/sysdeps/arc/Implies new file mode 100644 index 000000000000..780c4e246769 --- /dev/null +++ b/sysdeps/arc/Implies @@ -0,0 +1,3 @@ +wordsize-32 +ieee754/flt-32 +ieee754/dbl-64 diff --git a/sysdeps/arc/Makefile b/sysdeps/arc/Makefile new file mode 100644 index 000000000000..92f90798355b --- /dev/null +++ b/sysdeps/arc/Makefile @@ -0,0 +1,25 @@ +# ARC Makefile +# Copyright (C) 1993-2020 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 +# . + +# We don't support long doubles as a distinct type. We don't need to set +# this variable; it's here mostly for documentational purposes. +long-double-fcts = no + +ifeq ($(subdir),debug) +CFLAGS-backtrace.c += -funwind-tables +endif diff --git a/sysdeps/arc/Versions b/sysdeps/arc/Versions new file mode 100644 index 000000000000..2d0f534b2aba --- /dev/null +++ b/sysdeps/arc/Versions @@ -0,0 +1,6 @@ +libc { + GLIBC_2.32 { + __syscall_error; + __mcount; + } +} diff --git a/sysdeps/arc/configure b/sysdeps/arc/configure new file mode 100644 index 000000000000..52e286da2ebb --- /dev/null +++ b/sysdeps/arc/configure @@ -0,0 +1,14 @@ +# This file is generated from configure.ac by Autoconf. DO NOT EDIT! + # Local configure fragment for sysdeps/arc. + +$as_echo "#define PI_STATIC_AND_HIDDEN 1" >>confdefs.h + +libc_cv_have_sdata_section=no + +# For ARC, historically ; was used for comments and not newline +# Later # also got added to comment list, but ; couldn't be switched to +# canonical newline as there's lots of code out there which will break +libc_cv_asm_line_sep='`' +cat >>confdefs.h <<_ACEOF +#define ASM_LINE_SEP $libc_cv_asm_line_sep +_ACEOF diff --git a/sysdeps/arc/configure.ac b/sysdeps/arc/configure.ac new file mode 100644 index 000000000000..1074d312f033 --- /dev/null +++ b/sysdeps/arc/configure.ac @@ -0,0 +1,11 @@ +GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory. +# Local configure fragment for sysdeps/arc. + +AC_DEFINE(PI_STATIC_AND_HIDDEN) +libc_cv_have_sdata_section=no + +# For ARC, historically ; was used for comments and not newline +# Later # also got added to comment list, but ; couldn't be switched to +# canonical newline as there's lots of code out there which will break +libc_cv_asm_line_sep='`' +AC_DEFINE_UNQUOTED(ASM_LINE_SEP, $libc_cv_asm_line_sep) diff --git a/sysdeps/arc/nptl/Makefile b/sysdeps/arc/nptl/Makefile new file mode 100644 index 000000000000..6f387c53905d --- /dev/null +++ b/sysdeps/arc/nptl/Makefile @@ -0,0 +1,22 @@ +# NPTL makefile fragment for ARC. +# Copyright (C) 2005-2020 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 +# . + +ifeq ($(subdir),csu) +gen-as-const-headers += tcb-offsets.sym +endif diff --git a/sysdeps/arc/preconfigure b/sysdeps/arc/preconfigure new file mode 100644 index 000000000000..d9c5429f4050 --- /dev/null +++ b/sysdeps/arc/preconfigure @@ -0,0 +1,15 @@ +case "$machine" in +arc*) + base_machine=arc + machine=arc + + gccfloat=`$CC $CFLAGS $CPPFLAGS -E -dM -xc /dev/null | grep __ARC_FPU_| wc -l` + if test "$gccfloat" != "0"; then + echo "glibc being configured for double precision floating point" + with_fp_cond=1 + else + with_fp_cond=0 + fi + ;; + +esac diff --git a/sysdeps/unix/sysv/linux/arc/Implies b/sysdeps/unix/sysv/linux/arc/Implies new file mode 100644 index 000000000000..7f739a0340b6 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/Implies @@ -0,0 +1,3 @@ +arc/nptl +unix/sysv/linux/generic/wordsize-32 +unix/sysv/linux/generic diff --git a/sysdeps/unix/sysv/linux/arc/Makefile b/sysdeps/unix/sysv/linux/arc/Makefile new file mode 100644 index 000000000000..a6c6dfc6ec64 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/Makefile @@ -0,0 +1,20 @@ +ifeq ($(subdir),stdlib) +gen-as-const-headers += ucontext_i.sym +endif + +ifeq ($(subdir),signal) +sysdep_routines += sigrestorer +endif + +ifeq ($(subdir),misc) +# MIPS/Tile-style cacheflush routine +sysdep_headers += sys/cachectl.h +sysdep_routines += cacheflush +endif + +ifeq ($(subdir),elf) +ifeq ($(build-shared),yes) +# This is needed for DSO loading from static binaries. +sysdep-dl-routines += dl-static +endif +endif diff --git a/sysdeps/unix/sysv/linux/arc/Versions b/sysdeps/unix/sysv/linux/arc/Versions new file mode 100644 index 000000000000..292f1974b02a --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/Versions @@ -0,0 +1,16 @@ +ld { + GLIBC_PRIVATE { + # used for loading by static libraries + _dl_var_init; + } +} +libc { + GLIBC_2.32 { + _flush_cache; + cacheflush; + } + GLIBC_PRIVATE { + # A copy of sigaction lives in libpthread, and needs these. + __default_rt_sa_restorer; + } +} diff --git a/sysdeps/unix/sysv/linux/arc/configure b/sysdeps/unix/sysv/linux/arc/configure new file mode 100644 index 000000000000..f74fa7cb0259 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/configure @@ -0,0 +1,4 @@ +# This file is generated from configure.in by Autoconf. DO NOT EDIT! + # Local configure fragment for sysdeps/unix/sysv/linux/arc. + +arch_minimum_kernel=3.9.0 diff --git a/sysdeps/unix/sysv/linux/arc/configure.ac b/sysdeps/unix/sysv/linux/arc/configure.ac new file mode 100644 index 000000000000..a9528032d32a --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/configure.ac @@ -0,0 +1,4 @@ +GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory. +# Local configure fragment for sysdeps/unix/sysv/linux/arc. + +arch_minimum_kernel=3.9.0 diff --git a/sysdeps/unix/sysv/linux/arc/shlib-versions b/sysdeps/unix/sysv/linux/arc/shlib-versions new file mode 100644 index 000000000000..a4b961583e95 --- /dev/null +++ b/sysdeps/unix/sysv/linux/arc/shlib-versions @@ -0,0 +1,2 @@ +DEFAULT GLIBC_2.32 +ld=ld-linux-arc.so.2