Browse Source

Merge branch 'master' of git+ssh://openadk.org/git/openadk

Waldemar Brodkorb 10 years ago
parent
commit
c31e89e0ae
4 changed files with 600 additions and 126 deletions
  1. 1 1
      BUGS
  2. 2 0
      TODO
  3. 513 125
      target/sparc/kernel.config
  4. 84 0
      toolchain/glibc/patches/sparc-fpu-workaround.patch

+ 1 - 1
BUGS

@@ -1,4 +1,4 @@
-- qemu-sparc with glibc/eglibc does not compile
+- qemu-sparc with eglibc does not compile
 - qemu-ppc64 does not boot
 - cris foxboard-lx is broken, binutils failure
 - uclibc on lemote mips64 target does not work (only uclibc-trunk with patches)

+ 2 - 0
TODO

@@ -1,3 +1,5 @@
+- automatically add -dbg package via objcopy magic
+- evaluate libguestfs for image creation
 - add PKG_AUTOTOOL logic for packages, which need patches to
   the autotool infrastructure
 - add grsec kernel patch

File diff suppressed because it is too large
+ 513 - 125
target/sparc/kernel.config


+ 84 - 0
toolchain/glibc/patches/sparc-fpu-workaround.patch

@@ -0,0 +1,84 @@
+diff -Nur glibc-2.18.orig/sysdeps/sparc/sparc32/fpu/s_fdimf.S glibc-2.18/sysdeps/sparc/sparc32/fpu/s_fdimf.S
+--- glibc-2.18.orig/sysdeps/sparc/sparc32/fpu/s_fdimf.S	2013-08-11 00:52:55.000000000 +0200
++++ glibc-2.18/sysdeps/sparc/sparc32/fpu/s_fdimf.S	1970-01-01 01:00:00.000000000 +0100
+@@ -1,35 +0,0 @@
+-/* Compute positive difference, sparc 32-bit.
+-   Copyright (C) 2013 Free Software Foundation, Inc.
+-   This file is part of the GNU C Library.
+-   Contributed by David S. Miller <davem@davemloft.net>.
+-
+-   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/>.  */
+-
+-#include <sysdep.h>
+-
+-ENTRY(__fdimf)
+-	st	%o0, [%sp + 72]
+-	st	%o1, [%sp + 76]
+-	ld	[%sp + 72], %f0
+-	ld	[%sp + 76], %f1
+-	fcmps	%f0, %f1
+-	fbug	1f
+-	 st	%g0, [%sp + 72]
+-	ld	[%sp + 72], %f0
+-	fnegs	%f0, %f1
+-1:	retl
+-	 fsubs	%f0, %f1, %f0
+-END(__fdimf)
+-weak_alias (__fdimf, fdimf)
+diff -Nur glibc-2.18.orig/sysdeps/sparc/sparc32/fpu/s_fdim.S glibc-2.18/sysdeps/sparc/sparc32/fpu/s_fdim.S
+--- glibc-2.18.orig/sysdeps/sparc/sparc32/fpu/s_fdim.S	2013-08-11 00:52:55.000000000 +0200
++++ glibc-2.18/sysdeps/sparc/sparc32/fpu/s_fdim.S	1970-01-01 01:00:00.000000000 +0100
+@@ -1,41 +0,0 @@
+-/* Compute positive difference, sparc 32-bit.
+-   Copyright (C) 2013 Free Software Foundation, Inc.
+-   This file is part of the GNU C Library.
+-   Contributed by David S. Miller <davem@davemloft.net>.
+-
+-   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/>.  */
+-
+-#include <sysdep.h>
+-#include <math_ldbl_opt.h>
+-
+-ENTRY(__fdim)
+-	std	%o0, [%sp + 72]
+-	std	%o2, [%sp + 80]
+-	ldd	[%sp + 72], %f0
+-	ldd	[%sp + 80], %f2
+-	fcmpd	%f0, %f2
+-	st	%g0, [%sp + 72]
+-	fbug	1f
+-	 st	%g0, [%sp + 76]
+-	ldd	[%sp + 72], %f0
+-	fnegd	%f0, %f2
+-1:	retl
+-	 fsubd	%f0, %f2, %f0
+-END(__fdim)
+-weak_alias (__fdim, fdim)
+-
+-#if LONG_DOUBLE_COMPAT(libm, GLIBC_2_1)
+-compat_symbol (libm, __fdim, fdiml, GLIBC_2_1);
+-#endif

Some files were not shown because too many files changed in this diff