socsvn commit: r270015 - in soc2014/estaszuk/microblaze-head/head: . etc/etc.microblaze lib/csu/microblaze lib/libc/microblaze lib/libc/microblaze/aeabi lib/libc/microblaze/gen lib/libc/microblaze/...

estaszuk at FreeBSD.org estaszuk at FreeBSD.org
Wed Jun 25 11:07:40 UTC 2014


Author: estaszuk
Date: Wed Jun 25 11:07:33 2014
New Revision: 270015
URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=270015

Log:
  Adding microblaze to directory tree

Added:
  soc2014/estaszuk/microblaze-head/head/etc/etc.microblaze/
  soc2014/estaszuk/microblaze-head/head/etc/etc.microblaze/ttys
  soc2014/estaszuk/microblaze-head/head/lib/csu/microblaze/
  soc2014/estaszuk/microblaze-head/head/lib/csu/microblaze/ADDDIR
  soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/
  soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/Makefile.inc
  soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/SYS.h
  soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/Symbol.map
  soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/Symbol_oabi.map
  soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/_fpmath.h
  soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/aeabi/
  soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/aeabi/Makefile.inc
  soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/aeabi/Symbol.map
  soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/aeabi/aeabi_atexit.c
  soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/aeabi/aeabi_double.c
  soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/aeabi/aeabi_float.c
  soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/aeabi/aeabi_unwind_cpp.c
  soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/aeabi/aeabi_vfp.h
  soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/aeabi/aeabi_vfp_double.S
  soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/aeabi/aeabi_vfp_float.S
  soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/arith.h
  soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/gd_qnan.h
  soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/gen/
  soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/gen/Makefile.inc
  soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/gen/__aeabi_read_tp.S
  soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/gen/_ctx_start.S
  soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/gen/_set_tp.c
  soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/gen/_setjmp.S
  soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/gen/alloca.S
  soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/gen/arm_initfini.c
  soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/gen/divsi3.S
  soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/gen/fabs.c
  soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/gen/flt_rounds.c
  soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/gen/fpgetmask_vfp.c
  soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/gen/fpgetround_vfp.c
  soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/gen/fpgetsticky_vfp.c
  soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/gen/fpsetmask_vfp.c
  soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/gen/fpsetround_vfp.c
  soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/gen/fpsetsticky_vfp.c
  soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/gen/getcontextx.c
  soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/gen/infinity.c
  soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/gen/makecontext.c
  soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/gen/setjmp.S
  soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/gen/signalcontext.c
  soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/gen/sigsetjmp.S
  soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/softfloat/
  soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/softfloat/arm-gcc.h
  soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/softfloat/milieu.h
  soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/softfloat/softfloat.h
  soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/string/
  soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/string/Makefile.inc
  soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/string/bcopy.S
  soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/string/bzero.S
  soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/string/ffs.S
  soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/string/memcmp.S
  soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/string/memcpy.S
  soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/string/memcpy_arm.S
  soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/string/memcpy_xscale.S
  soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/string/memmove.S
  soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/string/memset.S
  soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/string/strcmp.S
  soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/string/strlen.S
  soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/string/strncmp.S
  soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/sys/
  soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/sys/Makefile.inc
  soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/sys/Ovfork.S
  soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/sys/__vdso_gettc.c
  soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/sys/brk.S
  soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/sys/cerror.S
  soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/sys/fork.S
  soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/sys/pipe.S
  soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/sys/ptrace.S
  soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/sys/sbrk.S
  soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/sys/shmat.S
  soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/sys/sigreturn.S
  soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/sys/syscall.S
  soc2014/estaszuk/microblaze-head/head/src.conf
  soc2014/estaszuk/microblaze-head/head/src.conf2
  soc2014/estaszuk/microblaze-head/head/sys/libkern/microblaze/
  soc2014/estaszuk/microblaze-head/head/sys/libkern/microblaze/aeabi_unwind.c
  soc2014/estaszuk/microblaze-head/head/sys/libkern/microblaze/divsi3.S
  soc2014/estaszuk/microblaze-head/head/sys/libkern/microblaze/ffs.S
  soc2014/estaszuk/microblaze-head/head/sys/libkern/microblaze/ldivmod.S
  soc2014/estaszuk/microblaze-head/head/sys/libkern/microblaze/ldivmod_helper.c
  soc2014/estaszuk/microblaze-head/head/sys/libkern/microblaze/memcpy.S
  soc2014/estaszuk/microblaze-head/head/sys/libkern/microblaze/memset.S
  soc2014/estaszuk/microblaze-head/head/sys/libkern/microblaze/muldi3.c
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/conf/MICROBLAZEDEF
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/_align.h
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/_bus.h
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/_limits.h
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/_stdint.h
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/_types.h
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/armreg.h
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/asm.h
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/asmacros.h
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/atags.h
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/atomic.h
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/bootconfig.h
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/bus.h
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/bus_dma.h
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/clock.h
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/counter.h
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/cpu.h
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/cpuconf.h
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/cpufunc.h
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/db_machdep.h
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/devmap.h
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/disassem.h
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/elf.h
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/endian.h
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/exec.h
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/fiq.h
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/fp.h
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/frame.h
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/in_cksum.h
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/intr.h
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/kdb.h
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/machdep.h
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/md_var.h
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/memdev.h
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/metadata.h
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/minidump.h
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/param.h
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/pcb.h
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/pcpu.h
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/physmem.h
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/platform.h
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/pmap.h
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/pmc_mdep.h
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/proc.h
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/profile.h
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/psl.h
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/pte.h
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/ptrace.h
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/reg.h
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/resource.h
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/runq.h
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/setjmp.h
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/sf_buf.h
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/signal.h
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/smp.h
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/stack.h
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/stdarg.h
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/swi.h
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/sysarch.h
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/trap.h
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/ucontext.h
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/undefined.h
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/utrap.h
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/vdso.h
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/vfp.h
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/vm.h
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/include/vmparam.h
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/microblaze/
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/microblaze/autoconf.c
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/microblaze/bcopy_page.S
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/microblaze/bcopyinout.S
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/microblaze/blockio.S
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/microblaze/bootconfig.c
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/microblaze/bus_space_asm_generic.S
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/microblaze/copystr.S
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/microblaze/cpufunc.c
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/microblaze/cpufunc_asm.S
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/microblaze/cpufunc_asm_armv4.S
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/microblaze/devmap.c
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/microblaze/dump_machdep.c
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/microblaze/elf_machdep.c
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/microblaze/exception.S
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/microblaze/files.microblaze
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/microblaze/fiq.c
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/microblaze/fiq_subr.S
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/microblaze/fusu.S
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/microblaze/genassym.c
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/microblaze/identcpu.c
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/microblaze/intr.c
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/microblaze/locore.S
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/microblaze/machdep.c
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/microblaze/mem.c
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/microblaze/minidump_machdep.c
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/microblaze/nexus.c
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/microblaze/physmem.c
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/microblaze/setcpsr.S
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/microblaze/setstack.s
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/microblaze/stack_machdep.c
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/microblaze/std.microblaze
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/microblaze/stdatomic.c
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/microblaze/support.S
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/microblaze/swtch.S
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/microblaze/sys_machdep.c
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/microblaze/trap.c
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/microblaze/uio_machdep.c
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/microblaze/undefined.c
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/microblaze/vfp.c
  soc2014/estaszuk/microblaze-head/head/sys/microblaze/microblaze/vm_machdep.c
  soc2014/estaszuk/microblaze-head/head/usr.bin/Makefile.microblaze

Added: soc2014/estaszuk/microblaze-head/head/etc/etc.microblaze/ttys
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ soc2014/estaszuk/microblaze-head/head/etc/etc.microblaze/ttys	Wed Jun 25 11:07:33 2014	(r270015)
@@ -0,0 +1,49 @@
+#
+# $FreeBSD$
+#	@(#)ttys	5.1 (Berkeley) 4/17/89
+#
+# This file specifies various information about terminals on the system.
+# It is used by several different programs.  Common entries for the
+# various columns include:
+#
+# name  The name of the terminal device.
+#
+# getty The program to start running on the terminal.  Typically a
+#       getty program, as the name implies.  Other common entries
+#       include none, when no getty is needed, and xdm, to start the
+#       X Window System.
+#
+# type The initial terminal type for this port.  For hardwired
+#      terminal lines, this will contain the type of terminal used.
+#      For virtual consoles, the correct type is typically xterm.
+#      Other common values include dialup for incoming modem ports, and
+#      unknown when the terminal type cannot be predetermined.
+#
+# status Must be on or off.  If on, init will run the getty program on
+#        the specified port.  If the word "secure" appears, this tty
+#        allows root login.
+#
+# name	getty				type	status		comments
+#
+# If console is marked "insecure", then init will ask for the root password
+# when going to single-user mode.
+console	none				unknown	off secure
+#
+ttyv0	"/usr/libexec/getty Pc"		xterm	off  secure
+# Virtual terminals
+ttyv1	"/usr/libexec/getty Pc"		xterm	off  secure
+ttyv2	"/usr/libexec/getty Pc"		xterm	off  secure
+ttyv3	"/usr/libexec/getty Pc"		xterm	off  secure
+ttyv4	"/usr/libexec/getty Pc"		xterm	off  secure
+ttyv5	"/usr/libexec/getty Pc"		xterm	off  secure
+ttyv6	"/usr/libexec/getty Pc"		xterm	off  secure
+ttyv7	"/usr/libexec/getty Pc"		xterm	off  secure
+#ttyv8	"/usr/local/bin/xdm -nodaemon"	xterm	off secure
+# Serial terminals
+# The 'dialup' keyword identifies dialin lines to login, fingerd etc.
+ttyu0	"/usr/libexec/getty 3wire"	vt100	on  secure
+ttyu1	"/usr/libexec/getty std.9600"	dialup	off secure
+ttyu2	"/usr/libexec/getty std.9600"	dialup	off secure
+ttyu3	"/usr/libexec/getty std.9600"	dialup	off secure
+# Dumb console
+dcons	"/usr/libexec/getty std.9600"	vt100	off secure

Added: soc2014/estaszuk/microblaze-head/head/lib/csu/microblaze/ADDDIR
==============================================================================

Added: soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/Makefile.inc
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/Makefile.inc	Wed Jun 25 11:07:33 2014	(r270015)
@@ -0,0 +1,18 @@
+# $FreeBSD$
+#
+# Machine dependent definitions for the arm architecture.
+#
+
+SOFTFLOAT_BITS=32
+
+# Long double is just double precision.
+MDSRCS+=machdep_ldisd.c
+SYM_MAPS+=${LIBC_SRCTOP}/arm/Symbol.map
+
+.if ${MK_ARM_EABI} == "no"
+# This contains the symbols that were removed when moving to the ARM EABI
+SYM_MAPS+=${LIBC_SRCTOP}/microblaze/Symbol_oabi.map
+.else
+.include "${LIBC_SRCTOP}/microblaze/aeabi/Makefile.inc"
+.endif
+

Added: soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/SYS.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/SYS.h	Wed Jun 25 11:07:33 2014	(r270015)
@@ -0,0 +1,82 @@
+/*	$NetBSD: SYS.h,v 1.8 2003/08/07 16:42:02 agc Exp $	*/
+
+/*-
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * William Jolitz.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. Neither the name of the University nor the names of its contributors
+ *    may be used to endorse or promote products derived from this software
+ *    without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ *	from: @(#)SYS.h	5.5 (Berkeley) 5/7/91
+ * $FreeBSD$
+ */
+
+#include <machine/asm.h>
+#include <sys/syscall.h>
+#include <machine/swi.h>
+
+#ifdef __ARM_EABI__
+#define SYSTRAP(x)							\
+			mov ip, r7;					\
+			ldr r7, =SYS_ ## x;				\
+			swi 0;						\
+			mov r7, ip
+#else
+#define SYSTRAP(x)	swi 0 | SYS_ ## x
+#endif
+
+#define	CERROR		_C_LABEL(cerror)
+#define	CURBRK		_C_LABEL(curbrk)
+
+#define _SYSCALL_NOERROR(x)						\
+	ENTRY(__CONCAT(__sys_, x));					\
+	.weak _C_LABEL(x);						\
+	.set _C_LABEL(x), _C_LABEL(__CONCAT(__sys_,x));			\
+	.weak _C_LABEL(__CONCAT(_,x));					\
+	.set _C_LABEL(__CONCAT(_,x)),_C_LABEL(__CONCAT(__sys_,x));	\
+	SYSTRAP(x)
+
+#define _SYSCALL(x)							\
+	_SYSCALL_NOERROR(x);						\
+	bcs PIC_SYM(CERROR, PLT)
+
+#define SYSCALL(x)							\
+	_SYSCALL(x)
+
+#define PSEUDO(x)							\
+	ENTRY(__CONCAT(__sys_, x));					\
+	.weak _C_LABEL(__CONCAT(_,x));					\
+	.set _C_LABEL(__CONCAT(_,x)),_C_LABEL(__CONCAT(__sys_,x));	\
+	SYSTRAP(x);							\
+	bcs PIC_SYM(CERROR, PLT);					\
+	RET
+
+#define RSYSCALL(x)							\
+	_SYSCALL(x);							\
+	RET
+
+	.globl  CERROR

Added: soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/Symbol.map
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/Symbol.map	Wed Jun 25 11:07:33 2014	(r270015)
@@ -0,0 +1,81 @@
+/*
+ * $FreeBSD$
+ */
+
+/*
+ * This only needs to contain symbols that are not listed in
+ * symbol maps from other parts of libc (i.e., not found in
+ * stdlib/Symbol.map, string/Symbol.map, sys/Symbol.map, ...).
+ */
+FBSD_1.0 {
+	/* PSEUDO syscalls */
+	_exit;
+
+	__mcount;
+	_setjmp;
+	_longjmp;
+	alloca;
+	fabs;
+	__infinity;
+	__nan;
+	makecontext;
+	setjmp;
+	longjmp;
+	sigsetjmp;
+	siglongjmp;
+	htonl;
+	htons;
+	ntohl;
+	ntohs;
+	vfork;
+	brk;
+	cerror;		/* XXX - Should this be .cerror (see sys/cerror.S)? */
+	sbrk;
+};
+
+FBSD_1.3 {
+	__flt_rounds;
+};
+
+FBSDprivate_1.0 {
+	/* PSEUDO syscalls */
+	__sys_getlogin;
+	_getlogin;
+	__sys_exit;
+
+	_set_tp;
+	__aeabi_read_tp;
+	___longjmp;
+	__makecontext;
+	__longjmp;
+	signalcontext;
+	_signalcontext;
+	__siglongjmp;
+	__sys_vfork;
+	_vfork;
+	_brk;
+	_end;
+	curbrk;
+	minbrk;
+	_sbrk;
+
+	/* softfloat */
+	__addsf3;
+	__adddf3;
+	__subsf3;
+	__subdf3;
+	__mulsf3;
+	__muldf3;
+	__divsf3;
+	__divdf3;
+	__floatsisf;
+	__floatsidf;
+	__fixsfsi;
+	__fixdfsi;
+	__fixunssfsi;
+	__fixunsdfsi;
+	__extendsfdf2;
+	__truncdfsf2;
+
+	_libc_arm_fpu_present;
+};

Added: soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/Symbol_oabi.map
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/Symbol_oabi.map	Wed Jun 25 11:07:33 2014	(r270015)
@@ -0,0 +1,16 @@
+/*
+ * $FreeBSD$
+ */
+
+/*
+ * This only needs to contain symbols that are not listed in
+ * symbol maps from other parts of libc (i.e., not found in
+ * stdlib/Symbol.map, string/Symbol.map, sys/Symbol.map, ...)
+ * and are not used in the ARM EABI.
+ */
+FBSDprivate_1.0 {
+	__umodsi3;
+	__modsi3;
+	__udivsi3;
+	__divsi3;
+};

Added: soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/_fpmath.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/_fpmath.h	Wed Jun 25 11:07:33 2014	(r270015)
@@ -0,0 +1,67 @@
+/*-
+ * Copyright (c) 2002, 2003 David Schultz <das at FreeBSD.ORG>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * $FreeBSD$
+ */
+
+#if defined(__VFP_FP__) || defined(__ARM_EABI__)
+#define	_IEEE_WORD_ORDER	_BYTE_ORDER
+#else
+#define	_IEEE_WORD_ORDER	_BIG_ENDIAN
+#endif
+
+union IEEEl2bits {
+	long double	e;
+	struct {
+#if _BYTE_ORDER == _LITTLE_ENDIAN
+#if _IEEE_WORD_ORDER == _LITTLE_ENDIAN
+		unsigned int	manl	:32;
+#endif
+		unsigned int	manh	:20;
+		unsigned int	exp	:11;
+		unsigned int	sign	:1;
+#if _IEEE_WORD_ORDER == _BIG_ENDIAN
+		unsigned int	manl	:32;
+#endif
+#else	/* _BYTE_ORDER == _LITTLE_ENDIAN */
+		unsigned int		sign	:1;
+		unsigned int		exp	:11;
+		unsigned int		manh	:20;
+		unsigned int		manl	:32;
+#endif
+	} bits;
+};
+
+#define	LDBL_NBIT	0
+#define	LDBL_IMPLICIT_NBIT
+#define	mask_nbit_l(u)	((void)0)
+
+#define	LDBL_MANH_SIZE	20
+#define	LDBL_MANL_SIZE	32
+
+#define	LDBL_TO_ARRAY32(u, a) do {			\
+	(a)[0] = (uint32_t)(u).bits.manl;		\
+	(a)[1] = (uint32_t)(u).bits.manh;		\
+} while(0)

Added: soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/aeabi/Makefile.inc
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/aeabi/Makefile.inc	Wed Jun 25 11:07:33 2014	(r270015)
@@ -0,0 +1,36 @@
+# $FreeBSD$
+
+.PATH: ${LIBC_SRCTOP}/arm/aeabi
+
+SRCS+=	aeabi_atexit.c		\
+	aeabi_unwind_cpp.c
+.if ${MACHINE_ARCH} != "armv6hf"
+SRCS+=	aeabi_double.c		\
+	aeabi_float.c
+.endif
+.if ${MACHINE_ARCH:Marmv6*}
+SRCS+=	aeabi_vfp_double.S	\
+	aeabi_vfp_float.S
+.endif
+
+# Add the aeabi_mem* functions. While they live in compiler-rt they call into
+# libc. This causes issues when other parts of libc call these functions.
+# We work around this by including these functions in libc but mark them as
+# hidden so users of libc will not pick up these versions.
+.PATH: ${LIBC_SRCTOP}/../../contrib/compiler-rt/lib/arm
+
+SRCS+=	aeabi_memcmp.S		\
+	aeabi_memcpy.S		\
+	aeabi_memmove.S		\
+	aeabi_memset.S
+
+# Mark the functions as hidden so they are not available outside of libc.
+CFLAGS.aeabi_memcmp.S=	-DVISIBILITY_HIDDEN
+CFLAGS.aeabi_memcpy.S=	-DVISIBILITY_HIDDEN
+CFLAGS.aeabi_memmove.S=	-DVISIBILITY_HIDDEN
+CFLAGS.aeabi_memset.S=	-DVISIBILITY_HIDDEN
+CFLAGS+=		${CFLAGS.${.IMPSRC:T}}
+
+
+SYM_MAPS+=${LIBC_SRCTOP}/arm/aeabi/Symbol.map
+

Added: soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/aeabi/Symbol.map
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/aeabi/Symbol.map	Wed Jun 25 11:07:33 2014	(r270015)
@@ -0,0 +1,47 @@
+/*
+ * $FreeBSD$
+ */
+
+/*
+ * This only needs to contain AEABI symbols that are not listed in
+ * symbol maps from other parts of libc (i.e., not found in
+ * stdlib/Symbol.map, string/Symbol.map, sys/Symbol.map, ...).
+ */
+FBSDprivate_1.0 {
+	__aeabi_atexit;
+
+	__aeabi_dcmpeq;
+	__aeabi_dcmplt;
+	__aeabi_dcmple;
+	__aeabi_dcmpge;
+	__aeabi_dcmpgt;
+	__aeabi_dcmpun;
+
+	__aeabi_d2iz;
+	__aeabi_d2f;
+
+	__aeabi_dadd;
+	__aeabi_ddiv;
+	__aeabi_dmul;
+	__aeabi_dsub;
+
+
+	__aeabi_fcmpeq;
+	__aeabi_fcmplt;
+	__aeabi_fcmple;
+	__aeabi_fcmpge;
+	__aeabi_fcmpgt;
+	__aeabi_fcmpun;
+
+	__aeabi_f2iz;
+	__aeabi_f2d;
+
+	__aeabi_fadd;
+	__aeabi_fdiv;
+	__aeabi_fmul;
+	__aeabi_fsub;
+
+
+	__aeabi_i2d;
+	__aeabi_i2f;
+};

Added: soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/aeabi/aeabi_atexit.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/aeabi/aeabi_atexit.c	Wed Jun 25 11:07:33 2014	(r270015)
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2012 Andrew Turner
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ */
+
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD$");
+
+int __cxa_atexit(void (*)(void *), void *, void *);
+
+int
+__aeabi_atexit(void *object, void (*func)(void*), void *dso)
+{
+	return __cxa_atexit(func, object, dso);
+}
+

Added: soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/aeabi/aeabi_double.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/aeabi/aeabi_double.c	Wed Jun 25 11:07:33 2014	(r270015)
@@ -0,0 +1,76 @@
+/*
+ * Copyright (C) 2012 Andrew Turner
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ */
+
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD$");
+
+#include "softfloat-for-gcc.h"
+#include "milieu.h"
+#include "softfloat.h"
+
+#include "aeabi_vfp.h"
+
+extern int _libc_arm_fpu_present;
+
+flag __unorddf2(float64, float64);
+
+/* These are written in asm and are only called from this file */
+int __aeabi_dcmpeq_vfp(float64, float64);
+int __aeabi_dcmplt_vfp(float64, float64);
+int __aeabi_dcmple_vfp(float64, float64);
+int __aeabi_dcmpgt_vfp(float64, float64);
+int __aeabi_dcmpge_vfp(float64, float64);
+int __aeabi_dcmpun_vfp(float64, float64);
+int __aeabi_d2iz_vfp(float64);
+float32 __aeabi_d2f_vfp(float64);
+float64 __aeabi_i2d_vfp(int);
+float64 __aeabi_dadd_vfp(float64, float64);
+float64 __aeabi_ddiv_vfp(float64, float64);
+float64 __aeabi_dmul_vfp(float64, float64);
+float64 __aeabi_dsub_vfp(float64, float64);
+
+/*
+ * Depending on the target these will:
+ *  On armv6 with a vfp call the above function, or
+ *  Call the softfloat function in the 3rd argument.
+ */
+int AEABI_FUNC2(dcmpeq, float64, float64_eq)
+int AEABI_FUNC2(dcmplt, float64, float64_lt)
+int AEABI_FUNC2(dcmple, float64, float64_le)
+int AEABI_FUNC2_REV(dcmpge, float64, float64_le)
+int AEABI_FUNC2_REV(dcmpgt, float64, float64_lt)
+int AEABI_FUNC2(dcmpun, float64, __unorddf2)
+
+int AEABI_FUNC(d2iz, float64, float64_to_int32_round_to_zero)
+float32 AEABI_FUNC(d2f, float64, float64_to_float32)
+float64 AEABI_FUNC(i2d, int, int32_to_float64)
+
+float64 AEABI_FUNC2(dadd, float64, float64_add)
+float64 AEABI_FUNC2(ddiv, float64, float64_div)
+float64 AEABI_FUNC2(dmul, float64, float64_mul)
+float64 AEABI_FUNC2(dsub, float64, float64_sub)
+

Added: soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/aeabi/aeabi_float.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/aeabi/aeabi_float.c	Wed Jun 25 11:07:33 2014	(r270015)
@@ -0,0 +1,76 @@
+/*
+ * Copyright (C) 2012 Andrew Turner
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ */
+
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD$");
+
+#include "softfloat-for-gcc.h"
+#include "milieu.h"
+#include "softfloat.h"
+
+#include "aeabi_vfp.h"
+
+extern int _libc_arm_fpu_present;
+
+flag __unordsf2(float32, float32);
+
+/* These are written in asm and are only called from this file */
+int __aeabi_fcmpeq_vfp(float32, float32);
+int __aeabi_fcmplt_vfp(float32, float32);
+int __aeabi_fcmple_vfp(float32, float32);
+int __aeabi_fcmpgt_vfp(float32, float32);
+int __aeabi_fcmpge_vfp(float32, float32);
+int __aeabi_fcmpun_vfp(float32, float32);
+int __aeabi_f2iz_vfp(float32);
+float64 __aeabi_f2d_vfp(float32);
+float32 __aeabi_i2f_vfp(int);
+float32 __aeabi_fadd_vfp(float32, float32);
+float32 __aeabi_fdiv_vfp(float32, float32);
+float32 __aeabi_fmul_vfp(float32, float32);
+float32 __aeabi_fsub_vfp(float32, float32);
+
+/*
+ * Depending on the target these will:
+ *  On armv6 with a vfp call the above function, or
+ *  Call the softfloat function in the 3rd argument.
+ */
+int AEABI_FUNC2(fcmpeq, float32, float32_eq)
+int AEABI_FUNC2(fcmplt, float32, float32_lt)
+int AEABI_FUNC2(fcmple, float32, float32_le)
+int AEABI_FUNC2_REV(fcmpge, float32, float32_le)
+int AEABI_FUNC2_REV(fcmpgt, float32, float32_lt)
+int AEABI_FUNC2(fcmpun, float32, __unordsf2)
+
+int AEABI_FUNC(f2iz, float32, float32_to_int32_round_to_zero)
+float64 AEABI_FUNC(f2d, float32, float32_to_float64)
+float32 AEABI_FUNC(i2f, int, int32_to_float32)
+
+float32 AEABI_FUNC2(fadd, float32, float32_add)
+float32 AEABI_FUNC2(fdiv, float32, float32_div)
+float32 AEABI_FUNC2(fmul, float32, float32_mul)
+float32 AEABI_FUNC2(fsub, float32, float32_sub)
+

Added: soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/aeabi/aeabi_unwind_cpp.c
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/aeabi/aeabi_unwind_cpp.c	Wed Jun 25 11:07:33 2014	(r270015)
@@ -0,0 +1,61 @@
+/*
+ * Copyright (C) 2011 Andrew Turner
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ */
+
+/*
+ * Provide an implementation of __aeabi_unwind_cpp_pr{0,1,2}. These are
+ * required by libc but are implemented in libgcc_eh.a which we don't link
+ * against. The libgcc_eh.a version will be called so we call abort to
+ * check this.
+ */
+
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD$");
+
+#include <stdlib.h>
+
+void __aeabi_unwind_cpp_pr0(void) __hidden;
+void __aeabi_unwind_cpp_pr1(void) __hidden;
+void __aeabi_unwind_cpp_pr2(void) __hidden;
+
+void
+__aeabi_unwind_cpp_pr0(void)
+{
+	abort();
+}
+
+void
+__aeabi_unwind_cpp_pr1(void)
+{
+	abort();
+}
+
+void
+__aeabi_unwind_cpp_pr2(void)
+{
+	abort();
+}
+

Added: soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/aeabi/aeabi_vfp.h
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/aeabi/aeabi_vfp.h	Wed Jun 25 11:07:33 2014	(r270015)
@@ -0,0 +1,129 @@
+/*
+ * Copyright (C) 2013 Andrew Turner
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * $FreeBSD$
+ *
+ */
+
+#ifndef AEABI_VFP_H
+#define	AEABI_VFP_H
+
+/*
+ * ASM helper macros. These allow the functions to be changed depending on
+ * the endian-ness we are building for.
+ */
+
+/* Allow the name of the function to be changed depending on the ABI */
+#ifndef __ARM_PCS_VFP
+#define	AEABI_ENTRY(x)	ENTRY(__aeabi_ ## x ## _vfp)
+#define	AEABI_END(x)	END(__aeabi_ ## x ## _vfp)
+#else
+#define	AEABI_ENTRY(x)	ENTRY(__aeabi_ ## x)
+#define	AEABI_END(x)	END(__aeabi_ ## x)
+#endif
+
+/*
+ * These should be used when a function either takes, or returns a floating
+ * point falue. They will load the data from an ARM to a VFP register(s),
+ * or from a VFP to an ARM register
+ */
+#ifdef __ARMEB__
+#define	LOAD_DREG(vreg, reg0, reg1)   vmov vreg, reg1, reg0
+#define	UNLOAD_DREG(reg0, reg1, vreg) vmov reg1, reg0, vreg
+#else
+#define	LOAD_DREG(vreg, reg0, reg1)   vmov vreg, reg0, reg1
+#define	UNLOAD_DREG(reg0, reg1, vreg) vmov reg0, reg1, vreg
+#endif
+
+#define	LOAD_SREGS(vreg0, vreg1, reg0, reg1) vmov vreg0, vreg1, reg0, reg1
+#define	LOAD_SREG(vreg, reg)                 vmov vreg, reg
+#define	UNLOAD_SREG(reg, vreg)               vmov reg, vreg
+
+/*
+ * C Helper macros
+ */
+
+#if defined(__FreeBSD_ARCH_armv6__) || (defined(__ARM_ARCH) && __ARM_ARCH >= 6)
+/*
+ * Generate a function that will either call into the VFP implementation,
+ * or the soft float version for a given __aeabi_* helper. The function
+ * will take a single argument of the type given by in_type.
+ */
+#define	AEABI_FUNC(name, in_type, soft_func)			\
+__aeabi_ ## name(in_type a)					\
+{								\
+	if (_libc_arm_fpu_present)				\
+		return __aeabi_ ## name ## _vfp(a);		\
+	else							\
+		return soft_func (a);				\
+}
+
+/* As above, but takes two arguments of the same type */
+#define	AEABI_FUNC2(name, in_type, soft_func)			\
+__aeabi_ ## name(in_type a, in_type b)				\
+{								\
+	if (_libc_arm_fpu_present)				\
+		return __aeabi_ ## name ## _vfp(a, b);	\
+	else							\
+		return soft_func (a, b);			\
+}
+
+/* As above, but with the soft float arguments reversed */
+#define	AEABI_FUNC2_REV(name, in_type, soft_func)		\
+__aeabi_ ## name(in_type a, in_type b)				\
+{								\
+	if (_libc_arm_fpu_present)				\
+		return __aeabi_ ## name ## _vfp(a, b);	\
+	else							\
+		return soft_func (b, a);			\
+}
+#else
+/*
+ * Helper macros for when we are only able to use the softfloat
+ * version of these functions, i.e. on arm before armv6.
+ */
+#define	AEABI_FUNC(name, in_type, soft_func)			\
+__aeabi_ ## name(in_type a)					\
+{								\
+	return soft_func (a);					\
+}
+
+/* As above, but takes two arguments of the same type */
+#define	AEABI_FUNC2(name, in_type, soft_func)			\
+__aeabi_ ## name(in_type a, in_type b)				\
+{								\
+	return soft_func (a, b);				\
+}
+
+/* As above, but with the soft float arguments reversed */
+#define	AEABI_FUNC2_REV(name, in_type, soft_func)		\
+__aeabi_ ## name(in_type a, in_type b)				\
+{								\
+	return soft_func (b, a);				\
+}
+#endif
+
+#endif
+

Added: soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/aeabi/aeabi_vfp_double.S
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/aeabi/aeabi_vfp_double.S	Wed Jun 25 11:07:33 2014	(r270015)
@@ -0,0 +1,170 @@
+/*
+ * Copyright (C) 2013 Andrew Turner
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ */
+
+#include <machine/asm.h>
+__FBSDID("$FreeBSD$");
+
+#include "aeabi_vfp.h"
+
+.fpu	vfp
+.syntax	unified
+
+/* int __aeabi_dcmpeq(double, double) */
+AEABI_ENTRY(dcmpeq)
+	LOAD_DREG(d0, r0, r1)
+	LOAD_DREG(d1, r2, r3)
+	vcmp.f64 d0, d1
+	vmrs     APSR_nzcv, fpscr
+	movne    r0, #0
+	moveq    r0, #1
+	RET
+AEABI_END(dcmpeq)
+
+/* int __aeabi_dcmplt(double, double) */
+AEABI_ENTRY(dcmplt)
+	LOAD_DREG(d0, r0, r1)
+	LOAD_DREG(d1, r2, r3)
+	vcmp.f64 d0, d1
+	vmrs     APSR_nzcv, fpscr
+	movcs    r0, #0
+	movlt    r0, #1
+	RET
+AEABI_END(dcmplt)
+
+/* int __aeabi_dcmple(double, double) */
+AEABI_ENTRY(dcmple)
+	LOAD_DREG(d0, r0, r1)
+	LOAD_DREG(d1, r2, r3)
+	vcmp.f64 d0, d1
+	vmrs     APSR_nzcv, fpscr
+	movhi    r0, #0
+	movls    r0, #1
+	RET
+AEABI_END(dcmple)
+
+/* int __aeabi_dcmpge(double, double) */
+AEABI_ENTRY(dcmpge)
+	LOAD_DREG(d0, r0, r1)
+	LOAD_DREG(d1, r2, r3)
+	vcmp.f64 d0, d1
+	vmrs     APSR_nzcv, fpscr
+	movlt    r0, #0
+	movge    r0, #1
+	RET
+AEABI_END(dcmpge)
+
+/* int __aeabi_dcmpgt(double, double) */
+AEABI_ENTRY(dcmpgt)
+	LOAD_DREG(d0, r0, r1)
+	LOAD_DREG(d1, r2, r3)
+	vcmp.f64 d0, d1
+	vmrs     APSR_nzcv, fpscr
+	movle    r0, #0
+	movgt    r0, #1
+	RET
+AEABI_END(dcmpgt)
+
+/* int __aeabi_dcmpun(double, double) */
+AEABI_ENTRY(dcmpun)
+	LOAD_DREG(d0, r0, r1)
+	LOAD_DREG(d1, r2, r3)
+	vcmp.f64 d0, d1
+	vmrs     APSR_nzcv, fpscr
+	movvc    r0, #0
+	movvs    r0, #1
+	RET
+AEABI_END(dcmpun)
+
+/* int __aeabi_d2iz(double) */
+AEABI_ENTRY(d2iz)
+	LOAD_DREG(d0, r0, r1)
+#if 0
+	/*
+	 * This should be the correct instruction, but binutils incorrectly
+	 * encodes it as the version that used FPSCR to determine the rounding.
+	 * When binutils is fixed we can use this again.
+	 */
+	vcvt.s32.f64 s0, d0
+#else
+	ftosizd s0, d0
+#endif
+	vmov         r0, s0
+	RET
+AEABI_END(d2iz)
+
+/* float __aeabi_d2f(double) */
+AEABI_ENTRY(d2f)
+	LOAD_DREG(d0, r0, r1)
+	vcvt.f32.f64 s0, d0
+	UNLOAD_SREG(r0, s0)
+	RET
+AEABI_END(d2f)
+
+/* double __aeabi_i2d(int) */
+AEABI_ENTRY(i2d)
+	vmov         s0, r0
+	vcvt.f64.s32 d0, s0
+	UNLOAD_DREG(r0, r1, d0)
+	RET
+AEABI_END(i2d)
+
+/* double __aeabi_dadd(double, double) */
+AEABI_ENTRY(dadd)
+	LOAD_DREG(d0, r0, r1)
+	LOAD_DREG(d1, r2, r3)
+	vadd.f64 d0, d0, d1
+	UNLOAD_DREG(r0, r1, d0)
+	RET
+AEABI_END(dadd)
+
+/* double __aeabi_ddiv(double, double) */
+AEABI_ENTRY(ddiv)
+	LOAD_DREG(d0, r0, r1)
+	LOAD_DREG(d1, r2, r3)
+	vdiv.f64 d0, d0, d1
+	UNLOAD_DREG(r0, r1, d0)
+	RET
+AEABI_END(ddiv)
+
+/* double __aeabi_dmul(double, double) */
+AEABI_ENTRY(dmul)
+	LOAD_DREG(d0, r0, r1)
+	LOAD_DREG(d1, r2, r3)
+	vmul.f64 d0, d0, d1
+	UNLOAD_DREG(r0, r1, d0)
+	RET
+AEABI_END(dmul)
+
+/* double __aeabi_dsub(double, double) */
+AEABI_ENTRY(dsub)
+	LOAD_DREG(d0, r0, r1)
+	LOAD_DREG(d1, r2, r3)
+	vsub.f64 d0, d0, d1
+	UNLOAD_DREG(r0, r1, d0)
+	RET
+AEABI_END(dsub)
+

Added: soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/aeabi/aeabi_vfp_float.S
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ soc2014/estaszuk/microblaze-head/head/lib/libc/microblaze/aeabi/aeabi_vfp_float.S	Wed Jun 25 11:07:33 2014	(r270015)
@@ -0,0 +1,160 @@
+/*
+ * Copyright (C) 2013 Andrew Turner
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***


More information about the svn-soc-all mailing list