diff options
author | Stafford Horne <shorne@gmail.com> | 2021-10-20 06:54:11 +0900 |
---|---|---|
committer | Stafford Horne <shorne@gmail.com> | 2022-01-05 06:40:06 +0900 |
commit | 0c3c62ca7d9ff3bdacdd13e636bc858101e3e288 (patch) | |
tree | 83492797f96c54e17f75bc2d05d6bc40a535477f | |
parent | d147259b5c35da2f7764e24997cb4fd216570427 (diff) | |
download | glibc-0c3c62ca7d9ff3bdacdd13e636bc858101e3e288.tar.gz glibc-0c3c62ca7d9ff3bdacdd13e636bc858101e3e288.tar.xz glibc-0c3c62ca7d9ff3bdacdd13e636bc858101e3e288.zip |
or1k: Build Infrastructure
Here we define the minumum linux kernel version at 5.4.0, as that is the long term support version where 32-bit architectures start to support 64-bit time API's. The OpenRISC kernel had some bugs up until version 5.8 which caused issues with glibc fork/clone, they have been backported to 5.4 but not previous versions. Reviewed-by: Adhemerval Zanella <adhemerval.zanella@linaro.org>
-rw-r--r-- | sysdeps/or1k/Implies | 3 | ||||
-rw-r--r-- | sysdeps/or1k/Makefile | 6 | ||||
-rw-r--r-- | sysdeps/or1k/nofpu/Implies | 1 | ||||
-rw-r--r-- | sysdeps/or1k/preconfigure | 33 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/or1k/Implies | 3 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/or1k/Makefile | 7 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/or1k/configure | 4 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/or1k/configure.ac | 4 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/or1k/shlib-versions | 2 |
9 files changed, 63 insertions, 0 deletions
diff --git a/sysdeps/or1k/Implies b/sysdeps/or1k/Implies new file mode 100644 index 0000000000..387a0ca052 --- /dev/null +++ b/sysdeps/or1k/Implies @@ -0,0 +1,3 @@ +wordsize-32 +ieee754/dbl-64 +ieee754/flt-32 diff --git a/sysdeps/or1k/Makefile b/sysdeps/or1k/Makefile new file mode 100644 index 0000000000..577d8d5234 --- /dev/null +++ b/sysdeps/or1k/Makefile @@ -0,0 +1,6 @@ +ASFLAGS-.os += -fPIC + +ifeq ($(subdir),elf) +# Extra shared linker files to link only into dl-allobjs.so. +sysdep-rtld-routines += dl-start +endif diff --git a/sysdeps/or1k/nofpu/Implies b/sysdeps/or1k/nofpu/Implies new file mode 100644 index 0000000000..abcbadb25f --- /dev/null +++ b/sysdeps/or1k/nofpu/Implies @@ -0,0 +1 @@ +ieee754/soft-fp diff --git a/sysdeps/or1k/preconfigure b/sysdeps/or1k/preconfigure new file mode 100644 index 0000000000..1cc7ce0399 --- /dev/null +++ b/sysdeps/or1k/preconfigure @@ -0,0 +1,33 @@ +# +# This is free and unencumbered software released into the public domain. +# +# Anyone is free to copy, modify, publish, use, compile, sell, or +# distribute this software, either in source code form or as a compiled +# binary, for any purpose, commercial or non-commercial, and by any +# means. +# +# In jurisdictions that recognize copyright laws, the author or authors +# of this software dedicate any and all copyright interest in the +# software to the public domain. We make this dedication for the benefit +# of the public at large and to the detriment of our heirs and +# successors. We intend this dedication to be an overt act of +# relinquishment in perpetuity of all present and future rights to this +# software under copyright law. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +# IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR +# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +# OTHER DEALINGS IN THE SOFTWARE. +# + +case "$machine" in +or1k*) + base_machine=or1k + machine=or1k + + with_fp_cond="defined __or1k_hard_float__" + ;; +esac diff --git a/sysdeps/unix/sysv/linux/or1k/Implies b/sysdeps/unix/sysv/linux/or1k/Implies new file mode 100644 index 0000000000..f39f16c04a --- /dev/null +++ b/sysdeps/unix/sysv/linux/or1k/Implies @@ -0,0 +1,3 @@ +or1k/nptl +unix/sysv/linux/generic/wordsize-32 +unix/sysv/linux/generic diff --git a/sysdeps/unix/sysv/linux/or1k/Makefile b/sysdeps/unix/sysv/linux/or1k/Makefile new file mode 100644 index 0000000000..7d85fb6eea --- /dev/null +++ b/sysdeps/unix/sysv/linux/or1k/Makefile @@ -0,0 +1,7 @@ +ifeq ($(subdir),misc) +sysdep_routines += or1k_clone +endif + +ifeq ($(subdir),stdlib) +gen-as-const-headers += ucontext_i.sym +endif diff --git a/sysdeps/unix/sysv/linux/or1k/configure b/sysdeps/unix/sysv/linux/or1k/configure new file mode 100644 index 0000000000..5225dfea5b --- /dev/null +++ b/sysdeps/unix/sysv/linux/or1k/configure @@ -0,0 +1,4 @@ +# This file is generated from configure.ac by Autoconf. DO NOT EDIT! + # Local configure fragment for sysdeps/unix/sysv/linux/or1k. + +arch_minimum_kernel=5.4.0 diff --git a/sysdeps/unix/sysv/linux/or1k/configure.ac b/sysdeps/unix/sysv/linux/or1k/configure.ac new file mode 100644 index 0000000000..6274c4fb02 --- /dev/null +++ b/sysdeps/unix/sysv/linux/or1k/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/or1k. + +arch_minimum_kernel=5.4.0 diff --git a/sysdeps/unix/sysv/linux/or1k/shlib-versions b/sysdeps/unix/sysv/linux/or1k/shlib-versions new file mode 100644 index 0000000000..159653b5c4 --- /dev/null +++ b/sysdeps/unix/sysv/linux/or1k/shlib-versions @@ -0,0 +1,2 @@ +DEFAULT GLIBC_2.35 +ld=ld-linux-or1k.so.1 |