Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'libgloss')
-rw-r--r--libgloss/ChangeLog346
-rw-r--r--libgloss/README3
-rw-r--r--libgloss/aarch64/Makefile.in7
-rw-r--r--libgloss/aarch64/cpu-init/rdimon-aem-el3.S4
-rw-r--r--libgloss/arm/Makefile.in12
-rw-r--r--libgloss/arm/configure2754
-rw-r--r--libgloss/arm/configure.in4
-rw-r--r--libgloss/arm/elf-aprofile-validation.specs2
-rw-r--r--libgloss/arm/elf-aprofile-ve.specs2
-rw-r--r--libgloss/arm/elf-nano.specs18
-rw-r--r--libgloss/arm/elf-rdimon.specs13
-rw-r--r--libgloss/arm/syscalls.c8
-rw-r--r--libgloss/bfin/Makefile.in2
-rwxr-xr-xlibgloss/configure6
-rw-r--r--libgloss/configure.in4
-rw-r--r--libgloss/libnosys/nosys.specs11
-rw-r--r--libgloss/libnosys/sbrk.c16
-rw-r--r--libgloss/mips/abiflags.S82
-rw-r--r--libgloss/mips/crt0.S152
-rw-r--r--libgloss/mips/mti32.ld6
-rw-r--r--libgloss/mips/mti64.ld6
-rw-r--r--libgloss/mips/mti64_64.ld6
-rw-r--r--libgloss/mips/mti64_n32.ld6
-rw-r--r--libgloss/mips/regs.S2
-rw-r--r--libgloss/moxie/Makefile.in16
-rw-r--r--libgloss/moxie/configure16
-rw-r--r--libgloss/moxie/configure.in15
-rw-r--r--libgloss/moxie/moxiebox.ld232
-rw-r--r--libgloss/msp430/Makefile.in58
-rw-r--r--libgloss/msp430/crt0.S75
-rw-r--r--libgloss/msp430/crtn.S2
-rw-r--r--libgloss/msp430/msp430-sim.ld63
-rw-r--r--libgloss/msp430/msp430.ld8
-rw-r--r--libgloss/msp430/msp430xl-sim.ld96
-rw-r--r--libgloss/msp430/nosyscalls.S (renamed from libgloss/msp430/ciosyscalls.S)0
-rw-r--r--libgloss/msp430/unlink.c25
-rw-r--r--libgloss/nds32/Makefile.in59
-rw-r--r--libgloss/nds32/_argvlen.S36
-rw-r--r--libgloss/nds32/_chdir.S36
-rw-r--r--libgloss/nds32/_exit.S44
-rw-r--r--libgloss/nds32/_isatty.S66
-rw-r--r--libgloss/nds32/_kill.S46
-rw-r--r--libgloss/nds32/_link.S45
-rw-r--r--libgloss/nds32/_lseek.S42
-rw-r--r--libgloss/nds32/_open.S42
-rw-r--r--libgloss/nds32/_read.S42
-rw-r--r--libgloss/nds32/_rename.S42
-rw-r--r--libgloss/nds32/_stat.S42
-rw-r--r--libgloss/nds32/_system.S42
-rw-r--r--libgloss/nds32/_time.S36
-rw-r--r--libgloss/nds32/_times.S45
-rw-r--r--libgloss/nds32/_unlink.S43
-rw-r--r--libgloss/nds32/_utime.S36
-rw-r--r--libgloss/nds32/_write.S42
-rw-r--r--libgloss/nds32/crt0.S157
-rw-r--r--libgloss/nds32/crt1.S161
-rw-r--r--libgloss/nds32/syscall_argv.S (renamed from libgloss/nds32/_close.S)31
-rw-r--r--libgloss/nds32/syscall_argvlen.S53
-rw-r--r--libgloss/nds32/syscall_chdir.S53
-rw-r--r--libgloss/nds32/syscall_chmod.S53
-rw-r--r--libgloss/nds32/syscall_close.S53
-rw-r--r--libgloss/nds32/syscall_exit.S (renamed from libgloss/nds32/_argv.S)13
-rw-r--r--libgloss/nds32/syscall_extra.h28
-rw-r--r--libgloss/nds32/syscall_fstat.S53
-rw-r--r--libgloss/nds32/syscall_getpid.S (renamed from libgloss/nds32/_getpid.S)25
-rw-r--r--libgloss/nds32/syscall_gettimeofday.S (renamed from libgloss/nds32/_gettimeofday.S)27
-rw-r--r--libgloss/nds32/syscall_isatty.S53
-rw-r--r--libgloss/nds32/syscall_kill.S (renamed from libgloss/nds32/_fstat.S)32
-rw-r--r--libgloss/nds32/syscall_link.S (renamed from libgloss/nds32/_chmod.S)26
-rw-r--r--libgloss/nds32/syscall_lseek.S53
-rw-r--r--libgloss/nds32/syscall_open.S53
-rw-r--r--libgloss/nds32/syscall_read.S (renamed from libgloss/nds32/syscall_error_handler.S)38
-rw-r--r--libgloss/nds32/syscall_rename.S53
-rw-r--r--libgloss/nds32/syscall_sbrk.S (renamed from libgloss/nds32/_sbrk.S)6
-rw-r--r--libgloss/nds32/syscall_stat.S53
-rw-r--r--libgloss/nds32/syscall_system.S53
-rw-r--r--libgloss/nds32/syscall_time.S53
-rw-r--r--libgloss/nds32/syscall_times.S53
-rw-r--r--libgloss/nds32/syscall_unlink.S53
-rw-r--r--libgloss/nds32/syscall_utime.S53
-rw-r--r--libgloss/nds32/syscall_write.S53
-rw-r--r--libgloss/nds32/vh.h126
-rw-r--r--libgloss/or1k/Makefile.in146
-rw-r--r--libgloss/or1k/README77
-rw-r--r--libgloss/or1k/aclocal.m4409
-rw-r--r--libgloss/or1k/board.h35
-rw-r--r--libgloss/or1k/boards/README65
-rw-r--r--libgloss/or1k/boards/atlys.S55
-rw-r--r--libgloss/or1k/boards/de0_nano.S57
-rw-r--r--libgloss/or1k/boards/ml501.S55
-rw-r--r--libgloss/or1k/boards/ml509.S55
-rw-r--r--libgloss/or1k/boards/optimsoc.S68
-rw-r--r--libgloss/or1k/boards/or1ksim-uart.S55
-rw-r--r--libgloss/or1k/boards/or1ksim.S56
-rw-r--r--libgloss/or1k/boards/ordb1a3pe1500.S55
-rw-r--r--libgloss/or1k/boards/ordb2a.S55
-rw-r--r--libgloss/or1k/boards/orpsocrefdesign.S55
-rw-r--r--libgloss/or1k/boards/tmpl.S60
-rw-r--r--libgloss/or1k/boards/tmpl.c40
-rw-r--r--libgloss/or1k/caches-asm.S233
-rwxr-xr-xlibgloss/or1k/configure3892
-rw-r--r--libgloss/or1k/configure.in81
-rw-r--r--libgloss/or1k/crt0.S600
-rw-r--r--libgloss/or1k/exceptions-asm.S201
-rw-r--r--libgloss/or1k/exceptions.c21
-rw-r--r--libgloss/or1k/impure.c120
-rw-r--r--libgloss/or1k/include/or1k-asm.h83
-rw-r--r--libgloss/or1k/include/or1k-nop.h35
-rw-r--r--libgloss/or1k/include/or1k-support.h665
-rw-r--r--libgloss/or1k/interrupts-asm.S166
-rw-r--r--libgloss/or1k/interrupts.c69
-rw-r--r--libgloss/or1k/mmu-asm.S67
-rw-r--r--libgloss/or1k/or1k-internals.h67
-rw-r--r--libgloss/or1k/or1k_uart.c82
-rw-r--r--libgloss/or1k/or1k_uart.h83
-rw-r--r--libgloss/or1k/outbyte.S34
-rw-r--r--libgloss/or1k/sbrk.c52
-rw-r--r--libgloss/or1k/sync-asm.S135
-rw-r--r--libgloss/or1k/syscalls.c160
-rw-r--r--libgloss/or1k/timer.c186
-rw-r--r--libgloss/or1k/util.c83
121 files changed, 2603 insertions, 12292 deletions
diff --git a/libgloss/ChangeLog b/libgloss/ChangeLog
index 1c6bc6b2e..9c03639fe 100644
--- a/libgloss/ChangeLog
+++ b/libgloss/ChangeLog
@@ -1,349 +1,3 @@
-2014-12-15 Stefan Wallentowitz <stefan.wallentowitz@tum.de>
-
- * or1k/Makefile.in: Build and install board libraries
- * or1k/board.h: New file
- * or1k/boards/README: New file
- * or1k/boards/atlys.S: New file
- * or1k/boards/de0_nano.S: New file
- * or1k/boards/ml501.S: New file
- * or1k/boards/ml509.S: New file
- * or1k/boards/optimsoc.S: New file
- * or1k/boards/or1ksim-uart.S: New file
- * or1k/boards/or1ksim.S: New file
- * or1k/boards/ordb1a3pe1500.S: New file
- * or1k/boards/ordb2a.S: New file
- * or1k/boards/orpsocrefdesign.S: New file
- * or1k/boards/tmpl.S: New file
- * or1k/boards/tmpl.c: New file
-
-2014-12-15 Stefan Wallentowitz <stefan.wallentowitz@tum.de>
-
- * or1k/Makefile.in: Add libor1k
- * or1k/README: New file
- * or1k/caches-asm.S: New file
- * or1k/exceptions-asm.S: New file
- * or1k/exceptions.c: New file
- * or1k/impure.c: New file
- * or1k/include/or1k-nop.h: New file
- * or1k/include/or1k-support.h: New file
- * or1k/interrupts-asm.S: New file
- * or1k/interrupts.c: New file
- * or1k/mmu-asm.S: New file
- * or1k/or1k-internals.h: New file
- * or1k/or1k_uart.c: New file
- * or1k/or1k_uart.h: New file
- * or1k/outbyte.S: New file
- * or1k/sbrk.c: New file
- * or1k/sync-asm.S: New file
- * or1k/syscalls.c: New file
- * or1k/timer.c: New file
- * or1k/util.c: New file
-
-2014-12-15 Stefan Wallentowitz <stefan.wallentowitz@tum.de>
-
- * README: Add details about or1k.
- * configure.in: Add or1k/or1knd
- * configure: Regenerated.
- * or1k/aclocal.m4: New file.
- * or1k/configure: Ditto.
- * or1k/Makefile.in: New file
- * or1k/configure.in: New file
- * or1k/crt0.S: New file
- * or1k/include/or1k-asm.h: New file
-
-2014-12-15 Nick Hung <nick@andestech.com>
-
- * libgloss/nds32/_exit.S: Finish with an infinite loop in _exit.
- * libgloss/nds32/_getpid.S: Don't issue _getpid system call, it is
- always successful.
- * libgloss/nds32/_gettimeofday.S: No error for _gettimeofday is defined
- in SYS_geterr handler.
- * libgloss/nds32/_isatty.S: No error for _isatty is defined in
- SYS_geterr handler.
- * libgloss/nds32/_kill.S: Alway fail. errno = EINVAL.
- * libgloss/nds32/_link.S: Alway fail. errno = EMLINK.
- * libgloss/nds32/_times.S: Alway fail. errno = EACCES.
- * libgloss/nds32/_unlink.S: fix copy and paste error.
- * libgloss/nds32/crt0.S: Add pre_c_init, post_c_init, arg_init.
- * libgloss/nds32/crt1.S: Add pre_c_init, post_c_init, arg_init.
- * libgloss/nds32/syscall_extra.h: Re-format.
- * libgloss/nds32/vh.h: Add more virtual hosting number.
-
-2014-12-11 Anthony Green <green@moxielogic.com>
-
- * moxie/configure: Rebuilt.
-
-2014-11-28 Jaydeep Patil <jaydeep.patil@imgtec.com>
- Matthew Fortune <Matthew.Fortune@imgtec.com>
-
- * mips/crt0.S: Configure processor based on .MIPS.abiflags.
- Remove FPU availability check, just use the pre-processor flags
- to indicicate what the user wanted.
- * mips/abiflags.S: New file.
- * mips/regs.S (SR_MSA): Define macro.
- * mips/mti32.ld: Place .MIPS.abiflags and wrap in marker symbols.
- * mips/mti64.ld: Likewise.
- * mips/mti64_64.ld: Likewise.
- * mips/mti64_n32.ld: Likewise.
-
-2014-11-26 Matthew Fortune <Matthew.Fortune@imgtec.com>
-
- * mips/crt0.S: Remove .set noreorder throughout.
- (zerobss): Open code the bltu macro instruction so that the
- zero-loop does not have a NOP in the branch delay slot.
-
-2014-11-13 Nick Clifton <nickc@redhat.com>
-
- * msp430/Makefile.in (CRT_OBJS): Add crt_high_bss.o.
- * msp430/crt0.S (high_bss): Add.
- * msp430/msp430-sim.ld: Add error message if .upper sections are
- detected.
- * msp430/msp430xl-sim.ld (MEMORY): Adjust to better mimic real
- life MCUs. Add support for upper and lower sections.
-
-2014-10-22 Tim Harder <radhermit@gmail.com>
-
- * msp430/Makefile.in: Respect DESTDIR during install.
-
-2014-09-22 Peter A. Bigot <pab@pabigot.com>
-
- * configure.in: Remove config_libnosys=false
- * configure: Regenerated.
- * msp430/nosyscalls.S: Rename to ciosyscalls.S
- * msp430/Makefile.in: Change LIBNOSYS to LIB_CIO.
-
-2014-08-14 Bin Cheng <bin.cheng@arm.com>
-
- * arm/elf-nano.specs: New file.
- * arm/elf-rdimon.specs: Support nano.specs.
- * arm/Makefile.in: Support nano.specs.
- * libnosys/nosys.specs: Support nano.specs.
-
-2014-07-27 Anthony Green <green@moxielogic.com>
-
- * moxie/Makefile.in (LD_SCRIPTS): Add moxiebox.ld
- Conditionally build and install crt0.o.
- * moxie/configure.in: Don't build crt0.o for moxiebox.
- * moxie/moxiebox.ld: New file.
-
-2014-07-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * arm/elf-aprofile-validation.specs (*link): Make text segment
- 64k-aligned.
- * arm/elf-aprofile-ve.specs (*link): Likewise.
-
-2014-04-30 Nick Clifton <nickc@redhat.com>
-
- * msp430/Makefile.in (NOSYS_OBJS): Add unlink.o.
- (SCRIPTS): Remove msp430F5438A-s.ld and msp430F5438A-s.ld.
- * unlink.c: New file.
-
-2014-04-04 Ashish Kapania <akapania@ti.com>
-
- * arm/configure.in: (*-*-tirtos*) Accept TIRTOS target when setting
- objtype
- * arm/configure: Regenerated.
-
-2014-03-21 Sabrini Ni <sabrinanitw@gmail.com>
-
- * nds32/_sbrk.S: Add .size and .type directive.
-
-2014-03-21 Sabrini Ni <sabrinanitw@gmail.com>
-
- * nds32/crt0.S: Tweak initialization sqeuence.
- * nds32/crt1.S: Ditto.
-
-2014-03-21 Sabrini Ni <sabrinanitw@gmail.com>
-
- * nds32/_argv.S: Replace syscall with break.
- * nds32/_argvlen.S: Ditto.
- * nds32/_chdir.S: Ditto.
- * nds32/_chmod.S: Ditto.
- * nds32/_close.S: Ditto.
- * nds32/_exit.S: Ditto.
- * nds32/_fstat.S: Ditto.
- * nds32/_getpid.S: Ditto.
- * nds32/_gettimeofday.S: Ditto.
- * nds32/_isatty.S: Ditto.
- * nds32/_kill.S: Ditto.
- * nds32/_link.S: Ditto.
- * nds32/_lseek.S: Ditto.
- * nds32/_open.S: Ditto.
- * nds32/_read.S: Ditto.
- * nds32/_rename.S: Ditto.
- * nds32/_stat.S: Ditto.
- * nds32/_system.S: Ditto.
- * nds32/_time.S: Ditto.
- * nds32/_times.S: Ditto.
- * nds32/_unlink.S: Ditto.
- * nds32/_utime.S: Ditto.
- * nds32/_write.S: Ditto.
- * nds32/syscall_error_handler.S: Ditto.
- * nds32/vh.h: New.
-
-2014-03-21 Sabrini Ni <sabrinanitw@gmail.com>
-
- * nds32/crt0.S: Initialize ITB base.
- * nds32/crt1.S: Ditto.
-
-2014-03-21 Sabrini Ni <sabrinanitw@gmail.com>
-
- * nds32/Makefile.in: Alter filename.
- * nds32/syscall_argv.S: Rename to _argv.S
- * nds32/syscall_argvlen.S: Rename to _argvlen.S
- * nds32/syscall_chdir.S: Rename to _chdir.S
- * nds32/syscall_chmod.S: Rename to _chmod.S
- * nds32/syscall_close.S: Rename to _close.S
- * nds32/syscall_exit.S: Rename to _exit.S
- * nds32/syscall_fstat.S: Rename to _fstat.S
- * nds32/syscall_getpid.S: Rename to _getpid.S
- * nds32/syscall_gettimeofday.S: Rename to _gettimeofday.S
- * nds32/syscall_isatty.S: Rename to _isatty.S
- * nds32/syscall_kill.S: Rename to _kill.S
- * nds32/syscall_link.S: Rename to _link.S
- * nds32/syscall_lseek.S: Rename to _lseek.S
- * nds32/syscall_open.S: Rename to _open.S
- * nds32/syscall_read.S: Rename to _read.S
- * nds32/syscall_rename.S: Rename to _rename.S
- * nds32/syscall_sbrk.S: Rename to _sbrk.S
- * nds32/syscall_stat.S: Rename to _stat.S
- * nds32/syscall_system.S: Rename to _system.S
- * nds32/syscall_time.S: Rename to _time.S
- * nds32/syscall_times.S: Rename to _times.S
- * nds32/syscall_unlink.S: Rename to _unlink.S
- * nds32/syscall_utime.S: Rename to _utime.S
- * nds32/syscall_write.S: Rename to _write.S
-
-2014-03-21 Sabrini Ni <sabrinanitw@gmail.com>
-
- * nds32/syscall_argv.S: Correct the method to set errno.
- * nds32/syscall_argvlen.S: Ditto.
- * nds32/syscall_chdir.S: Ditto.
- * nds32/syscall_chmod.S: Ditto.
- * nds32/syscall_close.S: Ditto.
- * nds32/syscall_error_handler.S: Ditto.
- * nds32/syscall_fstat.S: Ditto.
- * nds32/syscall_getpid.S: Ditto.
- * nds32/syscall_gettimeofday.S: Ditto.
- * nds32/syscall_isatty.S: Ditto.
- * nds32/syscall_kill.S: Ditto.
- * nds32/syscall_link.S: Ditto.
- * nds32/syscall_lseek.S: Ditto.
- * nds32/syscall_open.S: Ditto.
- * nds32/syscall_read.S: Ditto.
- * nds32/syscall_rename.S: Ditto.
- * nds32/syscall_sbrk.S: Ditto.
- * nds32/syscall_stat.S: Ditto.
- * nds32/syscall_system.S: Ditto.
- * nds32/syscall_time.S: Ditto.
- * nds32/syscall_times.S: Ditto.
- * nds32/syscall_unlink.S: Ditto.
- * nds32/syscall_utime.S: Ditto.
- * nds32/syscall_write.S: Ditto.
-
-2014-03-21 Sabrini Ni <sabrinanitw@gmail.com>
-
- * nds32/crt0.S: Use pseudo-instruction "bal frame" to replace
- "la + jral".
- * nds32/crt1.S: Ditto.
-
-2014-03-21 Sabrini Ni <sabrinanitw@gmail.com>
-
- * nds32/crt0.S: Eliminate initialization for $fp.
- * nds32/crt1.S: Ditto.
-
-2014-03-21 Sabrini Ni <sabrinanitw@gmail.com>
-
- * nds32/crt0.S: Refine.
- * nds32/crt1.S: Refine.
-
-2014-03-21 Sabrini Ni <sabrinanitw@gmail.com>
-
- * nds32/crt0.S: Set argc=argv=env=0.
- * nds32/crt1.S: Ditto.
-
-2014-03-21 Sabrini Ni <sabrinanitw@gmail.com>
-
- * nds32/Makefile.in: Add syscall_error_handler.o.
- * nds32/syscall_error_handler.S: New.
- * nds32/syscall_extra.h: Reduce code size.
-
-2014-03-21 Sabrini Ni <sabrinanitw@gmail.com>
-
- * nds32/syscall_extra.h: Define macro.
- * nds32/syscall_argv.S: Use define macro.
- * nds32/syscall_argvlen.S: Ditto.
- * nds32/syscall_chdir.S: Ditto.
- * nds32/syscall_chmod.S: Ditto.
- * nds32/syscall_close.S: Ditto.
- * nds32/syscall_fstat.S: Ditto.
- * nds32/syscall_getpid.S: Ditto.
- * nds32/syscall_gettimeofday.S: Ditto.
- * nds32/syscall_isatty.S: Ditto.
- * nds32/syscall_kill.S: Ditto.
- * nds32/syscall_link.S: Ditto.
- * nds32/syscall_lseek.S: Ditto.
- * nds32/syscall_open.S: Ditto.
- * nds32/syscall_read.S: Ditto.
- * nds32/syscall_rename.S: Ditto.
- * nds32/syscall_stat.S: Ditto.
- * nds32/syscall_system.S: Ditto.
- * nds32/syscall_time.S: Ditto.
- * nds32/syscall_times.S: Ditto.
- * nds32/syscall_unlink.S: Ditto.
- * nds32/syscall_utime.S: Ditto.
- * nds32/syscall_write.S: Ditto.
-
-2014-02-27 Joey Ye <joey.ye@arm.com>
-
- * libnosys/sbrk.c (_sbrk): Remove TWS
-
-2014-02-11 Joey Ye <joey.ye@arm.com>
-
- * arm/syscalls.c (_sbrk): Define as weak symbols.
- (_read, _write): Ditto.
-
-2014-02-03 Richard Earnshaw <rearnsha@arm.com>
-
- * aarch64/Makefile.in (RDIMON_SCRIPTS): Rule to build in-tree copies
- of scripts.
- (all): Build the in-tree copies of the scripts.
- (clean): Also delete the in-tree copies of the scripts.
-
-2014-01-29 DJ Delorie <dj@redhat.com>
-
- * msp430/Makefile.in (crt0-minrt.o, crtn-minrt.o): New. Build
- from crt0.S with -DMINRT.
- (CRT_OBJS): Expand.
- (crt_%.o): New rule pattern. Build multiple objects from crt0.S.
- * msp430/crt0.S: Further break out functionality. Support -DMINRT
- that omits all init/fini logic.
- * msp430/crtn.S: Likewise.
- * msp430/msp430-sim.ld: Wildcard all .crt_* sections, sorted.
- * msp430/msp430.ld: Likewise.
- * msp430/msp430xl-sim.ld: Likewise.
-
-2014-01-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * aarch64/cpu-init/rdimon-aem-el3.S (flat_map): Use bic-immediate
- form to clear WXN bit.
-
-2014-01-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * aarch64/cpu-init/rdimon-aem-el3.S (flat_map): Clear WXN bit
- in SCTLR_EL3. Add dsb.
-
-2014-01-10 Jeff Johnston <jjohnstn@redhat.com>
-
- * arm/configure.in: Revert previous fix and change host_makefile_frag
- to calculate the absolute location of srcdir/../config/default.mh.
- * arm/configure: Regenerated.
-
-2014-01-07 Jeff Johnston <jjohnstn@redhat.com>
-
- * arm/configure.in: Fix host_makefile_frag to use ac_abs_srcdir.
- * arm/configure: Regenerated.
-
2013-12-04 Steve Ellcey <sellcey@mips.com>
* mips/cfe_api.h: Include stdint.h.
diff --git a/libgloss/README b/libgloss/README
index 1141841bb..e2a420fd9 100644
--- a/libgloss/README
+++ b/libgloss/README
@@ -7,5 +7,4 @@ mep - Toshiba Media Processor.
pa - WinBond and Oki boards with a PA.
mips - R3000 support. Array Tech LSI33k based RAID disk controller.
lm32 - Lattice Mico32 simulator.
-epiphany - Adapteva Epiphany multicore processor.
-or1k - OpenRISC 1000 processor. \ No newline at end of file
+epiphany - Adapteva Epiphany multicore processor. \ No newline at end of file
diff --git a/libgloss/aarch64/Makefile.in b/libgloss/aarch64/Makefile.in
index 3c8a9fd10..af979a66c 100644
--- a/libgloss/aarch64/Makefile.in
+++ b/libgloss/aarch64/Makefile.in
@@ -93,7 +93,7 @@ CFLAGS = -g
# build a test program for each target board. Just trying to get
# it to link is a good test, so we ignore all the errors for now.
#
-all: ${CRT0} ${RDIMON_CRT0} ${RDIMON_BSP} ${RDIMON_SCRIPTS}
+all: ${CRT0} ${RDIMON_CRT0} ${RDIMON_BSP}
@rootpre=`pwd`/; export rootpre; \
srcrootpre=`cd $(srcdir); pwd`/; export srcrootpre; \
for dir in .. ${SUBDIRS}; do \
@@ -142,7 +142,7 @@ $(RDIMON_BSP): $(RDIMON_OBJS)
${RANLIB} $@
clean mostlyclean:
- rm -f a.out core *.i *.o *-test *.srec *.dis *.x $(SIM_BSP) ${RDIMON_SCRIPTS}
+ rm -f a.out core *.i *.o *-test *.srec *.dis *.x $(SIM_BSP)
@rootpre=`pwd`/; export rootpre; \
srcrootpre=`cd $(srcdir); pwd`/; export srcrootpre; \
for dir in .. ${SUBDIRS}; do \
@@ -175,9 +175,6 @@ install-rdimon:
set -e; for x in ${RDIMON_CRT0} ${RDIMON_BSP}; do ${INSTALL_DATA} $$x $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/$$x; done
set -e; for x in ${RDIMON_SCRIPTS}; do ${INSTALL_DATA} ${srcdir}/${objtype}$$x $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/$$x; done
-# Make copies of the scripts to facilitate in-tree bootstrapping.
-${RDIMON_SCRIPTS}: %: ${objtype}%
- cp $< $@
doc:
info:
diff --git a/libgloss/aarch64/cpu-init/rdimon-aem-el3.S b/libgloss/aarch64/cpu-init/rdimon-aem-el3.S
index 41db8f90c..6ddf62345 100644
--- a/libgloss/aarch64/cpu-init/rdimon-aem-el3.S
+++ b/libgloss/aarch64/cpu-init/rdimon-aem-el3.S
@@ -138,11 +138,9 @@ _flat_map:
mrs x0, sctlr_el3
ldr x1, =0x100d /* bits I(12) SA(3) C(2) M(0) */
- bic x0, x0, #(1 << 1) /* clear bit A(1) */
- bic x0, x0, #(1 << 19) /* clear WXN */
+ bic x0, x0, #2 /* clear bit A(1) */
orr x0, x0, x1 /* set bits */
- dsb sy
msr sctlr_el3, x0
isb
ret
diff --git a/libgloss/arm/Makefile.in b/libgloss/arm/Makefile.in
index 6e89cfb03..ab5c9cbbf 100644
--- a/libgloss/arm/Makefile.in
+++ b/libgloss/arm/Makefile.in
@@ -52,11 +52,8 @@ OBJCOPY = `if [ -f ${objroot}/../binutils/objcopy ] ; \
@BUILD_CRT0_TRUE@CRT0 = crt0.o
@BUILD_CRT0_TRUE@CRT0_INSTALL = install-crt0
-@BUILD_CRT0_FALSE@CRT0 =
-@BUILD_CRT0_FALSE@CRT0_INSTALL =
-
-NANO_SCRIPTS=nano.specs
-NANO_INSTALL=install-nano
+@BUILD_CRT0_FALSE@CRT0 =
+@BUILD_CRT0_FALSE@CRT0_INSTALL =
LINUX_CRT0 = linux-crt0.o
LINUX_BSP = libgloss-linux.a
@@ -175,7 +172,7 @@ distclean maintainer-clean realclean: clean
rm -f Makefile config.status *~
.PHONY: install info install-info clean-info
-install: ${CRT0_INSTALL} ${LINUX_INSTALL} ${REDBOOT_INSTALL} ${RDPMON_INSTALL} ${RDIMON_INSTALL} ${IQ80310_INSTALL} ${PID_INSTALL} ${NANO_INSTALL}
+install: ${CRT0_INSTALL} ${LINUX_INSTALL} ${REDBOOT_INSTALL} ${RDPMON_INSTALL} ${RDIMON_INSTALL} ${IQ80310_INSTALL} ${PID_INSTALL}
@rootpre=`pwd`/; export rootpre; \
srcrootpre=`cd $(srcdir); pwd`/; export srcrootpre; \
for dir in .. ${SUBDIRS}; do \
@@ -186,9 +183,6 @@ install: ${CRT0_INSTALL} ${LINUX_INSTALL} ${REDBOOT_INSTALL} ${RDPMON_INSTALL} $
else true; fi; \
done
-install-nano:
- set -e; for x in ${NANO_SCRIPTS}; do ${INSTALL_DATA} ${srcdir}/${objtype}$$x $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/$$x; done
-
install-crt0:
${INSTALL_DATA} ${CRT0} $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/$$x
diff --git a/libgloss/arm/configure b/libgloss/arm/configure
index 93c2b2746..cc7e570b3 100644
--- a/libgloss/arm/configure
+++ b/libgloss/arm/configure
@@ -1,83 +1,60 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.68.
-#
+# Generated by GNU Autoconf 2.61.
#
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
-# Foundation, Inc.
-#
-#
+# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
# This configure script is free software; the Free Software Foundation
# gives unlimited permission to copy, distribute and modify it.
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
+## --------------------- ##
+## M4sh Initialization. ##
+## --------------------- ##
# Be more Bourne compatible
DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
emulate sh
NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
# is contrary to our usage. Disable this feature.
alias -g '${1+"$@"}'='"$@"'
setopt NO_GLOB_SUBST
else
- case `(set -o) 2>/dev/null` in #(
- *posix*) :
- set -o posix ;; #(
- *) :
- ;;
+ case `(set -o) 2>/dev/null` in
+ *posix*) set -o posix ;;
esac
+
fi
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
- && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='print -r --'
- as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='printf %s\n'
- as_echo_n='printf %s'
-else
- if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
- as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
- as_echo_n='/usr/ucb/echo -n'
+
+
+# PATH needs CR
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ echo "#! /bin/sh" >conf$$.sh
+ echo "exit 0" >>conf$$.sh
+ chmod +x conf$$.sh
+ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+ PATH_SEPARATOR=';'
else
- as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
- as_echo_n_body='eval
- arg=$1;
- case $arg in #(
- *"$as_nl"*)
- expr "X$arg" : "X\\(.*\\)$as_nl";
- arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
- esac;
- expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
- '
- export as_echo_n_body
- as_echo_n='sh -c $as_echo_n_body as_echo'
+ PATH_SEPARATOR=:
fi
- export as_echo_body
- as_echo='sh -c $as_echo_body as_echo'
+ rm -f conf$$.sh
fi
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- PATH_SEPARATOR=:
- (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
- (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
- PATH_SEPARATOR=';'
- }
+# Support unset when possible.
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+ as_unset=unset
+else
+ as_unset=false
fi
@@ -86,19 +63,20 @@ fi
# there to prevent editors from complaining about space-tab.
# (If _AS_PATH_WALK were called with IFS unset, it would disable word
# splitting by setting IFS to empty value.)
+as_nl='
+'
IFS=" "" $as_nl"
# Find who we are. Look in the path if we contain no directory separator.
-as_myself=
-case $0 in #((
+case $0 in
*[\\/]* ) as_myself=$0 ;;
*) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
- done
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
IFS=$as_save_IFS
;;
@@ -109,327 +87,354 @@ if test "x$as_myself" = x; then
as_myself=$0
fi
if test ! -f "$as_myself"; then
- $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
- exit 1
+ echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+ { (exit 1); exit 1; }
fi
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there. '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
- && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
+# Work around bugs in pre-3.0 UWIN ksh.
+for as_var in ENV MAIL MAILPATH
+do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
done
PS1='$ '
PS2='> '
PS4='+ '
# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
+for as_var in \
+ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
+ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
+ LC_TELEPHONE LC_TIME
+do
+ if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
+ eval $as_var=C; export $as_var
+ else
+ ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+ fi
+done
+
+# Required to use basename.
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+ as_basename=basename
+else
+ as_basename=false
+fi
+
+
+# Name of the executable.
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+echo X/"$0" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+$as_unset CDPATH
+
if test "x$CONFIG_SHELL" = x; then
- as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
- emulate sh
- NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '\${1+\"\$@\"}'='\"\$@\"'
- setopt NO_GLOB_SUBST
+ if (eval ":") 2>/dev/null; then
+ as_have_required=yes
else
- case \`(set -o) 2>/dev/null\` in #(
- *posix*) :
- set -o posix ;; #(
- *) :
- ;;
-esac
+ as_have_required=no
fi
-"
- as_required="as_fn_return () { (exit \$1); }
-as_fn_success () { as_fn_return 0; }
-as_fn_failure () { as_fn_return 1; }
-as_fn_ret_success () { return 0; }
-as_fn_ret_failure () { return 1; }
-exitcode=0
-as_fn_success || { exitcode=1; echo as_fn_success failed.; }
-as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
-as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
-as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
-if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
+ if test $as_have_required = yes && (eval ":
+(as_func_return () {
+ (exit \$1)
+}
+as_func_success () {
+ as_func_return 0
+}
+as_func_failure () {
+ as_func_return 1
+}
+as_func_ret_success () {
+ return 0
+}
+as_func_ret_failure () {
+ return 1
+}
+exitcode=0
+if as_func_success; then
+ :
else
- exitcode=1; echo positional parameters were not saved.
+ exitcode=1
+ echo as_func_success failed.
fi
-test x\$exitcode = x0 || exit 1"
- as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
- as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
- eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
- test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1"
- if (eval "$as_required") 2>/dev/null; then :
- as_have_required=yes
+
+if as_func_failure; then
+ exitcode=1
+ echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+ :
else
- as_have_required=no
+ exitcode=1
+ echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+ exitcode=1
+ echo as_func_ret_failure succeeded.
fi
- if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
+if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
+ :
else
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-as_found=false
+ exitcode=1
+ echo positional parameters were not saved.
+fi
+
+test \$exitcode = 0) || { (exit 1); exit 1; }
+
+(
+ as_lineno_1=\$LINENO
+ as_lineno_2=\$LINENO
+ test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" &&
+ test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; }
+") 2> /dev/null; then
+ :
+else
+ as_candidate_shells=
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- as_found=:
- case $as_dir in #(
+ case $as_dir in
/*)
for as_base in sh bash ksh sh5; do
- # Try only shells that exist, to save several forks.
- as_shell=$as_dir/$as_base
- if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
- { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
- CONFIG_SHELL=$as_shell as_have_required=yes
- if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
- break 2
-fi
-fi
+ as_candidate_shells="$as_candidate_shells $as_dir/$as_base"
done;;
esac
- as_found=false
done
-$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
- { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
- CONFIG_SHELL=$SHELL as_have_required=yes
-fi; }
IFS=$as_save_IFS
- if test "x$CONFIG_SHELL" != x; then :
- # We cannot yet assume a decent shell, so we have to provide a
- # neutralization value for shells without unset; and this also
- # works around shells that cannot unset nonexistent variables.
- # Preserve -v and -x to the replacement shell.
- BASH_ENV=/dev/null
- ENV=/dev/null
- (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
- export CONFIG_SHELL
- case $- in # ((((
- *v*x* | *x*v* ) as_opts=-vx ;;
- *v* ) as_opts=-v ;;
- *x* ) as_opts=-x ;;
- * ) as_opts= ;;
- esac
- exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"}
-fi
+ for as_shell in $as_candidate_shells $SHELL; do
+ # Try only shells that exist, to save several forks.
+ if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
+ { ("$as_shell") 2> /dev/null <<\_ASEOF
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in
+ *posix*) set -o posix ;;
+esac
- if test x$as_have_required = xno; then :
- $as_echo "$0: This script requires a shell more modern than all"
- $as_echo "$0: the shells that I found on your system."
- if test x${ZSH_VERSION+set} = xset ; then
- $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
- $as_echo "$0: be upgraded to zsh 4.3.4 or later."
- else
- $as_echo "$0: Please tell bug-autoconf@gnu.org about your system,
-$0: including any error possibly output before this
-$0: message. Then install a modern shell, or manually run
-$0: the script under such a shell if you do have one."
- fi
- exit 1
-fi
fi
+
+
+:
+_ASEOF
+}; then
+ CONFIG_SHELL=$as_shell
+ as_have_required=yes
+ if { "$as_shell" 2> /dev/null <<\_ASEOF
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in
+ *posix*) set -o posix ;;
+esac
+
fi
-SHELL=${CONFIG_SHELL-/bin/sh}
-export SHELL
-# Unset more variables known to interfere with behavior of common tools.
-CLICOLOR_FORCE= GREP_OPTIONS=
-unset CLICOLOR_FORCE GREP_OPTIONS
-## --------------------- ##
-## M4sh Shell Functions. ##
-## --------------------- ##
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
- { eval $1=; unset $1;}
+
+:
+(as_func_return () {
+ (exit $1)
+}
+as_func_success () {
+ as_func_return 0
+}
+as_func_failure () {
+ as_func_return 1
+}
+as_func_ret_success () {
+ return 0
+}
+as_func_ret_failure () {
+ return 1
}
-as_unset=as_fn_unset
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
- return $1
-} # as_fn_set_status
+exitcode=0
+if as_func_success; then
+ :
+else
+ exitcode=1
+ echo as_func_success failed.
+fi
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
- set +e
- as_fn_set_status $1
- exit $1
-} # as_fn_exit
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
+if as_func_failure; then
+ exitcode=1
+ echo as_func_failure succeeded.
+fi
- case $as_dir in #(
- -*) as_dir=./$as_dir;;
- esac
- test -d "$as_dir" || eval $as_mkdir_p || {
- as_dirs=
- while :; do
- case $as_dir in #(
- *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
- *) as_qdir=$as_dir;;
- esac
- as_dirs="'$as_qdir' $as_dirs"
- as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- test -d "$as_dir" && break
- done
- test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
- eval 'as_fn_append ()
- {
- eval $1+=\$2
- }'
+if as_func_ret_success; then
+ :
else
- as_fn_append ()
- {
- eval $1=\$$1\$2
- }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
- eval 'as_fn_arith ()
- {
- as_val=$(( $* ))
- }'
+ exitcode=1
+ echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+ exitcode=1
+ echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = "$1" ); then
+ :
else
- as_fn_arith ()
- {
- as_val=`expr "$@" || test $? -eq 1`
- }
-fi # as_fn_arith
+ exitcode=1
+ echo positional parameters were not saved.
+fi
+test $exitcode = 0) || { (exit 1); exit 1; }
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
- as_status=$1; test $as_status -eq 0 && as_status=1
- if test "$4"; then
- as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
- fi
- $as_echo "$as_me: error: $2" >&2
- as_fn_exit $as_status
-} # as_fn_error
+(
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; }
-if expr a : '\(a\)' >/dev/null 2>&1 &&
- test "X`expr 00001 : '.*\(...\)'`" = X001; then
- as_expr=expr
+_ASEOF
+}; then
+ break
+fi
+
+fi
+
+ done
+
+ if test "x$CONFIG_SHELL" != x; then
+ for as_var in BASH_ENV ENV
+ do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+ done
+ export CONFIG_SHELL
+ exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+fi
+
+
+ if test $as_have_required = no; then
+ echo This script requires a shell more modern than all the
+ echo shells that I found on your system. Please install a
+ echo modern shell, or manually run the script under such a
+ echo shell if you do have one.
+ { (exit 1); exit 1; }
+fi
+
+
+fi
+
+fi
+
+
+
+(eval "as_func_return () {
+ (exit \$1)
+}
+as_func_success () {
+ as_func_return 0
+}
+as_func_failure () {
+ as_func_return 1
+}
+as_func_ret_success () {
+ return 0
+}
+as_func_ret_failure () {
+ return 1
+}
+
+exitcode=0
+if as_func_success; then
+ :
else
- as_expr=false
+ exitcode=1
+ echo as_func_success failed.
fi
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
- as_basename=basename
+if as_func_failure; then
+ exitcode=1
+ echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+ :
else
- as_basename=false
+ exitcode=1
+ echo as_func_ret_success failed.
fi
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
- as_dirname=dirname
+if as_func_ret_failure; then
+ exitcode=1
+ echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
+ :
else
- as_dirname=false
+ exitcode=1
+ echo positional parameters were not saved.
fi
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{
- s//\1/
- q
- }
- /^X\/\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\/\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
+test \$exitcode = 0") || {
+ echo No shell found that supports shell functions.
+ echo Please tell autoconf@gnu.org about your system,
+ echo including any error possibly output before this
+ echo message
+}
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
- as_lineno_1=$LINENO as_lineno_1a=$LINENO
- as_lineno_2=$LINENO as_lineno_2a=$LINENO
- eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
- test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
- # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-)
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
+
+ # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
+ # uniformly replaced by the line number. The first 'sed' inserts a
+ # line-number line after each line using $LINENO; the second 'sed'
+ # does the real work. The second script uses 'N' to pair each
+ # line-number line with the line containing $LINENO, and appends
+ # trailing '-' during substitution so that $LINENO is not a special
+ # case at line end.
+ # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
+ # scripts with optimization help from Paolo Bonzini. Blame Lee
+ # E. McMahon (1931-1989) for sed's syntax. :-)
sed -n '
p
/[$]LINENO/=
@@ -446,7 +451,8 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits
s/-\n.*//
' >$as_me.lineno &&
chmod +x "$as_me.lineno" ||
- { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
+ { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
+ { (exit 1); exit 1; }; }
# Don't try to exec as it changes $[0], causing all sort of problems
# (the dirname of $[0] is not the place where we might find the
@@ -456,40 +462,49 @@ as_cr_alnum=$as_cr_Letters$as_cr_digits
exit
}
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+ as_dirname=dirname
+else
+ as_dirname=false
+fi
+
ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
+case `echo -n x` in
-n*)
- case `echo 'xy\c'` in
+ case `echo 'x\c'` in
*c*) ECHO_T=' ';; # ECHO_T is single tab character.
- xy) ECHO_C='\c';;
- *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
- ECHO_T=' ';;
+ *) ECHO_C='\c';;
esac;;
*)
ECHO_N='-n';;
esac
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
rm -f conf$$ conf$$.exe conf$$.file
if test -d conf$$.dir; then
rm -f conf$$.dir/conf$$.file
else
rm -f conf$$.dir
- mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
- if ln -s conf$$.file conf$$ 2>/dev/null; then
- as_ln_s='ln -s'
- # ... but there are two gotchas:
- # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
- # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -p'.
- ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -p'
- elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
- else
+ mkdir conf$$.dir
+fi
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s='ln -s'
+ # ... but there are two gotchas:
+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+ # In both cases, we have to default to `cp -p'.
+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
as_ln_s='cp -p'
- fi
+elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
else
as_ln_s='cp -p'
fi
@@ -497,7 +512,7 @@ rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
rmdir conf$$.dir 2>/dev/null
if mkdir -p . 2>/dev/null; then
- as_mkdir_p='mkdir -p "$as_dir"'
+ as_mkdir_p=:
else
test -d ./-p && rmdir ./-p
as_mkdir_p=false
@@ -514,12 +529,12 @@ else
as_test_x='
eval sh -c '\''
if test -d "$1"; then
- test -d "$1/.";
+ test -d "$1/.";
else
- case $1 in #(
- -*)set "./$1";;
+ case $1 in
+ -*)set "./$1";;
esac;
- case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
+ case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
???[sx]*):;;*)false;;esac;fi
'\'' sh
'
@@ -533,11 +548,11 @@ as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-test -n "$DJDIR" || exec 7<&0 </dev/null
-exec 6>&1
+
+exec 7<&0 </dev/null 6>&1
# Name of the host.
-# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
+# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
# so uname gets run too.
ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
@@ -552,6 +567,7 @@ cross_compiling=no
subdirs=
MFLAGS=
MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
# Identity of this package.
PACKAGE_NAME=
@@ -559,92 +575,85 @@ PACKAGE_TARNAME=
PACKAGE_VERSION=
PACKAGE_STRING=
PACKAGE_BUGREPORT=
-PACKAGE_URL=
ac_unique_file="redboot-crt0.S"
-ac_subst_vars='LTLIBOBJS
-LIBOBJS
-subdirs
-host_makefile_frag_path
-objtype
-CCASFLAGS
-CCAS
-RANLIB
-LD
-AR
-AS
-am__fastdepCC_FALSE
-am__fastdepCC_TRUE
-CCDEPMODE
-AMDEPBACKSLASH
-AMDEP_FALSE
-AMDEP_TRUE
-am__quote
-am__include
-DEPDIR
-am__leading_dot
-CC
-INSTALL_DATA
-INSTALL_SCRIPT
-INSTALL_PROGRAM
-target_os
-target_vendor
-target_cpu
-target
-host_os
-host_vendor
-host_cpu
-host
-build_os
-build_vendor
-build_cpu
-build
-BUILD_CRT0_FALSE
-BUILD_CRT0_TRUE
-target_alias
-host_alias
-build_alias
-LIBS
-ECHO_T
-ECHO_N
-ECHO_C
-DEFS
-mandir
-localedir
-libdir
-psdir
-pdfdir
-dvidir
-htmldir
-infodir
-docdir
-oldincludedir
-includedir
-localstatedir
-sharedstatedir
-sysconfdir
-datadir
-datarootdir
-libexecdir
-sbindir
-bindir
-program_transform_name
-prefix
-exec_prefix
-PACKAGE_URL
-PACKAGE_BUGREPORT
-PACKAGE_STRING
-PACKAGE_VERSION
-PACKAGE_TARNAME
-PACKAGE_NAME
+ac_subst_vars='SHELL
PATH_SEPARATOR
-SHELL'
+PACKAGE_NAME
+PACKAGE_TARNAME
+PACKAGE_VERSION
+PACKAGE_STRING
+PACKAGE_BUGREPORT
+exec_prefix
+prefix
+program_transform_name
+bindir
+sbindir
+libexecdir
+datarootdir
+datadir
+sysconfdir
+sharedstatedir
+localstatedir
+includedir
+oldincludedir
+docdir
+infodir
+htmldir
+dvidir
+pdfdir
+psdir
+libdir
+localedir
+mandir
+DEFS
+ECHO_C
+ECHO_N
+ECHO_T
+LIBS
+build_alias
+host_alias
+target_alias
+BUILD_CRT0_TRUE
+BUILD_CRT0_FALSE
+build
+build_cpu
+build_vendor
+build_os
+host
+host_cpu
+host_vendor
+host_os
+target
+target_cpu
+target_vendor
+target_os
+INSTALL_PROGRAM
+INSTALL_SCRIPT
+INSTALL_DATA
+CC
+am__leading_dot
+DEPDIR
+am__include
+am__quote
+AMDEP_TRUE
+AMDEP_FALSE
+AMDEPBACKSLASH
+CCDEPMODE
+am__fastdepCC_TRUE
+am__fastdepCC_FALSE
+AS
+AR
+LD
+RANLIB
+CCAS
+CCASFLAGS
+objtype
+host_makefile_frag_path
+subdirs
+LIBOBJS
+LTLIBOBJS'
ac_subst_files='host_makefile_frag'
-ac_user_opts='
-enable_option_checking
-enable_newlib_supplied_syscalls
-enable_dependency_tracking
-'
ac_precious_vars='build_alias
host_alias
target_alias
@@ -655,8 +664,6 @@ CCASFLAGS'
# Initialize some variables set by options.
ac_init_help=
ac_init_version=false
-ac_unrecognized_opts=
-ac_unrecognized_sep=
# The variables have the same names as the options, with
# dashes changed to underlines.
cache_file=/dev/null
@@ -712,9 +719,8 @@ do
fi
case $ac_option in
- *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
- *=) ac_optarg= ;;
- *) ac_optarg=yes ;;
+ *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+ *) ac_optarg=yes ;;
esac
# Accept the important Cygnus configure options, so we can diagnose typos.
@@ -756,20 +762,13 @@ do
datarootdir=$ac_optarg ;;
-disable-* | --disable-*)
- ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+ ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
# Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid feature name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"enable_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval enable_$ac_useropt=no ;;
+ expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+ { (exit 1); exit 1; }; }
+ ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
+ eval enable_$ac_feature=no ;;
-docdir | --docdir | --docdi | --doc | --do)
ac_prev=docdir ;;
@@ -782,20 +781,13 @@ do
dvidir=$ac_optarg ;;
-enable-* | --enable-*)
- ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+ ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
# Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid feature name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"enable_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval enable_$ac_useropt=\$ac_optarg ;;
+ expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+ { (exit 1); exit 1; }; }
+ ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
+ eval enable_$ac_feature=\$ac_optarg ;;
-exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
| --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
@@ -986,36 +978,22 @@ do
ac_init_version=: ;;
-with-* | --with-*)
- ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+ ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
# Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid package name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"with_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval with_$ac_useropt=\$ac_optarg ;;
+ expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid package name: $ac_package" >&2
+ { (exit 1); exit 1; }; }
+ ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
+ eval with_$ac_package=\$ac_optarg ;;
-without-* | --without-*)
- ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+ ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
# Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid package name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"with_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval with_$ac_useropt=no ;;
+ expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid package name: $ac_package" >&2
+ { (exit 1); exit 1; }; }
+ ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
+ eval with_$ac_package=no ;;
--x)
# Obsolete; use --with-x.
@@ -1035,26 +1013,26 @@ do
| --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
x_libraries=$ac_optarg ;;
- -*) as_fn_error $? "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information"
+ -*) { echo "$as_me: error: unrecognized option: $ac_option
+Try \`$0 --help' for more information." >&2
+ { (exit 1); exit 1; }; }
;;
*=*)
ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
# Reject names that are not valid shell variable names.
- case $ac_envvar in #(
- '' | [0-9]* | *[!_$as_cr_alnum]* )
- as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
- esac
+ expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
+ { (exit 1); exit 1; }; }
eval $ac_envvar=\$ac_optarg
export $ac_envvar ;;
*)
# FIXME: should be removed in autoconf 3.0.
- $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+ echo "$as_me: WARNING: you should use --build, --host, --target" >&2
expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
- : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
+ echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+ : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
;;
esac
@@ -1062,36 +1040,23 @@ done
if test -n "$ac_prev"; then
ac_option=--`echo $ac_prev | sed 's/_/-/g'`
- as_fn_error $? "missing argument to $ac_option"
-fi
-
-if test -n "$ac_unrecognized_opts"; then
- case $enable_option_checking in
- no) ;;
- fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
- *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
- esac
+ { echo "$as_me: error: missing argument to $ac_option" >&2
+ { (exit 1); exit 1; }; }
fi
-# Check all directory arguments for consistency.
+# Be sure to have absolute directory names.
for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
datadir sysconfdir sharedstatedir localstatedir includedir \
oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
libdir localedir mandir
do
eval ac_val=\$$ac_var
- # Remove trailing slashes.
- case $ac_val in
- */ )
- ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
- eval $ac_var=\$ac_val;;
- esac
- # Be sure to have absolute directory names.
case $ac_val in
[\\/$]* | ?:[\\/]* ) continue;;
NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
esac
- as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
+ { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+ { (exit 1); exit 1; }; }
done
# There might be people who depend on the old broken behavior: `$host'
@@ -1105,8 +1070,8 @@ target=$target_alias
if test "x$host_alias" != x; then
if test "x$build_alias" = x; then
cross_compiling=maybe
- $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host.
- If a cross compiler is detected then cross compile mode will be used" >&2
+ echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
+ If a cross compiler is detected then cross compile mode will be used." >&2
elif test "x$build_alias" != "x$host_alias"; then
cross_compiling=yes
fi
@@ -1121,21 +1086,23 @@ test "$silent" = yes && exec 6>/dev/null
ac_pwd=`pwd` && test -n "$ac_pwd" &&
ac_ls_di=`ls -di .` &&
ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
- as_fn_error $? "working directory cannot be determined"
+ { echo "$as_me: error: Working directory cannot be determined" >&2
+ { (exit 1); exit 1; }; }
test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
- as_fn_error $? "pwd does not report name of working directory"
+ { echo "$as_me: error: pwd does not report name of working directory" >&2
+ { (exit 1); exit 1; }; }
# Find the source files, if location was not specified.
if test -z "$srcdir"; then
ac_srcdir_defaulted=yes
# Try the directory containing this script, then the parent directory.
- ac_confdir=`$as_dirname -- "$as_myself" ||
-$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_myself" : 'X\(//\)[^/]' \| \
- X"$as_myself" : 'X\(//\)$' \| \
- X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_myself" |
+ ac_confdir=`$as_dirname -- "$0" ||
+$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$0" : 'X\(//\)[^/]' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+echo X"$0" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
@@ -1162,11 +1129,13 @@ else
fi
if test ! -r "$srcdir/$ac_unique_file"; then
test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
- as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
+ { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
+ { (exit 1); exit 1; }; }
fi
ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
ac_abs_confdir=`(
- cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
+ cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2
+ { (exit 1); exit 1; }; }
pwd)`
# When building in place, set srcdir=.
if test "$ac_abs_confdir" = "$ac_pwd"; then
@@ -1206,7 +1175,7 @@ Configuration:
--help=short display options specific to this package
--help=recursive display the short help of all the included packages
-V, --version display version information and exit
- -q, --quiet, --silent do not print \`checking ...' messages
+ -q, --quiet, --silent do not print \`checking...' messages
--cache-file=FILE cache test results in FILE [disabled]
-C, --config-cache alias for \`--cache-file=config.cache'
-n, --no-create do not create output files
@@ -1214,9 +1183,9 @@ Configuration:
Installation directories:
--prefix=PREFIX install architecture-independent files in PREFIX
- [$ac_default_prefix]
+ [$ac_default_prefix]
--exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
- [PREFIX]
+ [PREFIX]
By default, \`make install' will install all the files in
\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
@@ -1226,25 +1195,25 @@ for instance \`--prefix=\$HOME'.
For better control, use the options below.
Fine tuning of the installation directories:
- --bindir=DIR user executables [EPREFIX/bin]
- --sbindir=DIR system admin executables [EPREFIX/sbin]
- --libexecdir=DIR program executables [EPREFIX/libexec]
- --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
- --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
- --localstatedir=DIR modifiable single-machine data [PREFIX/var]
- --libdir=DIR object code libraries [EPREFIX/lib]
- --includedir=DIR C header files [PREFIX/include]
- --oldincludedir=DIR C header files for non-gcc [/usr/include]
- --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
- --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
- --infodir=DIR info documentation [DATAROOTDIR/info]
- --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
- --mandir=DIR man documentation [DATAROOTDIR/man]
- --docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE]
- --htmldir=DIR html documentation [DOCDIR]
- --dvidir=DIR dvi documentation [DOCDIR]
- --pdfdir=DIR pdf documentation [DOCDIR]
- --psdir=DIR ps documentation [DOCDIR]
+ --bindir=DIR user executables [EPREFIX/bin]
+ --sbindir=DIR system admin executables [EPREFIX/sbin]
+ --libexecdir=DIR program executables [EPREFIX/libexec]
+ --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data [PREFIX/var]
+ --libdir=DIR object code libraries [EPREFIX/lib]
+ --includedir=DIR C header files [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc [/usr/include]
+ --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
+ --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
+ --infodir=DIR info documentation [DATAROOTDIR/info]
+ --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
+ --mandir=DIR man documentation [DATAROOTDIR/man]
+ --docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE]
+ --htmldir=DIR html documentation [DOCDIR]
+ --dvidir=DIR dvi documentation [DOCDIR]
+ --pdfdir=DIR pdf documentation [DOCDIR]
+ --psdir=DIR ps documentation [DOCDIR]
_ACEOF
cat <<\_ACEOF
@@ -1266,7 +1235,6 @@ if test -n "$ac_init_help"; then
cat <<\_ACEOF
Optional Features:
- --disable-option-checking ignore unrecognized --enable/--with options
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
--disable-newlib-supplied-syscalls disable newlib from supplying syscalls
@@ -1280,7 +1248,6 @@ Some influential environment variables:
Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.
-Report bugs to the package provider.
_ACEOF
ac_status=$?
fi
@@ -1288,17 +1255,15 @@ fi
if test "$ac_init_help" = "recursive"; then
# If there are subdirs, report their specific --help.
for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
- test -d "$ac_dir" ||
- { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
- continue
+ test -d "$ac_dir" || continue
ac_builddir=.
case "$ac_dir" in
.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
*)
- ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
+ ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
# A ".." for each directory in $ac_dir_suffix.
- ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+ ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
case $ac_top_builddir_sub in
"") ac_top_builddir_sub=. ac_top_build_prefix= ;;
*) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
@@ -1334,7 +1299,7 @@ ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
echo &&
$SHELL "$ac_srcdir/configure" --help=recursive
else
- $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+ echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
fi || ac_status=$?
cd "$ac_pwd" || { ac_status=$?; break; }
done
@@ -1344,62 +1309,21 @@ test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
configure
-generated by GNU Autoconf 2.68
+generated by GNU Autoconf 2.61
-Copyright (C) 2010 Free Software Foundation, Inc.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
This configure script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it.
_ACEOF
exit
fi
-
-## ------------------------ ##
-## Autoconf initialization. ##
-## ------------------------ ##
-
-# ac_fn_c_try_compile LINENO
-# --------------------------
-# Try to compile conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_compile ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- rm -f conftest.$ac_objext
- if { { ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_compile") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- grep -v '^ *+' conftest.err >conftest.er1
- cat conftest.er1 >&5
- mv -f conftest.er1 conftest.err
- fi
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then :
- ac_retval=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=1
-fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_compile
cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by $as_me, which was
-generated by GNU Autoconf 2.68. Invocation command line was
+generated by GNU Autoconf 2.61. Invocation command line was
$ $0 $@
@@ -1435,8 +1359,8 @@ for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- $as_echo "PATH: $as_dir"
- done
+ echo "PATH: $as_dir"
+done
IFS=$as_save_IFS
} >&5
@@ -1470,12 +1394,12 @@ do
| -silent | --silent | --silen | --sile | --sil)
continue ;;
*\'*)
- ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
esac
case $ac_pass in
- 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
+ 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
2)
- as_fn_append ac_configure_args1 " '$ac_arg'"
+ ac_configure_args1="$ac_configure_args1 '$ac_arg'"
if test $ac_must_keep_next = true; then
ac_must_keep_next=false # Got value, back to normal.
else
@@ -1491,13 +1415,13 @@ do
-* ) ac_must_keep_next=true ;;
esac
fi
- as_fn_append ac_configure_args " '$ac_arg'"
+ ac_configure_args="$ac_configure_args '$ac_arg'"
;;
esac
done
done
-{ ac_configure_args0=; unset ac_configure_args0;}
-{ ac_configure_args1=; unset ac_configure_args1;}
+$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; }
+$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; }
# When interrupted or exit'd, cleanup temporary files, and complete
# config.log. We remove comments because anyway the quotes in there
@@ -1509,9 +1433,11 @@ trap 'exit_status=$?
{
echo
- $as_echo "## ---------------- ##
+ cat <<\_ASBOX
+## ---------------- ##
## Cache variables. ##
-## ---------------- ##"
+## ---------------- ##
+_ASBOX
echo
# The following way of writing the cache mishandles newlines in values,
(
@@ -1520,13 +1446,12 @@ trap 'exit_status=$?
case $ac_val in #(
*${as_nl}*)
case $ac_var in #(
- *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+ *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
+echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
esac
case $ac_var in #(
_ | IFS | as_nl) ;; #(
- BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
- *) { eval $ac_var=; unset $ac_var;} ;;
+ *) $as_unset $ac_var ;;
esac ;;
esac
done
@@ -1545,136 +1470,128 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
)
echo
- $as_echo "## ----------------- ##
+ cat <<\_ASBOX
+## ----------------- ##
## Output variables. ##
-## ----------------- ##"
+## ----------------- ##
+_ASBOX
echo
for ac_var in $ac_subst_vars
do
eval ac_val=\$$ac_var
case $ac_val in
- *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+ *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
esac
- $as_echo "$ac_var='\''$ac_val'\''"
+ echo "$ac_var='\''$ac_val'\''"
done | sort
echo
if test -n "$ac_subst_files"; then
- $as_echo "## ------------------- ##
+ cat <<\_ASBOX
+## ------------------- ##
## File substitutions. ##
-## ------------------- ##"
+## ------------------- ##
+_ASBOX
echo
for ac_var in $ac_subst_files
do
eval ac_val=\$$ac_var
case $ac_val in
- *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+ *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
esac
- $as_echo "$ac_var='\''$ac_val'\''"
+ echo "$ac_var='\''$ac_val'\''"
done | sort
echo
fi
if test -s confdefs.h; then
- $as_echo "## ----------- ##
+ cat <<\_ASBOX
+## ----------- ##
## confdefs.h. ##
-## ----------- ##"
+## ----------- ##
+_ASBOX
echo
cat confdefs.h
echo
fi
test "$ac_signal" != 0 &&
- $as_echo "$as_me: caught signal $ac_signal"
- $as_echo "$as_me: exit $exit_status"
+ echo "$as_me: caught signal $ac_signal"
+ echo "$as_me: exit $exit_status"
} >&5
rm -f core *.core core.conftest.* &&
rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
exit $exit_status
' 0
for ac_signal in 1 2 13 15; do
- trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
+ trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
done
ac_signal=0
# confdefs.h avoids OS command line length limits that DEFS can exceed.
rm -f -r conftest* confdefs.h
-$as_echo "/* confdefs.h */" > confdefs.h
-
# Predefined preprocessor variables.
cat >>confdefs.h <<_ACEOF
#define PACKAGE_NAME "$PACKAGE_NAME"
_ACEOF
+
cat >>confdefs.h <<_ACEOF
#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
_ACEOF
+
cat >>confdefs.h <<_ACEOF
#define PACKAGE_VERSION "$PACKAGE_VERSION"
_ACEOF
+
cat >>confdefs.h <<_ACEOF
#define PACKAGE_STRING "$PACKAGE_STRING"
_ACEOF
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
-_ACEOF
cat >>confdefs.h <<_ACEOF
-#define PACKAGE_URL "$PACKAGE_URL"
+#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
_ACEOF
# Let the site file select an alternate cache file if it wants to.
-# Prefer an explicitly selected file to automatically selected ones.
-ac_site_file1=NONE
-ac_site_file2=NONE
+# Prefer explicitly selected file to automatically selected ones.
if test -n "$CONFIG_SITE"; then
- # We do not want a PATH search for config.site.
- case $CONFIG_SITE in #((
- -*) ac_site_file1=./$CONFIG_SITE;;
- */*) ac_site_file1=$CONFIG_SITE;;
- *) ac_site_file1=./$CONFIG_SITE;;
- esac
+ set x "$CONFIG_SITE"
elif test "x$prefix" != xNONE; then
- ac_site_file1=$prefix/share/config.site
- ac_site_file2=$prefix/etc/config.site
+ set x "$prefix/share/config.site" "$prefix/etc/config.site"
else
- ac_site_file1=$ac_default_prefix/share/config.site
- ac_site_file2=$ac_default_prefix/etc/config.site
+ set x "$ac_default_prefix/share/config.site" \
+ "$ac_default_prefix/etc/config.site"
fi
-for ac_site_file in "$ac_site_file1" "$ac_site_file2"
+shift
+for ac_site_file
do
- test "x$ac_site_file" = xNONE && continue
- if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
-$as_echo "$as_me: loading site script $ac_site_file" >&6;}
+ if test -r "$ac_site_file"; then
+ { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
+echo "$as_me: loading site script $ac_site_file" >&6;}
sed 's/^/| /' "$ac_site_file" >&5
- . "$ac_site_file" \
- || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "failed to load site script $ac_site_file
-See \`config.log' for more details" "$LINENO" 5; }
+ . "$ac_site_file"
fi
done
if test -r "$cache_file"; then
- # Some versions of bash will fail to source /dev/null (special files
- # actually), so we avoid doing that. DJGPP emulates it as a regular file.
- if test /dev/null != "$cache_file" && test -f "$cache_file"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
-$as_echo "$as_me: loading cache $cache_file" >&6;}
+ # Some versions of bash will fail to source /dev/null (special
+ # files actually), so we avoid doing that.
+ if test -f "$cache_file"; then
+ { echo "$as_me:$LINENO: loading cache $cache_file" >&5
+echo "$as_me: loading cache $cache_file" >&6;}
case $cache_file in
[\\/]* | ?:[\\/]* ) . "$cache_file";;
*) . "./$cache_file";;
esac
fi
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
-$as_echo "$as_me: creating cache $cache_file" >&6;}
+ { echo "$as_me:$LINENO: creating cache $cache_file" >&5
+echo "$as_me: creating cache $cache_file" >&6;}
>$cache_file
fi
@@ -1688,56 +1605,60 @@ for ac_var in $ac_precious_vars; do
eval ac_new_val=\$ac_env_${ac_var}_value
case $ac_old_set,$ac_new_set in
set,)
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+ { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
ac_cache_corrupted=: ;;
,set)
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+ { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
+echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
ac_cache_corrupted=: ;;
,);;
*)
if test "x$ac_old_val" != "x$ac_new_val"; then
- # differences in whitespace do not lead to failure.
- ac_old_val_w=`echo x $ac_old_val`
- ac_new_val_w=`echo x $ac_new_val`
- if test "$ac_old_val_w" != "$ac_new_val_w"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
-$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
- ac_cache_corrupted=:
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
-$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
- eval $ac_var=\$ac_old_val
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5
-$as_echo "$as_me: former value: \`$ac_old_val'" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5
-$as_echo "$as_me: current value: \`$ac_new_val'" >&2;}
+ { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
+echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+ { echo "$as_me:$LINENO: former value: $ac_old_val" >&5
+echo "$as_me: former value: $ac_old_val" >&2;}
+ { echo "$as_me:$LINENO: current value: $ac_new_val" >&5
+echo "$as_me: current value: $ac_new_val" >&2;}
+ ac_cache_corrupted=:
fi;;
esac
# Pass precious variables to config.status.
if test "$ac_new_set" = set; then
case $ac_new_val in
- *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+ *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
*) ac_arg=$ac_var=$ac_new_val ;;
esac
case " $ac_configure_args " in
*" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
- *) as_fn_append ac_configure_args " '$ac_arg'" ;;
+ *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
esac
fi
done
if $ac_cache_corrupted; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
-$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
- as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
+ { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
+echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+ { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
+echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
+ { (exit 1); exit 1; }; }
fi
-## -------------------- ##
-## Main body of script. ##
-## -------------------- ##
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
@@ -1748,11 +1669,13 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
# Check whether --enable-newlib-supplied-syscalls was given.
-if test "${enable_newlib_supplied_syscalls+set}" = set; then :
+if test "${enable_newlib_supplied_syscalls+set}" = set; then
enableval=$enable_newlib_supplied_syscalls; case "${enableval}" in
yes) newlib_may_supply_syscalls=yes ;;
no) newlib_may_supply_syscalls=no ;;
- *) as_fn_error $? "bad value ${enableval} for newlib-supplied-syscalls option" "$LINENO" 5 ;;
+ *) { { echo "$as_me:$LINENO: error: bad value ${enableval} for newlib-supplied-syscalls option" >&5
+echo "$as_me: error: bad value ${enableval} for newlib-supplied-syscalls option" >&2;}
+ { (exit 1); exit 1; }; } ;;
esac
else
newlib_may_supply_syscalls=yes
@@ -1795,7 +1718,9 @@ for ac_dir in $libgloss_topdir "$srcdir"/$libgloss_topdir; do
fi
done
if test -z "$ac_aux_dir"; then
- as_fn_error $? "cannot find install-sh, install.sh, or shtool in $libgloss_topdir \"$srcdir\"/$libgloss_topdir" "$LINENO" 5
+ { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in $libgloss_topdir \"$srcdir\"/$libgloss_topdir" >&5
+echo "$as_me: error: cannot find install-sh or install.sh in $libgloss_topdir \"$srcdir\"/$libgloss_topdir" >&2;}
+ { (exit 1); exit 1; }; }
fi
# These three variables are undocumented and unsupported,
@@ -1810,27 +1735,35 @@ ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
# Make sure we can run config.sub.
$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
- as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
+ { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5
+echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;}
+ { (exit 1); exit 1; }; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
-$as_echo_n "checking build system type... " >&6; }
-if ${ac_cv_build+:} false; then :
- $as_echo_n "(cached) " >&6
+{ echo "$as_me:$LINENO: checking build system type" >&5
+echo $ECHO_N "checking build system type... $ECHO_C" >&6; }
+if test "${ac_cv_build+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
else
ac_build_alias=$build_alias
test "x$ac_build_alias" = x &&
ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
test "x$ac_build_alias" = x &&
- as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
+ { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
+echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
+ { (exit 1); exit 1; }; }
ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
- as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
+ { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5
+echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;}
+ { (exit 1); exit 1; }; }
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
-$as_echo "$ac_cv_build" >&6; }
+{ echo "$as_me:$LINENO: result: $ac_cv_build" >&5
+echo "${ECHO_T}$ac_cv_build" >&6; }
case $ac_cv_build in
*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
+*) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5
+echo "$as_me: error: invalid value of canonical build" >&2;}
+ { (exit 1); exit 1; }; };;
esac
build=$ac_cv_build
ac_save_IFS=$IFS; IFS='-'
@@ -1846,24 +1779,28 @@ IFS=$ac_save_IFS
case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
-$as_echo_n "checking host system type... " >&6; }
-if ${ac_cv_host+:} false; then :
- $as_echo_n "(cached) " >&6
+{ echo "$as_me:$LINENO: checking host system type" >&5
+echo $ECHO_N "checking host system type... $ECHO_C" >&6; }
+if test "${ac_cv_host+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
else
if test "x$host_alias" = x; then
ac_cv_host=$ac_cv_build
else
ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
- as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
+ { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5
+echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;}
+ { (exit 1); exit 1; }; }
fi
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
-$as_echo "$ac_cv_host" >&6; }
+{ echo "$as_me:$LINENO: result: $ac_cv_host" >&5
+echo "${ECHO_T}$ac_cv_host" >&6; }
case $ac_cv_host in
*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
+*) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5
+echo "$as_me: error: invalid value of canonical host" >&2;}
+ { (exit 1); exit 1; }; };;
esac
host=$ac_cv_host
ac_save_IFS=$IFS; IFS='-'
@@ -1879,24 +1816,28 @@ IFS=$ac_save_IFS
case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
-$as_echo_n "checking target system type... " >&6; }
-if ${ac_cv_target+:} false; then :
- $as_echo_n "(cached) " >&6
+{ echo "$as_me:$LINENO: checking target system type" >&5
+echo $ECHO_N "checking target system type... $ECHO_C" >&6; }
+if test "${ac_cv_target+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
else
if test "x$target_alias" = x; then
ac_cv_target=$ac_cv_host
else
ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
- as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
+ { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $target_alias failed" >&5
+echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $target_alias failed" >&2;}
+ { (exit 1); exit 1; }; }
fi
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5
-$as_echo "$ac_cv_target" >&6; }
+{ echo "$as_me:$LINENO: result: $ac_cv_target" >&5
+echo "${ECHO_T}$ac_cv_target" >&6; }
case $ac_cv_target in
*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
+*) { { echo "$as_me:$LINENO: error: invalid value of canonical target" >&5
+echo "$as_me: error: invalid value of canonical target" >&2;}
+ { (exit 1); exit 1; }; };;
esac
target=$ac_cv_target
ac_save_IFS=$IFS; IFS='-'
@@ -1918,16 +1859,18 @@ test -n "$target_alias" &&
test "$program_prefix$program_suffix$program_transform_name" = \
NONENONEs,x,x, &&
program_prefix=${target_alias}-
-
test "$program_prefix" != NONE &&
program_transform_name="s&^&$program_prefix&;$program_transform_name"
# Use a double $ so make ignores it.
test "$program_suffix" != NONE &&
program_transform_name="s&\$&$program_suffix&;$program_transform_name"
-# Double any \ or $.
+# Double any \ or $. echo might interpret backslashes.
# By default was `s,x,x', remove it if useless.
-ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
-program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
+cat <<\_ACEOF >conftest.sed
+s/[\\$]/&&/g;s/;s,x,x,$//
+_ACEOF
+program_transform_name=`echo $program_transform_name | sed -f conftest.sed`
+rm -f conftest.sed
# Find a good install program. We prefer a C program (faster),
@@ -1943,23 +1886,22 @@ program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
# OS/2's system install, which has a completely different semantic
# ./install, which can be erroneously created by make from ./install.sh.
-# Reject install programs that cannot install multiple files.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
-$as_echo_n "checking for a BSD-compatible install... " >&6; }
+{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
+echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; }
if test -z "$INSTALL"; then
-if ${ac_cv_path_install+:} false; then :
- $as_echo_n "(cached) " >&6
+if test "${ac_cv_path_install+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- # Account for people who put trailing slashes in PATH elements.
-case $as_dir/ in #((
- ./ | .// | /[cC]/* | \
+ # Account for people who put trailing slashes in PATH elements.
+case $as_dir/ in
+ ./ | .// | /cC/* | \
/etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
- ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
+ ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \
/usr/ucb/* ) ;;
*)
# OSF1 and SCO ODT 3.0 have their own names for install.
@@ -1977,29 +1919,17 @@ case $as_dir/ in #((
# program-specific install script used by HP pwplus--don't use.
:
else
- rm -rf conftest.one conftest.two conftest.dir
- echo one > conftest.one
- echo two > conftest.two
- mkdir conftest.dir
- if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
- test -s conftest.one && test -s conftest.two &&
- test -s conftest.dir/conftest.one &&
- test -s conftest.dir/conftest.two
- then
- ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
- break 3
- fi
+ ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+ break 3
fi
fi
done
done
;;
esac
-
- done
+done
IFS=$as_save_IFS
-rm -rf conftest.one conftest.two conftest.dir
fi
if test "${ac_cv_path_install+set}" = set; then
@@ -2012,8 +1942,8 @@ fi
INSTALL=$ac_install_sh
fi
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
-$as_echo "$INSTALL" >&6; }
+{ echo "$as_me:$LINENO: result: $INSTALL" >&5
+echo "${ECHO_T}$INSTALL" >&6; }
# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
# It thinks the first close brace ends the variable substitution.
@@ -2045,8 +1975,8 @@ am__doit:
.PHONY: am__doit
END
# If we don't find an include directive, just comment out the code.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
-$as_echo_n "checking for style of include used by $am_make... " >&6; }
+{ echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5
+echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6; }
am__include="#"
am__quote=
_am_result=none
@@ -2073,12 +2003,12 @@ if test "$am__include" = "#"; then
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
-$as_echo "$_am_result" >&6; }
+{ echo "$as_me:$LINENO: result: $_am_result" >&5
+echo "${ECHO_T}$_am_result" >&6; }
rm -f confinc confmf
# Check whether --enable-dependency-tracking was given.
-if test "${enable_dependency_tracking+set}" = set; then :
+if test "${enable_dependency_tracking+set}" = set; then
enableval=$enable_dependency_tracking;
fi
@@ -2100,10 +2030,10 @@ fi
# Extract the first word of "gcc", so it can be a program name with args.
set dummy gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
else
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
@@ -2113,35 +2043,35 @@ for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_CC="gcc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
- done
+done
IFS=$as_save_IFS
fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
+ { echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6; }
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
depcc="$CC" am_compiler_list=
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if ${am_cv_CC_dependencies_compiler_type+:} false; then :
- $as_echo_n "(cached) " >&6
+{ echo "$as_me:$LINENO: checking dependency style of $depcc" >&5
+echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; }
+if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
else
if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
# We make a subdir and do the tests there. Otherwise we can end up
@@ -2228,8 +2158,8 @@ else
fi
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
+{ echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5
+echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; }
CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
@@ -2248,10 +2178,10 @@ fi
if test -z "$CC"; then
# Extract the first word of "cc", so it can be a program name with args.
set dummy cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
else
if test -n "$CC"; then
ac_cv_prog_CC="$CC" # Let the user override the test.
@@ -2262,18 +2192,18 @@ for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
ac_prog_rejected=yes
continue
fi
ac_cv_prog_CC="cc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
- done
+done
IFS=$as_save_IFS
if test $ac_prog_rejected = yes; then
@@ -2292,21 +2222,23 @@ fi
fi
CC=$ac_cv_prog_CC
if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
+ { echo "$as_me:$LINENO: result: $CC" >&5
+echo "${ECHO_T}$CC" >&6; }
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
- test -z "$CC" && as_fn_error $? "no acceptable cc found in \$PATH" "$LINENO" 5
+ test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable cc found in \$PATH" >&5
+echo "$as_me: error: no acceptable cc found in \$PATH" >&2;}
+ { (exit 1); exit 1; }; }
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using GNU C" >&5
-$as_echo_n "checking whether we are using GNU C... " >&6; }
-if ${ac_cv_c_compiler_gnu+:} false; then :
- $as_echo_n "(cached) " >&6
+{ echo "$as_me:$LINENO: checking whether we are using GNU C" >&5
+echo $ECHO_N "checking whether we are using GNU C... $ECHO_C" >&6; }
+if test "${ac_cv_c_compiler_gnu+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
else
cat > conftest.c <<EOF
#ifdef __GNUC__
@@ -2314,18 +2246,18 @@ else
#endif
EOF
if { ac_try='${CC-cc} -E conftest.c'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; } | egrep yes >/dev/null 2>&1; then
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; } | egrep yes >/dev/null 2>&1; then
ac_cv_c_compiler_gnu=yes
else
ac_cv_c_compiler_gnu=no
fi
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
-$as_echo "$ac_cv_c_compiler_gnu" >&6; }
+{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
+echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; }
if test $ac_cv_c_compiler_gnu = yes; then
GCC=yes
@@ -2334,16 +2266,20 @@ if test $ac_cv_c_compiler_gnu = yes; then
CFLAGS=
ac_test_CFLAGS=${CFLAGS+set}
ac_save_CFLAGS=$CFLAGS
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
-$as_echo_n "checking whether $CC accepts -g... " >&6; }
-if ${ac_cv_prog_cc_g+:} false; then :
- $as_echo_n "(cached) " >&6
+{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
+echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; }
+if test "${ac_cv_prog_cc_g+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
else
ac_save_c_werror_flag=$ac_c_werror_flag
ac_c_werror_flag=yes
ac_cv_prog_cc_g=no
CFLAGS="-g"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
int
@@ -2354,11 +2290,34 @@ main ()
return 0;
}
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
ac_cv_prog_cc_g=yes
else
- CFLAGS=""
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ CFLAGS=""
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
int
@@ -2369,12 +2328,35 @@ main ()
return 0;
}
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
+ :
else
- ac_c_werror_flag=$ac_save_c_werror_flag
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+ ac_c_werror_flag=$ac_save_c_werror_flag
CFLAGS="-g"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
int
@@ -2385,18 +2367,42 @@ main ()
return 0;
}
_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+ *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+ (eval "$ac_compile") 2>conftest.er1
+ ac_status=$?
+ grep -v '^ *+' conftest.er1 >conftest.err
+ rm -f conftest.er1
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } && {
+ test -z "$ac_c_werror_flag" ||
+ test ! -s conftest.err
+ } && test -s conftest.$ac_objext; then
ac_cv_prog_cc_g=yes
+else
+ echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
fi
+
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
+
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
+
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
ac_c_werror_flag=$ac_save_c_werror_flag
fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
-$as_echo "$ac_cv_prog_cc_g" >&6; }
+{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
+echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; }
if test "$ac_test_CFLAGS" = set; then
CFLAGS=$ac_save_CFLAGS
elif test $ac_cv_prog_cc_g = yes; then
@@ -2433,10 +2439,10 @@ LD=${LD-ld}
if test -n "$ac_tool_prefix"; then
# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_RANLIB+:} false; then :
- $as_echo_n "(cached) " >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_RANLIB+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
else
if test -n "$RANLIB"; then
ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
@@ -2446,25 +2452,25 @@ for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
- done
+done
IFS=$as_save_IFS
fi
fi
RANLIB=$ac_cv_prog_RANLIB
if test -n "$RANLIB"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
-$as_echo "$RANLIB" >&6; }
+ { echo "$as_me:$LINENO: result: $RANLIB" >&5
+echo "${ECHO_T}$RANLIB" >&6; }
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
@@ -2473,10 +2479,10 @@ if test -z "$ac_cv_prog_RANLIB"; then
ac_ct_RANLIB=$RANLIB
# Extract the first word of "ranlib", so it can be a program name with args.
set dummy ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
- $as_echo_n "(cached) " >&6
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
else
if test -n "$ac_ct_RANLIB"; then
ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
@@ -2486,25 +2492,25 @@ for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
ac_cv_prog_ac_ct_RANLIB="ranlib"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
- done
+done
IFS=$as_save_IFS
fi
fi
ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
if test -n "$ac_ct_RANLIB"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
-$as_echo "$ac_ct_RANLIB" >&6; }
+ { echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
+echo "${ECHO_T}$ac_ct_RANLIB" >&6; }
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
fi
if test "x$ac_ct_RANLIB" = x; then
@@ -2512,8 +2518,12 @@ fi
else
case $cross_compiling:$ac_tool_warned in
yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
ac_tool_warned=yes ;;
esac
RANLIB=$ac_ct_RANLIB
@@ -2531,7 +2541,7 @@ test "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS
case "${target}" in
- *-*-elf | *-*-eabi | *-*-tirtos*)
+ *-*-elf | *-*-eabi)
objtype=elf-
;;
*-*-coff)
@@ -2541,7 +2551,7 @@ esac
-host_makefile_frag=`cd $srcdir/../config;pwd`/default.mh
+host_makefile_frag=${srcdir}/../config/default.mh
host_makefile_frag_path=$host_makefile_frag
@@ -2584,13 +2594,12 @@ _ACEOF
case $ac_val in #(
*${as_nl}*)
case $ac_var in #(
- *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+ *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
+echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
esac
case $ac_var in #(
_ | IFS | as_nl) ;; #(
- BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
- *) { eval $ac_var=; unset $ac_var;} ;;
+ *) $as_unset $ac_var ;;
esac ;;
esac
done
@@ -2598,8 +2607,8 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
(set) 2>&1 |
case $as_nl`(ac_space=' '; set) 2>&1` in #(
*${as_nl}ac_space=\ *)
- # `set' does not quote correctly, so add quotes: double-quote
- # substitution turns \\\\ into \\, and sed turns \\ into \.
+ # `set' does not quote correctly, so add quotes (double-quote
+ # substitution turns \\\\ into \\, and sed turns \\ into \).
sed -n \
"s/'/'\\\\''/g;
s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
@@ -2621,24 +2630,13 @@ $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
:end' >>confcache
if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
if test -w "$cache_file"; then
- if test "x$cache_file" != "x/dev/null"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
-$as_echo "$as_me: updating cache $cache_file" >&6;}
- if test ! -f "$cache_file" || test -h "$cache_file"; then
- cat confcache >"$cache_file"
- else
- case $cache_file in #(
- */* | ?:*)
- mv -f confcache "$cache_file"$$ &&
- mv -f "$cache_file"$$ "$cache_file" ;; #(
- *)
- mv -f confcache "$cache_file" ;;
- esac
- fi
- fi
+ test "x$cache_file" != "x/dev/null" &&
+ { echo "$as_me:$LINENO: updating cache $cache_file" >&5
+echo "$as_me: updating cache $cache_file" >&6;}
+ cat confcache >$cache_file
else
- { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
-$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
+ { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5
+echo "$as_me: not updating unwritable cache $cache_file" >&6;}
fi
fi
rm -f confcache
@@ -2655,12 +2653,6 @@ test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
# take arguments), then branch to the quote section. Otherwise,
# look for a macro that doesn't take arguments.
ac_script='
-:mline
-/\\$/{
- N
- s,\\\n,,
- b mline
-}
t clear
:clear
s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g
@@ -2687,15 +2679,14 @@ DEFS=`sed -n "$ac_script" confdefs.h`
ac_libobjs=
ac_ltlibobjs=
-U=
for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
# 1. Remove the extension, and $U if already installed.
ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
- ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
+ ac_i=`echo "$ac_i" | sed "$ac_script"`
# 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
# will be set to the directory where LIBOBJS objects are built.
- as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
- as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
+ ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext"
+ ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo'
done
LIBOBJS=$ac_libobjs
@@ -2703,22 +2694,26 @@ LTLIBOBJS=$ac_ltlibobjs
if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
- as_fn_error $? "conditional \"AMDEP\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
+ { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"AMDEP\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+ { (exit 1); exit 1; }; }
fi
if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
- as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
+ { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"am__fastdepCC\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+ { (exit 1); exit 1; }; }
fi
-: "${CONFIG_STATUS=./config.status}"
-ac_write_fail=0
+: ${CONFIG_STATUS=./config.status}
ac_clean_files_save=$ac_clean_files
ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
-$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
-as_write_fail=0
-cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
+{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
+echo "$as_me: creating $CONFIG_STATUS" >&6;}
+cat >$CONFIG_STATUS <<_ACEOF
#! $SHELL
# Generated by $as_me.
# Run this file to recreate the current configuration.
@@ -2728,79 +2723,59 @@ cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
debug=false
ac_cs_recheck=false
ac_cs_silent=false
-
SHELL=\${CONFIG_SHELL-$SHELL}
-export SHELL
-_ASEOF
-cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+## --------------------- ##
+## M4sh Initialization. ##
+## --------------------- ##
# Be more Bourne compatible
DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
emulate sh
NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
# is contrary to our usage. Disable this feature.
alias -g '${1+"$@"}'='"$@"'
setopt NO_GLOB_SUBST
else
- case `(set -o) 2>/dev/null` in #(
- *posix*) :
- set -o posix ;; #(
- *) :
- ;;
+ case `(set -o) 2>/dev/null` in
+ *posix*) set -o posix ;;
esac
+
fi
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
- && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='print -r --'
- as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='printf %s\n'
- as_echo_n='printf %s'
-else
- if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
- as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
- as_echo_n='/usr/ucb/echo -n'
+
+
+# PATH needs CR
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ echo "#! /bin/sh" >conf$$.sh
+ echo "exit 0" >>conf$$.sh
+ chmod +x conf$$.sh
+ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+ PATH_SEPARATOR=';'
else
- as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
- as_echo_n_body='eval
- arg=$1;
- case $arg in #(
- *"$as_nl"*)
- expr "X$arg" : "X\\(.*\\)$as_nl";
- arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
- esac;
- expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
- '
- export as_echo_n_body
- as_echo_n='sh -c $as_echo_n_body as_echo'
+ PATH_SEPARATOR=:
fi
- export as_echo_body
- as_echo='sh -c $as_echo_body as_echo'
+ rm -f conf$$.sh
fi
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- PATH_SEPARATOR=:
- (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
- (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
- PATH_SEPARATOR=';'
- }
+# Support unset when possible.
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+ as_unset=unset
+else
+ as_unset=false
fi
@@ -2809,19 +2784,20 @@ fi
# there to prevent editors from complaining about space-tab.
# (If _AS_PATH_WALK were called with IFS unset, it would disable word
# splitting by setting IFS to empty value.)
+as_nl='
+'
IFS=" "" $as_nl"
# Find who we are. Look in the path if we contain no directory separator.
-as_myself=
-case $0 in #((
+case $0 in
*[\\/]* ) as_myself=$0 ;;
*) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
- done
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
IFS=$as_save_IFS
;;
@@ -2832,111 +2808,32 @@ if test "x$as_myself" = x; then
as_myself=$0
fi
if test ! -f "$as_myself"; then
- $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
- exit 1
+ echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+ { (exit 1); exit 1; }
fi
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there. '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
- && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
+# Work around bugs in pre-3.0 UWIN ksh.
+for as_var in ENV MAIL MAILPATH
+do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
done
PS1='$ '
PS2='> '
PS4='+ '
# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
- as_status=$1; test $as_status -eq 0 && as_status=1
- if test "$4"; then
- as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
+for as_var in \
+ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
+ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
+ LC_TELEPHONE LC_TIME
+do
+ if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
+ eval $as_var=C; export $as_var
+ else
+ ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
fi
- $as_echo "$as_me: error: $2" >&2
- as_fn_exit $as_status
-} # as_fn_error
-
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
- return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
- set +e
- as_fn_set_status $1
- exit $1
-} # as_fn_exit
-
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
- { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
- eval 'as_fn_append ()
- {
- eval $1+=\$2
- }'
-else
- as_fn_append ()
- {
- eval $1=\$$1\$2
- }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
- eval 'as_fn_arith ()
- {
- as_val=$(( $* ))
- }'
-else
- as_fn_arith ()
- {
- as_val=`expr "$@" || test $? -eq 1`
- }
-fi # as_fn_arith
-
+done
+# Required to use basename.
if expr a : '\(a\)' >/dev/null 2>&1 &&
test "X`expr 00001 : '.*\(...\)'`" = X001; then
as_expr=expr
@@ -2950,17 +2847,13 @@ else
as_basename=false
fi
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
- as_dirname=dirname
-else
- as_dirname=false
-fi
+# Name of the executable.
as_me=`$as_basename -- "$0" ||
$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
X"$0" : 'X\(//\)$' \| \
X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
+echo X/"$0" |
sed '/^.*\/\([^/][^/]*\)\/*$/{
s//\1/
q
@@ -2975,103 +2868,104 @@ $as_echo X/"$0" |
}
s/.*/./; q'`
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
+# CDPATH.
+$as_unset CDPATH
+
+
+
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
+
+ # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
+ # uniformly replaced by the line number. The first 'sed' inserts a
+ # line-number line after each line using $LINENO; the second 'sed'
+ # does the real work. The second script uses 'N' to pair each
+ # line-number line with the line containing $LINENO, and appends
+ # trailing '-' during substitution so that $LINENO is not a special
+ # case at line end.
+ # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
+ # scripts with optimization help from Paolo Bonzini. Blame Lee
+ # E. McMahon (1931-1989) for sed's syntax. :-)
+ sed -n '
+ p
+ /[$]LINENO/=
+ ' <$as_myself |
+ sed '
+ s/[$]LINENO.*/&-/
+ t lineno
+ b
+ :lineno
+ N
+ :loop
+ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
+ t loop
+ s/-\n.*//
+ ' >$as_me.lineno &&
+ chmod +x "$as_me.lineno" ||
+ { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
+ { (exit 1); exit 1; }; }
+
+ # Don't try to exec as it changes $[0], causing all sort of problems
+ # (the dirname of $[0] is not the place where we might find the
+ # original and so on. Autoconf is especially sensitive to this).
+ . "./$as_me.lineno"
+ # Exit status is that of the last command.
+ exit
+}
+
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+ as_dirname=dirname
+else
+ as_dirname=false
+fi
ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
+case `echo -n x` in
-n*)
- case `echo 'xy\c'` in
+ case `echo 'x\c'` in
*c*) ECHO_T=' ';; # ECHO_T is single tab character.
- xy) ECHO_C='\c';;
- *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
- ECHO_T=' ';;
+ *) ECHO_C='\c';;
esac;;
*)
ECHO_N='-n';;
esac
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
rm -f conf$$ conf$$.exe conf$$.file
if test -d conf$$.dir; then
rm -f conf$$.dir/conf$$.file
else
rm -f conf$$.dir
- mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
- if ln -s conf$$.file conf$$ 2>/dev/null; then
- as_ln_s='ln -s'
- # ... but there are two gotchas:
- # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
- # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -p'.
- ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -p'
- elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
- else
+ mkdir conf$$.dir
+fi
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s='ln -s'
+ # ... but there are two gotchas:
+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+ # In both cases, we have to default to `cp -p'.
+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
as_ln_s='cp -p'
- fi
+elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
else
as_ln_s='cp -p'
fi
rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
rmdir conf$$.dir 2>/dev/null
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
- case $as_dir in #(
- -*) as_dir=./$as_dir;;
- esac
- test -d "$as_dir" || eval $as_mkdir_p || {
- as_dirs=
- while :; do
- case $as_dir in #(
- *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
- *) as_qdir=$as_dir;;
- esac
- as_dirs="'$as_qdir' $as_dirs"
- as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- test -d "$as_dir" && break
- done
- test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
if mkdir -p . 2>/dev/null; then
- as_mkdir_p='mkdir -p "$as_dir"'
+ as_mkdir_p=:
else
test -d ./-p && rmdir ./-p
as_mkdir_p=false
@@ -3088,12 +2982,12 @@ else
as_test_x='
eval sh -c '\''
if test -d "$1"; then
- test -d "$1/.";
+ test -d "$1/.";
else
- case $1 in #(
- -*)set "./$1";;
+ case $1 in
+ -*)set "./$1";;
esac;
- case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
+ case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
???[sx]*):;;*)false;;esac;fi
'\'' sh
'
@@ -3108,19 +3002,13 @@ as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
exec 6>&1
-## ----------------------------------- ##
-## Main body of $CONFIG_STATUS script. ##
-## ----------------------------------- ##
-_ASEOF
-test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# Save the log message, to keep $0 and so on meaningful, and to
+# Save the log message, to keep $[0] and so on meaningful, and to
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by $as_me, which was
-generated by GNU Autoconf 2.68. Invocation command line was
+generated by GNU Autoconf 2.61. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
CONFIG_HEADERS = $CONFIG_HEADERS
@@ -3133,36 +3021,27 @@ on `(hostname || uname -n) 2>/dev/null | sed 1q`
_ACEOF
-case $ac_config_files in *"
-"*) set x $ac_config_files; shift; ac_config_files=$*;;
-esac
-
-
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+cat >>$CONFIG_STATUS <<_ACEOF
# Files that config.status was made for.
config_files="$ac_config_files"
config_commands="$ac_config_commands"
_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+cat >>$CONFIG_STATUS <<\_ACEOF
ac_cs_usage="\
-\`$as_me' instantiates files and other configuration actions
-from templates according to the current configuration. Unless the files
-and actions are specified as TAGs, all are instantiated by default.
+\`$as_me' instantiates files from templates according to the
+current configuration.
-Usage: $0 [OPTION]... [TAG]...
+Usage: $0 [OPTIONS] [FILE]...
-h, --help print this help, then exit
-V, --version print version number and configuration settings, then exit
- --config print configuration, then exit
- -q, --quiet, --silent
- do not print progress messages
+ -q, --quiet do not print progress messages
-d, --debug don't remove temporary files
--recheck update $as_me by reconfiguring in the same conditions
- --file=FILE[:TEMPLATE]
- instantiate the configuration file FILE
+ --file=FILE[:TEMPLATE]
+ instantiate the configuration file FILE
Configuration files:
$config_files
@@ -3170,42 +3049,36 @@ $config_files
Configuration commands:
$config_commands
-Report bugs to the package provider."
+Report bugs to <bug-autoconf@gnu.org>."
_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
+cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
config.status
-configured by $0, generated by GNU Autoconf 2.68,
- with options \\"\$ac_cs_config\\"
+configured by $0, generated by GNU Autoconf 2.61,
+ with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
-Copyright (C) 2010 Free Software Foundation, Inc.
+Copyright (C) 2006 Free Software Foundation, Inc.
This config.status script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it."
ac_pwd='$ac_pwd'
srcdir='$srcdir'
INSTALL='$INSTALL'
-test -n "\$AWK" || AWK=awk
_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# The default lists apply if the user does not specify any file.
+cat >>$CONFIG_STATUS <<\_ACEOF
+# If no file are specified by the user, then we need to provide default
+# value. By we need to know if files were specified by the user.
ac_need_defaults=:
while test $# != 0
do
case $1 in
- --*=?*)
+ --*=*)
ac_option=`expr "X$1" : 'X\([^=]*\)='`
ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
ac_shift=:
;;
- --*=)
- ac_option=`expr "X$1" : 'X\([^=]*\)='`
- ac_optarg=
- ac_shift=:
- ;;
*)
ac_option=$1
ac_optarg=$2
@@ -3218,30 +3091,25 @@ do
-recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
ac_cs_recheck=: ;;
--version | --versio | --versi | --vers | --ver | --ve | --v | -V )
- $as_echo "$ac_cs_version"; exit ;;
- --config | --confi | --conf | --con | --co | --c )
- $as_echo "$ac_cs_config"; exit ;;
+ echo "$ac_cs_version"; exit ;;
--debug | --debu | --deb | --de | --d | -d )
debug=: ;;
--file | --fil | --fi | --f )
$ac_shift
- case $ac_optarg in
- *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
- '') as_fn_error $? "missing file argument" ;;
- esac
- as_fn_append CONFIG_FILES " '$ac_optarg'"
+ CONFIG_FILES="$CONFIG_FILES $ac_optarg"
ac_need_defaults=false;;
--he | --h | --help | --hel | -h )
- $as_echo "$ac_cs_usage"; exit ;;
+ echo "$ac_cs_usage"; exit ;;
-q | -quiet | --quiet | --quie | --qui | --qu | --q \
| -silent | --silent | --silen | --sile | --sil | --si | --s)
ac_cs_silent=: ;;
# This is an error.
- -*) as_fn_error $? "unrecognized option: \`$1'
-Try \`$0 --help' for more information." ;;
+ -*) { echo "$as_me: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&2
+ { (exit 1); exit 1; }; } ;;
- *) as_fn_append ac_config_targets " $1"
+ *) ac_config_targets="$ac_config_targets $1"
ac_need_defaults=false ;;
esac
@@ -3256,29 +3124,27 @@ if $ac_cs_silent; then
fi
_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+cat >>$CONFIG_STATUS <<_ACEOF
if \$ac_cs_recheck; then
- set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
- shift
- \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
- CONFIG_SHELL='$SHELL'
+ echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
+ CONFIG_SHELL=$SHELL
export CONFIG_SHELL
- exec "\$@"
+ exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
fi
_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+cat >>$CONFIG_STATUS <<\_ACEOF
exec 5>>config.log
{
echo
sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
## Running $as_me. ##
_ASBOX
- $as_echo "$ac_log"
+ echo "$ac_log"
} >&5
_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+cat >>$CONFIG_STATUS <<_ACEOF
#
# INIT-COMMANDS
#
@@ -3300,7 +3166,7 @@ libgloss_topdir=${libgloss_topdir}
_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+cat >>$CONFIG_STATUS <<\_ACEOF
# Handling of arguments.
for ac_config_target in $ac_config_targets
@@ -3310,7 +3176,9 @@ do
"cpu-init/Makefile") CONFIG_FILES="$CONFIG_FILES cpu-init/Makefile" ;;
"Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
- *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
+ *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
+echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+ { (exit 1); exit 1; }; };;
esac
done
@@ -3332,228 +3200,196 @@ fi
# after its creation but before its name has been assigned to `$tmp'.
$debug ||
{
- tmp= ac_tmp=
+ tmp=
trap 'exit_status=$?
- : "${ac_tmp:=$tmp}"
- { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
+ { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
' 0
- trap 'as_fn_exit 1' 1 2 13 15
+ trap '{ (exit 1); exit 1; }' 1 2 13 15
}
# Create a (secure) tmp directory for tmp files.
{
tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
- test -d "$tmp"
+ test -n "$tmp" && test -d "$tmp"
} ||
{
tmp=./conf$$-$RANDOM
(umask 077 && mkdir "$tmp")
-} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
-ac_tmp=$tmp
+} ||
+{
+ echo "$me: cannot create a temporary directory in ." >&2
+ { (exit 1); exit 1; }
+}
+
+#
+# Set up the sed scripts for CONFIG_FILES section.
+#
-# Set up the scripts for CONFIG_FILES section.
-# No need to generate them if there are no CONFIG_FILES.
-# This happens for instance with `./config.status config.h'.
+# No need to generate the scripts if there are no CONFIG_FILES.
+# This happens for instance when ./config.status config.h
if test -n "$CONFIG_FILES"; then
-if $AWK 'BEGIN { getline <"/dev/null" }' </dev/null 2>/dev/null; then
- ac_cs_awk_getline=:
- ac_cs_awk_pipe_init=
- ac_cs_awk_read_file='
- while ((getline aline < (F[key])) > 0)
- print(aline)
- close(F[key])'
- ac_cs_awk_pipe_fini=
-else
- ac_cs_awk_getline=false
- ac_cs_awk_pipe_init="print \"cat <<'|#_!!_#|' &&\""
- ac_cs_awk_read_file='
- print "|#_!!_#|"
- print "cat " F[key] " &&"
- '$ac_cs_awk_pipe_init
- # The final `:' finishes the AND list.
- ac_cs_awk_pipe_fini='END { print "|#_!!_#|"; print ":" }'
-fi
-ac_cr=`echo X | tr X '\015'`
-# On cygwin, bash can eat \r inside `` if the user requested igncr.
-# But we know of no other shell where ac_cr would be empty at this
-# point, so we can use a bashism as a fallback.
-if test "x$ac_cr" = x; then
- eval ac_cr=\$\'\\r\'
-fi
-ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
-if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
- ac_cs_awk_cr='\\r'
-else
- ac_cs_awk_cr=$ac_cr
-fi
-
-echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
_ACEOF
-# Create commands to substitute file output variables.
-{
- echo "cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1" &&
- echo 'cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&' &&
- echo "$ac_subst_files" | sed 's/.*/F["&"]="$&"/' &&
- echo "_ACAWK" &&
- echo "_ACEOF"
-} >conf$$files.sh &&
-. ./conf$$files.sh ||
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-rm -f conf$$files.sh
+# Create sed commands to just substitute file output variables.
+
+# Remaining file output variables are in a fragment that also has non-file
+# output varibles.
+
+
-{
- echo "cat >conf$$subs.awk <<_ACEOF" &&
- echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
- echo "_ACEOF"
-} >conf$$subs.sh ||
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
ac_delim='%!_!# '
for ac_last_try in false false false false false :; do
- . ./conf$$subs.sh ||
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ cat >conf$$subs.sed <<_ACEOF
+SHELL!$SHELL$ac_delim
+PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim
+PACKAGE_NAME!$PACKAGE_NAME$ac_delim
+PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim
+PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim
+PACKAGE_STRING!$PACKAGE_STRING$ac_delim
+PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim
+exec_prefix!$exec_prefix$ac_delim
+prefix!$prefix$ac_delim
+program_transform_name!$program_transform_name$ac_delim
+bindir!$bindir$ac_delim
+sbindir!$sbindir$ac_delim
+libexecdir!$libexecdir$ac_delim
+datarootdir!$datarootdir$ac_delim
+datadir!$datadir$ac_delim
+sysconfdir!$sysconfdir$ac_delim
+sharedstatedir!$sharedstatedir$ac_delim
+localstatedir!$localstatedir$ac_delim
+includedir!$includedir$ac_delim
+oldincludedir!$oldincludedir$ac_delim
+docdir!$docdir$ac_delim
+infodir!$infodir$ac_delim
+htmldir!$htmldir$ac_delim
+dvidir!$dvidir$ac_delim
+pdfdir!$pdfdir$ac_delim
+psdir!$psdir$ac_delim
+libdir!$libdir$ac_delim
+localedir!$localedir$ac_delim
+mandir!$mandir$ac_delim
+DEFS!$DEFS$ac_delim
+ECHO_C!$ECHO_C$ac_delim
+ECHO_N!$ECHO_N$ac_delim
+ECHO_T!$ECHO_T$ac_delim
+LIBS!$LIBS$ac_delim
+build_alias!$build_alias$ac_delim
+host_alias!$host_alias$ac_delim
+target_alias!$target_alias$ac_delim
+BUILD_CRT0_TRUE!$BUILD_CRT0_TRUE$ac_delim
+BUILD_CRT0_FALSE!$BUILD_CRT0_FALSE$ac_delim
+build!$build$ac_delim
+build_cpu!$build_cpu$ac_delim
+build_vendor!$build_vendor$ac_delim
+build_os!$build_os$ac_delim
+host!$host$ac_delim
+host_cpu!$host_cpu$ac_delim
+host_vendor!$host_vendor$ac_delim
+host_os!$host_os$ac_delim
+target!$target$ac_delim
+target_cpu!$target_cpu$ac_delim
+target_vendor!$target_vendor$ac_delim
+target_os!$target_os$ac_delim
+INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim
+INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim
+INSTALL_DATA!$INSTALL_DATA$ac_delim
+CC!$CC$ac_delim
+am__leading_dot!$am__leading_dot$ac_delim
+DEPDIR!$DEPDIR$ac_delim
+am__include!$am__include$ac_delim
+am__quote!$am__quote$ac_delim
+AMDEP_TRUE!$AMDEP_TRUE$ac_delim
+AMDEP_FALSE!$AMDEP_FALSE$ac_delim
+AMDEPBACKSLASH!$AMDEPBACKSLASH$ac_delim
+CCDEPMODE!$CCDEPMODE$ac_delim
+am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim
+am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim
+AS!$AS$ac_delim
+AR!$AR$ac_delim
+LD!$LD$ac_delim
+RANLIB!$RANLIB$ac_delim
+CCAS!$CCAS$ac_delim
+CCASFLAGS!$CCASFLAGS$ac_delim
+objtype!$objtype$ac_delim
+host_makefile_frag_path!$host_makefile_frag_path$ac_delim
+subdirs!$subdirs$ac_delim
+LIBOBJS!$LIBOBJS$ac_delim
+LTLIBOBJS!$LTLIBOBJS$ac_delim
+_ACEOF
- ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
- if test $ac_delim_n = $ac_delim_num; then
+ if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 76; then
break
elif $ac_last_try; then
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
+ { (exit 1); exit 1; }; }
else
ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
fi
done
-rm -f conf$$subs.sh
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
-_ACEOF
-sed -n '
-h
-s/^/S["/; s/!.*/"]=/
-p
-g
-s/^[^!]*!//
-:repl
-t repl
-s/'"$ac_delim"'$//
-t delim
-:nl
-h
-s/\(.\{148\}\)..*/\1/
-t more1
-s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
-p
-n
-b repl
-:more1
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t nl
-:delim
-h
-s/\(.\{148\}\)..*/\1/
-t more2
-s/["\\]/\\&/g; s/^/"/; s/$/"/
-p
-b
-:more2
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t delim
-' <conf$$subs.awk | sed '
-/^[^""]/{
- N
- s/\n//
-}
-' >>$CONFIG_STATUS || ac_write_fail=1
-rm -f conf$$subs.awk
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-_ACAWK
-cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
- for (key in S) S_is_set[key] = 1
- FS = ""
- \$ac_cs_awk_pipe_init
-}
-{
- line = $ 0
- nfields = split(line, field, "@")
- substed = 0
- len = length(field[1])
- for (i = 2; i < nfields; i++) {
- key = field[i]
- keylen = length(key)
- if (S_is_set[key]) {
- value = S[key]
- line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
- len += length(value) + length(field[++i])
- substed = 1
- } else
- len += 1 + keylen
- }
- if (nfields == 3 && !substed) {
- key = field[2]
- if (F[key] != "" && line ~ /^[ ]*@.*@[ ]*$/) {
- \$ac_cs_awk_read_file
- next
- }
- }
- print line
+ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed`
+if test -n "$ac_eof"; then
+ ac_eof=`echo "$ac_eof" | sort -nru | sed 1q`
+ ac_eof=`expr $ac_eof + 1`
+fi
+
+cat >>$CONFIG_STATUS <<_ACEOF
+cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end
+/^[ ]*@host_makefile_frag@[ ]*$/{
+r $host_makefile_frag
+d
}
-\$ac_cs_awk_pipe_fini
-_ACAWK
_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
- sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
-else
- cat
-fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
- || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
+sed '
+s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g
+s/^/s,@/; s/!/@,|#_!!_#|/
+:n
+t n
+s/'"$ac_delim"'$/,g/; t
+s/$/\\/; p
+N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n
+' >>$CONFIG_STATUS <conf$$subs.sed
+rm -f conf$$subs.sed
+cat >>$CONFIG_STATUS <<_ACEOF
+:end
+s/|#_!!_#|//g
+CEOF$ac_eof
_ACEOF
-# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
-# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
+
+# VPATH may cause trouble with some makes, so we remove $(srcdir),
+# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
# trailing colons and then remove the whole line if VPATH becomes empty
# (actually we leave an empty line to preserve line numbers).
if test "x$srcdir" = x.; then
- ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{
-h
-s///
-s/^/:/
-s/[ ]*$/:/
-s/:\$(srcdir):/:/g
-s/:\${srcdir}:/:/g
-s/:@srcdir@:/:/g
-s/^:*//
+ ac_vpsub='/^[ ]*VPATH[ ]*=/{
+s/:*\$(srcdir):*/:/
+s/:*\${srcdir}:*/:/
+s/:*@srcdir@:*/:/
+s/^\([^=]*=[ ]*\):*/\1/
s/:*$//
-x
-s/\(=[ ]*\).*/\1/
-G
-s/\n//
s/^[^=]*=[ ]*$//
}'
fi
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+cat >>$CONFIG_STATUS <<\_ACEOF
fi # test -n "$CONFIG_FILES"
-eval set X " :F $CONFIG_FILES :C $CONFIG_COMMANDS"
-shift
-for ac_tag
+for ac_tag in :F $CONFIG_FILES :C $CONFIG_COMMANDS
do
case $ac_tag in
:[FHLC]) ac_mode=$ac_tag; continue;;
esac
case $ac_mode$ac_tag in
:[FHL]*:*);;
- :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
+ :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5
+echo "$as_me: error: Invalid tag $ac_tag." >&2;}
+ { (exit 1); exit 1; }; };;
:[FH]-) ac_tag=-:-;;
:[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
esac
@@ -3572,7 +3408,7 @@ do
for ac_f
do
case $ac_f in
- -) ac_f="$ac_tmp/stdin";;
+ -) ac_f="$tmp/stdin";;
*) # Look for the file first in the build tree, then in the source tree
# (if the path is not absolute). The absolute path cannot be DOS-style,
# because $ac_f cannot contain `:'.
@@ -3581,34 +3417,26 @@ do
[\\/$]*) false;;
*) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
esac ||
- as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
+ { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5
+echo "$as_me: error: cannot find input file: $ac_f" >&2;}
+ { (exit 1); exit 1; }; };;
esac
- case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
- as_fn_append ac_file_inputs " '$ac_f'"
+ ac_file_inputs="$ac_file_inputs $ac_f"
done
# Let's still pretend it is `configure' which instantiates (i.e., don't
# use $as_me), people would be surprised to read:
# /* config.h. Generated by config.status. */
- configure_input='Generated from '`
- $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
- `' by configure.'
+ configure_input="Generated from "`IFS=:
+ echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure."
if test x"$ac_file" != x-; then
configure_input="$ac_file. $configure_input"
- { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
-$as_echo "$as_me: creating $ac_file" >&6;}
+ { echo "$as_me:$LINENO: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
fi
- # Neutralize special characters interpreted by sed in replacement strings.
- case $configure_input in #(
- *\&* | *\|* | *\\* )
- ac_sed_conf_input=`$as_echo "$configure_input" |
- sed 's/[\\\\&|]/\\\\&/g'`;; #(
- *) ac_sed_conf_input=$configure_input;;
- esac
case $ac_tag in
- *:-:* | *:-) cat >"$ac_tmp/stdin" \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
+ *:-:* | *:-) cat >"$tmp/stdin";;
esac
;;
esac
@@ -3618,7 +3446,7 @@ $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$ac_file" : 'X\(//\)[^/]' \| \
X"$ac_file" : 'X\(//\)$' \| \
X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$ac_file" |
+echo X"$ac_file" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
@@ -3636,15 +3464,55 @@ $as_echo X"$ac_file" |
q
}
s/.*/./; q'`
- as_dir="$ac_dir"; as_fn_mkdir_p
+ { as_dir="$ac_dir"
+ case $as_dir in #(
+ -*) as_dir=./$as_dir;;
+ esac
+ test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
+ as_dirs=
+ while :; do
+ case $as_dir in #(
+ *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #(
+ *) as_qdir=$as_dir;;
+ esac
+ as_dirs="'$as_qdir' $as_dirs"
+ as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_dir" : 'X\(//\)[^/]' \| \
+ X"$as_dir" : 'X\(//\)$' \| \
+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+echo X"$as_dir" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ test -d "$as_dir" && break
+ done
+ test -z "$as_dirs" || eval "mkdir $as_dirs"
+ } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
+echo "$as_me: error: cannot create directory $as_dir" >&2;}
+ { (exit 1); exit 1; }; }; }
ac_builddir=.
case "$ac_dir" in
.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
*)
- ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
+ ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
# A ".." for each directory in $ac_dir_suffix.
- ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+ ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
case $ac_top_builddir_sub in
"") ac_top_builddir_sub=. ac_top_build_prefix= ;;
*) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
@@ -3684,12 +3552,12 @@ ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
esac
_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+cat >>$CONFIG_STATUS <<\_ACEOF
# If the template does not know about datarootdir, expand it.
# FIXME: This hack should be removed a few years after 2.60.
ac_datarootdir_hack=; ac_datarootdir_seen=
-ac_sed_dataroot='
-/datarootdir/ {
+
+case `sed -n '/datarootdir/ {
p
q
}
@@ -3697,37 +3565,36 @@ ac_sed_dataroot='
/@docdir@/p
/@infodir@/p
/@localedir@/p
-/@mandir@/p'
-case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
+/@mandir@/p
+' $ac_file_inputs` in
*datarootdir*) ac_datarootdir_seen=yes;;
*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
-$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
+ { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
+echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+cat >>$CONFIG_STATUS <<_ACEOF
ac_datarootdir_hack='
s&@datadir@&$datadir&g
s&@docdir@&$docdir&g
s&@infodir@&$infodir&g
s&@localedir@&$localedir&g
s&@mandir@&$mandir&g
- s&\\\${datarootdir}&$datarootdir&g' ;;
+ s&\\\${datarootdir}&$datarootdir&g' ;;
esac
_ACEOF
# Neutralize VPATH when `$srcdir' = `.'.
# Shell code in configure.ac might set extrasub.
# FIXME: do we really want to maintain this feature?
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_sed_extra="$ac_vpsub
+cat >>$CONFIG_STATUS <<_ACEOF
+ sed "$ac_vpsub
$extrasub
_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+cat >>$CONFIG_STATUS <<\_ACEOF
:t
/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s|@configure_input@|$ac_sed_conf_input|;t t
+s&@configure_input@&$configure_input&;t t
s&@top_builddir@&$ac_top_builddir_sub&;t t
-s&@top_build_prefix@&$ac_top_build_prefix&;t t
s&@srcdir@&$ac_srcdir&;t t
s&@abs_srcdir@&$ac_abs_srcdir&;t t
s&@top_srcdir@&$ac_top_srcdir&;t t
@@ -3737,35 +3604,26 @@ s&@abs_builddir@&$ac_abs_builddir&;t t
s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
s&@INSTALL@&$ac_INSTALL&;t t
$ac_datarootdir_hack
-"
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" |
-if $ac_cs_awk_getline; then
- $AWK -f "$ac_tmp/subs.awk"
-else
- $AWK -f "$ac_tmp/subs.awk" | $SHELL
-fi \
- >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+" $ac_file_inputs | sed -f "$tmp/subs-1.sed" >$tmp/out
test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
- { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
- { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \
- "$ac_tmp/out"`; test -z "$ac_out"; } &&
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined. Please make sure it is defined" >&5
-$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined. Please make sure it is defined" >&2;}
-
- rm -f "$ac_tmp/stdin"
+ { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
+ { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
+ { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined. Please make sure it is defined." >&5
+echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined. Please make sure it is defined." >&2;}
+
+ rm -f "$tmp/stdin"
case $ac_file in
- -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
- *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
- esac \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+ -) cat "$tmp/out"; rm -f "$tmp/out";;
+ *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;;
+ esac
;;
- :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
-$as_echo "$as_me: executing $ac_file commands" >&6;}
+ :C) { echo "$as_me:$LINENO: executing $ac_file commands" >&5
+echo "$as_me: executing $ac_file commands" >&6;}
;;
esac
@@ -3786,7 +3644,7 @@ $as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$mf" : 'X\(//\)[^/]' \| \
X"$mf" : 'X\(//\)$' \| \
X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$mf" |
+echo X"$mf" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
@@ -3830,7 +3688,42 @@ $as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$file" : 'X\(//\)[^/]' \| \
X"$file" : 'X\(//\)$' \| \
X"$file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$file" |
+echo X"$file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ { as_dir=$dirpart/$fdir
+ case $as_dir in #(
+ -*) as_dir=./$as_dir;;
+ esac
+ test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
+ as_dirs=
+ while :; do
+ case $as_dir in #(
+ *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #(
+ *) as_qdir=$as_dir;;
+ esac
+ as_dirs="'$as_qdir' $as_dirs"
+ as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_dir" : 'X\(//\)[^/]' \| \
+ X"$as_dir" : 'X\(//\)$' \| \
+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+echo X"$as_dir" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
@@ -3848,7 +3741,12 @@ $as_echo X"$file" |
q
}
s/.*/./; q'`
- as_dir=$dirpart/$fdir; as_fn_mkdir_p
+ test -d "$as_dir" && break
+ done
+ test -z "$as_dirs" || eval "mkdir $as_dirs"
+ } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
+echo "$as_me: error: cannot create directory $as_dir" >&2;}
+ { (exit 1); exit 1; }; }; }
# echo "creating $dirpart/$file"
echo '# dummy' > "$dirpart/$file"
done
@@ -3861,13 +3759,11 @@ done
done # for ac_tag
-as_fn_exit 0
+{ (exit 0); exit 0; }
_ACEOF
+chmod +x $CONFIG_STATUS
ac_clean_files=$ac_clean_files_save
-test $ac_write_fail = 0 ||
- as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
-
# configure is writing to config.log, and then calls config.status.
# config.status does its own redirection, appending to config.log.
@@ -3887,11 +3783,7 @@ if test "$no_create" != yes; then
exec 5>>config.log
# Use ||, not &&, to avoid exiting from the if with $? = 1, which
# would make configure fail if this is the last instruction.
- $ac_cs_success || as_fn_exit 1
-fi
-if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
-$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
+ $ac_cs_success || { (exit 1); exit 1; }
fi
diff --git a/libgloss/arm/configure.in b/libgloss/arm/configure.in
index 39c15d724..d617f49f2 100644
--- a/libgloss/arm/configure.in
+++ b/libgloss/arm/configure.in
@@ -49,7 +49,7 @@ AC_PROG_RANLIB
LIB_AM_PROG_AS
case "${target}" in
- *-*-elf | *-*-eabi | *-*-tirtos*)
+ *-*-elf | *-*-eabi)
objtype=elf-
;;
*-*-coff)
@@ -59,7 +59,7 @@ esac
AC_SUBST(objtype)
-host_makefile_frag=`cd $srcdir/../config;pwd`/default.mh
+host_makefile_frag=${srcdir}/../config/default.mh
dnl We have to assign the same value to other variables because autoconf
dnl doesn't provide a mechanism to substitute a replacement keyword with
diff --git a/libgloss/arm/elf-aprofile-validation.specs b/libgloss/arm/elf-aprofile-validation.specs
index 166a5dec6..ba0eafc47 100644
--- a/libgloss/arm/elf-aprofile-validation.specs
+++ b/libgloss/arm/elf-aprofile-validation.specs
@@ -8,7 +8,7 @@
%rename link old_link
*link:
---defsym=_rdimon_vector_base=0x00000000 -Ttext-segment=0x00010000 %(old_link)
+--defsym=_rdimon_vector_base=0x00000000 -Ttext-segment=0x00008000 %(old_link)
%rename lib libc
diff --git a/libgloss/arm/elf-aprofile-ve.specs b/libgloss/arm/elf-aprofile-ve.specs
index d94bb7a94..9dea41067 100644
--- a/libgloss/arm/elf-aprofile-ve.specs
+++ b/libgloss/arm/elf-aprofile-ve.specs
@@ -8,7 +8,7 @@
%rename link old_link
*link:
---defsym=_rdimon_vector_base=0x80000000 -Ttext-segment=0x80010000 %(old_link)
+--defsym=_rdimon_vector_base=0x80000000 -Ttext-segment=0x80008000 %(old_link)
%rename lib libc
diff --git a/libgloss/arm/elf-nano.specs b/libgloss/arm/elf-nano.specs
deleted file mode 100644
index 60dc407c6..000000000
--- a/libgloss/arm/elf-nano.specs
+++ /dev/null
@@ -1,18 +0,0 @@
-%rename link nano_link
-%rename link_gcc_c_sequence nano_link_gcc_c_sequence
-
-*nano_libc:
--lc_nano
-
-*nano_libgloss:
-%{specs=rdimon.specs:-lrdimon_nano} %{specs=nosys.specs:-lnosys}
-
-*link_gcc_c_sequence:
-%(nano_link_gcc_c_sequence) --start-group %G %(nano_libc) %(nano_libgloss) --end-group
-
-*link:
-%(nano_link) %:replace-outfile(-lc -lc_nano) %:replace-outfile(-lg -lg_nano) %:replace-outfile(-lrdimon -lrdimon_nano) %:replace-outfile(-lstdc++ -lstdc++_nano) %:replace-outfile(-lsupc++ -lsupc++_nano)
-
-*lib:
-%{!shared:%{g*:-lg_nano} %{!p:%{!pg:-lc_nano}}%{p:-lc_p}%{pg:-lc_p}}
-
diff --git a/libgloss/arm/elf-rdimon.specs b/libgloss/arm/elf-rdimon.specs
index c35061f3a..2f0692c8a 100644
--- a/libgloss/arm/elf-rdimon.specs
+++ b/libgloss/arm/elf-rdimon.specs
@@ -1,13 +1,10 @@
-%rename link_gcc_c_sequence rdimon_link_gcc_c_sequence
+%rename lib libc
-*rdimon_libc:
-%{!specs=nano.specs:-lc} %{specs=nano.specs:-lc_nano}
+*libgloss:
+-lrdimon
-*rdimon_libgloss:
-%{!specs=nano.specs:-lrdimon} %{specs=nano.specs:-lrdimon_nano}
-
-*link_gcc_c_sequence:
-%(rdimon_link_gcc_c_sequence) --start-group %G %(rdimon_libc) %(rdimon_libgloss) --end-group
+*lib:
+--start-group %(libc) %(libgloss) --end-group
*startfile:
crti%O%s crtbegin%O%s %{!pg:rdimon-crt0%O%s} %{pg:rdimon-crt0%O%s}
diff --git a/libgloss/arm/syscalls.c b/libgloss/arm/syscalls.c
index 54e3d74f0..15cc69f61 100644
--- a/libgloss/arm/syscalls.c
+++ b/libgloss/arm/syscalls.c
@@ -264,10 +264,10 @@ _swiread (int fh,
#endif
}
-/* fd, is a valid user file handle.
+/* fd, is a valid user file handle.
Translates the return of _swiread into
bytes read. */
-int __attribute__((weak))
+int
_read (int fd,
char * ptr,
int len)
@@ -418,7 +418,7 @@ _swiwrite (
}
/* fd, is a user file descriptor. */
-int __attribute__((weak))
+int
_write (int fd,
char * ptr,
int len)
@@ -587,7 +587,7 @@ _getpid (int n __attribute__ ((unused)))
return 1;
}
-caddr_t __attribute__((weak))
+caddr_t
_sbrk (int incr)
{
extern char end asm ("end"); /* Defined by the linker. */
diff --git a/libgloss/bfin/Makefile.in b/libgloss/bfin/Makefile.in
index b206a17ae..c86710810 100644
--- a/libgloss/bfin/Makefile.in
+++ b/libgloss/bfin/Makefile.in
@@ -78,7 +78,7 @@ BOARD_LDFLAGS =
BOARD_BSP = libbfinbsp.a
BOARD_CRT0S = basiccrt.o basiccrts.o
BOARD_CRT0S += basiccrt561.o basiccrt561s.o basiccrt561b.o
-# BOARD_CRT0S += basiccrt60x.o basiccrt60xs.o basiccrt60xc1.o
+BOARD_CRT0S += basiccrt60x.o basiccrt60xs.o basiccrt60xc1.o
BOARD_OBJS = clear_cache_range.o _exit.o
BOARD_TEST =
BOARD_INSTALL = install-board
diff --git a/libgloss/configure b/libgloss/configure
index 87cf53c70..41d91d68a 100755
--- a/libgloss/configure
+++ b/libgloss/configure
@@ -705,7 +705,6 @@ arm
spu
tic6x
iq2000
-or1k
libnosys'
# Initialize some variables set by options.
@@ -2532,6 +2531,7 @@ case "${target}" in
msp430*-*-elf)
subdirs="$subdirs msp430"
+ config_libnosys=false
;;
rl78*-*-elf)
subdirs="$subdirs rl78"
@@ -2560,10 +2560,6 @@ case "${target}" in
subdirs="$subdirs iq2000"
;;
- or1k-*-* | or1knd-*-* )
- subdirs="$subdirs or1k"
-
- ;;
esac
diff --git a/libgloss/configure.in b/libgloss/configure.in
index 74d4fd6fe..14287e753 100644
--- a/libgloss/configure.in
+++ b/libgloss/configure.in
@@ -137,6 +137,7 @@ case "${target}" in
;;
msp430*-*-elf)
AC_CONFIG_SUBDIRS([msp430])
+ config_libnosys=false
;;
rl78*-*-elf)
AC_CONFIG_SUBDIRS([rl78])
@@ -159,9 +160,6 @@ case "${target}" in
iq2000-*-*)
AC_CONFIG_SUBDIRS([iq2000])
;;
- or1k-*-* | or1knd-*-* )
- AC_CONFIG_SUBDIRS([or1k])
- ;;
esac
dnl For now, don't bother configuring testsuite
diff --git a/libgloss/libnosys/nosys.specs b/libgloss/libnosys/nosys.specs
index 3a84db3b5..034fefb82 100644
--- a/libgloss/libnosys/nosys.specs
+++ b/libgloss/libnosys/nosys.specs
@@ -1,11 +1,8 @@
-%rename link_gcc_c_sequence nosys_link_gcc_c_sequence
+%rename lib libc
-*nosys_libgloss:
+*libgloss:
-lnosys
-*nosys_libc:
-%{!specs=nano.specs:-lc} %{specs=nano.specs:-lc_nano}
-
-*link_gcc_c_sequence:
-%(nosys_link_gcc_c_sequence) --start-group %G %(nosys_libc) %(nosys_libgloss) --end-group
+*lib:
+--start-group %(libc) %(libgloss) --end-group
diff --git a/libgloss/libnosys/sbrk.c b/libgloss/libnosys/sbrk.c
index 86c130ab6..39f411cdd 100644
--- a/libgloss/libnosys/sbrk.c
+++ b/libgloss/libnosys/sbrk.c
@@ -6,16 +6,16 @@
void *
_sbrk (incr)
int incr;
-{
+{
extern char end; /* Set by linker. */
- static char * heap_end;
- char * prev_heap_end;
+ static char * heap_end;
+ char * prev_heap_end;
if (heap_end == 0)
- heap_end = & end;
+ heap_end = & end;
- prev_heap_end = heap_end;
- heap_end += incr;
+ prev_heap_end = heap_end;
+ heap_end += incr;
- return (void *) prev_heap_end;
-}
+ return (void *) prev_heap_end;
+}
diff --git a/libgloss/mips/abiflags.S b/libgloss/mips/abiflags.S
deleted file mode 100644
index 953caafb4..000000000
--- a/libgloss/mips/abiflags.S
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * abiflags.S - MIPS ABI flags.
- */
-
-/* Values for the xxx_size bytes of an ABI flags structure. */
-#define AFL_REG_NONE 0x00 /* No registers. */
-#define AFL_REG_32 0x01 /* 32-bit registers. */
-#define AFL_REG_64 0x02 /* 64-bit registers. */
-#define AFL_REG_128 0x03 /* 128-bit registers. */
-
-/* Masks for the ases word of an ABI flags structure. */
-#define AFL_ASE_DSP 0x00000001 /* DSP ASE. */
-#define AFL_ASE_DSPR2 0x00000002 /* DSP R2 ASE. */
-#define AFL_ASE_EVA 0x00000004 /* Enhanced VA Scheme. */
-#define AFL_ASE_MCU 0x00000008 /* MCU (MicroController) ASE. */
-#define AFL_ASE_MDMX 0x00000010 /* MDMX ASE. */
-#define AFL_ASE_MIPS3D 0x00000020 /* MIPS-3D ASE. */
-#define AFL_ASE_MT 0x00000040 /* MT ASE. */
-#define AFL_ASE_SMARTMIPS 0x00000080 /* SmartMIPS ASE. */
-#define AFL_ASE_VIRT 0x00000100 /* VZ ASE. */
-#define AFL_ASE_MSA 0x00000200 /* MSA ASE. */
-#define AFL_ASE_MIPS16 0x00000400 /* MIPS16 ASE. */
-#define AFL_ASE_MICROMIPS 0x00000800 /* MICROMIPS ASE. */
-#define AFL_ASE_XPA 0x00001000 /* XPA ASE. */
-
-/* Values for the isa_ext word of an ABI flags structure. */
-#define AFL_EXT_XLR 1 /* RMI Xlr instruction. */
-#define AFL_EXT_OCTEON2 2 /* Cavium Networks Octeon2. */
-#define AFL_EXT_OCTEONP 3 /* Cavium Networks OcteonP. */
-#define AFL_EXT_LOONGSON_3A 4 /* Loongson 3A. */
-#define AFL_EXT_OCTEON 5 /* Cavium Networks Octeon. */
-#define AFL_EXT_5900 6 /* MIPS R5900 instruction. */
-#define AFL_EXT_4650 7 /* MIPS R4650 instruction. */
-#define AFL_EXT_4010 8 /* LSI R4010 instruction. */
-#define AFL_EXT_4100 9 /* NEC VR4100 instruction. */
-#define AFL_EXT_3900 10 /* Toshiba R3900 instruction. */
-#define AFL_EXT_10000 11 /* MIPS R10000 instruction. */
-#define AFL_EXT_SB1 12 /* Broadcom SB-1 instruction. */
-#define AFL_EXT_4111 13 /* NEC VR4111/VR4181 instruction. */
-#define AFL_EXT_4120 14 /* NEC VR4120 instruction. */
-#define AFL_EXT_5400 15 /* NEC VR5400 instruction. */
-#define AFL_EXT_5500 16 /* NEC VR5500 instruction. */
-#define AFL_EXT_LOONGSON_2E 17 /* ST Microelectronics Loongson 2E. */
-#define AFL_EXT_LOONGSON_2F 18 /* ST Microelectronics Loongson 2F. */
-
-/* Values defined for Tag_GNU_MIPS_ABI_FP. */
-#define Val_GNU_MIPS_ABI_FP_ANY 0 /* Not tagged or not using any ABIs affected by the differences. */
-#define Val_GNU_MIPS_ABI_FP_DOUBLE 1 /* Using hard-float -mdouble-float. */
-#define Val_GNU_MIPS_ABI_FP_SINGLE 2 /* Using hard-float -msingle-float. */
-#define Val_GNU_MIPS_ABI_FP_SOFT 3 /* Using soft-float. */
-#define Val_GNU_MIPS_ABI_FP_OLD_64 4 /* Using -mips32r2 -mfp64. */
-#define Val_GNU_MIPS_ABI_FP_XX 5 /* Using -mfpxx */
-#define Val_GNU_MIPS_ABI_FP_64 6 /* Using -mips32r2 -mfp64. */
-#define Val_GNU_MIPS_ABI_MSA_ANY 0 /* Not tagged or not using any ABIs affected by the differences. */
-#define Val_GNU_MIPS_ABI_MSA_128 1 /* Using 128-bit MSA. */
-
-/* MIPS ABI flags structure */
- .struct 0
-ABIFlags_version:
- .struct ABIFlags_version + 2
-ABIFlags_isa_level:
- .struct ABIFlags_isa_level + 1
-ABIFlags_isa_rev:
- .struct ABIFlags_isa_rev + 1
-ABIFlags_gpr_size:
- .struct ABIFlags_gpr_size + 1
-ABIFlags_cpr1_size:
- .struct ABIFlags_cpr1_size + 1
-ABIFlags_cpr2_size:
- .struct ABIFlags_cpr2_size + 1
-ABIFlags_fp_abi:
- .struct ABIFlags_fp_abi + 1
-ABIFlags_isa_ext:
- .struct ABIFlags_isa_ext + 4
-ABIFlags_ases:
- .struct ABIFlags_ases + 4
-ABIFlags_flags1:
- .struct ABIFlags_flags1 + 4
-ABIFlags_flags2:
- .struct ABIFlags_flags2 + 4
-
-/*> EOF abiflags.S <*/
diff --git a/libgloss/mips/crt0.S b/libgloss/mips/crt0.S
index 254998242..599e79c60 100644
--- a/libgloss/mips/crt0.S
+++ b/libgloss/mips/crt0.S
@@ -14,16 +14,12 @@
* they apply.
*/
-/* This file does not use any floating-point ABI. */
- .gnu_attribute 4,0
-
#ifdef __mips16
/* This file contains 32 bit assembly code. */
.set nomips16
#endif
#include "regs.S"
-#include "abiflags.S"
/*
* Set up some room for a stack. We just grab a chunk of memory.
@@ -61,14 +57,13 @@
.globl _start
.ent _start
_start:
+ .set noreorder
#ifdef __mips_embedded_pic
#define PICBASE start_PICBASE
- .set noreorder
PICBASE = .+8
bal PICBASE
nop
move s0,$31
- .set reorder
#endif
#if __mips<3
# define STATUS_MASK (SR_CU1|SR_PE)
@@ -86,88 +81,55 @@ _start:
# endif
# endif
#endif
-
- /* Clear Cause register. */
- mtc0 zero,C0_CAUSE
+ li v0, STATUS_MASK
+ mtc0 v0, C0_SR
+ mtc0 zero, C0_CAUSE
nop
- /* Read MIPS_abiflags structure and set status/config registers
- accordingly. */
- .weak __MIPS_abiflags_start
- .weak __MIPS_abiflags_end
- LA (t0,__MIPS_abiflags_start)
- LA (t1,__MIPS_abiflags_end)
- addiu t1,t1,-24
- move v0,zero /* Mask for C0_SR. */
-
- /* Branch to 1f is the .MIPS.abiflags section is not 24 bytes. This
- indicates it is either missing or corrupt. */
- bne t0,t1,1f
-
- /* Check isa_level. */
- lbu t1,ABIFlags_isa_level(t0)
- sltu v1,t1,3 /* Is MIPS < 3? */
- xori t1,t1,64 /* Is MIPS64? */
- beq v1,zero,4f
- li v1,SR_PE
- or v0,v0,v1 /* Enable soft reset. */
-4:
- li v1,(SR_KX|SR_SX|SR_UX)
- bne t1,zero,5f
- or v0,v0,v1 /* Enable extended addressing. */
-5:
- /* Check fp_abi. */
- lbu t1,ABIFlags_fp_abi(t0)
- xori t1,t1,Val_GNU_MIPS_ABI_FP_SOFT
- li v1,SR_CU1
- beq t1,zero,2f /* Skip MSA and cpr1_size checks. */
- or v0,v0,v1 /* Enable co-processor 1. */
+ /* Avoid hazard from FPU enable and other SR changes. */
+ LA (t0, hardware_hazard_hook)
+ beq t0,zero,1f
+ nop
+ jal t0
+ nop
+1:
- /* Check cpr1_size. */
- lbu t1,ABIFlags_cpr1_size(t0)
- xori t1,t1,AFL_REG_64
- li v1,SR_FR
- bne t1,zero,3f
- or v0,v0,v1 /* Enable 64-bit FPU registers. */
-3:
- /* Check ases. */
- lw t1,ABIFlags_ases(t0)
- andi t1,t1,AFL_ASE_MSA
- li v1,SR_FR
- beq t1,zero,2f
- or v0,v0,v1 /* Enable 64-bit FPU registers. */
- li v1,SR_MSA
- .set push
- .set mips32
- mtc0 v1,C0_CONFIG,5 /* Enable MSA. */
- .set pop
- b 2f
+/* Check for FPU presence. Don't check if we know that soft_float is
+ being used. (This also avoids illegal instruction exceptions.) */
-1:
- /* MIPS_abiflags structure is not available. Set status/config
- registers based on flags defined by compiler. */
-#ifdef __mips_soft_float
- li v0,(STATUS_MASK-(STATUS_MASK & SR_CU1))
-#else
- li v0,STATUS_MASK
+#ifndef __mips_soft_float
+ li t2,0xAAAA5555
+ mtc1 t2,fp0 /* write to FPR 0 */
+ mtc1 zero,fp1 /* write to FPR 1 */
+ mfc1 t0,fp0
+ mfc1 t1,fp1
+ nop
+ bne t0,t2,1f /* check for match */
+ nop
+ bne t1,zero,1f /* double check */
+ nop
+ j 2f /* FPU is present. */
+ nop
#endif
-
-2:
- /* Set C0_SR, */
- mtc0 v0,C0_SR
+1:
+ /* FPU is not present. Set status register to say that. */
+ li v0, (STATUS_MASK-(STATUS_MASK & SR_CU1))
+ mtc0 v0, C0_SR
nop
-
- /* Avoid hazard from C0_SR changes. */
- LA (t0, hardware_hazard_hook)
+ /* Avoid hazard from FPU disable. */
+ LA (t0, hardware_hazard_hook)
beq t0,zero,2f
- jalr t0
+ nop
+ jal t0
+ nop
2:
-/* Fix high bits, if any, of the PC so that exception handling doesn't get
- confused. */
+/* Fix high bits, if any, of the PC so that exception handling
+ doesn't get confused. */
LA (v0, 3f)
jr v0
+ nop
3:
LA (gp, _gp) # set the global data pointer
.end _start
@@ -183,20 +145,21 @@ _start:
zerobss:
LA (v0, _fbss)
LA (v1, _end)
- beq v0,v1,2f
-1:
- addiu v0,v0,4
- sw zero,-4(v0)
- bne v0,v1,1b
-2:
+3:
+ sw zero,0(v0)
+ bltu v0,v1,3b
+ addiu v0,v0,4 # executed in delay slot
+
la t0, __lstack # make a small stack so we
addiu sp, t0, STARTUP_STACK_SIZE # can run some C code
la a0, __memsize # get the usable memory size
jal get_mem_info
+ nop
/* setup the stack pointer */
LA (t0, __stack) # is __stack set ?
bne t0,zero,4f
+ nop
/* NOTE: a0[0] contains the amount of memory available, and
not the last memory address. */
@@ -226,14 +189,19 @@ zerobss:
init:
LA (t9, hardware_init_hook) # init the hardware if needed
beq t9,zero,6f
- jalr t9
+ nop
+ jal t9
+ nop
6:
LA (t9, software_init_hook) # init the hardware if needed
beq t9,zero,7f
- jalr t9
+ nop
+ jal t9
+ nop
7:
LA (a0, _fini)
jal atexit
+ nop
#ifdef GCRT0
.globl _ftext
@@ -241,10 +209,12 @@ init:
LA (a0, _ftext)
LA (a1, _etext)
jal monstartup
+ nop
#endif
jal _init # run global constructors
+ nop
addiu a1,sp,32 # argv = sp + 32
addiu a2,sp,40 # envp = sp + 40
@@ -255,13 +225,13 @@ init:
sw zero,(a1)
sw zero,(a2)
#endif
- move a0,zero # set argc to 0
jal main # call the program start function
+ move a0,zero # set argc to 0
# fall through to the "exit" routine
- move a0,v0 # pass through the exit code
jal exit # call libc exit to run the G++
# destructors
+ move a0,v0 # pass through the exit code
.end init
@@ -287,25 +257,27 @@ _exit:
/* Need to reinit PICBASE, since we might be called via exit()
rather than via a return path which would restore old s0. */
#define PICBASE exit_PICBASE
- .set noreorder
PICBASE = .+8
bal PICBASE
nop
move s0,$31
- .set reorder
#endif
#ifdef GCRT0
LA (t0, _mcleanup)
- jalr t0
+ jal t0
+ nop
#endif
LA (t0, hardware_exit_hook)
beq t0,zero,1f
- jalr t0
+ nop
+ jal t0
+ nop
1:
# break instruction can cope with 0xfffff, but GAS limits the range:
break 1023
b 7b # but loop back just in-case
+ nop
.end _exit
/* Assume the PICBASE set up above is no longer valid below here. */
diff --git a/libgloss/mips/mti32.ld b/libgloss/mips/mti32.ld
index 2739c620f..715639ef5 100644
--- a/libgloss/mips/mti32.ld
+++ b/libgloss/mips/mti32.ld
@@ -93,11 +93,6 @@ SECTIONS
}
. = .;
- .MIPS.abiflags : {
- __MIPS_abiflags_start = .;
- *(.MIPS.abiflags)
- __MIPS_abiflags_end = .;
- }
.rodata : {
*(.rdata)
*(.rodata)
@@ -142,7 +137,6 @@ SECTIONS
*(COMMON)
}
- . = ALIGN(4);
PROVIDE (end = .);
_end = .;
diff --git a/libgloss/mips/mti64.ld b/libgloss/mips/mti64.ld
index 15975ad89..1bd11f6f8 100644
--- a/libgloss/mips/mti64.ld
+++ b/libgloss/mips/mti64.ld
@@ -95,11 +95,6 @@ SECTIONS
}
. = .;
- .MIPS.abiflags : {
- __MIPS_abiflags_start = .;
- *(.MIPS.abiflags)
- __MIPS_abiflags_end = .;
- }
.rodata : {
*(.rdata)
*(.rodata)
@@ -144,7 +139,6 @@ SECTIONS
*(COMMON)
}
- . = ALIGN(4);
PROVIDE (end = .);
_end = .;
diff --git a/libgloss/mips/mti64_64.ld b/libgloss/mips/mti64_64.ld
index 7a2074f1a..a058b9626 100644
--- a/libgloss/mips/mti64_64.ld
+++ b/libgloss/mips/mti64_64.ld
@@ -98,11 +98,6 @@ SECTIONS
}
. = .;
- .MIPS.abiflags : {
- __MIPS_abiflags_start = .;
- *(.MIPS.abiflags)
- __MIPS_abiflags_end = .;
- }
.rodata : {
*(.rdata)
*(.rodata)
@@ -147,7 +142,6 @@ SECTIONS
*(COMMON)
}
- . = ALIGN(4);
PROVIDE (end = .);
_end = .;
diff --git a/libgloss/mips/mti64_n32.ld b/libgloss/mips/mti64_n32.ld
index 4003845e0..279571b2f 100644
--- a/libgloss/mips/mti64_n32.ld
+++ b/libgloss/mips/mti64_n32.ld
@@ -98,11 +98,6 @@ SECTIONS
}
. = .;
- .MIPS.abiflags : {
- __MIPS_abiflags_start = .;
- *(.MIPS.abiflags)
- __MIPS_abiflags_end = .;
- }
.rodata : {
*(.rdata)
*(.rodata)
@@ -147,7 +142,6 @@ SECTIONS
*(COMMON)
}
- . = ALIGN(4);
PROVIDE (end = .);
_end = .;
diff --git a/libgloss/mips/regs.S b/libgloss/mips/regs.S
index e4b134307..bdf933f13 100644
--- a/libgloss/mips/regs.S
+++ b/libgloss/mips/regs.S
@@ -98,8 +98,6 @@
#define SR_SX 0x00000040 /* Supervisor extended addressing enabled */
#define SR_UX 0x00000020 /* User extended addressing enabled */
-#define SR_MSA 0x08000000 /* MSA ASE */
-
/* Standard (R4000) cache operations. Taken from "MIPS R4000
Microprocessor User's Manual" 2nd edition: */
diff --git a/libgloss/moxie/Makefile.in b/libgloss/moxie/Makefile.in
index 9aba6b4ce..a6ca86c8c 100644
--- a/libgloss/moxie/Makefile.in
+++ b/libgloss/moxie/Makefile.in
@@ -58,13 +58,9 @@ OBJCOPY = `if [ -f ${objroot}/../binutils/objcopy ] ; \
then echo ${objroot}/../binutils/objcopy ; \
else t='$(program_transform_name)'; echo objcopy | sed -e $$t ; fi`
-LD_SCRIPTS = moxie-elf-common.ld qemu.ld sim.ld moxiebox.ld
-
-@BUILD_CRT0_TRUE@CRT0 = crt0.o
-@BUILD_CRT0_TRUE@CRT0_INSTALL = install-crt0
-@BUILD_CRT0_FALSE@CRT0 =
-@BUILD_CRT0_FALSE@CRT0_INSTALL =
+LD_SCRIPTS = moxie-elf-common.ld qemu.ld sim.ld
+CRT0 = crt0.o
SIM_BSP = libsim.a
SIM_OBJS = fstat.o \
getpid.o \
@@ -100,7 +96,7 @@ QEMU_OBJS = qemu-write.o \
#### Host specific Makefile fragment comes in here.
@host_makefile_frag@
-all: ${CRT0} $(SIM_BSP) $(QEMU_BSP)
+all: $(CRT0) $(SIM_BSP) $(QEMU_BSP)
$(SIM_BSP): $(SIM_OBJS)
$(AR) $(ARFLAGS) $@ $?
@@ -128,16 +124,14 @@ sim-write.o: $(srcdir)/sim-write.S
stat.o: $(srcdir)/stat.c
qemu-write.o: $(srcdir)/qemu-write.c
-install: ${CRT0_INSTALL} $($(CPU)_INSTALL)
+install: $($(CPU)_INSTALL)
+ $(INSTALL_DATA) $(CRT0) $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}/$(CRT0)
$(INSTALL_DATA) $(SIM_BSP) $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}/$(SIM_BSP)
$(INSTALL_DATA) $(QEMU_BSP) $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}/$(QEMU_BSP)
for x in ${LD_SCRIPTS}; do \
${INSTALL_DATA} ${srcdir}/$$x $(DESTDIR)${tooldir}/lib/$$x; \
done;
-install-crt0:
- ${INSTALL_DATA} ${CRT0} $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/$$x
-
clean mostlyclean:
rm -f *.o *.a
diff --git a/libgloss/moxie/configure b/libgloss/moxie/configure
index 94441c1f2..45233987e 100644
--- a/libgloss/moxie/configure
+++ b/libgloss/moxie/configure
@@ -585,8 +585,6 @@ ac_unique_file="crt0.S"
ac_subst_vars='LTLIBOBJS
LIBOBJS
host_makefile_frag_path
-BUILD_CRT0_FALSE
-BUILD_CRT0_TRUE
CCASFLAGS
CCAS
RANLIB
@@ -2527,20 +2525,6 @@ test "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS
-case "${target}" in
- moxie-*-moxiebox*)
- BUILD_CRT0_TRUE='#'
- BUILD_CRT0_FALSE=
- ;;
- *)
- BUILD_CRT0_TRUE=
- BUILD_CRT0_FALSE='#'
- ;;
-esac
-
-
-
-
host_makefile_frag=${srcdir}/../config/default.mh
host_makefile_frag_path=$host_makefile_frag
diff --git a/libgloss/moxie/configure.in b/libgloss/moxie/configure.in
index e3b5d1426..04169f1b5 100644
--- a/libgloss/moxie/configure.in
+++ b/libgloss/moxie/configure.in
@@ -33,21 +33,6 @@ AC_SUBST(LD)
AC_PROG_RANLIB
LIB_AM_PROG_AS
-dnl Don't build crt0 for moxiebox, which provides crt0 for us.
-case "${target}" in
- moxie-*-moxiebox*)
- BUILD_CRT0_TRUE='#'
- BUILD_CRT0_FALSE=
- ;;
- *)
- BUILD_CRT0_TRUE=
- BUILD_CRT0_FALSE='#'
- ;;
-esac
-
-AC_SUBST(BUILD_CRT0_TRUE)
-AC_SUBST(BUILD_CRT0_FALSE)
-
host_makefile_frag=${srcdir}/../config/default.mh
dnl We have to assign the same value to other variables because autoconf
diff --git a/libgloss/moxie/moxiebox.ld b/libgloss/moxie/moxiebox.ld
deleted file mode 100644
index 1da9d06f8..000000000
--- a/libgloss/moxie/moxiebox.ld
+++ /dev/null
@@ -1,232 +0,0 @@
-/*
- * Default linker script for moxiebox.
- *
- * Copyright (C) 2014 Anthony Green
- *
- * The authors hereby grant permission to use, copy, modify,
- * distribute, and license this software and its documentation for any
- * purpose, provided that existing copyright notices are retained in
- * all copies and that this notice is included verbatim in any
- * distributions. No written agreement, license, or royalty fee is
- * required for any of the authorized uses. Modifications to this
- * software may be copyrighted by their authors and need not follow
- * the licensing terms described here, provided that the new terms are
- * clearly indicated on the first page of each file where they apply.
- */
-
-OUTPUT_FORMAT("elf32-littlemoxie")
-OUTPUT_ARCH(moxie)
-ENTRY(_start)
-SECTIONS
-{
- /* Read-only sections, merged into text segment: */
- . = 0x00001000;
- .interp : { *(.interp) }
- .hash : { *(.hash) }
- .dynsym : { *(.dynsym) }
- .dynstr : { *(.dynstr) }
- .gnu.version : { *(.gnu.version) }
- .gnu.version_d : { *(.gnu.version_d) }
- .gnu.version_r : { *(.gnu.version_r) }
- .rel.init : { *(.rel.init) }
- .rela.init : { *(.rela.init) }
- .rel.text :
- {
- *(.rel.text)
- *(.rel.text.*)
- *(.rel.gnu.linkonce.t*)
- }
- .rela.text :
- {
- *(.rela.text)
- *(.rela.text.*)
- *(.rela.gnu.linkonce.t*)
- }
- .rel.fini : { *(.rel.fini) }
- .rela.fini : { *(.rela.fini) }
- .rel.rodata :
- {
- *(.rel.rodata)
- *(.rel.rodata.*)
- *(.rel.gnu.linkonce.r*)
- }
- .rela.rodata :
- {
- *(.rela.rodata)
- *(.rela.rodata.*)
- *(.rela.gnu.linkonce.r*)
- }
- .rel.data :
- {
- *(.rel.data)
- *(.rel.data.*)
- *(.rel.gnu.linkonce.d*)
- }
- .rela.data :
- {
- *(.rela.data)
- *(.rela.data.*)
- *(.rela.gnu.linkonce.d*)
- }
- .rel.ctors : { *(.rel.ctors) }
- .rela.ctors : { *(.rela.ctors) }
- .rel.dtors : { *(.rel.dtors) }
- .rela.dtors : { *(.rela.dtors) }
- .rel.got : { *(.rel.got) }
- .rela.got : { *(.rela.got) }
- .rel.sdata :
- {
- *(.rel.sdata)
- *(.rel.sdata.*)
- *(.rel.gnu.linkonce.s*)
- }
- .rela.sdata :
- {
- *(.rela.sdata)
- *(.rela.sdata.*)
- *(.rela.gnu.linkonce.s*)
- }
- .rel.sbss : { *(.rel.sbss) }
- .rela.sbss : { *(.rela.sbss) }
- .rel.bss : { *(.rel.bss) }
- .rela.bss : { *(.rela.bss) }
- .rel.plt : { *(.rel.plt) }
- .rela.plt : { *(.rela.plt) }
- .plt : { *(.plt) }
- .text :
- {
- *(.text)
- *(.text.*)
- *(.stub)
- /* .gnu.warning sections are handled specially by elf32.em. */
- *(.gnu.warning)
- *(.gnu.linkonce.t*)
- *(.glue_7t) *(.glue_7)
- } =0
- .init :
- {
- KEEP (*(.init))
- } =0
- _etext = .;
- PROVIDE (etext = .);
- .fini :
- {
- KEEP (*(.fini))
- } =0
- .rodata : { *(.rodata) *(.rodata.*) *(.gnu.linkonce.r*) }
- .rodata1 : { *(.rodata1) }
- .eh_frame_hdr : { *(.eh_frame_hdr) }
- /* Adjust the address for the data segment. We want to adjust up to
- the same address within the page on the next page up. */
- . = ALIGN(256) + (. & (256 - 1));
- .data :
- {
- *(.data)
- *(.data.*)
- *(.gnu.linkonce.d*)
- SORT(CONSTRUCTORS)
- }
- .data1 : { *(.data1) }
- .eh_frame : { KEEP (*(.eh_frame)) }
- .gcc_except_table : { *(.gcc_except_table) }
- .ctors :
- {
- /* gcc uses crtbegin.o to find the start of
- the constructors, so we make sure it is
- first. Because this is a wildcard, it
- doesn't matter if the user does not
- actually link against crtbegin.o; the
- linker won't look for a file to match a
- wildcard. The wildcard also means that it
- doesn't matter which directory crtbegin.o
- is in. */
- KEEP (*crtbegin.o(.ctors))
- /* We don't want to include the .ctor section from
- from the crtend.o file until after the sorted ctors.
- The .ctor section from the crtend file contains the
- end of ctors marker and it must be last */
- KEEP (*(EXCLUDE_FILE (*crtend.o ) .ctors))
- KEEP (*(SORT(.ctors.*)))
- KEEP (*(.ctors))
- }
- .dtors :
- {
- KEEP (*crtbegin.o(.dtors))
- KEEP (*(EXCLUDE_FILE (*crtend.o ) .dtors))
- KEEP (*(SORT(.dtors.*)))
- KEEP (*(.dtors))
- }
- .jcr : { KEEP (*(.jcr)) }
- .got : { *(.got.plt) *(.got) }
- .dynamic : { *(.dynamic) }
- /* We want the small data sections together, so single-instruction offsets
- can access them all, and initialized data all before uninitialized, so
- we can shorten the on-disk segment size. */
- .sdata :
- {
- *(.sdata)
- *(.sdata.*)
- *(.gnu.linkonce.s.*)
- }
- _edata = .;
- PROVIDE (edata = .);
- __bss_start = .;
- __bss_start__ = .;
- .sbss :
- {
- *(.dynsbss)
- *(.sbss)
- *(.sbss.*)
- *(.scommon)
- }
- .bss :
- {
- *(.dynbss)
- *(.bss)
- *(.bss.*)
- *(COMMON)
- /* Align here to ensure that the .bss section occupies space up to
- _end. Align after .bss to ensure correct alignment even if the
- .bss section disappears because there are no input sections. */
- . = ALIGN(32 / 8);
- }
- . = ALIGN(32 / 8);
- _end = .;
- _bss_end__ = . ; __bss_end__ = . ; __end__ = . ;
- PROVIDE (end = .);
- /* Stabs debugging sections. */
- .stab 0 : { *(.stab) }
- .stabstr 0 : { *(.stabstr) }
- .stab.excl 0 : { *(.stab.excl) }
- .stab.exclstr 0 : { *(.stab.exclstr) }
- .stab.index 0 : { *(.stab.index) }
- .stab.indexstr 0 : { *(.stab.indexstr) }
- .comment 0 : { *(.comment) }
- /* DWARF debug sections.
- Symbols in the DWARF debugging sections are relative to the beginning
- of the section so we begin them at 0. */
- /* DWARF 1 */
- .debug 0 : { *(.debug) }
- .line 0 : { *(.line) }
- /* GNU DWARF 1 extensions */
- .debug_srcinfo 0 : { *(.debug_srcinfo) }
- .debug_sfnames 0 : { *(.debug_sfnames) }
- /* DWARF 1.1 and DWARF 2 */
- .debug_aranges 0 : { *(.debug_aranges) }
- .debug_pubnames 0 : { *(.debug_pubnames) }
- /* DWARF 2 */
- .debug_info 0 : { *(.debug_info) }
- .debug_abbrev 0 : { *(.debug_abbrev) }
- .debug_line 0 : { *(.debug_line) }
- .debug_frame 0 : { *(.debug_frame) }
- .debug_str 0 : { *(.debug_str) }
- .debug_loc 0 : { *(.debug_loc) }
- .debug_macinfo 0 : { *(.debug_macinfo) }
- .debug_ranges 0 : { *(.debug_ranges) }
- /* SGI/MIPS DWARF 2 extensions */
- .debug_weaknames 0 : { *(.debug_weaknames) }
- .debug_funcnames 0 : { *(.debug_funcnames) }
- .debug_typenames 0 : { *(.debug_typenames) }
- .debug_varnames 0 : { *(.debug_varnames) }
- /* These must appear regardless of . */
-}
diff --git a/libgloss/msp430/Makefile.in b/libgloss/msp430/Makefile.in
index 286cd8963..ad5cfce38 100644
--- a/libgloss/msp430/Makefile.in
+++ b/libgloss/msp430/Makefile.in
@@ -1,4 +1,4 @@
-# Copyright (c) 2008-2014 Red Hat, Inc. All rights reserved.
+# Copyright (c) 2008, 2009, 2011, 2013 Red Hat, Inc. All rights reserved.
#
# This copyrighted material is made available to anyone wishing to use, modify,
# copy, or redistribute it subject to the terms and conditions of the BSD
@@ -12,7 +12,6 @@
# Makefile for libgloss/msp430.
-DESTDIR =
VPATH = @srcdir@
srcdir = @srcdir@
objdir = .
@@ -57,62 +56,46 @@ OBJCOPY = `if [ -f ${objroot}/../binutils/objcopy ] ; \
then echo ${objroot}/../binutils/objcopy ; \
else t='$(program_transform_name)'; echo objcopy | sed -e $$t ; fi`
-SCRIPTS = $(srcdir)/msp430.ld
-SCRIPTS += $(srcdir)/msp430-sim.ld
+SCRIPTS = $(srcdir)/msp430.ld $(srcdir)/msp430-sim.ld
SCRIPTS += $(srcdir)/msp430xl-sim.ld
-SCRIPTS += $(srcdir)/intr_vectors.ld
+SCRIPTS += $(srcdir)/msp430F5438A-s.ld
+SCRIPTS += $(srcdir)/msp430F5438A-l.ld
-CRT = gcrt0.o crt0.o crt0-minrt.o crtn.o crtn-minrt.o
+CRT = gcrt0.o crt0.o crtn.o
SIM_BSP = libsim.a
-LIB_CIO = libcio.a
-LIB_CRT = libcrt.a
+LIBNOSYS = libnosys.a
SIM_OBJS = syscalls.o \
cio.o \
write.o \
sbrk.o
-CIO_OBJS = ciosyscalls.o \
+NOSYS_OBJS = nosyscalls.o \
cio.o \
write.o \
- unlink.o \
sbrk.o
-# Each crt_*.o is built from crt0.S using -DL*. crt0.o is built from
-# crt0.s with -DL0 via the default rule below.
-CRT_OBJS = \
- crt_bss.o \
- crt_high_bss.o \
- crt_movedata.o \
- crt_main.o \
- crt_main_minrt.o \
- crt_callexit.o \
- crt_init.o
-
-#### Host specific Makefile fragment comes in here.
-@host_makefile_frag@
-
+SCRIPTS += $(srcdir)/intr_vectors.ld
-all: $(CRT) $(SIM_BSP) $(LIB_CIO) $(LIB_CRT) copy_scripts_to_objdir
+LIB_CRT = libcrt.a
-crt_%.o : crt0.S
- $(CC) -DL$* -Wa,-gdwarf2 -Wa,-I$(srcdir) $(CFLAGS_FOR_TARGET) $(INCLUDES) $(CFLAGS) -c $< -o $@
+CRT_OBJS = crt_bss.o crt_movedata.o
-crt0-minrt.o : crt0.S
- $(CC) -DL0 -DMINRT -Wa,-gdwarf2 -Wa,-I$(srcdir) $(CFLAGS_FOR_TARGET) $(INCLUDES) $(CFLAGS) -c $< -o $@
+#### Host specific Makefile fragment comes in here.
+@host_makefile_frag@
-crtn-minrt.o : crtn.S
- $(CC) -DL0 -DMINRT -Wa,-gdwarf2 -Wa,-I$(srcdir) $(CFLAGS_FOR_TARGET) $(INCLUDES) $(CFLAGS) -c $< -o $@
# Override .S.o rule to pass assembler debugging flags
.S.o:
- $(CC) -DL0 -Wa,-gdwarf2 -Wa,-I$(srcdir) $(CFLAGS_FOR_TARGET) $(INCLUDES) $(CFLAGS) -c $<
+ $(CC) -Wa,-gdwarf2 -Wa,-I$(srcdir) $(CFLAGS_FOR_TARGET) $(INCLUDES) $(CFLAGS) -c $<
+
+all: $(CRT) $(SIM_BSP) $(LIBNOSYS) $(LIB_CRT) copy_scripts_to_objdir
$(SIM_BSP): $(SIM_OBJS)
$(AR) $(ARFLAGS) $@ $?
$(RANLIB) $@
-$(LIB_CIO): $(CIO_OBJS)
+$(LIBNOSYS): $(NOSYS_OBJS)
$(AR) $(ARFLAGS) $@ $?
$(RANLIB) $@
@@ -153,14 +136,13 @@ unlink.o : $(SDEPS)
utime.o : $(SDEPS)
write.o : $(SDEPS)
-install: $(CRT) $(SIM_BSP) $(LIB_CIO) $(LIB_CRT) $(SCRIPTS)
- mkdir -p $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}
- for c in $(CRT) $(SIM_BSP) $(LIB_CIO) $(LIB_CRT); do \
- $(INSTALL_DATA) $$c $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}/$$c ;\
+install: $(CRT) $(SIM_BSP) $(LIBNOSYS) $(LIB_CRT) $(SCRIPTS)
+ for c in $(CRT) $(SIM_BSP) $(LIBNOSYS) $(LIB_CRT); do \
+ $(INSTALL_DATA) $$c $(tooldir)/lib${MULTISUBDIR}/$$c ;\
done
for c in $(SCRIPTS); do \
b=`basename $$c`; \
- $(INSTALL_DATA) $$c $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}/$$b ;\
+ $(INSTALL_DATA) $$c $(tooldir)/lib${MULTISUBDIR}/$$b ;\
done
clean mostlyclean:
diff --git a/libgloss/msp430/crt0.S b/libgloss/msp430/crt0.S
index c511959d0..388b67829 100644
--- a/libgloss/msp430/crt0.S
+++ b/libgloss/msp430/crt0.S
@@ -13,38 +13,18 @@
#include "memmodel.h"
-;; The linker links all .crt_* sections in asciibetical order at the
-;; same place. So, the four digits in .crt_NNNN determine the link
-;; order, so, keep them in sequential order here. The first two
-;; digits are set here, the second two allow users to insert code
-;; between code fragments here.
-
-#if L0
.section ".resetvec", "a"
__msp430_resetvec_hook:
.word __start
- .section ".crt_0000init", "ax", @progbits
- .refsym __msp430_resetvec_hook
-#ifdef MINRT
- .refsym __crt0_call_just_main
-#else
- .refsym __crt0_call_init_then_main
-#endif
+ .section ".lowtext", "ax", @progbits
.global __start
__start:
mov_ #__stack, R1
;; Disable watchdog timer.
MOV #0x5a80, &0x15C
-#endif
-#if Lbss
- .section ".crt_0100bss", "ax", @progbits
-
- .global __crt0_init_bss
-__crt0_init_bss:
-
mov_ #__bssstart, R12
clr.w R13
mov.w #__bsssize, R14
@@ -52,32 +32,7 @@ __crt0_init_bss:
clr.w R15 ; We assume that __bsssize is never > 64M
#endif
call_ #memset
-#endif
-
-#ifdef __MSP430X_LARGE__
-#if Lhigh_bss
-;; Note - this section is only included in the
-;; startup code of the application if it is needed.
-
- .section ".crt_0150high_bss", "ax", @progbits
-
- .global __crt0_init_high_bss
-__crt0_init_high_bss:
-
- mov_ #llo(__high_bssstart), R12
- mov_ #lhi(__high_bssstart), R13
- mov.w #llo(__high_bsssize), R14
- mov.w #lhi(__high_bsssize), R15
- call_ #memset
-#endif /* Lhigh_bss */
-#endif /* __MSP430X_LARGE__ */
-#if Lmovedata
- .section ".crt_0200movedata", "ax", @progbits
-
- .global __crt0_movedata
-__crt0_movedata:
-
mov_ #__datastart, R12
mov_ #__romdatastart, R13
@@ -91,38 +46,17 @@ __crt0_movedata:
#endif
call_ #memmove
1:
-#endif
-
-#if Lmain_minrt
- .section ".crt_0300main", "ax", @progbits
- .global __crt0_call_just_main
-__crt0_call_just_main:
- clr.w R12 ; Set argc == 0
- call_ #main
-#endif
-
-#if Lmain
- .section ".crt_0300main", "ax", @progbits
- .global __crt0_call_init_then_main
-__crt0_call_init_then_main:
call_ #__msp430_init
clr.w R12 ; Set argc == 0
call_ #main
-#endif
-#if Lcallexit
- .section ".crt_0400main_exit", "ax", @progbits
- .global __crt0_call_exit
-__crt0_call_exit:
call_ #_exit
-#endif
+
+ .word __msp430_resetvec_hook
;----------------------------------------
-#ifndef MINRT
-#if L0
- .section ".crt_0500main_init", "ax", @progbits
.global _msp430_run_init_array
.type _msp430_run_init_array,@function
_msp430_run_init_array:
@@ -170,6 +104,3 @@ __msp430_init:
.global __msp430_fini
__msp430_fini:
call_ #_msp430_run_fini_array
-
-#endif
-#endif
diff --git a/libgloss/msp430/crtn.S b/libgloss/msp430/crtn.S
index 939d5ce6f..9fcaec0af 100644
--- a/libgloss/msp430/crtn.S
+++ b/libgloss/msp430/crtn.S
@@ -13,7 +13,6 @@
#include "memmodel.h"
-#ifndef MINRT
.section .init,"ax"
call_ #_msp430_run_preinit_array
call_ #_msp430_run_init_array
@@ -29,4 +28,3 @@ __msp430_fini_end:
.text
-#endif
diff --git a/libgloss/msp430/msp430-sim.ld b/libgloss/msp430/msp430-sim.ld
index 01b3f217c..56bc8f80d 100644
--- a/libgloss/msp430/msp430-sim.ld
+++ b/libgloss/msp430/msp430-sim.ld
@@ -1,4 +1,4 @@
-/* Copyright (c) 2013-2014 Red Hat, Inc. All rights reserved.
+/* Copyright (c) 2005,2008,2009,2011,2013 Red Hat, Inc. All rights reserved.
This copyrighted material is made available to anyone wishing to use, modify,
copy, or redistribute it subject to the terms and conditions of the BSD
@@ -8,18 +8,22 @@
is available at http://www.opensource.org/licenses. Any Red Hat trademarks that
are incorporated in the source code or documentation are not subject to the BSD
License and may only be used or replicated with the express permission of
- Red Hat, Inc. */
-
-/* Default linker script, for normal MSP430 executables. */
+ Red Hat, Inc.
+*/
+/* Default linker script, for normal executables */
OUTPUT_ARCH(msp430)
ENTRY(_start)
+/* Do we need any of these for elf?
+ __DYNAMIC = 0; */
+
INCLUDE intr_vectors.ld
MEMORY
{
- RAM (w) : ORIGIN = 0x00200, LENGTH = 0x0ee00
+ RAM (w) : ORIGIN = 0x00200, LENGTH = 0x0ee00
+ RESETVEC (w) : ORIGIN = 0x0fffe, LENGTH = 0x00002
}
SECTIONS
@@ -27,13 +31,11 @@ SECTIONS
.resetvec :
{
*(.resetvec)
- } > VECT31
+ } > RESETVEC
- .rodata :
- {
+ .rodata : {
. = ALIGN(2);
*(.plt)
- *(.lower.rodata.* .lower.rodata)
*(.rodata .rodata.* .gnu.linkonce.r.* .const .const:*)
*(.rodata1)
*(.eh_frame_hdr)
@@ -74,13 +76,15 @@ SECTIONS
KEEP (*(.dtors))
} > RAM
- .text :
+ .text :
{
. = ALIGN(2);
PROVIDE (_start = .);
- KEEP (*(SORT(.crt_*)))
- *(.lowtext)
- *(.lower.text.* .lower.text)
+ KEEP (*(.crt_init))
+ KEEP (*(.crt_bss))
+ KEEP (*(.crt_movedata))
+ KEEP (*(.crt_main))
+ KEEP (*(.lowtext))
*(.text .stub .text.* .gnu.linkonce.t.* .text:*)
KEEP (*(.text.*personality*))
/* .gnu.warning sections are handled specially by elf32.em. */
@@ -95,12 +99,10 @@ SECTIONS
KEEP (*(.tm_clone_table))
} > RAM
- .data :
- {
+ .data : {
. = ALIGN(2);
PROVIDE (__datastart = .);
- *(.lower.data.* .lower.data)
KEEP (*(.jcr))
*(.data.rel.ro.local) *(.data.rel.ro*)
*(.dynamic)
@@ -128,11 +130,9 @@ SECTIONS
PROVIDE(__romdatastart = LOADADDR(.data));
PROVIDE (__romdatacopysize = SIZEOF(.data));
- .bss :
- {
+ .bss : {
. = ALIGN(2);
PROVIDE (__bssstart = .);
- *(.lower.bss.* .lower.bss)
*(.dynbss)
*(.sbss .sbss.*)
*(.bss .bss.* .gnu.linkonce.b.*)
@@ -141,8 +141,7 @@ SECTIONS
PROVIDE (__bsssize = SIZEOF(.bss));
/* This section contains data that is not initialised at startup. */
- .noinit (NOLOAD) :
- {
+ .noinit : {
. = ALIGN(2);
PROVIDE (__noinit_start = .);
*(.noinit)
@@ -150,7 +149,7 @@ SECTIONS
*(COMMON)
PROVIDE (__noinit_end = .);
} > RAM
-
+
_end = .;
PROVIDE (end = .);
@@ -160,16 +159,6 @@ SECTIONS
*(.stack)
}
- /* Make sure that .upper sections are not used without -mlarge support. */
- .upper :
- {
- *(.upper.rodata.* .upper.rodata)
- *(.upper.data.* .upper.data)
- *(.upper.bss.* .upper.bss)
- *(.upper.text.* .upper.text)
- ASSERT (SIZEOF(.upper) == 0, ".upper sections present in a binary linked without -mlarge support");
- }
-
/* The rest are all not normally part of the runtime image. */
.MP430.attributes 0 :
@@ -190,13 +179,13 @@ SECTIONS
/* DWARF debug sections.
Symbols in the DWARF debugging sections are relative to the beginning
of the section so we begin them at 0. */
- /* DWARF 1. */
+ /* DWARF 1 */
.debug 0 : { *(.debug) }
.line 0 : { *(.line) }
- /* GNU DWARF 1 extensions. */
+ /* GNU DWARF 1 extensions */
.debug_srcinfo 0 : { *(.debug_srcinfo) }
.debug_sfnames 0 : { *(.debug_sfnames) }
- /* DWARF 1.1 and DWARF 2. */
+ /* DWARF 1.1 and DWARF 2 */
.debug_aranges 0 : { *(.debug_aranges) }
.debug_pubnames 0 : { *(.debug_pubnames) }
/* DWARF 2 */
@@ -207,12 +196,12 @@ SECTIONS
.debug_str 0 : { *(.debug_str) }
.debug_loc 0 : { *(.debug_loc) }
.debug_macinfo 0 : { *(.debug_macinfo) }
- /* SGI/MIPS DWARF 2 extensions. */
+ /* SGI/MIPS DWARF 2 extensions */
.debug_weaknames 0 : { *(.debug_weaknames) }
.debug_funcnames 0 : { *(.debug_funcnames) }
.debug_typenames 0 : { *(.debug_typenames) }
.debug_varnames 0 : { *(.debug_varnames) }
- /* DWARF 3. */
+ /* DWARF 3 */
.debug_pubtypes 0 : { *(.debug_pubtypes) }
.debug_ranges 0 : { *(.debug_ranges) }
/* DWARF Extension. */
diff --git a/libgloss/msp430/msp430.ld b/libgloss/msp430/msp430.ld
index 022018600..4c5ebac24 100644
--- a/libgloss/msp430/msp430.ld
+++ b/libgloss/msp430/msp430.ld
@@ -79,8 +79,12 @@ SECTIONS
{
. = ALIGN(2);
PROVIDE (_start = .);
- KEEP (*(SORT(.crt_*)))
- *(.lowtext .text .stub .text.* .gnu.linkonce.t.* .text:*)
+ KEEP (*(.crt_init))
+ KEEP (*(.crt_bss))
+ KEEP (*(.crt_movedata))
+ KEEP (*(.crt_main))
+ KEEP (*(.lowtext))
+ *(.text .stub .text.* .gnu.linkonce.t.* .text:*)
KEEP (*(.text.*personality*))
/* .gnu.warning sections are handled specially by elf32.em. */
*(.gnu.warning)
diff --git a/libgloss/msp430/msp430xl-sim.ld b/libgloss/msp430/msp430xl-sim.ld
index 31ff85a70..322a490f4 100644
--- a/libgloss/msp430/msp430xl-sim.ld
+++ b/libgloss/msp430/msp430xl-sim.ld
@@ -1,4 +1,4 @@
-/* Copyright (c) 2013-2014 Red Hat, Inc. All rights reserved.
+/* Copyright (c) 2013 Red Hat, Inc. All rights reserved.
This copyrighted material is made available to anyone wishing to use, modify,
copy, or redistribute it subject to the terms and conditions of the BSD
@@ -8,20 +8,24 @@
is available at http://www.opensource.org/licenses. Any Red Hat trademarks that
are incorporated in the source code or documentation are not subject to the BSD
License and may only be used or replicated with the express permission of
- Red Hat, Inc. */
+ Red Hat, Inc.
-/* Default linker script, for large MSP430X executables. */
+*/
+/* Default linker script, for normal executables */
OUTPUT_ARCH(msp430)
ENTRY(_start)
+/* Do we need any of these for elf?
+ __DYNAMIC = 0; */
+
INCLUDE intr_vectors.ld
-MEMORY
-{
- RAM (w) : ORIGIN = 0x00200, LENGTH = 0x01e00
- ROM (rx) : ORIGIN = 0x02000, LENGTH = 0x0df00
- HIFRAM (rxw) : ORIGIN = 0x10000, LENGTH = 0x80000
+MEMORY {
+ RAM (rx) : ORIGIN = 0x00200, LENGTH = 0x0ee00
+ LOWROM (w) : ORIGIN = 0x0f000, LENGTH = 0x00800
+ ROM (w) : ORIGIN = 0x10000, LENGTH = 0x80000
+ RESETVEC (w) : ORIGIN = 0x0fffe, LENGTH = 0x00002
}
SECTIONS
@@ -29,22 +33,13 @@ SECTIONS
.resetvec :
{
*(.resetvec)
- } > VECT31
+ } > RESETVEC
- .upper.rodata :
- {
- . = ALIGN(2);
- *(.upper.rodata.* .upper.rodata)
- } > HIFRAM
-
- .rodata :
- {
+ .rodata : {
. = ALIGN(2);
*(.plt)
- *(.lower.rodata.* .lower.rodata)
*(.rodata .rodata.* .gnu.linkonce.r.* .const .const:*)
*(.rodata1)
-
*(.eh_frame_hdr)
KEEP (*(.eh_frame))
KEEP (*(.gcc_except_table)) *(.gcc_except_table.*)
@@ -83,19 +78,10 @@ SECTIONS
KEEP (*(.dtors))
} > ROM
- .upper.data :
- {
- . = ALIGN(2);
- *(.upper.data.* .upper.data)
- } > HIFRAM
-
- .data :
- {
+ .data : {
. = ALIGN(2);
PROVIDE (__datastart = .);
- *(.lower.data.* .lower.data)
- . = ALIGN(2);
KEEP (*(.jcr))
*(.data.rel.ro.local) *(.data.rel.ro*)
*(.dynamic)
@@ -113,30 +99,19 @@ SECTIONS
*(.sdata .sdata.* .gnu.linkonce.s.* D_2 D_1)
. = ALIGN(2);
-
_edata = .;
PROVIDE (edata = .);
PROVIDE (__dataend = .);
- } > RAM
+ } > RAM AT>ROM
/* Note that crt0 assumes this is a multiple of two; all the
start/stop symbols are also assumed word-aligned. */
PROVIDE(__romdatastart = LOADADDR(.data));
PROVIDE (__romdatacopysize = SIZEOF(.data));
- .upper.bss :
- {
- . = ALIGN(2);
- PROVIDE (__high_bssstart = .);
- *(.upper.bss.* .upper.bss)
- PROVIDE (__high_bssend = .);
- } > HIFRAM
-
- .bss :
- {
+ .bss : {
. = ALIGN(2);
PROVIDE (__bssstart = .);
- *(.lower.bss.* .lower.bss)
*(.dynbss)
*(.sbss .sbss.*)
*(.bss .bss.* .gnu.linkonce.b.*)
@@ -146,8 +121,7 @@ SECTIONS
PROVIDE (__bsssize = SIZEOF(.bss));
/* This section contains data that is not initialised at startup. */
- .noinit (NOLOAD) :
- {
+ .noinit : {
. = ALIGN(2);
PROVIDE (__noinit_start = .);
*(.noinit)
@@ -159,34 +133,28 @@ SECTIONS
_end = .;
PROVIDE (end = .);
- .stack (ORIGIN (HIFRAM) + LENGTH(HIFRAM)) :
+ .stack (ORIGIN (RAM) + LENGTH(RAM)) :
{
PROVIDE (__stack = .);
*(.stack)
}
- /* This is just for crt0.S and interrupt handlers. */
- .lowtext :
+ /* This is just for crt0.S */
+ .lowtext :
{
PROVIDE (_start = .);
. = ALIGN(2);
- KEEP (*(SORT(.crt_*)))
+ KEEP (*(.crt_init))
+ KEEP (*(.crt_bss))
+ KEEP (*(.crt_movedata))
+ KEEP (*(.crt_main))
KEEP (*(.lowtext))
- } > ROM
-
- .upper.text :
- {
- . = ALIGN(2);
- *(.upper.text.* .upper.text)
- } > HIFRAM
+ } > LOWROM
- .text :
+ .text :
{
. = ALIGN(2);
- *(.lower.text.* .lower.text)
- . = ALIGN(2);
*(.text .stub .text.* .gnu.linkonce.t.* .text:*)
-
KEEP (*(.text.*personality*))
/* .gnu.warning sections are handled specially by elf32.em. */
*(.gnu.warning)
@@ -220,16 +188,16 @@ SECTIONS
/* DWARF debug sections.
Symbols in the DWARF debugging sections are relative to the beginning
of the section so we begin them at 0. */
- /* DWARF 1. */
+ /* DWARF 1 */
.debug 0 : { *(.debug) }
.line 0 : { *(.line) }
- /* GNU DWARF 1 extensions. */
+ /* GNU DWARF 1 extensions */
.debug_srcinfo 0 : { *(.debug_srcinfo) }
.debug_sfnames 0 : { *(.debug_sfnames) }
- /* DWARF 1.1 and DWARF 2. */
+ /* DWARF 1.1 and DWARF 2 */
.debug_aranges 0 : { *(.debug_aranges) }
.debug_pubnames 0 : { *(.debug_pubnames) }
- /* DWARF 2. */
+ /* DWARF 2 */
.debug_info 0 : { *(.debug_info .gnu.linkonce.wi.*) }
.debug_abbrev 0 : { *(.debug_abbrev) }
.debug_line 0 : { *(.debug_line .debug_line.* .debug_line_end ) }
@@ -237,7 +205,7 @@ SECTIONS
.debug_str 0 : { *(.debug_str) }
.debug_loc 0 : { *(.debug_loc) }
.debug_macinfo 0 : { *(.debug_macinfo) }
- /* SGI/MIPS DWARF 2 extensions. */
+ /* SGI/MIPS DWARF 2 extensions */
.debug_weaknames 0 : { *(.debug_weaknames) }
.debug_funcnames 0 : { *(.debug_funcnames) }
.debug_typenames 0 : { *(.debug_typenames) }
diff --git a/libgloss/msp430/ciosyscalls.S b/libgloss/msp430/nosyscalls.S
index abb01b03e..abb01b03e 100644
--- a/libgloss/msp430/ciosyscalls.S
+++ b/libgloss/msp430/nosyscalls.S
diff --git a/libgloss/msp430/unlink.c b/libgloss/msp430/unlink.c
deleted file mode 100644
index 1c8c6f233..000000000
--- a/libgloss/msp430/unlink.c
+++ /dev/null
@@ -1,25 +0,0 @@
-#include <string.h>
-
-#include "cio.h"
-
-signed int
-unlink (const char * name)
-{
- unsigned len = strlen (name);
-
- if (len >= CIO_BUF_SIZE)
- return -1;
-
- __CIOBUF__.length[0] = len;
- __CIOBUF__.length[1] = len >> 8;
- __CIOBUF__.parms[0] = CIO_UNLINK;
- __CIOBUF__.parms[1] = len;
- __CIOBUF__.parms[2] = len >> 8;
- memcpy (__CIOBUF__.buf, name, len);
-
- _libgloss_cio_hook ();
-
- return __CIOBUF__.parms[0] + __CIOBUF__.parms[1] * 256;
-}
-
-
diff --git a/libgloss/nds32/Makefile.in b/libgloss/nds32/Makefile.in
index 99ccae814..6345957a5 100644
--- a/libgloss/nds32/Makefile.in
+++ b/libgloss/nds32/Makefile.in
@@ -68,11 +68,11 @@ CRT1 = crt1.o
-SYSCALLS1 = _exit.o _open.o _close.o _read.o _write.o
-SYSCALLS2 = _lseek.o _unlink.o _getpid.o _kill.o _fstat.o
-SYSCALLS3 = _argvlen.o _argv.o _chdir.o _stat.o _chmod.o
-SYSCALLS4 = _utime.o _time.o _gettimeofday.o _times.o _link.o
-SYSCALLS5 = _rename.o _isatty.o _system.o _sbrk.o syscall_error_handler.o
+SYSCALLS1 = syscall_exit.o syscall_open.o syscall_close.o syscall_read.o syscall_write.o
+SYSCALLS2 = syscall_lseek.o syscall_unlink.o syscall_getpid.o syscall_kill.o syscall_fstat.o
+SYSCALLS3 = syscall_argvlen.o syscall_argv.o syscall_chdir.o syscall_stat.o syscall_chmod.o
+SYSCALLS4 = syscall_utime.o syscall_time.o syscall_gettimeofday.o syscall_times.o syscall_link.o
+SYSCALLS5 = syscall_rename.o syscall_isatty.o syscall_system.o syscall_sbrk.o
SYSCALLS = $(SYSCALLS1) $(SYSCALLS2) $(SYSCALLS3) $(SYSCALLS4) $(SYSCALLS5)
GENERIC_LIBOBJS =
@@ -119,28 +119,27 @@ config.status: configure
# to support SunOS VPATH
crt0.o: crt0.S
crt1.o: crt1.S
-_exit.o: _exit.S
-_open.o: _open.S
-_close.o: _close.S
-_read.o: _read.S
-_write.o: _write.S
-_lseek.o: _lseek.S
-_unlink.o: _unlink.S
-_getpid.o: _getpid.S
-_kill.o: _kill.S
-_fstat.o: _fstat.S
-_argvlen.o: _argvlen.S
-_argv.o: _argv.S
-_chdir.o: _chdir.S
-_stat.o: _stat.S
-_chmod.o: _chmod.S
-_utime.o: _utime.S
-_time.o: _time.S
-_gettimeofday.o: _gettimeofday.S
-_times.o: _times.S
-_link.o: _link.S
-_rename.o: _rename.S
-_isatty.o: _isatty.S
-_system.o: _system.S
-_sbrk.o: _sbrk.S
-syscall_error_handler.o: syscall_error_handler.S
+syscall_exit.o: syscall_exit.S
+syscall_open.o: syscall_open.S
+syscall_close.o: syscall_close.S
+syscall_read.o: syscall_read.S
+syscall_write.o: syscall_write.S
+syscall_lseek.o: syscall_lseek.S
+syscall_unlink.o: syscall_unlink.S
+syscall_getpid.o: syscall_getpid.S
+syscall_kill.o: syscall_kill.S
+syscall_fstat.o: syscall_fstat.S
+syscall_argvlen.o: syscall_argvlen.S
+syscall_argv.o: syscall_argv.S
+syscall_chdir.o: syscall_chdir.S
+syscall_stat.o: syscall_stat.S
+syscall_chmod.o: syscall_chmod.S
+syscall_utime.o: syscall_utime.S
+syscall_time.o: syscall_time.S
+syscall_gettimeofday.o: syscall_gettimeofday.S
+syscall_times.o: syscall_times.S
+syscall_link.o: syscall_link.S
+syscall_rename.o: syscall_rename.S
+syscall_isatty.o: syscall_isatty.S
+syscall_system.o: syscall_system.S
+syscall_sbrk.o: syscall_sbrk.S
diff --git a/libgloss/nds32/_argvlen.S b/libgloss/nds32/_argvlen.S
deleted file mode 100644
index 32401d38f..000000000
--- a/libgloss/nds32/_argvlen.S
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
-Copyright (c) 2013 Andes Technology Corporation.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- 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.
-
- The name of the company may not be used to endorse or promote
- products derived from this software without specific prior written
- permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 RED HAT INCORPORATED 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.
-*/
-#ifndef __NDS32_VH__
-
-#include "../syscall.h"
-#include "syscall_extra.h"
-SYS_WRAPPER _argvlen, SYS_argvlen
-
-#endif /* not __NDS32_VH__ */
diff --git a/libgloss/nds32/_chdir.S b/libgloss/nds32/_chdir.S
deleted file mode 100644
index bb6b32435..000000000
--- a/libgloss/nds32/_chdir.S
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
-Copyright (c) 2013 Andes Technology Corporation.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- 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.
-
- The name of the company may not be used to endorse or promote
- products derived from this software without specific prior written
- permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 RED HAT INCORPORATED 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.
-*/
-#ifndef __NDS32_VH__
-
-#include "../syscall.h"
-#include "syscall_extra.h"
-SYS_WRAPPER _chdir, SYS_chdir
-
-#endif /* not __NDS32_VH__ */
diff --git a/libgloss/nds32/_exit.S b/libgloss/nds32/_exit.S
deleted file mode 100644
index 1a73fa20a..000000000
--- a/libgloss/nds32/_exit.S
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
-Copyright (c) 2013 Andes Technology Corporation.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- 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.
-
- The name of the company may not be used to endorse or promote
- products derived from this software without specific prior written
- permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 RED HAT INCORPORATED 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 "vh.h"
-#include "../syscall.h"
- .text
- .global _exit
- .type _exit, @function
- .align 2
-_exit:
-#ifdef __NDS32_VH__
- BREAK VH_EXIT /* Generate_Exception(Breakpoint); */
-#else
- syscall SYS_exit /* Make syscall 'SYS_exit'. */
-#endif
-.L_infinite_loop:
- b .L_infinite_loop
- .size _exit, .-_exit
diff --git a/libgloss/nds32/_isatty.S b/libgloss/nds32/_isatty.S
deleted file mode 100644
index 37776ed7d..000000000
--- a/libgloss/nds32/_isatty.S
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
-Copyright (c) 2013 Andes Technology Corporation.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- 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.
-
- The name of the company may not be used to endorse or promote
- products derived from this software without specific prior written
- permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 RED HAT INCORPORATED 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.
-*/
-/*
- SYNOPSIS
- #include <unistd.h>
- int isatty(int fildes);
- RETURN VALUE
- The isatty() function shall return 1 if fildes is associated with
- a terminal; otherwise, it shall return 0 and may set errno
- to indicate the error.
-*/
-#ifdef __NDS32_VH__
-
-#include "vh.h"
-.extern _impure_ptr
-TYPE0 _isatty, VH_ISATTY
-
-#else /* not __NDS32_VH__ */
-
-#include "../syscall.h"
-#include "syscall_extra.h"
- .text
- .global _isatty
- .type _isatty, @function
- .align 2
-_isatty:
- syscall SYS_isatty /* Make syscall with SWID=`SYS_isatty'.
- Reture value `0' stored in $r0 means
- there is something wrong. */
- bnez $r0, 1f /* Branch if success. */
- syscall SYS_geterr /* There is something wrong. */
- l.w $r15, _impure_ptr
- swi $r0, [$r15] /* Set errno. */
- move $r0, #0
-1:
- ret
- .size _isatty, .-_isatty
-
-#endif /* not __NDS32_VH__ */
diff --git a/libgloss/nds32/_kill.S b/libgloss/nds32/_kill.S
deleted file mode 100644
index bb8c6ebd3..000000000
--- a/libgloss/nds32/_kill.S
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
-Copyright (c) 2013 Andes Technology Corporation.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- 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.
-
- The name of the company may not be used to endorse or promote
- products derived from this software without specific prior written
- permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 RED HAT INCORPORATED 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.
-*/
-/* Upon successful completion, 0 shall be returned. Otherwise,
- -1 shall be returned and errno set to indicate the error. */
- .extern _impure_ptr /* The first element is _errno. */
- .text
- .global _kill
- .type _kill, @function
- .align 2
-_kill:
- /* A minimal implementation has no concept of either signals,
- nor of processes to receive those signals. So this function
- should always fail with an appropriate value in errno. */
- movi $r0, #22 /* EINVAL: Invalid argument */
- l.w $r15, _impure_ptr
- swi $r0, [$r15]
- movi $r0, -1 /* Set return value to -1. */
- ret
- .size _kill, .-_kill
diff --git a/libgloss/nds32/_link.S b/libgloss/nds32/_link.S
deleted file mode 100644
index 7f6b7f0fa..000000000
--- a/libgloss/nds32/_link.S
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
-Copyright (c) 2013 Andes Technology Corporation.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- 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.
-
- The name of the company may not be used to endorse or promote
- products derived from this software without specific prior written
- permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 RED HAT INCORPORATED 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.
-*/
-/* Upon successful completion, 0 shall be returned. Otherwise,
- -1 shall be returned and errno set to indicate the error. */
- .extern _impure_ptr /* The first element is _errno. */
- .text
- .global _link
- .type _link, @function
- .align 2
-_link:
- /* A minimal implementation has no file system, so this function
- must always fail, with an appropriate value set in errno. */
- movi $r0, #31 /* EMLINK: Too many links */
- l.w $r15, _impure_ptr
- swi $r0, [$r15]
- movi $r0, -1 /* Set return value to -1. */
- ret
- .size _link, .-_link
diff --git a/libgloss/nds32/_lseek.S b/libgloss/nds32/_lseek.S
deleted file mode 100644
index c17e22f8f..000000000
--- a/libgloss/nds32/_lseek.S
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
-Copyright (c) 2013 Andes Technology Corporation.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- 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.
-
- The name of the company may not be used to endorse or promote
- products derived from this software without specific prior written
- permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 RED HAT INCORPORATED 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.
-*/
-#ifdef __NDS32_VH__
-
-#include "vh.h"
-.extern _impure_ptr
-TYPE1 _lseek, VH_LSEEK
-
-#else /* not __NDS32_VH__ */
-
-#include "../syscall.h"
-#include "syscall_extra.h"
-SYS_WRAPPER _lseek, SYS_lseek
-
-#endif /* not __NDS32_VH__ */
diff --git a/libgloss/nds32/_open.S b/libgloss/nds32/_open.S
deleted file mode 100644
index 6c80ab043..000000000
--- a/libgloss/nds32/_open.S
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
-Copyright (c) 2013 Andes Technology Corporation.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- 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.
-
- The name of the company may not be used to endorse or promote
- products derived from this software without specific prior written
- permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 RED HAT INCORPORATED 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.
-*/
-#ifdef __NDS32_VH__
-
-#include "vh.h"
-.extern _impure_ptr
-TYPE1 _open, VH_OPEN
-
-#else /* not __NDS32_VH__ */
-
-#include "../syscall.h"
-#include "syscall_extra.h"
-SYS_WRAPPER _open, SYS_open
-
-#endif /* not __NDS32_VH__ */
diff --git a/libgloss/nds32/_read.S b/libgloss/nds32/_read.S
deleted file mode 100644
index ca0c8af3c..000000000
--- a/libgloss/nds32/_read.S
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
-Copyright (c) 2013 Andes Technology Corporation.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- 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.
-
- The name of the company may not be used to endorse or promote
- products derived from this software without specific prior written
- permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 RED HAT INCORPORATED 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.
-*/
-#ifdef __NDS32_VH__
-
-#include "vh.h"
-.extern _impure_ptr
-TYPE1 _read, VH_READ
-
-#else /* not __NDS32_VH__ */
-
-#include "../syscall.h"
-#include "syscall_extra.h"
-SYS_WRAPPER _read, SYS_read
-
-#endif /* not __NDS32_VH__ */
diff --git a/libgloss/nds32/_rename.S b/libgloss/nds32/_rename.S
deleted file mode 100644
index f91c1f60f..000000000
--- a/libgloss/nds32/_rename.S
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
-Copyright (c) 2013 Andes Technology Corporation.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- 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.
-
- The name of the company may not be used to endorse or promote
- products derived from this software without specific prior written
- permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 RED HAT INCORPORATED 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.
-*/
-#ifdef __NDS32_VH__
-
-#include "vh.h"
-.extern _impure_ptr
-TYPE1 _rename, VH_RENAME
-
-#else /* not __NDS32_VH__ */
-
-#include "../syscall.h"
-#include "syscall_extra.h"
-SYS_WRAPPER _rename, SYS_rename
-
-#endif /* not __NDS32_VH__ */
diff --git a/libgloss/nds32/_stat.S b/libgloss/nds32/_stat.S
deleted file mode 100644
index 9bb23cea6..000000000
--- a/libgloss/nds32/_stat.S
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
-Copyright (c) 2013 Andes Technology Corporation.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- 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.
-
- The name of the company may not be used to endorse or promote
- products derived from this software without specific prior written
- permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 RED HAT INCORPORATED 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.
-*/
-#ifdef __NDS32_VH__
-
-#include "vh.h"
-.extern _impure_ptr
-TYPE1 _stat, VH_STAT
-
-#else /* not __NDS32_VH__ */
-
-#include "../syscall.h"
-#include "syscall_extra.h"
-SYS_WRAPPER _stat, SYS_stat
-
-#endif /* not __NDS32_VH__ */
diff --git a/libgloss/nds32/_system.S b/libgloss/nds32/_system.S
deleted file mode 100644
index bbd6a785d..000000000
--- a/libgloss/nds32/_system.S
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
-Copyright (c) 2013 Andes Technology Corporation.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- 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.
-
- The name of the company may not be used to endorse or promote
- products derived from this software without specific prior written
- permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 RED HAT INCORPORATED 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.
-*/
-#ifdef __NDS32_VH__
-
-#include "vh.h"
-.extern _impure_ptr
-TYPE1 _system, VH_SYSTEM
-
-#else /* not __NDS32_VH__ */
-
-#include "../syscall.h"
-#include "syscall_extra.h"
-SYS_WRAPPER _system, SYS_system
-
-#endif /* not __NDS32_VH__ */
diff --git a/libgloss/nds32/_time.S b/libgloss/nds32/_time.S
deleted file mode 100644
index 43c7ababa..000000000
--- a/libgloss/nds32/_time.S
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
-Copyright (c) 2013 Andes Technology Corporation.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- 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.
-
- The name of the company may not be used to endorse or promote
- products derived from this software without specific prior written
- permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 RED HAT INCORPORATED 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.
-*/
-#ifndef __NDS32_VH__
-
-#include "../syscall.h"
-#include "syscall_extra.h"
-SYS_WRAPPER _time, SYS_time
-
-#endif /* not __NDS32_VH__ */
diff --git a/libgloss/nds32/_times.S b/libgloss/nds32/_times.S
deleted file mode 100644
index 3343f315b..000000000
--- a/libgloss/nds32/_times.S
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
-Copyright (c) 2013 Andes Technology Corporation.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- 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.
-
- The name of the company may not be used to endorse or promote
- products derived from this software without specific prior written
- permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 RED HAT INCORPORATED 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.
-*/
-/* If times() fails, (clock_t)-1 shall be returned and errno set
- to indicate the error. */
- .extern _impure_ptr /* The first element is _errno. */
- .text
- .global _times
- .type _times, @function
- .align 2
-_times:
- /* A minimal implementation need not offer any timing information,
- so should always fail with an appropriate value in errno. */
- movi $r0, #13 /* EACCES: Permission denied */
- l.w $r15, _impure_ptr
- swi $r0, [$r15]
- movi $r0, -1 /* Set return value to -1. */
- ret
- .size _times, .-_times
diff --git a/libgloss/nds32/_unlink.S b/libgloss/nds32/_unlink.S
deleted file mode 100644
index bb5989c3f..000000000
--- a/libgloss/nds32/_unlink.S
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
-Copyright (c) 2013 Andes Technology Corporation.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- 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.
-
- The name of the company may not be used to endorse or promote
- products derived from this software without specific prior written
- permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 RED HAT INCORPORATED 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.
-*/
-
-#ifdef __NDS32_VH__
-
-#include "vh.h"
-.extern _impure_ptr
-TYPE1 _unlink, VH_UNLINK
-
-#else /* not __NDS32_VH__ */
-
-#include "../syscall.h"
-#include "syscall_extra.h"
-SYS_WRAPPER _unlink, SYS_unlink
-
-#endif /* not __NDS32_VH__ */
diff --git a/libgloss/nds32/_utime.S b/libgloss/nds32/_utime.S
deleted file mode 100644
index 014aa1aaa..000000000
--- a/libgloss/nds32/_utime.S
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
-Copyright (c) 2013 Andes Technology Corporation.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- 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.
-
- The name of the company may not be used to endorse or promote
- products derived from this software without specific prior written
- permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 RED HAT INCORPORATED 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.
-*/
-#ifndef __NDS32_VH__
-
-#include "../syscall.h"
-#include "syscall_extra.h"
-SYS_WRAPPER _utime, SYS_utime
-
-#endif /* not __NDS32_VH__ */
diff --git a/libgloss/nds32/_write.S b/libgloss/nds32/_write.S
deleted file mode 100644
index f0d8651ca..000000000
--- a/libgloss/nds32/_write.S
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
-Copyright (c) 2013 Andes Technology Corporation.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- 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.
-
- The name of the company may not be used to endorse or promote
- products derived from this software without specific prior written
- permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 RED HAT INCORPORATED 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.
-*/
-#ifdef __NDS32_VH__
-
-#include "vh.h"
-.extern _impure_ptr
-TYPE1 _write, VH_WRITE
-
-#else /* not __NDS32_VH__ */
-
-#include "../syscall.h"
-#include "syscall_extra.h"
-SYS_WRAPPER _write, SYS_write
-
-#endif /* not __NDS32_VH__ */
diff --git a/libgloss/nds32/crt0.S b/libgloss/nds32/crt0.S
index 68a6f76d4..d12be761f 100644
--- a/libgloss/nds32/crt0.S
+++ b/libgloss/nds32/crt0.S
@@ -1,5 +1,5 @@
/*
-Copyright (c) 2013-2014 Andes Technology Corporation.
+Copyright (c) 2013 Andes Technology Corporation.
All rights reserved.
Redistribution and use in source and binary forms, with or without
@@ -36,7 +36,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
##==============================================================================
-#include "syscall_extra.h"
##------------------------------------------------------------------------------
## Vector table setup
@@ -49,131 +48,54 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##------------------------------------------------------------------------------
.section .text
.weak _SDA_BASE_
- .weak _ITB_BASE_
- .weak _arg_init
- .weak __pre_c_init
- .weak __post_c_init
- .weak _call_exit
+ .weak _FP_BASE_
.global _start
.type _start, @function
.align 2
_start:
- /* The initialization sequence really does matter !!!
- The global pointer must be
- initialized precedence over all others. */
-
-.L_init_gp:
- /* Initialization for global pointer. The symbol _SDA_BASE_ is
- determined by Linker. SDA stands for Small Data Access. */
+.L_fp_gp_lp_init:
+ /* Initialization for $fp, $gp, and $lp. The _SDA_BASE_ location
+ stands for Small Data Access. */
+ la $fp, _FP_BASE_
la $gp, _SDA_BASE_
+ movi $lp, #0
-#if __NDS32_EXT_EX9__
-.L_init_itb:
- /* Initialization for Instruction Table Base (ITB).
- The symbol _ITB_BASE_ is determined by Linker.
- Set $ITB only if MSC_CFG.EIT (cr4.b'24) is set. */
- mfsr $r0, $MSC_CFG
- srli $r0, $r0, 24
- andi $r0, $r0, 0x1
- beqz $r0, 1f /* Fall through ? */
- la $r0, _ITB_BASE_
- mtusr $r0, $ITB
-1:
-#endif
-
-.L_init_sp:
- /* Initialization for stack pointer. The symbol _stack is defined
- in linker script. Make sure $sp is 8-byte aligned. */
+.L_stack_init:
+ /* Initialization for $sp and make sure it is 8-byte aligned. */
la $sp, _stack
-#if __NDS32_ISA_V3__
- bitci $sp, $sp, #7
-#else
movi $r0, #-8 /* Set $r0 as 0xFFFFFFF8. */
and $sp, $sp, $r0
-#endif
-
-#if __NDS32_EXT_FPU_SP__ || __NDS32_EXT_FPU_DP__
-.L_init_fpu:
- /* Initialize FPU
- Set FUCOP_CTL.CP0EN (fucpr.b'0). */
- mfsr $r0, $FUCOP_CTL
- ori $r0, $r0, 0x1
- mtsr $r0, $FUCOP_CTL
- dsb
- /* According to [bugzilla #9425], set flush-to-zero mode.
- That is, set $FPCSR.DNZ(b'12) = 1. */
- FMFCSR $r0
- ori $r0, $r0, 0x1000
- FMTCSR $r0
- dsb
-#endif
-
-.L_pre_c_init:
- ! call __pre_c_init if provided
- ! sample __pre_c_init is in BSP
- la $r15, __pre_c_init ! load address of __pre_c_init
- beqz $r15, .L_zero_out_bss ! check existence of __pre_c_init
- jral $r15 ! pre-c-runtime initialization
-
-.L_zero_out_bss:
- /* Zero out the bss section.
- Equivalence C code for follow part:
- if (_end == _edata) goto .L_post_c_init
- unsinged int *ptr = _edata;
- while (ptr != _end)
- *ptr++ = 0
- $r0 = ptr/_edata
- $r1 = _end
- $r2 = 0
- */
- la $r0, _edata
- la $r1, _end
- movi $r2, #0
- beq $r0, $r1, .L_post_c_init /* Branch if no bss. */
+
+.L_bss_clear:
+ /* Clear bss section. */
+ la $r3, _end
+ la $r0, _edata
+ beq $r0, $r3, .L_call_main /* Branch if no bss. */
+ sub $r1, $r3, $r0 /* Size to be clear. */
+
+ /* Set $r2 as how many words to be clear.
+ Set $r1 as how many bytes are less than a woard to be clear. */
+ srli $r2, $r1, #2
+ andi $r1, $r1, #3
+ beqz $r3, .Lbyte_clear
+
+ la $r4, #0x00000000
.Lword_clear:
- swi.bi $r2, [$r0], #4
- bne $r0, $r1, .Lword_clear
-
-.L_post_c_init:
- ! call __post_c_init if provided
- ! no sample __post_c_init is provided
- la $r15, __post_c_init ! load address of __post_c_init
- beqz $r15, .L_arg_init ! check existence of __post_c_init
- jral $r15 ! post-c-runtime initialization
-
-.L_arg_init:
- ! argc/argv initialization if necessary
- la $r7, _arg_init ! get address of _arg_init
- beqz $r7, .L_clean_reg ! if there isn't _arg_init, go main
- addi $sp, $sp, -512 ! allocate space for command line
- ! and arguments
- move $r6, $sp ! r6 = buffer addr of cmd line
- move $r0, $r6 ! r0 = buffer addr of cmd line
- syscall SYS_getcmdline ! get cmd line
- move $r0, $r6 ! r0 = buffer addr of cmd line
- addi $r1, $r6, 256 ! r1 = argv
- jral $r7 ! init argc/argv
- addi $r1, $r6, 256 ! r1 = argv
- b .L_call_main
-
-.L_clean_reg:
- /* Prepare argc/argv/env for main function.
- Since there is no operating system so far,
- we set $r0, $r1, and $r2 to be zero.
- Note: $r2 already set to zero in .L_zero_out_bss: code fragment. */
- movi $r0, 0
- movi $r1, 0
- movi $r2, 0
+ swi.bi $r4, [$r0], #4
+ addi $r2, $r2, #-1
+ bnez $r2, .Lword_clear /* Loop again ? */
+ beqz $r1, .Lend_bss
+
+.Lbyte_clear:
+ sbi.bi $r4, [$r0], #1
+ addi $r1, $r1, #-1
+ bnez $r1, .Lbyte_clear
+.Lend_bss:
-.L_call_main:
- /* Call 'main'. */
- bal main
- /* Call _call_exit. */
- ! call _call_exit if necessary; default implementation is in crtexit.c
- la $r15, _call_exit ! load address of _call_exit
- beqz $r15, .L_terminate_program ! no _call_exit? go exit
- jral $r15 ! _call_exit will never return
+.L_call_main:
+ la $r15, main
+ jral $r15
.L_terminate_program:
/* There are two ways to terminate program:
@@ -184,10 +106,11 @@ _start:
Currently, we use option 2 as a solution to follow C99 5.1.2.2.3,
but aware that general exit() will do some cleanup procedures
which may result in large-memory-footprints. */
- bal exit
+ la $r15, exit
+ jral $r15
.L_forever_loop:
/* Should never return here. */
- b .L_forever_loop
+ b .L_forever_loop
.size _start, .-_start
diff --git a/libgloss/nds32/crt1.S b/libgloss/nds32/crt1.S
index ec8b86683..26aef5b51 100644
--- a/libgloss/nds32/crt1.S
+++ b/libgloss/nds32/crt1.S
@@ -1,5 +1,5 @@
/*
-Copyright (c) 2013-2014 Andes Technology Corporation.
+Copyright (c) 2013 Andes Technology Corporation.
All rights reserved.
Redistribution and use in source and binary forms, with or without
@@ -36,7 +36,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##
##==============================================================================
-#include "syscall_extra.h"
##------------------------------------------------------------------------------
## Vector table setup
@@ -49,139 +48,61 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
##------------------------------------------------------------------------------
.section .text
.weak _SDA_BASE_
- .weak _ITB_BASE_
- .weak _arg_init
- .weak __pre_c_init
- .weak __post_c_init
- .weak _call_exit
+ .weak _FP_BASE_
.global _start
.type _start, @function
.align 2
_start:
- /* The initialization sequence really does matter !!!
- The global pointer must be
- initialized precedence over all others. */
-
-.L_init_gp:
- /* Initialization for global pointer. The symbol _SDA_BASE_ is
- determined by Linker. SDA stands for Small Data Access. */
+.L_fp_gp_lp_init:
+ /* Initialization for $fp, $gp, and $lp. The _SDA_BASE_ location
+ stands for Small Data Access. */
+ la $fp, _FP_BASE_
la $gp, _SDA_BASE_
+ movi $lp, #0
-#if __NDS32_EXT_EX9__
-.L_init_itb:
- /* Initialization for Instruction Table Base (ITB).
- The symbol _ITB_BASE_ is determined by Linker.
- Set $ITB only if MSC_CFG.EIT (cr4.b'24) is set. */
- mfsr $r0, $MSC_CFG
- srli $r0, $r0, 24
- andi $r0, $r0, 0x1
- beqz $r0, 1f /* Fall through ? */
- la $r0, _ITB_BASE_
- mtusr $r0, $ITB
-1:
-#endif
-
-.L_init_sp:
- /* Initialization for stack pointer. The symbol _stack is defined
- in linker script. Make sure $sp is 8-byte aligned. */
+.L_stack_init:
+ /* Initialization for $sp and make sure it is 8-byte aligned. */
la $sp, _stack
-#if __NDS32_ISA_V3__
- bitci $sp, $sp, #7
-#else
movi $r0, #-8 /* Set $r0 as 0xFFFFFFF8. */
and $sp, $sp, $r0
-#endif
-
-#if __NDS32_EXT_FPU_SP__ || __NDS32_EXT_FPU_DP__
-.L_init_fpu:
- /* Initialize FPU
- Set FUCOP_CTL.CP0EN (fucpr.b'0). */
- mfsr $r0, $FUCOP_CTL
- ori $r0, $r0, 0x1
- mtsr $r0, $FUCOP_CTL
- dsb
- /* According to [bugzilla #9425], set flush-to-zero mode.
- That is, set $FPCSR.DNZ(b'12) = 1. */
- FMFCSR $r0
- ori $r0, $r0, 0x1000
- FMTCSR $r0
- dsb
-#endif
-
-.L_pre_c_init:
- ! call __pre_c_init if provided
- ! sample __pre_c_init is in BSP
- la $r15, __pre_c_init ! load address of __pre_c_init
- beqz $r15, .L_zero_out_bss ! check existence of __pre_c_init
- jral $r15 ! pre-c-runtime initialization
-
-.L_zero_out_bss:
- /* Zero out the bss section.
- Equivalence C code for follow part:
- if (_end == _edata) goto .L_call_main
- unsinged int *ptr = _edata;
- while (ptr != _end)
- *ptr++ = 0
- $r0 = ptr/_edata
- $r1 = _end
- $r2 = 0
- */
- la $r0, _edata
- la $r1, _end
- movi $r2, #0
- beq $r0, $r1, .L_cpp_init /* Branch if no bss. */
+
+.L_bss_clear:
+ /* Clear bss section. */
+ la $r3, _end
+ la $r0, _edata
+ beq $r0, $r3, .L_call_main /* Branch if no bss. */
+ sub $r1, $r3, $r0 /* Size to be clear. */
+
+ /* Set $r2 as how many words to be clear.
+ Set $r1 as how many bytes are less than a woard to be clear. */
+ srli $r2, $r1, #2
+ andi $r1, $r1, #3
+ beqz $r3, .Lbyte_clear
+
+ la $r4, #0x00000000
.Lword_clear:
- swi.bi $r2, [$r0], #4
- bne $r0, $r1, .Lword_clear
+ swi.bi $r4, [$r0], #4
+ addi $r2, $r2, #-1
+ bnez $r2, .Lword_clear /* Loop again ? */
+ beqz $r1, .Lend_bss
+
+.Lbyte_clear:
+ sbi.bi $r4, [$r0], #1
+ addi $r1, $r1, #-1
+ bnez $r1, .Lbyte_clear
+.Lend_bss:
+
-.L_cpp_init:
+.L_call_main:
/* Call '_init' to invoke constructors. */
jal _init
/* Register '_fini' into atexit() to invoke destructors when
exit() has been reached. */
la $r0, _fini
jal atexit
-
-.L_post_c_init:
- ! call __post_c_init if provided
- ! no sample __post_c_init is provided
- la $r15, __post_c_init ! load address of __post_c_init
- beqz $r15, .L_arg_init ! check existence of __post_c_init
- jral $r15 ! post-c-runtime initialization
-
-.L_arg_init:
- ! argc/argv initialization if necessary
- la $r7, _arg_init ! get address of _arg_init
- beqz $r7, .L_clean_reg ! if there isn't _arg_init, go main
- addi $sp, $sp, -512 ! allocate space for command line
- ! and arguments
- move $r6, $sp ! r6 = buffer addr of cmd line
- move $r0, $r6 ! r0 = buffer addr of cmd line
- syscall SYS_getcmdline ! get cmd line
- move $r0, $r6 ! r0 = buffer addr of cmd line
- addi $r1, $r6, 256 ! r1 = argv
- jral $r7 ! init argc/argv
- addi $r1, $r6, 256 ! r1 = argv
- b .L_call_main
-
-.L_clean_reg:
- /* Prepare argc/argv/env for main function.
- Since there is no operating system so far,
- we set $r0, $r1, and $r2 to be zero.
- Note: $r2 already set to zero in .L_zero_out_bss: code fragment. */
- movi $r0, 0
- movi $r1, 0
- movi $r2, 0
-
-.L_call_main:
/* Call 'main'. */
- bal main
-
- /* Call _call_exit. */
- ! call _call_exit if necessary; default implementation is in crtexit.c
- la $r15, _call_exit ! load address of _call_exit
- beqz $r15, .L_terminate_program ! no _call_exit? go exit
- jral $r15 ! _call_exit will never return
+ la $r15, main
+ jral $r15
.L_terminate_program:
/* There are two ways to terminate program:
@@ -192,11 +113,11 @@ _start:
Currently, we use option 2 as a solution to follow C99 5.1.2.2.3,
but aware that general exit() will do some cleanup procedures
which may result in large-memory-footprints. */
-
- bal exit
+ la $r15, exit
+ jral $r15
.L_forever_loop:
/* Should never return here. */
- b .L_forever_loop
+ b .L_forever_loop
.size _start, .-_start
diff --git a/libgloss/nds32/_close.S b/libgloss/nds32/syscall_argv.S
index 0a1aec1e6..f11247856 100644
--- a/libgloss/nds32/_close.S
+++ b/libgloss/nds32/syscall_argv.S
@@ -27,16 +27,27 @@ 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.
*/
-#ifdef __NDS32_VH__
-
-#include "vh.h"
-.extern _impure_ptr
-TYPE1 _close, VH_CLOSE
-
-#else /* not __NDS32_VH__ */
-
#include "../syscall.h"
#include "syscall_extra.h"
-SYS_WRAPPER _close, SYS_close
-#endif /* not __NDS32_VH__ */
+
+ .extern errno
+
+ .section .text
+ .global _argv
+ .type _argv, @function
+ .align 2
+_argv:
+ /* Make syscall 'SYS_argv'.
+ Reture value '-1' stored in $r0 means there is something wrong.
+ If there is something wrong, make syscall 'SYS_geterr' to get
+ error code to see what exactly happens and store it in errno . */
+ syscall SYS_argv
+ addi $r1, $r0, 1
+ bnez $r1, .Ldone
+ syscall SYS_geterr
+ s.w $r0, errno
+ movi $r0, -1
+.Ldone:
+ ret
+ .size _argv, .-_argv
diff --git a/libgloss/nds32/syscall_argvlen.S b/libgloss/nds32/syscall_argvlen.S
new file mode 100644
index 000000000..dd2ca1912
--- /dev/null
+++ b/libgloss/nds32/syscall_argvlen.S
@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2013 Andes Technology Corporation.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ 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.
+
+ The name of the company may not be used to endorse or promote
+ products derived from this software without specific prior written
+ permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 RED HAT INCORPORATED 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 "../syscall.h"
+#include "syscall_extra.h"
+
+
+ .extern errno
+
+ .section .text
+ .global _argvlen
+ .type _argvlen, @function
+ .align 2
+_argvlen:
+ /* Make syscall 'SYS_argvlen'.
+ Reture value '-1' stored in $r0 means there is something wrong.
+ If there is something wrong, make syscall 'SYS_geterr' to get
+ error code to see what exactly happens and store it in errno . */
+ syscall SYS_argvlen
+ addi $r1, $r0, 1
+ bnez $r1, .Ldone
+ syscall SYS_geterr
+ s.w $r0, errno
+ movi $r0, -1
+.Ldone:
+ ret
+ .size _argvlen, .-_argvlen
diff --git a/libgloss/nds32/syscall_chdir.S b/libgloss/nds32/syscall_chdir.S
new file mode 100644
index 000000000..5309e2b9b
--- /dev/null
+++ b/libgloss/nds32/syscall_chdir.S
@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2013 Andes Technology Corporation.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ 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.
+
+ The name of the company may not be used to endorse or promote
+ products derived from this software without specific prior written
+ permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 RED HAT INCORPORATED 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 "../syscall.h"
+#include "syscall_extra.h"
+
+
+ .extern errno
+
+ .section .text
+ .global _chdir
+ .type _chdir, @function
+ .align 2
+_chdir:
+ /* Make syscall 'SYS_chdir'.
+ Reture value '-1' stored in $r0 means there is something wrong.
+ If there is something wrong, make syscall 'SYS_geterr' to get
+ error code to see what exactly happens and store it in errno . */
+ syscall SYS_chdir
+ addi $r1, $r0, 1
+ bnez $r1, .Ldone
+ syscall SYS_geterr
+ s.w $r0, errno
+ movi $r0, -1
+.Ldone:
+ ret
+ .size _chdir, .-_chdir
diff --git a/libgloss/nds32/syscall_chmod.S b/libgloss/nds32/syscall_chmod.S
new file mode 100644
index 000000000..afd549b5a
--- /dev/null
+++ b/libgloss/nds32/syscall_chmod.S
@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2013 Andes Technology Corporation.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ 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.
+
+ The name of the company may not be used to endorse or promote
+ products derived from this software without specific prior written
+ permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 RED HAT INCORPORATED 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 "../syscall.h"
+#include "syscall_extra.h"
+
+
+ .extern errno
+
+ .section .text
+ .global _chmod
+ .type _chmod, @function
+ .align 2
+_chmod:
+ /* Make syscall 'SYS_chmod'.
+ Reture value '-1' stored in $r0 means there is something wrong.
+ If there is something wrong, make syscall 'SYS_geterr' to get
+ error code to see what exactly happens and store it in errno . */
+ syscall SYS_chmod
+ addi $r1, $r0, 1
+ bnez $r1, .Ldone
+ syscall SYS_geterr
+ s.w $r0, errno
+ movi $r0, -1
+.Ldone:
+ ret
+ .size _chmod, .-_chmod
diff --git a/libgloss/nds32/syscall_close.S b/libgloss/nds32/syscall_close.S
new file mode 100644
index 000000000..c1a7efa5a
--- /dev/null
+++ b/libgloss/nds32/syscall_close.S
@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2013 Andes Technology Corporation.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ 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.
+
+ The name of the company may not be used to endorse or promote
+ products derived from this software without specific prior written
+ permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 RED HAT INCORPORATED 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 "../syscall.h"
+#include "syscall_extra.h"
+
+
+ .extern errno
+
+ .section .text
+ .global _close
+ .type _close, @function
+ .align 2
+_close:
+ /* Make syscall 'SYS_close'.
+ Reture value '-1' stored in $r0 means there is something wrong.
+ If there is something wrong, make syscall 'SYS_geterr' to get
+ error code to see what exactly happens and store it in errno . */
+ syscall SYS_close
+ addi $r1, $r0, 1
+ bnez $r1, .Ldone
+ syscall SYS_geterr
+ s.w $r0, errno
+ movi $r0, -1
+.Ldone:
+ ret
+ .size _close, .-_close
diff --git a/libgloss/nds32/_argv.S b/libgloss/nds32/syscall_exit.S
index bd85979a4..c886fc410 100644
--- a/libgloss/nds32/_argv.S
+++ b/libgloss/nds32/syscall_exit.S
@@ -27,10 +27,13 @@ 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.
*/
-#ifndef __NDS32_VH__
+#include "syscall.h"
-#include "../syscall.h"
-#include "syscall_extra.h"
-SYS_WRAPPER _argv, SYS_argv
-#endif /* not __NDS32_VH__ */
+ .section .text
+ .global _exit
+ .type _exit, @function
+ .align 2
+_exit:
+ syscall SYS_exit /* Make syscall 'SYS_exit'. */
+ .size _exit, .-_exit
diff --git a/libgloss/nds32/syscall_extra.h b/libgloss/nds32/syscall_extra.h
index 7c69489ca..f2ab2d562 100644
--- a/libgloss/nds32/syscall_extra.h
+++ b/libgloss/nds32/syscall_extra.h
@@ -32,28 +32,10 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
/* These are additional syscalls for nds32 target. */
-#define SYS_rename 3001
-#define SYS_isatty 3002
-#define SYS_system 3003
-
-#define SYS_geterr 6001
-#define SYS_getcmdline 6002
-
-
-/* Define macros that generate assembly output. */
-.macro SYS_WRAPPER name num
- .text
- .global \name
- .type \name, @function
- .align 2
-\name:
- /* Make syscall with arg=`\num'.
- Reture value `-1' stored in $r0 means there is something wrong.
- If there is something wrong, make syscall to get `SYS_geterr' to get
- error code to see what exactly happens and store it in errno . */
- syscall \num /* Make syscall with arg=`\num'. */
- j __syscall_error_handler
- .size \name, .-\name
-.endm
+#define SYS_rename 3001
+#define SYS_isatty 3002
+#define SYS_system 3003
+
+#define SYS_geterr 6001
#endif /* _SYSCALL_EXTRA_H */
diff --git a/libgloss/nds32/syscall_fstat.S b/libgloss/nds32/syscall_fstat.S
new file mode 100644
index 000000000..a3ab279a6
--- /dev/null
+++ b/libgloss/nds32/syscall_fstat.S
@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2013 Andes Technology Corporation.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ 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.
+
+ The name of the company may not be used to endorse or promote
+ products derived from this software without specific prior written
+ permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 RED HAT INCORPORATED 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 "../syscall.h"
+#include "syscall_extra.h"
+
+
+ .extern errno
+
+ .section .text
+ .global _fstat
+ .type _fstat, @function
+ .align 2
+_fstat:
+ /* Make syscall 'SYS_fstat'.
+ Reture value '-1' stored in $r0 means there is something wrong.
+ If there is something wrong, make syscall 'SYS_geterr' to get
+ error code to see what exactly happens and store it in errno . */
+ syscall SYS_fstat
+ addi $r1, $r0, 1
+ bnez $r1, .Ldone
+ syscall SYS_geterr
+ s.w $r0, errno
+ movi $r0, -1
+.Ldone:
+ ret
+ .size _fstat, .-_fstat
diff --git a/libgloss/nds32/_getpid.S b/libgloss/nds32/syscall_getpid.S
index c8662d20d..f1f25d80b 100644
--- a/libgloss/nds32/_getpid.S
+++ b/libgloss/nds32/syscall_getpid.S
@@ -27,14 +27,27 @@ 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 "../syscall.h"
+#include "syscall_extra.h"
- .text
+
+ .extern errno
+
+ .section .text
.global _getpid
.type _getpid, @function
- .align 2
+ .align 2
_getpid:
- /* The getpid() function shall always be successful and
- no return value is reserved to indicate an error. */
- movi $r0, 1 /* A minimal implementation, success. */
+ /* Make syscall 'SYS_getpid'.
+ Reture value '-1' stored in $r0 means there is something wrong.
+ If there is something wrong, make syscall 'SYS_geterr' to get
+ error code to see what exactly happens and store it in errno . */
+ syscall SYS_getpid
+ addi $r1, $r0, 1
+ bnez $r1, .Ldone
+ syscall SYS_geterr
+ s.w $r0, errno
+ movi $r0, -1
+.Ldone:
ret
- .size _getpid, .-_getpid
+ .size _getpid, .-_getpid
diff --git a/libgloss/nds32/_gettimeofday.S b/libgloss/nds32/syscall_gettimeofday.S
index e78bd5e19..bd995a8f6 100644
--- a/libgloss/nds32/_gettimeofday.S
+++ b/libgloss/nds32/syscall_gettimeofday.S
@@ -27,22 +27,27 @@ 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.
*/
-#ifdef __NDS32_VH__
+#include "../syscall.h"
+#include "syscall_extra.h"
-#include "vh.h"
-TYPE3 _gettimeofday, VH_GETTIMEOFDAY
-#else /* not __NDS32_VH__ */
+ .extern errno
-#include "../syscall.h"
-#include "syscall_extra.h"
- .text
+ .section .text
.global _gettimeofday
.type _gettimeofday, @function
- .align 2
+ .align 2
_gettimeofday:
+ /* Make syscall 'SYS_gettimeofday'.
+ Reture value '-1' stored in $r0 means there is something wrong.
+ If there is something wrong, make syscall 'SYS_geterr' to get
+ error code to see what exactly happens and store it in errno . */
syscall SYS_gettimeofday
+ addi $r1, $r0, 1
+ bnez $r1, .Ldone
+ syscall SYS_geterr
+ s.w $r0, errno
+ movi $r0, -1
+.Ldone:
ret
- .size _gettimeofday, .-_gettimeofday
-
-#endif /* not __NDS32_VH__ */
+ .size _gettimeofday, .-_gettimeofday
diff --git a/libgloss/nds32/syscall_isatty.S b/libgloss/nds32/syscall_isatty.S
new file mode 100644
index 000000000..e8f538d95
--- /dev/null
+++ b/libgloss/nds32/syscall_isatty.S
@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2013 Andes Technology Corporation.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ 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.
+
+ The name of the company may not be used to endorse or promote
+ products derived from this software without specific prior written
+ permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 RED HAT INCORPORATED 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 "../syscall.h"
+#include "syscall_extra.h"
+
+
+ .extern errno
+
+ .section .text
+ .global _isatty
+ .type _isatty, @function
+ .align 2
+_isatty:
+ /* Make syscall 'SYS_isatty'.
+ Reture value '-1' stored in $r0 means there is something wrong.
+ If there is something wrong, make syscall 'SYS_geterr' to get
+ error code to see what exactly happens and store it in errno . */
+ syscall SYS_isatty
+ addi $r1, $r0, 1
+ bnez $r1, .Ldone
+ syscall SYS_geterr
+ s.w $r0, errno
+ movi $r0, -1
+.Ldone:
+ ret
+ .size _isatty, .-_isatty
diff --git a/libgloss/nds32/_fstat.S b/libgloss/nds32/syscall_kill.S
index 7d0cb6e4b..e04c5b9c4 100644
--- a/libgloss/nds32/_fstat.S
+++ b/libgloss/nds32/syscall_kill.S
@@ -27,17 +27,27 @@ 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.
*/
-
-#ifdef __NDS32_VH__
-
-#include "vh.h"
-.extern _impure_ptr
-TYPE1 _fstat, VH_FSTAT
-
-#else /* not __NDS32_VH__ */
-
#include "../syscall.h"
#include "syscall_extra.h"
-SYS_WRAPPER _fstat, SYS_fstat
-#endif /* not __NDS32_VH__ */
+
+ .extern errno
+
+ .section .text
+ .global _kill
+ .type _kill, @function
+ .align 2
+_kill:
+ /* Make syscall 'SYS_kill'.
+ Reture value '-1' stored in $r0 means there is something wrong.
+ If there is something wrong, make syscall 'SYS_geterr' to get
+ error code to see what exactly happens and store it in errno . */
+ syscall SYS_kill
+ addi $r1, $r0, 1
+ bnez $r1, .Ldone
+ syscall SYS_geterr
+ s.w $r0, errno
+ movi $r0, -1
+.Ldone:
+ ret
+ .size _kill, .-_kill
diff --git a/libgloss/nds32/_chmod.S b/libgloss/nds32/syscall_link.S
index 231a18f4b..044b632a0 100644
--- a/libgloss/nds32/_chmod.S
+++ b/libgloss/nds32/syscall_link.S
@@ -27,11 +27,27 @@ 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.
*/
-
-#ifndef __NDS32_VH__
-
#include "../syscall.h"
#include "syscall_extra.h"
-SYS_WRAPPER _chmod, SYS_chmod
-#endif /* not __NDS32_VH__ */
+
+ .extern errno
+
+ .section .text
+ .global _link
+ .type _link, @function
+ .align 2
+_link:
+ /* Make syscall 'SYS_link'.
+ Reture value '-1' stored in $r0 means there is something wrong.
+ If there is something wrong, make syscall 'SYS_geterr' to get
+ error code to see what exactly happens and store it in errno . */
+ syscall SYS_link
+ addi $r1, $r0, 1
+ bnez $r1, .Ldone
+ syscall SYS_geterr
+ s.w $r0, errno
+ movi $r0, -1
+.Ldone:
+ ret
+ .size _link, .-_link
diff --git a/libgloss/nds32/syscall_lseek.S b/libgloss/nds32/syscall_lseek.S
new file mode 100644
index 000000000..3515a4787
--- /dev/null
+++ b/libgloss/nds32/syscall_lseek.S
@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2013 Andes Technology Corporation.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ 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.
+
+ The name of the company may not be used to endorse or promote
+ products derived from this software without specific prior written
+ permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 RED HAT INCORPORATED 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 "../syscall.h"
+#include "syscall_extra.h"
+
+
+ .extern errno
+
+ .section .text
+ .global _lseek
+ .type _lseek, @function
+ .align 2
+_lseek:
+ /* Make syscall 'SYS_lseek'.
+ Reture value '-1' stored in $r0 means there is something wrong.
+ If there is something wrong, make syscall 'SYS_geterr' to get
+ error code to see what exactly happens and store it in errno . */
+ syscall SYS_lseek
+ addi $r1, $r0, 1
+ bnez $r1, .Ldone
+ syscall SYS_geterr
+ s.w $r0, errno
+ movi $r0, -1
+.Ldone:
+ ret
+ .size _lseek, .-_lseek
diff --git a/libgloss/nds32/syscall_open.S b/libgloss/nds32/syscall_open.S
new file mode 100644
index 000000000..d160b07d3
--- /dev/null
+++ b/libgloss/nds32/syscall_open.S
@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2013 Andes Technology Corporation.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ 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.
+
+ The name of the company may not be used to endorse or promote
+ products derived from this software without specific prior written
+ permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 RED HAT INCORPORATED 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 "../syscall.h"
+#include "syscall_extra.h"
+
+
+ .extern errno
+
+ .section .text
+ .global _open
+ .type _open, @function
+ .align 2
+_open:
+ /* Make syscall 'SYS_open'.
+ Reture value '-1' stored in $r0 means there is something wrong.
+ If there is something wrong, make syscall 'SYS_geterr' to get
+ error code to see what exactly happens and store it in errno . */
+ syscall SYS_open
+ addi $r1, $r0, 1
+ bnez $r1, .Ldone
+ syscall SYS_geterr
+ s.w $r0, errno
+ movi $r0, -1
+.Ldone:
+ ret
+ .size _open, .-_open
diff --git a/libgloss/nds32/syscall_error_handler.S b/libgloss/nds32/syscall_read.S
index 2b65c6807..5c485c547 100644
--- a/libgloss/nds32/syscall_error_handler.S
+++ b/libgloss/nds32/syscall_read.S
@@ -27,26 +27,30 @@ 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.
*/
-#ifndef __NDS32_VH__
-
#include "../syscall.h"
#include "syscall_extra.h"
- .extern _impure_ptr /* The first element is _errno. */
- .text
- .global __syscall_error_handler
- .type __syscall_error_handler, @function
- .hidden __syscall_error_handler
- .align 2
-__syscall_error_handler:
+ .extern errno
+
+ .section .text
+ .global _read
+ .type _read, @function
+ .align 2
+_read:
+ /* Make syscall 'SYS_read'.
+ Reture value '-1' stored in $r0 means there is something wrong.
+ If there is something wrong, make syscall 'SYS_geterr' to get
+ error code to see what exactly happens and store it in errno . */
+ syscall SYS_read
addi $r1, $r0, 1
- bnez $r1, 1f /* Branch if success. */
- syscall SYS_geterr /* There is something wrong. */
- l.w $r15, _impure_ptr
- swi $r0, [$r15] /* Set errno. */
- move $r0, -1
-1:
+ bnez $r1, .Ldone
+ syscall SYS_geterr
+ /* Return value '11' stored in $r0 means we need to try again. */
+ addi $r1, $r0, -11
+ beqz $r1, _read
+ s.w $r0, errno
+ movi $r0, -1
+.Ldone:
ret
- .size __syscall_error_handler, .-__syscall_error_handler
-#endif /* not __NDS32_VH__ */
+ .size _read, .-_read
diff --git a/libgloss/nds32/syscall_rename.S b/libgloss/nds32/syscall_rename.S
new file mode 100644
index 000000000..6b07cdad1
--- /dev/null
+++ b/libgloss/nds32/syscall_rename.S
@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2013 Andes Technology Corporation.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ 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.
+
+ The name of the company may not be used to endorse or promote
+ products derived from this software without specific prior written
+ permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 RED HAT INCORPORATED 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 "../syscall.h"
+#include "syscall_extra.h"
+
+
+ .extern errno
+
+ .section .text
+ .global _rename
+ .type _rename, @function
+ .align 2
+_rename:
+ /* Make syscall 'SYS_rename'.
+ Reture value '-1' stored in $r0 means there is something wrong.
+ If there is something wrong, make syscall 'SYS_geterr' to get
+ error code to see what exactly happens and store it in errno . */
+ syscall SYS_rename
+ addi $r1, $r0, 1
+ bnez $r1, .Ldone
+ syscall SYS_geterr
+ s.w $r0, errno
+ movi $r0, -1
+.Ldone:
+ ret
+ .size _rename, .-_rename
diff --git a/libgloss/nds32/_sbrk.S b/libgloss/nds32/syscall_sbrk.S
index dc3ed7bf8..3c2d9d4f0 100644
--- a/libgloss/nds32/_sbrk.S
+++ b/libgloss/nds32/syscall_sbrk.S
@@ -30,10 +30,8 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include "../syscall.h"
#include "syscall_extra.h"
- .extern _impure_ptr /* The first element is _errno. */
.extern _end
.global _sbrk
- .type _sbrk, @function
.text
.align 2
@@ -68,12 +66,10 @@ _sbrk:
.Lerror:
movi $r0, 12
- l.w $r15, _impure_ptr
- swi $r0, [$r15] /* Set errno. */
+ s.w $r0, errno /* Set error code: 12 (ENOMEM) to errno. */
movi $r0, -1 /* Reture value is -1. */
ret
- .size _sbrk, .-_sbrk
.section .bss
.align 2
heap_end:
diff --git a/libgloss/nds32/syscall_stat.S b/libgloss/nds32/syscall_stat.S
new file mode 100644
index 000000000..b7679b4a6
--- /dev/null
+++ b/libgloss/nds32/syscall_stat.S
@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2013 Andes Technology Corporation.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ 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.
+
+ The name of the company may not be used to endorse or promote
+ products derived from this software without specific prior written
+ permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 RED HAT INCORPORATED 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 "../syscall.h"
+#include "syscall_extra.h"
+
+
+ .extern errno
+
+ .section .text
+ .global _stat
+ .type _stat, @function
+ .align 2
+_stat:
+ /* Make syscall 'SYS_stat'.
+ Reture value '-1' stored in $r0 means there is something wrong.
+ If there is something wrong, make syscall 'SYS_geterr' to get
+ error code to see what exactly happens and store it in errno . */
+ syscall SYS_stat
+ addi $r1, $r0, 1
+ bnez $r1, .Ldone
+ syscall SYS_geterr
+ s.w $r0, errno
+ movi $r0, -1
+.Ldone:
+ ret
+ .size _stat, .-_stat
diff --git a/libgloss/nds32/syscall_system.S b/libgloss/nds32/syscall_system.S
new file mode 100644
index 000000000..ce4388a7a
--- /dev/null
+++ b/libgloss/nds32/syscall_system.S
@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2013 Andes Technology Corporation.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ 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.
+
+ The name of the company may not be used to endorse or promote
+ products derived from this software without specific prior written
+ permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 RED HAT INCORPORATED 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 "../syscall.h"
+#include "syscall_extra.h"
+
+
+ .extern errno
+
+ .section .text
+ .global _system
+ .type _system, @function
+ .align 2
+_system:
+ /* Make syscall 'SYS_system'.
+ Reture value '-1' stored in $r0 means there is something wrong.
+ If there is something wrong, make syscall 'SYS_geterr' to get
+ error code to see what exactly happens and store it in errno . */
+ syscall SYS_system
+ addi $r1, $r0, 1
+ bnez $r1, .Ldone
+ syscall SYS_geterr
+ s.w $r0, errno
+ movi $r0, -1
+.Ldone:
+ ret
+ .size _system, .-_system
diff --git a/libgloss/nds32/syscall_time.S b/libgloss/nds32/syscall_time.S
new file mode 100644
index 000000000..3fee97d63
--- /dev/null
+++ b/libgloss/nds32/syscall_time.S
@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2013 Andes Technology Corporation.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ 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.
+
+ The name of the company may not be used to endorse or promote
+ products derived from this software without specific prior written
+ permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 RED HAT INCORPORATED 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 "../syscall.h"
+#include "syscall_extra.h"
+
+
+ .extern errno
+
+ .section .text
+ .global _time
+ .type _time, @function
+ .align 2
+_time:
+ /* Make syscall 'SYS_time'.
+ Reture value '-1' stored in $r0 means there is something wrong.
+ If there is something wrong, make syscall 'SYS_geterr' to get
+ error code to see what exactly happens and store it in errno . */
+ syscall SYS_time
+ addi $r1, $r0, 1
+ bnez $r1, .Ldone
+ syscall SYS_geterr
+ s.w $r0, errno
+ movi $r0, -1
+.Ldone:
+ ret
+ .size _time, .-_time
diff --git a/libgloss/nds32/syscall_times.S b/libgloss/nds32/syscall_times.S
new file mode 100644
index 000000000..7e4a260d0
--- /dev/null
+++ b/libgloss/nds32/syscall_times.S
@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2013 Andes Technology Corporation.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ 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.
+
+ The name of the company may not be used to endorse or promote
+ products derived from this software without specific prior written
+ permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 RED HAT INCORPORATED 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 "../syscall.h"
+#include "syscall_extra.h"
+
+
+ .extern errno
+
+ .section .text
+ .global _times
+ .type _times, @function
+ .align 2
+_times:
+ /* Make syscall 'SYS_times'.
+ Reture value '-1' stored in $r0 means there is something wrong.
+ If there is something wrong, make syscall 'SYS_geterr' to get
+ error code to see what exactly happens and store it in errno . */
+ syscall SYS_times
+ addi $r1, $r0, 1
+ bnez $r1, .Ldone
+ syscall SYS_geterr
+ s.w $r0, errno
+ movi $r0, -1
+.Ldone:
+ ret
+ .size _times, .-_times
diff --git a/libgloss/nds32/syscall_unlink.S b/libgloss/nds32/syscall_unlink.S
new file mode 100644
index 000000000..17607062d
--- /dev/null
+++ b/libgloss/nds32/syscall_unlink.S
@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2013 Andes Technology Corporation.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ 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.
+
+ The name of the company may not be used to endorse or promote
+ products derived from this software without specific prior written
+ permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 RED HAT INCORPORATED 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 "../syscall.h"
+#include "syscall_extra.h"
+
+
+ .extern errno
+
+ .section .text
+ .global _unlink
+ .type _unlink, @function
+ .align 2
+_unlink:
+ /* Make syscall 'SYS_unlink'.
+ Reture value '-1' stored in $r0 means there is something wrong.
+ If there is something wrong, make syscall 'SYS_geterr' to get
+ error code to see what exactly happens and store it in errno . */
+ syscall SYS_unlink
+ addi $r1, $r0, 1
+ bnez $r1, .Ldone
+ syscall SYS_geterr
+ s.w $r0, errno
+ movi $r0, -1
+.Ldone:
+ ret
+ .size _unlink, .-_unlink
diff --git a/libgloss/nds32/syscall_utime.S b/libgloss/nds32/syscall_utime.S
new file mode 100644
index 000000000..7090d359e
--- /dev/null
+++ b/libgloss/nds32/syscall_utime.S
@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2013 Andes Technology Corporation.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ 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.
+
+ The name of the company may not be used to endorse or promote
+ products derived from this software without specific prior written
+ permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 RED HAT INCORPORATED 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 "../syscall.h"
+#include "syscall_extra.h"
+
+
+ .extern errno
+
+ .section .text
+ .global _utime
+ .type _utime, @function
+ .align 2
+_utime:
+ /* Make syscall 'SYS_utime'.
+ Reture value '-1' stored in $r0 means there is something wrong.
+ If there is something wrong, make syscall 'SYS_geterr' to get
+ error code to see what exactly happens and store it in errno . */
+ syscall SYS_utime
+ addi $r1, $r0, 1
+ bnez $r1, .Ldone
+ syscall SYS_geterr
+ s.w $r0, errno
+ movi $r0, -1
+.Ldone:
+ ret
+ .size _utime, .-_utime
diff --git a/libgloss/nds32/syscall_write.S b/libgloss/nds32/syscall_write.S
new file mode 100644
index 000000000..0b10f7e5f
--- /dev/null
+++ b/libgloss/nds32/syscall_write.S
@@ -0,0 +1,53 @@
+/*
+Copyright (c) 2013 Andes Technology Corporation.
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+ Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+ 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.
+
+ The name of the company may not be used to endorse or promote
+ products derived from this software without specific prior written
+ permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 RED HAT INCORPORATED 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 "../syscall.h"
+#include "syscall_extra.h"
+
+
+ .extern errno
+
+ .section .text
+ .global _write
+ .type _write, @function
+ .align 2
+_write:
+ /* Make syscall 'SYS_write'.
+ Reture value '-1' stored in $r0 means there is something wrong.
+ If there is something wrong, make syscall 'SYS_geterr' to get
+ error code to see what exactly happens and store it in errno . */
+ syscall SYS_write
+ addi $r1, $r0, 1
+ bnez $r1, .Ldone
+ syscall SYS_geterr
+ s.w $r0, errno
+ movi $r0, -1
+.Ldone:
+ ret
+ .size _write, .-_write
diff --git a/libgloss/nds32/vh.h b/libgloss/nds32/vh.h
deleted file mode 100644
index ca3a43f30..000000000
--- a/libgloss/nds32/vh.h
+++ /dev/null
@@ -1,126 +0,0 @@
-#ifndef _VH_H
-#define _VH_H
-
-/*
-BREAK #SWID definition:
-0x00 – 0x1F: Free to use
-0x20 – 0x1FF: Reserved for EX9
-0x0200 – 0x7EFF: Free to use
-0x7F00 – 0x7FFF: Reserved for virtual hosting
-*/
-/* These are #SWID defined for Virtual Hosting. */
-#define VH_FOPEN 0x7F00
-#define VH_FREOPEN 0x7F01
-#define VH_FCLOSE 0x7F02
-#define VH_FFLUSH 0x7F03
-#define VH_FREAD 0x7F04
-#define VH_FWRITE 0x7F05
-#define VH_FGETC 0x7F06
-#define VH_FGETS 0x7F07
-#define VH_FPUTC 0x7F08
-#define VH_FPUTS 0x7F09
-#define VH_UNGETC 0x7F0A
-#define VH_FTELL 0x7F0B
-#define VH_FSEEK 0x7F0C
-#define VH_REWIND 0x7F0D
-#define VH_CLEARERR 0x7F0E
-#define VH_FEOF 0x7F0F
-#define VH_FERROR 0x7F10
-#define VH_REMOVE 0x7F11
-#define VH_TMPFILE 0x7F12
-/* From here, define Low-level routines. */
-#define VH_EXIT 0x7F20
-#define VH_OPEN 0x7F21
-#define VH_CLOSE 0x7F22
-#define VH_READ 0x7F23
-#define VH_WRITE 0x7F24
-#define VH_LSEEK 0x7F25
-#define VH_UNLINK 0x7F26
-#define VH_RENAME 0x7F27
-#define VH_FSTAT 0x7F28
-#define VH_STAT 0x7F29
-#define VH_GETTIMEOFDAY 0x7F2A
-#define VH_ISATTY 0x7F2B
-#define VH_SYSTEM 0x7F2C
-#define VH_GETERR 0x7F2D /* The method we get errno. */
-#define VH_GETPID 0x7F2E
-#define VH_KILL 0x7F2F
-#define VH_TIMES 0x7F30
-
-
-/* Define macros that generate assembly output.
- Generate a System Call exception to notify GDB
- to handle this virtual I/O routine. */
-
-.macro TYPE0 name num
-/* If r0 is not NULL(0), set errno. */
- .text
- .global \name
- .type \name, @function
- .align 2
-\name:
- BREAK \num /* Generate_Exception(Breakpoint); */
- bnez $r0, 1f /* Branch if success.
- r0 value is not NULL(0). */
- BREAK VH_GETERR
- l.w $r15, _impure_ptr
- swi $r0, [$r15] /* Set errno. */
- move $r0, 0 /* Set return value as 0. */
-1:
- ret
- .size \name, .-\name
-.endm
-
-.macro TYPE1 name num
-/* If r0 is EOF(-1), set errno. */
- .text
- .global \name
- .type \name, @function
- .align 2
-\name:
- BREAK \num /* Generate_Exception(Breakpoint); */
- addi $r15, $r0, 1
- bnezs8 1f /* Branch if success.
- r0 value is EOF(-1). */
- BREAK VH_GETERR
- l.w $r15, _impure_ptr
- swi $r0, [$r15] /* Set errno. */
- move $r0, -1 /* Set return value as -1. */
-1:
- ret
- .size \name, .-\name
-.endm
-
-.macro TYPE2 name num
-/* If r0 is less than r2, set errno. */
- .text
- .global \name
- .type \name, @function
- .align 2
-\name:
- BREAK \num /* Generate_Exception(Breakpoint); */
- slt $r15, $r0, $r2 /* If r15 is set, set errno. */
- beqzs8 1f /* Branch if success.
- r15 is zero. */
- move $r4, $r0 /* Keep return value r0. */
- BREAK VH_GETERR
- l.w $r15, _impure_ptr
- swi $r0, [$r15] /* Set errno. */
- move $r0, $r4 /* Restore r0. */
-1:
- ret
- .size \name, .-\name
-.endm
-
-.macro TYPE3 name num
-/* No errors are defined. */
- .text
- .global \name
- .type \name, @function
- .align 2
-\name:
- BREAK \num /* Generate_Exception(Breakpoint); */
- ret
- .size \name, .-\name
-.endm
-#endif /* _VH_H */
diff --git a/libgloss/or1k/Makefile.in b/libgloss/or1k/Makefile.in
deleted file mode 100644
index f7d138ca7..000000000
--- a/libgloss/or1k/Makefile.in
+++ /dev/null
@@ -1,146 +0,0 @@
-# Copyright (c) 1998 Cygnus Support
-#
-# The authors hereby grant permission to use, copy, modify, distribute,
-# and license this software and its documentation for any purpose, provided
-# that existing copyright notices are retained in all copies and that this
-# notice is included verbatim in any distributions. No written agreement,
-# license, or royalty fee is required for any of the authorized uses.
-# Modifications to this software may be copyrighted by their authors
-# and need not follow the licensing terms described here, provided that
-# the new terms are clearly indicated on the first page of each file where
-# they apply.
-
-DESTDIR =
-VPATH = @srcdir@
-srcdir = @srcdir@
-objdir = .
-srcroot = $(srcdir)/../..
-objroot = $(objdir)/../..
-
-prefix = @prefix@
-exec_prefix = @exec_prefix@
-
-host_alias = @host_alias@
-target_alias = @target_alias@
-program_transform_name = @program_transform_name@
-
-bindir = @bindir@
-libdir = @libdir@
-includedir = @includedir@
-tooldir = $(exec_prefix)/$(target_alias)
-
-# Multilib support variables.
-# TOP is used instead of MULTI{BUILD,SRC}TOP.
-MULTIDIRS =
-MULTISUBDIR =
-MULTIDO = true
-MULTICLEAN = true
-
-INSTALL = @INSTALL@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_DATA = @INSTALL_DATA@
-
-SHELL = /bin/sh
-
-CC = @CC@
-AS = @AS@
-AR = @AR@
-LD = @LD@
-RANLIB = @RANLIB@
-
-OBJDUMP = `if [ -f ${objroot}/../binutils/objdump ] ; \
- then echo ${objroot}/../binutils/objdump ; \
- else t='$(program_transform_name)'; echo objdump | sed -e $$t ; fi`
-OBJCOPY = `if [ -f ${objroot}/../binutils/objcopy ] ; \
- then echo ${objroot}/../binutils/objcopy ; \
- else t='$(program_transform_name)'; echo objcopy | sed -e $$t ; fi`
-
-# object files needed
-COMMON_FILES = syscalls \
- or1k_uart \
- outbyte \
- caches-asm \
- exceptions \
- exceptions-asm \
- interrupts \
- interrupts-asm \
- mmu-asm \
- timer \
- sbrk \
- impure \
- util \
- sync-asm
-
-LIBOR1K_FILES = $(COMMON_FILES)
-LIBOR1K_OBJS = $(addsuffix .o,$(LIBOR1K_FILES))
-
-BOARDS = atlys \
- de0_nano \
- ml501 \
- optimsoc \
- or1ksim \
- or1ksim-uart \
- ordb1a3pe1500 \
- ordb2a \
- orpsocrefdesign
-
-BOARD_LIBS = $(addprefix libboard-,$(addsuffix .a,$(BOARDS)))
-BOARD_OBJS = $(addprefix libboard-,$(addsuffix .o,$(BOARDS)))
-
-GCC_LDFLAGS = `if [ -d ${objroot}/../gcc ] ; \
- then echo -L${objroot}/../gcc ; fi`
-
-OUTPUTS = libor1k.a crt0.o ${BOARD_LIBS}
-
-# Host specific makefile fragment comes in here.
-@host_makefile_frag@
-
-
-all: ${OUTPUTS}
-
-#
-# here's where we build the library for each target
-#
-
-libor1k.a: $(LIBOR1K_OBJS)
- ${AR} ${ARFLAGS} $@ $(LIBOR1K_OBJS)
- ${RANLIB} $@
-
-libboard-%.o: boards/%.S
- ${CC} ${CFLAGS} -o $@ -c $<
-
-libboard-%.o: boards/%.c
- ${CC} ${CFLAGS} -o $@ -c $<
-
-libboard-%.a: libboard-%.o
- ${AR} ${ARFLAGS} $@ $<
- ${RANLIB} $@
-
-doc:
-
-clean mostlyclean:
- rm -f $(OUTPUTS) $(BOARD_LIBS) *.i *~ *.o *-test *.srec *.dis *.map *.x
-
-distclean maintainer-clean realclean: clean
- rm -f Makefile config.status $(OUTPUTS)
-
-.PHONY: install info install-info clean-info
-install:
- @for outputs in ${OUTPUTS}; do\
- mkdir -p $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}; \
- $(INSTALL_DATA) $${outputs} $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}; \
- done
- $(INSTALL_DATA) ${srcdir}/include/or1k-support.h $(DESTDIR)$(tooldir)/include/
- $(INSTALL_DATA) ${srcdir}/include/or1k-sprs.h $(DESTDIR)$(tooldir)/include/
- $(INSTALL_DATA) ${srcdir}/include/or1k-asm.h $(DESTDIR)$(tooldir)/include/
- $(INSTALL_DATA) ${srcdir}/include/or1k-nop.h $(DESTDIR)$(tooldir)/include/
-
-info:
-install-info:
-clean-info:
-
-Makefile: Makefile.in config.status @host_makefile_frag_path@
- $(SHELL) config.status
-
-config.status: configure
- $(SHELL) config.status --recheck
diff --git a/libgloss/or1k/README b/libgloss/or1k/README
deleted file mode 100644
index e9b0a2048..000000000
--- a/libgloss/or1k/README
+++ /dev/null
@@ -1,77 +0,0 @@
-This document describes the internals of the port for OpenRISC
-1000. The API is documented in or1k-support.h as Doxygen comments.
-
-# Data Structures
-
-+----------------+ 0x0
-| vectors |
-+----------------+
-| text,data,.. |
-+----------------+
-| bss |
-+----------------+
-| heap |
-| vv |
-| |
-| ^^ |
-| stack(s) |
-+----------------+ _or1k_board_mem_base +
- _or1k_board_mem_size
-
-## Stack and Heap
-
-The stack is allocated at the end of available physical memory which
-is defined by each board as _or1k_board_mem_base and
-_or1k_board_mem_size. The _or1k_stack_top and _or1k_stack_bottom are
-determined by those variables and _or1k_stack_size (which may be
-overwritten in _or1k_board_init_early).
-
-A second stack for exceptions is allocated as we allow exceptions to
-be arbitrary complex and call C functions etc. It is not an option to
-re-use the current software stack as we want to be so generic, that
-this can also be a virtual memory stack at moment of exception. The
-exception starts below the normal software stack and is
-_or1k_exception_stack_size large.
-
-Multicore: For each core a stack and exception stack is allocated and
-the stack pointer set at boot. That is: sp(core0) = _or1k_stack_top,
-sp(core1) = _or1k_stack_top - _or1k_stack_size, etc.
-
-## _or1k_stack_core (multicore only)
-
-An array of pointers to the software stacks (size:
-4*or1k_numcores()). It is dynamically allocated from heap in or1k_init
-by calling sbrk(). The pointers contain the values for stack top
-pointers as described above. This variable is essentially used on boot
-of the slave cores to configure the stack register.
-
-## _or1k_exception_stack_core (multicore only)
-
-An array of pointers to the exception stacks (size:
-4*or1k_numcores()). It is allocated identical as the stack_core
-array. It is loaded whenever an exception occurs to start with a clean
-stack in the exception.
-
-## _or1k_exception_handler_table
-
-A table of function pointers to the handlers of the exceptions. The
-generic exception handler checks if an exception handler is registered
-and calls it. There are 30 exceptions defined (0x0 is not an exception
-vector and 0x100 is reset which is static). This array resides in BSS
-and is therefore initialized as 0 (no handler registered) after start.
-
-Multicore: As the number of course is not known at compile time, the
-variable is a pointer to and array of arrays (cores x 30) which is
-allocated in or1k_init() on heap (using sbrk).
-
-## _or1k_interrupt_handler_table and _or1k_interrupt_handler_table_data_ptr
-
-The interrupt handlers are stored identical to to the exception handler table.
-
-## _or1k_reent
-
-The struct _or1k_reent contains formerly global data and allows for
-reentrancy. In the single core case, this is an allocated object,
-while it is a pointer to an array of structs in the multicore library.
-It is allocated in _or1k_reent_init() on the heap.
-
diff --git a/libgloss/or1k/aclocal.m4 b/libgloss/or1k/aclocal.m4
deleted file mode 100644
index 6ba621054..000000000
--- a/libgloss/or1k/aclocal.m4
+++ /dev/null
@@ -1,409 +0,0 @@
-# generated automatically by aclocal 1.11.6 -*- Autoconf -*-
-
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-# 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation,
-# Inc.
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-# AM_CONDITIONAL -*- Autoconf -*-
-
-# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 9
-
-# AM_CONDITIONAL(NAME, SHELL-CONDITION)
-# -------------------------------------
-# Define a conditional.
-AC_DEFUN([AM_CONDITIONAL],
-[AC_PREREQ(2.52)dnl
- ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
- [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
-AC_SUBST([$1_TRUE])dnl
-AC_SUBST([$1_FALSE])dnl
-_AM_SUBST_NOTMAKE([$1_TRUE])dnl
-_AM_SUBST_NOTMAKE([$1_FALSE])dnl
-m4_define([_AM_COND_VALUE_$1], [$2])dnl
-if $2; then
- $1_TRUE=
- $1_FALSE='#'
-else
- $1_TRUE='#'
- $1_FALSE=
-fi
-AC_CONFIG_COMMANDS_PRE(
-[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
- AC_MSG_ERROR([[conditional "$1" was never defined.
-Usually this means the macro was only invoked conditionally.]])
-fi])])
-
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009,
-# 2010, 2011 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 12
-
-# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
-# written in clear, in which case automake, when reading aclocal.m4,
-# will think it sees a *use*, and therefore will trigger all it's
-# C support machinery. Also note that it means that autoscan, seeing
-# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
-
-
-# _AM_DEPENDENCIES(NAME)
-# ----------------------
-# See how the compiler implements dependency checking.
-# NAME is "CC", "CXX", "GCJ", or "OBJC".
-# We try a few techniques and use that to set a single cache variable.
-#
-# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
-# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
-# dependency, and given that the user is not expected to run this macro,
-# just rely on AC_PROG_CC.
-AC_DEFUN([_AM_DEPENDENCIES],
-[AC_REQUIRE([AM_SET_DEPDIR])dnl
-AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
-AC_REQUIRE([AM_MAKE_INCLUDE])dnl
-AC_REQUIRE([AM_DEP_TRACK])dnl
-
-ifelse([$1], CC, [depcc="$CC" am_compiler_list=],
- [$1], CXX, [depcc="$CXX" am_compiler_list=],
- [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
- [$1], UPC, [depcc="$UPC" am_compiler_list=],
- [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
- [depcc="$$1" am_compiler_list=])
-
-AC_CACHE_CHECK([dependency style of $depcc],
- [am_cv_$1_dependencies_compiler_type],
-[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
- # We make a subdir and do the tests there. Otherwise we can end up
- # making bogus files that we don't know about and never remove. For
- # instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named `D' -- because `-MD' means `put the output
- # in D'.
- rm -rf conftest.dir
- mkdir conftest.dir
- # Copy depcomp to subdir because otherwise we won't find it if we're
- # using a relative directory.
- cp "$am_depcomp" conftest.dir
- cd conftest.dir
- # We will build objects and dependencies in a subdirectory because
- # it helps to detect inapplicable dependency modes. For instance
- # both Tru64's cc and ICC support -MD to output dependencies as a
- # side effect of compilation, but ICC will put the dependencies in
- # the current directory while Tru64 will put them in the object
- # directory.
- mkdir sub
-
- am_cv_$1_dependencies_compiler_type=none
- if test "$am_compiler_list" = ""; then
- am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
- fi
- am__universal=false
- m4_case([$1], [CC],
- [case " $depcc " in #(
- *\ -arch\ *\ -arch\ *) am__universal=true ;;
- esac],
- [CXX],
- [case " $depcc " in #(
- *\ -arch\ *\ -arch\ *) am__universal=true ;;
- esac])
-
- for depmode in $am_compiler_list; do
- # Setup a source with many dependencies, because some compilers
- # like to wrap large dependency lists on column 80 (with \), and
- # we should not choose a depcomp mode which is confused by this.
- #
- # We need to recreate these files for each test, as the compiler may
- # overwrite some of them when testing with obscure command lines.
- # This happens at least with the AIX C compiler.
- : > sub/conftest.c
- for i in 1 2 3 4 5 6; do
- echo '#include "conftst'$i'.h"' >> sub/conftest.c
- # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
- # Solaris 8's {/usr,}/bin/sh.
- touch sub/conftst$i.h
- done
- echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
- # We check with `-c' and `-o' for the sake of the "dashmstdout"
- # mode. It turns out that the SunPro C++ compiler does not properly
- # handle `-M -o', and we need to detect this. Also, some Intel
- # versions had trouble with output in subdirs
- am__obj=sub/conftest.${OBJEXT-o}
- am__minus_obj="-o $am__obj"
- case $depmode in
- gcc)
- # This depmode causes a compiler race in universal mode.
- test "$am__universal" = false || continue
- ;;
- nosideeffect)
- # after this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested
- if test "x$enable_dependency_tracking" = xyes; then
- continue
- else
- break
- fi
- ;;
- msvc7 | msvc7msys | msvisualcpp | msvcmsys)
- # This compiler won't grok `-c -o', but also, the minuso test has
- # not run yet. These depmodes are late enough in the game, and
- # so weak that their functioning should not be impacted.
- am__obj=conftest.${OBJEXT-o}
- am__minus_obj=
- ;;
- none) break ;;
- esac
- if depmode=$depmode \
- source=sub/conftest.c object=$am__obj \
- depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
- $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
- >/dev/null 2>conftest.err &&
- grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
- grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
- ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
- # icc doesn't choke on unknown options, it will just issue warnings
- # or remarks (even with -Werror). So we grep stderr for any message
- # that says an option was ignored or not supported.
- # When given -MP, icc 7.0 and 7.1 complain thusly:
- # icc: Command line warning: ignoring option '-M'; no argument required
- # The diagnosis changed in icc 8.0:
- # icc: Command line remark: option '-MP' not supported
- if (grep 'ignoring option' conftest.err ||
- grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
- am_cv_$1_dependencies_compiler_type=$depmode
- break
- fi
- fi
- done
-
- cd ..
- rm -rf conftest.dir
-else
- am_cv_$1_dependencies_compiler_type=none
-fi
-])
-AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
-AM_CONDITIONAL([am__fastdep$1], [
- test "x$enable_dependency_tracking" != xno \
- && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
-])
-
-
-# AM_SET_DEPDIR
-# -------------
-# Choose a directory name for dependency files.
-# This macro is AC_REQUIREd in _AM_DEPENDENCIES
-AC_DEFUN([AM_SET_DEPDIR],
-[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
-AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
-])
-
-
-# AM_DEP_TRACK
-# ------------
-AC_DEFUN([AM_DEP_TRACK],
-[AC_ARG_ENABLE(dependency-tracking,
-[ --disable-dependency-tracking speeds up one-time build
- --enable-dependency-tracking do not reject slow dependency extractors])
-if test "x$enable_dependency_tracking" != xno; then
- am_depcomp="$ac_aux_dir/depcomp"
- AMDEPBACKSLASH='\'
- am__nodep='_no'
-fi
-AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
-AC_SUBST([AMDEPBACKSLASH])dnl
-_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
-AC_SUBST([am__nodep])dnl
-_AM_SUBST_NOTMAKE([am__nodep])dnl
-])
-
-# Generate code to set up dependency tracking. -*- Autoconf -*-
-
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-#serial 5
-
-# _AM_OUTPUT_DEPENDENCY_COMMANDS
-# ------------------------------
-AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
-[{
- # Autoconf 2.62 quotes --file arguments for eval, but not when files
- # are listed without --file. Let's play safe and only enable the eval
- # if we detect the quoting.
- case $CONFIG_FILES in
- *\'*) eval set x "$CONFIG_FILES" ;;
- *) set x $CONFIG_FILES ;;
- esac
- shift
- for mf
- do
- # Strip MF so we end up with the name of the file.
- mf=`echo "$mf" | sed -e 's/:.*$//'`
- # Check whether this is an Automake generated Makefile or not.
- # We used to match only the files named `Makefile.in', but
- # some people rename them; so instead we look at the file content.
- # Grep'ing the first line is not enough: some people post-process
- # each Makefile.in and add a new line on top of each file to say so.
- # Grep'ing the whole file is not good either: AIX grep has a line
- # limit of 2048, but all sed's we know have understand at least 4000.
- if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
- dirpart=`AS_DIRNAME("$mf")`
- else
- continue
- fi
- # Extract the definition of DEPDIR, am__include, and am__quote
- # from the Makefile without running `make'.
- DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
- test -z "$DEPDIR" && continue
- am__include=`sed -n 's/^am__include = //p' < "$mf"`
- test -z "am__include" && continue
- am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
- # When using ansi2knr, U may be empty or an underscore; expand it
- U=`sed -n 's/^U = //p' < "$mf"`
- # Find all dependency output files, they are included files with
- # $(DEPDIR) in their names. We invoke sed twice because it is the
- # simplest approach to changing $(DEPDIR) to its actual value in the
- # expansion.
- for file in `sed -n "
- s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
- # Make sure the directory exists.
- test -f "$dirpart/$file" && continue
- fdir=`AS_DIRNAME(["$file"])`
- AS_MKDIR_P([$dirpart/$fdir])
- # echo "creating $dirpart/$file"
- echo '# dummy' > "$dirpart/$file"
- done
- done
-}
-])# _AM_OUTPUT_DEPENDENCY_COMMANDS
-
-
-# AM_OUTPUT_DEPENDENCY_COMMANDS
-# -----------------------------
-# This macro should only be invoked once -- use via AC_REQUIRE.
-#
-# This code is only required when automatic dependency tracking
-# is enabled. FIXME. This creates each `.P' file that we will
-# need in order to bootstrap the dependency handling code.
-AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
-[AC_CONFIG_COMMANDS([depfiles],
- [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
- [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
-])
-
-# Copyright (C) 2003, 2005 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 2
-
-# Check whether the underlying file-system supports filenames
-# with a leading dot. For instance MS-DOS doesn't.
-AC_DEFUN([AM_SET_LEADING_DOT],
-[rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
- am__leading_dot=.
-else
- am__leading_dot=_
-fi
-rmdir .tst 2>/dev/null
-AC_SUBST([am__leading_dot])])
-
-# Check to see how 'make' treats includes. -*- Autoconf -*-
-
-# Copyright (C) 2001, 2002, 2003, 2005, 2009 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 4
-
-# AM_MAKE_INCLUDE()
-# -----------------
-# Check to see how make treats includes.
-AC_DEFUN([AM_MAKE_INCLUDE],
-[am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
- @echo this is the am__doit target
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-AC_MSG_CHECKING([for style of include used by $am_make])
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# Ignore all kinds of additional output from `make'.
-case `$am_make -s -f confmf 2> /dev/null` in #(
-*the\ am__doit\ target*)
- am__include=include
- am__quote=
- _am_result=GNU
- ;;
-esac
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
- echo '.include "confinc"' > confmf
- case `$am_make -s -f confmf 2> /dev/null` in #(
- *the\ am__doit\ target*)
- am__include=.include
- am__quote="\""
- _am_result=BSD
- ;;
- esac
-fi
-AC_SUBST([am__include])
-AC_SUBST([am__quote])
-AC_MSG_RESULT([$_am_result])
-rm -f confinc confmf
-])
-
-# Copyright (C) 2006, 2008, 2010 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 3
-
-# _AM_SUBST_NOTMAKE(VARIABLE)
-# ---------------------------
-# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
-# This macro is traced by Automake.
-AC_DEFUN([_AM_SUBST_NOTMAKE])
-
-# AM_SUBST_NOTMAKE(VARIABLE)
-# --------------------------
-# Public sister of _AM_SUBST_NOTMAKE.
-AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
-
-m4_include([../acinclude.m4])
diff --git a/libgloss/or1k/board.h b/libgloss/or1k/board.h
deleted file mode 100644
index d6b51bf8a..000000000
--- a/libgloss/or1k/board.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/* board.h -- board variable definitions for OpenRISC 1000.
- *
- * Copyright (c) 2014 Authors
- *
- * Contributor Stefan Wallentowitz <stefan.wallentowitz@tum.de>
- *
- * The authors hereby grant permission to use, copy, modify, distribute,
- * and license this software and its documentation for any purpose, provided
- * that existing copyright notices are retained in all copies and that this
- * notice is included verbatim in any distributions. No written agreement,
- * license, or royalty fee is required for any of the authorized uses.
- * Modifications to this software may be copyrighted by their authors
- * and need not follow the licensing terms described here, provided that
- * the new terms are clearly indicated on the first page of each file where
- * they apply.
- */
-
-#ifndef __BOARD_H__
-#define __BOARD_H__
-
-#include <stdint.h>
-
-extern void* _or1k_board_mem_base;
-extern uint32_t _or1k_board_mem_size;
-extern uint32_t _or1k_board_clk_freq;
-
-extern uint32_t _or1k_board_uart_base;
-extern uint32_t _or1k_board_uart_baud;
-extern uint32_t _or1k_board_uart_IRQ;
-
-extern void _or1k_board_exit(void);
-extern void _or1k_board_init_early(void);
-extern void _or1k_board_init(void);
-
-#endif // __BOARD_H__
diff --git a/libgloss/or1k/boards/README b/libgloss/or1k/boards/README
deleted file mode 100644
index b6c5abf92..000000000
--- a/libgloss/or1k/boards/README
+++ /dev/null
@@ -1,65 +0,0 @@
-# Add a new board
-
-Before adding a new board, you may consider if your board can use another
-board definition and simply overwrite the weak symbols.
-
-If you think it is worth adding a new board, you need to perform the following
-steps:
-
- * Decide for a meaningful board name (refered to as <board> below). It should
- be specific enough (not openrisc..), but be rather generic if it may cover
- similar boards as well.
-
- * Create a file <board>.S (assembler) or <board>.c (C). Of course, C is easier
- to write and you can implement everything in C, but there are restrictions:
-
- * There is an early initialization function. It is called before the C
- library and even the stack are initialized. A default implementation skips
- this step, so everything will compile, but if you really need
- initialization that early you are bound to assembly language.
-
- * You essentially should not use the C library functions as this may lead to
- link issues and circular dependencies.
-
- You can copy board_tmpl.S or board_tmpl.c as starting point for your board.
-
- * The following symbols must be defined in your board file:
-
- * _or1k_board_mem_base: Memory base address
-
- * _or1k_board_mem_size: Memory size
-
- * _or1k_board_clk_freq: Clock frequency
-
- * _or1k_board_uart_base: UART base address. Set to 0 if no UART present.
-
- * _or1k_board_uart_baud: UART baud rate. Only used if UART base is > 0
-
- * _or1k_board_uart_IRQ: UART interrupt line. Only used if UART base is > 0
-
- You can define a weak attribute for all of the symbols so that they can
- be overwritten by the user (more flexibility).
-
- * The following functions need to be implemented:
-
- * _or1k_board_init: Is called after C library initialization and UART
- initialization.
-
- * _or1k_board_exit: Is called after the program has exited and the C library
- finished all deconstructions etc.
-
- Similar to the symbols you can define those functions weak.
-
- * The following functions can be implemented:
-
- * _or1k_board_init_early: Only in assembly (see above). Is called before
- anything is initialized, not even the stack! You can use all registers
- in this function. The default implementation in crt0.S skips this step,
- which is fine in most cases. If you decide to implement it, you need to
- define it with the global attribute to overwrite the default
- implementation. It is recommended to do so in assembler board files to
- keep the ability to overwrite the default implementation by the user.
-
-When you are done with your board, add it to libgloss/or1k/Makefile.in to the
-BOARDS variable and compile.
-
diff --git a/libgloss/or1k/boards/atlys.S b/libgloss/or1k/boards/atlys.S
deleted file mode 100644
index 544504a1b..000000000
--- a/libgloss/or1k/boards/atlys.S
+++ /dev/null
@@ -1,55 +0,0 @@
-/* atlys.S -- Support for the Atlys board.
- *
- * Copyright (c) 2012 Authors
- *
- * Contributor Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>
- *
- * The authors hereby grant permission to use, copy, modify, distribute,
- * and license this software and its documentation for any purpose, provided
- * that existing copyright notices are retained in all copies and that this
- * notice is included verbatim in any distributions. No written agreement,
- * license, or royalty fee is required for any of the authorized uses.
- * Modifications to this software may be copyrighted by their authors
- * and need not follow the licensing terms described here, provided that
- * the new terms are clearly indicated on the first page of each file where
- * they apply.
- */
-
-#include "../include/or1k-asm.h"
-#include "../include/or1k-nop.h"
-
-/*
- * Define symbols to be used during startup - file is linked at compile time
- *
- */
-.weak _or1k_board_mem_base
-.weak _or1k_board_mem_size
-.weak _or1k_board_clk_freq
-
-_or1k_board_mem_base: .long 0x0
-_or1k_board_mem_size: .long 0x2000000
-
-_or1k_board_clk_freq: .long 50000000
-
-/* Peripheral information - Set base to 0 if not present*/
-.weak _or1k_board_uart_base
-.weak _or1k_board_uart_baud
-.weak _or1k_board_uart_IRQ
-
-_or1k_board_uart_base: .long 0x90000000
-_or1k_board_uart_baud: .long 115200
-_or1k_board_uart_IRQ: .long 2
-
-.weak _or1k_board_exit
-_or1k_board_exit:
- l.nop OR1K_NOP_K_EXIT_QUIET
-.Lexitloop:
- OR1K_DELAYED_NOP(l.j .Lexitloop)
-
-.global _or1k_board_init_early
-_or1k_board_init_early:
- OR1K_DELAYED_NOP(l.jr r9)
-
-.weak _or1k_board_init
-_or1k_board_init:
- OR1K_DELAYED_NOP(l.jr r9)
diff --git a/libgloss/or1k/boards/de0_nano.S b/libgloss/or1k/boards/de0_nano.S
deleted file mode 100644
index 28686d1ee..000000000
--- a/libgloss/or1k/boards/de0_nano.S
+++ /dev/null
@@ -1,57 +0,0 @@
-/* de0_nano.S -- Support for the DE0 nano board.
- *
- * Copyright (c) 2012 Authors
- *
- * Contributor Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>
- *
- * The authors hereby grant permission to use, copy, modify, distribute,
- * and license this software and its documentation for any purpose, provided
- * that existing copyright notices are retained in all copies and that this
- * notice is included verbatim in any distributions. No written agreement,
- * license, or royalty fee is required for any of the authorized uses.
- * Modifications to this software may be copyrighted by their authors
- * and need not follow the licensing terms described here, provided that
- * the new terms are clearly indicated on the first page of each file where
- * they apply.
- */
-
-#include "../include/or1k-asm.h"
-#include "../include/or1k-nop.h"
-
-/*
- * Define symbols to be used during startup - file is linked at compile time
- *
- */
-.weak _or1k_board_mem_base
-.weak _or1k_board_mem_size
-.weak _or1k_board_clk_freq
-
-_or1k_board_mem_base: .long 0x0
-_or1k_board_mem_size: .long 0x2000000
-
-_or1k_board_clk_freq: .long 50000000
-
-/* Peripheral information - Set base to 0 if not present*/
-.weak _or1k_board_uart_base
-.weak _or1k_board_uart_baud
-.weak _or1k_board_uart_IRQ
-
-_or1k_board_uart_base: .long 0x90000000
-_or1k_board_uart_baud: .long 115200
-_or1k_board_uart_IRQ: .long 2
-
-.weak _or1k_board_exit
-_or1k_board_exit:
- l.nop OR1K_NOP_K_EXIT_QUIET
-.Lexitloop:
- OR1K_DELAYED_NOP(l.j .Lexitloop)
-
-.global _or1k_board_init_early
-_or1k_board_init_early:
- OR1K_DELAYED_NOP(l.jr r9)
-
-.weak _or1k_board_init
-_or1k_board_init:
- OR1K_DELAYED_NOP(l.jr r9)
-
-
diff --git a/libgloss/or1k/boards/ml501.S b/libgloss/or1k/boards/ml501.S
deleted file mode 100644
index 98373d77b..000000000
--- a/libgloss/or1k/boards/ml501.S
+++ /dev/null
@@ -1,55 +0,0 @@
-/* ml501.S -- Support for the Xilinx ML501 board.
- *
- * Copyright (c) 2011 Authors
- *
- * Contributor Julius Baxter <juliusbaxter@gmail.com>
- *
- * The authors hereby grant permission to use, copy, modify, distribute,
- * and license this software and its documentation for any purpose, provided
- * that existing copyright notices are retained in all copies and that this
- * notice is included verbatim in any distributions. No written agreement,
- * license, or royalty fee is required for any of the authorized uses.
- * Modifications to this software may be copyrighted by their authors
- * and need not follow the licensing terms described here, provided that
- * the new terms are clearly indicated on the first page of each file where
- * they apply.
- */
-
-#include "../include/or1k-asm.h"
-#include "../include/or1k-nop.h"
-
-/*
- * Define symbols to be used during startup - file is linked at compile time
- *
- */
-.weak _or1k_board_mem_base
-.weak _or1k_board_mem_size
-.weak _or1k_board_clk_freq
-
-_or1k_board_mem_base: .long 0x0
-_or1k_board_mem_size: .long 0x800000
-
-_or1k_board_clk_freq: .long 66666666
-
-/* Peripheral information - Set base to 0 if not present*/
-.weak _or1k_board_uart_base
-.weak _or1k_board_uart_baud
-.weak _or1k_board_uart_IRQ
-
-_or1k_board_uart_base: .long 0x90000000
-_or1k_board_uart_baud: .long 115200
-_or1k_board_uart_IRQ: .long 2
-
-.weak _or1k_board_exit
-_or1k_board_exit:
- l.nop OR1K_NOP_K_EXIT_QUIET
-.Lexitloop:
- OR1K_DELAYED_NOP(l.j .Lexitloop)
-
-.global _or1k_board_init_early
-_or1k_board_init_early:
- OR1K_DELAYED_NOP(l.jr r9)
-
-.weak _or1k_board_init
-_or1k_board_init:
- OR1K_DELAYED_NOP(l.jr r9)
diff --git a/libgloss/or1k/boards/ml509.S b/libgloss/or1k/boards/ml509.S
deleted file mode 100644
index c31be3bd6..000000000
--- a/libgloss/or1k/boards/ml509.S
+++ /dev/null
@@ -1,55 +0,0 @@
-/* ml509.S -- Support for the Xilinx ML509 board (XUPV5).
- *
- * Copyright (c) 2014 Authors
- *
- * Contributor Matthew Hicks <firefalcon@gmail.com>
- *
- * The authors hereby grant permission to use, copy, modify, distribute,
- * and license this software and its documentation for any purpose, provided
- * that existing copyright notices are retained in all copies and that this
- * notice is included verbatim in any distributions. No written agreement,
- * license, or royalty fee is required for any of the authorized uses.
- * Modifications to this software may be copyrighted by their authors
- * and need not follow the licensing terms described here, provided that
- * the new terms are clearly indicated on the first page of each file where
- * they apply.
- */
-
-#include "../include/or1k-asm.h"
-#include "../include/or1k-nop.h"
-
-/*
- * Define symbols to be used during startup - file is linked at compile time
- *
- */
-.weak _or1k_board_mem_base
-.weak _or1k_board_mem_size
-.weak _or1k_board_clk_freq
-
-_or1k_board_mem_base: .long 0x0
-_or1k_board_mem_size: .long 0x08000000
-
-_or1k_board_clk_freq: .long 50000000
-
-/* Peripheral information - Set base to 0 if not present*/
-.weak _or1k_board_uart_base
-.weak _or1k_board_uart_baud
-.weak _or1k_board_uart_IRQ
-
-_or1k_board_uart_base: .long 0x90000000
-_or1k_board_uart_baud: .long 115200
-_or1k_board_uart_IRQ: .long 2
-
-.weak _or1k_board_exit
-_or1k_board_exit:
- l.nop OR1K_NOP_K_EXIT_QUIET
-.Lexitloop:
- OR1K_DELAYED_NOP(l.j .Lexitloop)
-
-.global _or1k_board_init_early
-_or1k_board_init_early:
- OR1K_DELAYED_NOP(l.jr r9)
-
-.weak _or1k_board_init
-_or1k_board_init:
- OR1K_DELAYED_NOP(l.jr r9)
diff --git a/libgloss/or1k/boards/optimsoc.S b/libgloss/or1k/boards/optimsoc.S
deleted file mode 100644
index a8493729d..000000000
--- a/libgloss/or1k/boards/optimsoc.S
+++ /dev/null
@@ -1,68 +0,0 @@
-/* optimsoc.S -- Support for OpTiMSoC systems.
- *
- * Copyright (c) 2014 Authors
- *
- * Contributor Stefan Wallentowitz <stefan.wallentowitz@saunalahti.fi>
- *
- * The authors hereby grant permission to use, copy, modify, distribute,
- * and license this software and its documentation for any purpose, provided
- * that existing copyright notices are retained in all copies and that this
- * notice is included verbatim in any distributions. No written agreement,
- * license, or royalty fee is required for any of the authorized uses.
- * Modifications to this software may be copyrighted by their authors
- * and need not follow the licensing terms described here, provided that
- * the new terms are clearly indicated on the first page of each file where
- * they apply.
- */
-
-#include "../include/or1k-asm.h"
-#include "../include/or1k-nop.h"
-
-#define OPTIMSOC_NA_BASE 0xe0000000
-
-#define OPTIMSOC_NA_REGS OPTIMSOC_NA_BASE + 0x00000
-#define OPTIMSOC_NA_LMEM_SIZE OPTIMSOC_NA_REGS + 0x24
-
-/*
- * Define symbols to be used during startup - file is linked at compile time
- *
- */
-.weak _or1k_board_mem_base
-.weak _or1k_board_mem_size
-.weak _or1k_board_clk_freq
-
-_or1k_board_mem_base: .long 0x0
-_or1k_board_mem_size: .long 0x0
-
-_or1k_board_clk_freq: .long 50000000
-
-.weak _or1k_board_uart_base
-.weak _or1k_board_uart_baud
-.weak _or1k_board_uart_IRQ
-_or1k_board_uart_base: .long 0x0
-_or1k_board_uart_baud: .long 0
-_or1k_board_uart_IRQ: .long 0
-
-.weak _or1k_board_exit
-_or1k_board_exit:
- l.nop OR1K_NOP_K_EXIT
-.Lexitloop:
- OR1K_DELAYED_NOP(l.j .Lexitloop)
-
-.global _or1k_board_init_early
-_or1k_board_init_early:
-#ifndef __OR1K_MULTICORE__
- l.nop 0x1
-.die:
- OR1K_DELAYED_NOP(l.j die)
-#endif
- l.movhi r1,hi(OPTIMSOC_NA_LMEM_SIZE)
- l.ori r1,r1,lo(OPTIMSOC_NA_LMEM_SIZE)
- l.lwz r1,0(r1)
- l.movhi r2,hi(_or1k_board_mem_size)
- l.ori r2,r2,lo(_or1k_board_mem_size)
- l.sw 0(r2),r1
-
-.weak _or1k_board_init
-_or1k_board_init:
- OR1K_DELAYED_NOP(l.jr r9)
diff --git a/libgloss/or1k/boards/or1ksim-uart.S b/libgloss/or1k/boards/or1ksim-uart.S
deleted file mode 100644
index 561ace375..000000000
--- a/libgloss/or1k/boards/or1ksim-uart.S
+++ /dev/null
@@ -1,55 +0,0 @@
-/* or1ksim-uart.S -- Support for or1ksim with UART support.
- *
- * Copyright (c) 2011 Authors
- *
- * Contributor Julius Baxter <juliusbaxter@gmail.com>
- *
- * The authors hereby grant permission to use, copy, modify, distribute,
- * and license this software and its documentation for any purpose, provided
- * that existing copyright notices are retained in all copies and that this
- * notice is included verbatim in any distributions. No written agreement,
- * license, or royalty fee is required for any of the authorized uses.
- * Modifications to this software may be copyrighted by their authors
- * and need not follow the licensing terms described here, provided that
- * the new terms are clearly indicated on the first page of each file where
- * they apply.
- */
-
-#include "../include/or1k-asm.h"
-#include "../include/or1k-nop.h"
-
-/*
- * Define symbols to be used during startup - file is linked at compile time
- *
- */
-
-.weak _or1k_board_mem_base
-.weak _or1k_board_mem_size
-.weak _or1k_board_clk_freq
-
-_or1k_board_mem_base: .long 0x0
-_or1k_board_mem_size: .long 0x800000
-_or1k_board_clk_freq: .long 100000000
-
-/* Peripheral information - Set base to 0 if not present*/
-.weak _or1k_board_uart_base
-.weak _or1k_board_uart_baud
-.weak _or1k_board_uart_IRQ
-
-_or1k_board_uart_base: .long 0x90000000
-_or1k_board_uart_baud: .long 115200
-_or1k_board_uart_IRQ: .long 2
-
-.weak _or1k_board_exit
-_or1k_board_exit:
- l.nop OR1K_NOP_K_EXIT_QUIET
-.Lexitloop:
- OR1K_DELAYED_NOP(l.j .Lexitloop)
-
-.global _or1k_board_init_early
-_or1k_board_init_early:
- OR1K_DELAYED_NOP(l.jr r9)
-
-.weak _or1k_board_init
-_or1k_board_init:
- OR1K_DELAYED_NOP(l.jr r9)
diff --git a/libgloss/or1k/boards/or1ksim.S b/libgloss/or1k/boards/or1ksim.S
deleted file mode 100644
index 946778a9c..000000000
--- a/libgloss/or1k/boards/or1ksim.S
+++ /dev/null
@@ -1,56 +0,0 @@
-/* or1ksim.S -- Support for or1ksim.
- *
- * Copyright (c) 2011 Authors
- *
- * Contributor Julius Baxter <juliusbaxter@gmail.com>
- *
- * The authors hereby grant permission to use, copy, modify, distribute,
- * and license this software and its documentation for any purpose, provided
- * that existing copyright notices are retained in all copies and that this
- * notice is included verbatim in any distributions. No written agreement,
- * license, or royalty fee is required for any of the authorized uses.
- * Modifications to this software may be copyrighted by their authors
- * and need not follow the licensing terms described here, provided that
- * the new terms are clearly indicated on the first page of each file where
- * they apply.
- */
-
-#include "../include/or1k-asm.h"
-#include "../include/or1k-nop.h"
-
-/*
- * Define symbols to be used during startup - file is linked at compile time
- *
- */
-.weak _or1k_board_mem_base
-.weak _or1k_board_mem_size
-.weak _or1k_board_clk_freq
-
-_or1k_board_mem_base: .long 0x0
-_or1k_board_mem_size: .long 0x800000
-
-_or1k_board_clk_freq: .long 100000000
-
-/* Peripheral information - Set base to 0 if not present*/
-.weak _or1k_board_uart_base
-.weak _or1k_board_uart_baud
-.weak _or1k_board_uart_IRQ
-
-_or1k_board_uart_base: .long 0x0
-_or1k_board_uart_baud: .long 115200
-_or1k_board_uart_IRQ: .long 13
-
-.weak _or1k_board_exit
-_or1k_board_exit:
- l.nop OR1K_NOP_K_EXIT_QUIET
-.Lexitloop:
- OR1K_DELAYED_NOP(l.j .Lexitloop)
-
-.global _or1k_board_init_early
-_or1k_board_init_early:
- OR1K_DELAYED_NOP(l.jr r9)
-
-.weak _or1k_board_init
-_or1k_board_init:
- OR1K_DELAYED_NOP(l.jr r9)
-
diff --git a/libgloss/or1k/boards/ordb1a3pe1500.S b/libgloss/or1k/boards/ordb1a3pe1500.S
deleted file mode 100644
index 47b8e5423..000000000
--- a/libgloss/or1k/boards/ordb1a3pe1500.S
+++ /dev/null
@@ -1,55 +0,0 @@
-/* ordb1a3pe1500.S -- Support for orpsocv2 Actel board.
- *
- * Copyright (c) 2011 Authors
- *
- * Contributor Julius Baxter <juliusbaxter@gmail.com>
- *
- * The authors hereby grant permission to use, copy, modify, distribute,
- * and license this software and its documentation for any purpose, provided
- * that existing copyright notices are retained in all copies and that this
- * notice is included verbatim in any distributions. No written agreement,
- * license, or royalty fee is required for any of the authorized uses.
- * Modifications to this software may be copyrighted by their authors
- * and need not follow the licensing terms described here, provided that
- * the new terms are clearly indicated on the first page of each file where
- * they apply.
- */
-
-#include "../include/or1k-asm.h"
-#include "../include/or1k-nop.h"
-
-/*
- * Define symbols to be used during startup - file is linked at compile time
- *
- */
-.weak _or1k_board_mem_base
-.weak _or1k_board_mem_size
-.weak _or1k_board_clk_freq
-
-_or1k_board_mem_base: .long 0x0
-_or1k_board_mem_size: .long 0x02000000
-
-_or1k_board_clk_freq: .long 20000000
-
-/* Peripheral information - Set base to 0 if not present*/
-.weak _or1k_board_uart_base
-.weak _or1k_board_uart_baud
-.weak _or1k_board_uart_IRQ
-
-_or1k_board_uart_base: .long 0x90000000
-_or1k_board_uart_baud: .long 115200
-_or1k_board_uart_IRQ: .long 2
-
-.weak _or1k_board_exit
-_or1k_board_exit:
- l.nop OR1K_NOP_K_EXIT_QUIET
-.Lexitloop:
- OR1K_DELAYED_NOP(l.j .Lexitloop)
-
-.global _or1k_board_init_early
-_or1k_board_init_early:
- OR1K_DELAYED_NOP(l.jr r9)
-
-.weak _or1k_board_init
-_or1k_board_init:
- OR1K_DELAYED_NOP(l.jr r9)
diff --git a/libgloss/or1k/boards/ordb2a.S b/libgloss/or1k/boards/ordb2a.S
deleted file mode 100644
index 9ba23a3ca..000000000
--- a/libgloss/or1k/boards/ordb2a.S
+++ /dev/null
@@ -1,55 +0,0 @@
-/* ordb2a.S -- Support for the new OpenRISC ORPSoC reference design.
- *
- * Copyright (c) 2012 Authors
- *
- * Contributor Olof Kindgren <olof.kindgren@gmail.com>
- *
- * The authors hereby grant permission to use, copy, modify, distribute,
- * and license this software and its documentation for any purpose, provided
- * that existing copyright notices are retained in all copies and that this
- * notice is included verbatim in any distributions. No written agreement,
- * license, or royalty fee is required for any of the authorized uses.
- * Modifications to this software may be copyrighted by their authors
- * and need not follow the licensing terms described here, provided that
- * the new terms are clearly indicated on the first page of each file where
- * they apply.
- */
-
-#include "../include/or1k-asm.h"
-#include "../include/or1k-nop.h"
-
-/*
- * Define symbols to be used during startup - file is linked at compile time
- * Olof Kindgren olof at opencores.org
- */
-.weak _or1k_board_mem_base
-.weak _or1k_board_mem_size
-.weak _or1k_board_clk_freq
-
-_or1k_board_mem_base: .long 0x0
-_or1k_board_mem_size: .long 0x02000000
-
-_or1k_board_clk_freq: .long 50000000
-
-/* Peripheral information - Set base to 0 if not present*/
-.weak _or1k_board_uart_base
-.weak _or1k_board_uart_baud
-.weak _or1k_board_uart_IRQ
-
-_or1k_board_uart_base: .long 0x90000000
-_or1k_board_uart_baud: .long 115200
-_or1k_board_uart_IRQ: .long 2
-
-.weak _or1k_board_exit
-_or1k_board_exit:
- l.nop OR1K_NOP_K_EXIT_QUIET
-.Lexitloop:
- OR1K_DELAYED_NOP(l.j .Lexitloop)
-
-.global _or1k_board_init_early
-_or1k_board_init_early:
- OR1K_DELAYED_NOP(l.jr r9)
-
-.weak _or1k_board_init
-_or1k_board_init:
- OR1K_DELAYED_NOP(l.jr r9)
diff --git a/libgloss/or1k/boards/orpsocrefdesign.S b/libgloss/or1k/boards/orpsocrefdesign.S
deleted file mode 100644
index 331f96be8..000000000
--- a/libgloss/or1k/boards/orpsocrefdesign.S
+++ /dev/null
@@ -1,55 +0,0 @@
-/* orpsocrefdesign.S -- Support for the orpsoc reference design.
- *
- * Copyright (c) 2011 Authors
- *
- * Contributor Julius Baxter <juliusbaxter@gmail.com>
- *
- * The authors hereby grant permission to use, copy, modify, distribute,
- * and license this software and its documentation for any purpose, provided
- * that existing copyright notices are retained in all copies and that this
- * notice is included verbatim in any distributions. No written agreement,
- * license, or royalty fee is required for any of the authorized uses.
- * Modifications to this software may be copyrighted by their authors
- * and need not follow the licensing terms described here, provided that
- * the new terms are clearly indicated on the first page of each file where
- * they apply.
- */
-
-#include "../include/or1k-asm.h"
-#include "../include/or1k-nop.h"
-
-/*
- * Define symbols to be used during startup - file is linked at compile time
- *
- */
-.weak _or1k_board_mem_base
-.weak _or1k_board_mem_size
-.weak _or1k_board_clk_freq
-
-_or1k_board_mem_base: .long 0x0
-_or1k_board_mem_size: .long 0x800000
-
-_or1k_board_clk_freq: .long 50000000
-
-/* Peripheral information - Set base to 0 if not present*/
-.weak _or1k_board_uart_base
-.weak _or1k_board_uart_baud
-.weak _or1k_board_uart_IRQ
-
-_or1k_board_uart_base: .long 0
-_or1k_board_uart_baud: .long 115200
-_or1k_board_uart_IRQ: .long 2
-
-.weak _or1k_board_exit
-_or1k_board_exit:
- l.nop OR1K_NOP_K_EXIT_QUIET
-.Lexitloop:
- OR1K_DELAYED_NOP(l.j .Lexitloop)
-
-.global _or1k_board_init_early
-_or1k_board_init_early:
- OR1K_DELAYED_NOP(l.jr r9)
-
-.weak _or1k_board_init
-_or1k_board_init:
- OR1K_DELAYED_NOP(l.jr r9)
diff --git a/libgloss/or1k/boards/tmpl.S b/libgloss/or1k/boards/tmpl.S
deleted file mode 100644
index 523ecef28..000000000
--- a/libgloss/or1k/boards/tmpl.S
+++ /dev/null
@@ -1,60 +0,0 @@
-/* tmpl.S -- Template for new boards.
- *
- * Copyright (c) 2014 Authors
- *
- * Contributor Stefan Wallentowitz <stefan.wallentowitz@saunalahti.fi>
- *
- * The authors hereby grant permission to use, copy, modify, distribute,
- * and license this software and its documentation for any purpose, provided
- * that existing copyright notices are retained in all copies and that this
- * notice is included verbatim in any distributions. No written agreement,
- * license, or royalty fee is required for any of the authorized uses.
- * Modifications to this software may be copyrighted by their authors
- * and need not follow the licensing terms described here, provided that
- * the new terms are clearly indicated on the first page of each file where
- * they apply.
- */
-
-#include "../include/or1k-asm.h"
-#include "../include/or1k-nop.h"
-
-/*
- * Define symbols to be used during startup - file is linked at compile time
- *
- */
-.weak _or1k_board_mem_base
-.weak _or1k_board_mem_size
-.weak _or1k_board_clk_freq
-
-// TODO: set memory base here
-_or1k_board_mem_base: .long 0x0
-// TODO: set memory size here
-_or1k_board_mem_size: .long 0x0
-
-// TODO: set board clock frequency here
-_or1k_board_clk_freq: .long 50000000
-
-// TODO: UART configuration
-.weak _or1k_board_uart_base
-.weak _or1k_board_uart_baud
-.weak _or1k_board_uart_IRQ
-_or1k_board_uart_base: .long 0x0
-_or1k_board_uart_baud: .long 0
-_or1k_board_uart_IRQ: .long 0
-
-// TODO: Board exit function, default: loop
-.weak _or1k_board_exit
-_or1k_board_exit:
- l.nop OR1K_NOP_EXIT_SILENT
-.Lexitloop:
- OR1K_DELAYED_NOP(l.j .Lexitloop)
-
-// TODO: Early initialization (if really needed!)
-.global _or1k_board_init_early
-_or1k_board_init_early:
- OR1K_DELAYED_NOP(l.jr r9)
-
-// TODO: Board initialization
-.weak _or1k_board_init
-_or1k_board_init:
- OR1K_DELAYED_NOP(l.jr r9)
diff --git a/libgloss/or1k/boards/tmpl.c b/libgloss/or1k/boards/tmpl.c
deleted file mode 100644
index ffc725815..000000000
--- a/libgloss/or1k/boards/tmpl.c
+++ /dev/null
@@ -1,40 +0,0 @@
-/* tmpl.c -- Template for new boards.
- *
- * Copyright (c) 2014 Authors
- *
- * Contributor Stefan Wallentowitz <stefan.wallentowitz@saunalahti.fi>
- *
- * The authors hereby grant permission to use, copy, modify, distribute,
- * and license this software and its documentation for any purpose, provided
- * that existing copyright notices are retained in all copies and that this
- * notice is included verbatim in any distributions. No written agreement,
- * license, or royalty fee is required for any of the authorized uses.
- * Modifications to this software may be copyrighted by their authors
- * and need not follow the licensing terms described here, provided that
- * the new terms are clearly indicated on the first page of each file where
- * they apply.
- */
-
-// TODO: set memory base here
-unsigned long __attribute__((weak)) _or1k_board_mem_base = 0x0;
-
-// TODO: set memory size here
-unsigned long __attribute__((weak)) _or1k_board_mem_size = 0x0;
-
-// TODO: set board clock frequency here
-unsigned long __attribute__((weak)) _or1k_board_clk_freq = 0x0;
-
-// TODO: UART configuration
-unsigned long __attribute__((weak)) _or1k_board_uart_base = 0x0;
-unsigned long __attribute__((weak)) _or1k_board_uart_baud = 0x0;
-unsigned long __attribute__((weak)) _or1k_board_uart_IRQ = 0x0;
-
-// TODO: Board exit function, default: loop
-void __attribute__((weak)) _or1k_board_exit(void) {
- while (1) {}
-}
-
-// TODO: Board initialization
-void __attribute__((weak)) _or1k_board_init(void) {
- return;
-}
diff --git a/libgloss/or1k/caches-asm.S b/libgloss/or1k/caches-asm.S
deleted file mode 100644
index f2ac09660..000000000
--- a/libgloss/or1k/caches-asm.S
+++ /dev/null
@@ -1,233 +0,0 @@
-/* caches-asm.S -- cache manipulation for OpenRISC 1000.
- *
- * Copyright (c) 2011, 2014 Authors
- *
- * Contributor Julius Baxter <juliusbaxter@gmail.com>
- * Contributor Stefan Wallentowitz <stefan.wallentowitz@tum.de>
- *
- * The authors hereby grant permission to use, copy, modify, distribute,
- * and license this software and its documentation for any purpose, provided
- * that existing copyright notices are retained in all copies and that this
- * notice is included verbatim in any distributions. No written agreement,
- * license, or royalty fee is required for any of the authorized uses.
- * Modifications to this software may be copyrighted by their authors
- * and need not follow the licensing terms described here, provided that
- * the new terms are clearly indicated on the first page of each file where
- * they apply.
- */
-
-#include "include/or1k-asm.h"
-#include "include/or1k-sprs.h"
-
-/* -------------------------------------------------------------------------- */
-/*!Function used at reset to clear and enable all caches
- */
-/* -------------------------------------------------------------------------- */
- .global _or1k_cache_init
- .type _or1k_cache_init,@function
-
-_or1k_cache_init:
- /* Instruction cache enable */
- /* Check if IC present and skip enabling otherwise */
- l.mfspr r3,r0,OR1K_SPR_SYS_UPR_ADDR
- l.andi r4,r3,OR1K_SPR_SYS_UPR_ICP_MASK
- l.sfeq r4,r0
- OR1K_DELAYED_NOP(OR1K_INST(l.bf .Lnoic))
-
- /* Disable IC */
- l.mfspr r6,r0,OR1K_SPR_SYS_SR_ADDR
- l.addi r5,r0,-1
- l.xori r5,r5,OR1K_SPR_SYS_SR_ICE_MASK
- l.and r5,r6,r5
- l.mtspr r0,r5,OR1K_SPR_SYS_SR_ADDR
-
- /* Establish cache block size
- If BS=0, 16;
- If BS=1, 32;
- r14 contain block size
- */
- l.mfspr r3,r0,OR1K_SPR_SYS_ICCFGR_ADDR
- l.andi r4,r3,OR1K_SPR_SYS_ICCFGR_CBS_MASK
- l.srli r7,r4,7
- l.ori r8,r0,16
- l.sll r14,r8,r7
-
- /* Establish number of cache sets
- r13 contains number of cache sets
- r7 contains log(# of cache sets)
- */
- l.andi r4,r3,OR1K_SPR_SYS_ICCFGR_NCS_MASK
- l.srli r7,r4,3
- l.ori r8,r0,1
- l.sll r13,r8,r7
-
- /* Invalidate IC */
- l.addi r6,r0,0
- l.sll r5,r14,r7
-
-.Linvi: l.mtspr r0,r6,OR1K_SPR_ICACHE_ICBIR_ADDR
- l.sfne r6,r5
- OR1K_DELAYED(
- OR1K_INST(l.add r6,r6,r14),
- OR1K_INST(l.bf .Linvi)
- )
-
- /* Enable IC */
- l.mfspr r6,r0,OR1K_SPR_SYS_SR_ADDR
- l.ori r6,r6,OR1K_SPR_SYS_SR_ICE_MASK
- l.mtspr r0,r6,OR1K_SPR_SYS_SR_ADDR
- l.nop
- l.nop
- l.nop
- l.nop
- l.nop
- l.nop
- l.nop
- l.nop
-
- /* Data cache enable */
- /* Check if DC present and skip enabling otherwise */
-.Lnoic: l.mfspr r3,r0,OR1K_SPR_SYS_UPR_ADDR
- l.andi r4,r3,OR1K_SPR_SYS_UPR_DCP_MASK
- l.sfeq r4,r0
- OR1K_DELAYED_NOP(OR1K_INST(l.bf .Lnodc))
- /* Disable DC */
- l.mfspr r6,r0,OR1K_SPR_SYS_SR_ADDR
- l.addi r5,r0,-1
- l.xori r5,r5,OR1K_SPR_SYS_SR_DCE_MASK
- l.and r5,r6,r5
- l.mtspr r0,r5,OR1K_SPR_SYS_SR_ADDR
- /* Establish cache block size
- If BS=0, 16;
- If BS=1, 32;
- r14 contain block size */
- l.mfspr r3,r0,OR1K_SPR_SYS_DCCFGR_ADDR
- l.andi r4,r3,OR1K_SPR_SYS_DCCFGR_CBS_MASK
- l.srli r7,r4,7
- l.ori r8,r0,16
- l.sll r14,r8,r7
- /* Establish number of cache sets
- r13 contains number of cache sets
- r7 contains log(# of cache sets) */
- l.andi r4,r3,OR1K_SPR_SYS_ICCFGR_NCS_MASK
- l.srli r7,r4,3
- l.ori r8,r0,1
- l.sll r13,r8,r7
- /* Invalidate DC */
- l.addi r6,r0,0
- l.sll r5,r14,r7
-
-.Linvd: l.mtspr r0,r6,OR1K_SPR_DCACHE_DCBIR_ADDR
- l.sfne r6,r5
- OR1K_DELAYED(
- OR1K_INST(l.add r6,r6,r14),
- OR1K_INST(l.bf .Linvd)
- )
- /* Enable DC */
- l.mfspr r6,r0,OR1K_SPR_SYS_SR_ADDR
- l.ori r6,r6,OR1K_SPR_SYS_SR_DCE_MASK
- l.mtspr r0,r6,OR1K_SPR_SYS_SR_ADDR
-
-.Lnodc:
- /* Return */
- OR1K_DELAYED_NOP(OR1K_INST(l.jr r9))
-
-/* -------------------------------------------------------------------------- */
-/*!Function to enable instruction cache
- */
-/* -------------------------------------------------------------------------- */
-
- .global or1k_icache_enable
- .type or1k_icache_enable,@function
-
-or1k_icache_enable:
- /* Enable IC */
- l.mfspr r13,r0,OR1K_SPR_SYS_SR_ADDR
- l.ori r13,r13,OR1K_SPR_SYS_SR_ICE_MASK
- l.mtspr r0,r13,OR1K_SPR_SYS_SR_ADDR
- l.nop
- l.nop
- l.nop
- l.nop
- l.nop
- OR1K_DELAYED_NOP(OR1K_INST(l.jr r9))
-
-/* -------------------------------------------------------------------------- */
-/*!Function to disable instruction cache
- */
-/* -------------------------------------------------------------------------- */
- .global or1k_icache_disable
- .type or1k_icache_disable,@function
-
-or1k_icache_disable:
- /* Disable IC */
- l.mfspr r13,r0,OR1K_SPR_SYS_SR_ADDR
- l.addi r12,r0,-1
- l.xori r12,r12,OR1K_SPR_SYS_SR_ICE_MASK
- l.and r12,r13,r12
- l.mtspr r0,r12,OR1K_SPR_SYS_SR_ADDR
- OR1K_DELAYED_NOP(OR1K_INST(l.jr r9))
-
-/* -------------------------------------------------------------------------- */
-/*!Function to flush address of instruction cache
- */
-/* -------------------------------------------------------------------------- */
- .global or1k_icache_flush
- .type or1k_icache_flush,@function
-
-or1k_icache_flush:
- OR1K_DELAYED(
- OR1K_INST(l.mtspr r0,r3,OR1K_SPR_ICACHE_ICBIR_ADDR),
- /* Push r3 into IC invalidate reg */
- OR1K_INST(l.jr r9)
- )
-
-
-/* -------------------------------------------------------------------------- */
-/*!Function to enable data cache
- */
-/* -------------------------------------------------------------------------- */
- .global or1k_dcache_enable
- .type or1k_dcache_enable,@function
-
-or1k_dcache_enable:
- /* Enable DC */
- l.mfspr r13,r0,OR1K_SPR_SYS_SR_ADDR
- l.ori r13,r13,OR1K_SPR_SYS_SR_DCE_MASK
- l.mtspr r0,r13,OR1K_SPR_SYS_SR_ADDR
- l.nop
- l.nop
- l.nop
- l.nop
- l.nop
- OR1K_DELAYED_NOP(OR1K_INST(l.jr r9))
-
-/* -------------------------------------------------------------------------- */
-/*!Function to disable data cache
- */
-/* -------------------------------------------------------------------------- */
- .global or1k_dcache_disable
- .type or1k_dcache_disable,@function
-
-or1k_dcache_disable:
- /* Disable DC */
- l.mfspr r13,r0,OR1K_SPR_SYS_SR_ADDR
- l.addi r12,r0,-1
- l.xori r12,r12,OR1K_SPR_SYS_SR_DCE_MASK
- l.and r12,r13,r12
- l.mtspr r0,r12,OR1K_SPR_SYS_SR_ADDR
- OR1K_DELAYED_NOP(OR1K_INST(l.jr r9))
-
-/* -------------------------------------------------------------------------- */
-/*!Function to flush address of data cache
- */
-/* -------------------------------------------------------------------------- */
- .global or1k_dcache_flush
- .type or1k_dcache_flush,@function
-
-or1k_dcache_flush:
- OR1K_DELAYED(
- OR1K_INST(l.mtspr r0,r3,OR1K_SPR_DCACHE_DCBIR_ADDR),
- /* Push r3 into DC invalidate reg */
- OR1K_INST(l.jr r9)
- )
diff --git a/libgloss/or1k/configure b/libgloss/or1k/configure
deleted file mode 100755
index 111331325..000000000
--- a/libgloss/or1k/configure
+++ /dev/null
@@ -1,3892 +0,0 @@
-#! /bin/sh
-# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.68 for libor1k 0.0.1.
-#
-#
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
-# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
-# Foundation, Inc.
-#
-#
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
- emulate sh
- NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
-else
- case `(set -o) 2>/dev/null` in #(
- *posix*) :
- set -o posix ;; #(
- *) :
- ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
- && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='print -r --'
- as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='printf %s\n'
- as_echo_n='printf %s'
-else
- if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
- as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
- as_echo_n='/usr/ucb/echo -n'
- else
- as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
- as_echo_n_body='eval
- arg=$1;
- case $arg in #(
- *"$as_nl"*)
- expr "X$arg" : "X\\(.*\\)$as_nl";
- arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
- esac;
- expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
- '
- export as_echo_n_body
- as_echo_n='sh -c $as_echo_n_body as_echo'
- fi
- export as_echo_body
- as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- PATH_SEPARATOR=:
- (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
- (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
- PATH_SEPARATOR=';'
- }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order. Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" "" $as_nl"
-
-# Find who we are. Look in the path if we contain no directory separator.
-as_myself=
-case $0 in #((
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
- as_myself=$0
-fi
-if test ! -f "$as_myself"; then
- $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
- exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there. '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
- && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-if test "x$CONFIG_SHELL" = x; then
- as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
- emulate sh
- NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '\${1+\"\$@\"}'='\"\$@\"'
- setopt NO_GLOB_SUBST
-else
- case \`(set -o) 2>/dev/null\` in #(
- *posix*) :
- set -o posix ;; #(
- *) :
- ;;
-esac
-fi
-"
- as_required="as_fn_return () { (exit \$1); }
-as_fn_success () { as_fn_return 0; }
-as_fn_failure () { as_fn_return 1; }
-as_fn_ret_success () { return 0; }
-as_fn_ret_failure () { return 1; }
-
-exitcode=0
-as_fn_success || { exitcode=1; echo as_fn_success failed.; }
-as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
-as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
-as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
-if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
-
-else
- exitcode=1; echo positional parameters were not saved.
-fi
-test x\$exitcode = x0 || exit 1"
- as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
- as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
- eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
- test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1"
- if (eval "$as_required") 2>/dev/null; then :
- as_have_required=yes
-else
- as_have_required=no
-fi
- if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
-
-else
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-as_found=false
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- as_found=:
- case $as_dir in #(
- /*)
- for as_base in sh bash ksh sh5; do
- # Try only shells that exist, to save several forks.
- as_shell=$as_dir/$as_base
- if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
- { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
- CONFIG_SHELL=$as_shell as_have_required=yes
- if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
- break 2
-fi
-fi
- done;;
- esac
- as_found=false
-done
-$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
- { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
- CONFIG_SHELL=$SHELL as_have_required=yes
-fi; }
-IFS=$as_save_IFS
-
-
- if test "x$CONFIG_SHELL" != x; then :
- # We cannot yet assume a decent shell, so we have to provide a
- # neutralization value for shells without unset; and this also
- # works around shells that cannot unset nonexistent variables.
- # Preserve -v and -x to the replacement shell.
- BASH_ENV=/dev/null
- ENV=/dev/null
- (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
- export CONFIG_SHELL
- case $- in # ((((
- *v*x* | *x*v* ) as_opts=-vx ;;
- *v* ) as_opts=-v ;;
- *x* ) as_opts=-x ;;
- * ) as_opts= ;;
- esac
- exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"}
-fi
-
- if test x$as_have_required = xno; then :
- $as_echo "$0: This script requires a shell more modern than all"
- $as_echo "$0: the shells that I found on your system."
- if test x${ZSH_VERSION+set} = xset ; then
- $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
- $as_echo "$0: be upgraded to zsh 4.3.4 or later."
- else
- $as_echo "$0: Please tell bug-autoconf@gnu.org about your system,
-$0: including any error possibly output before this
-$0: message. Then install a modern shell, or manually run
-$0: the script under such a shell if you do have one."
- fi
- exit 1
-fi
-fi
-fi
-SHELL=${CONFIG_SHELL-/bin/sh}
-export SHELL
-# Unset more variables known to interfere with behavior of common tools.
-CLICOLOR_FORCE= GREP_OPTIONS=
-unset CLICOLOR_FORCE GREP_OPTIONS
-
-## --------------------- ##
-## M4sh Shell Functions. ##
-## --------------------- ##
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
- { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
- return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
- set +e
- as_fn_set_status $1
- exit $1
-} # as_fn_exit
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
- case $as_dir in #(
- -*) as_dir=./$as_dir;;
- esac
- test -d "$as_dir" || eval $as_mkdir_p || {
- as_dirs=
- while :; do
- case $as_dir in #(
- *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
- *) as_qdir=$as_dir;;
- esac
- as_dirs="'$as_qdir' $as_dirs"
- as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- test -d "$as_dir" && break
- done
- test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
- eval 'as_fn_append ()
- {
- eval $1+=\$2
- }'
-else
- as_fn_append ()
- {
- eval $1=\$$1\$2
- }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
- eval 'as_fn_arith ()
- {
- as_val=$(( $* ))
- }'
-else
- as_fn_arith ()
- {
- as_val=`expr "$@" || test $? -eq 1`
- }
-fi # as_fn_arith
-
-
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
- as_status=$1; test $as_status -eq 0 && as_status=1
- if test "$4"; then
- as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
- fi
- $as_echo "$as_me: error: $2" >&2
- as_fn_exit $as_status
-} # as_fn_error
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
- test "X`expr 00001 : '.*\(...\)'`" = X001; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
- as_basename=basename
-else
- as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
- as_dirname=dirname
-else
- as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{
- s//\1/
- q
- }
- /^X\/\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\/\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-
- as_lineno_1=$LINENO as_lineno_1a=$LINENO
- as_lineno_2=$LINENO as_lineno_2a=$LINENO
- eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
- test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
- # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-)
- sed -n '
- p
- /[$]LINENO/=
- ' <$as_myself |
- sed '
- s/[$]LINENO.*/&-/
- t lineno
- b
- :lineno
- N
- :loop
- s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
- t loop
- s/-\n.*//
- ' >$as_me.lineno &&
- chmod +x "$as_me.lineno" ||
- { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
-
- # Don't try to exec as it changes $[0], causing all sort of problems
- # (the dirname of $[0] is not the place where we might find the
- # original and so on. Autoconf is especially sensitive to this).
- . "./$as_me.lineno"
- # Exit status is that of the last command.
- exit
-}
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
- case `echo 'xy\c'` in
- *c*) ECHO_T=' ';; # ECHO_T is single tab character.
- xy) ECHO_C='\c';;
- *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
- ECHO_T=' ';;
- esac;;
-*)
- ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
- rm -f conf$$.dir/conf$$.file
-else
- rm -f conf$$.dir
- mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
- if ln -s conf$$.file conf$$ 2>/dev/null; then
- as_ln_s='ln -s'
- # ... but there are two gotchas:
- # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
- # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -p'.
- ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -p'
- elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
- else
- as_ln_s='cp -p'
- fi
-else
- as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-if mkdir -p . 2>/dev/null; then
- as_mkdir_p='mkdir -p "$as_dir"'
-else
- test -d ./-p && rmdir ./-p
- as_mkdir_p=false
-fi
-
-if test -x / >/dev/null 2>&1; then
- as_test_x='test -x'
-else
- if ls -dL / >/dev/null 2>&1; then
- as_ls_L_option=L
- else
- as_ls_L_option=
- fi
- as_test_x='
- eval sh -c '\''
- if test -d "$1"; then
- test -d "$1/.";
- else
- case $1 in #(
- -*)set "./$1";;
- esac;
- case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
- ???[sx]*):;;*)false;;esac;fi
- '\'' sh
- '
-fi
-as_executable_p=$as_test_x
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-test -n "$DJDIR" || exec 7<&0 </dev/null
-exec 6>&1
-
-# Name of the host.
-# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
-# so uname gets run too.
-ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
-
-#
-# Initializations.
-#
-ac_default_prefix=/usr/local
-ac_clean_files=
-ac_config_libobj_dir=.
-LIBOBJS=
-cross_compiling=no
-subdirs=
-MFLAGS=
-MAKEFLAGS=
-
-# Identity of this package.
-PACKAGE_NAME='libor1k'
-PACKAGE_TARNAME='libor1k'
-PACKAGE_VERSION='0.0.1'
-PACKAGE_STRING='libor1k 0.0.1'
-PACKAGE_BUGREPORT=''
-PACKAGE_URL=''
-
-ac_subst_vars='LTLIBOBJS
-LIBOBJS
-target_makefile_frag_path
-host_makefile_frag_path
-CCASFLAGS
-CCAS
-RANLIB
-LD
-AR
-AS
-am__fastdepCC_FALSE
-am__fastdepCC_TRUE
-CCDEPMODE
-am__nodep
-AMDEPBACKSLASH
-AMDEP_FALSE
-AMDEP_TRUE
-am__quote
-am__include
-DEPDIR
-am__leading_dot
-CC
-INSTALL_DATA
-INSTALL_SCRIPT
-INSTALL_PROGRAM
-target_os
-target_vendor
-target_cpu
-target
-host_os
-host_vendor
-host_cpu
-host
-build_os
-build_vendor
-build_cpu
-build
-target_alias
-host_alias
-build_alias
-LIBS
-ECHO_T
-ECHO_N
-ECHO_C
-DEFS
-mandir
-localedir
-libdir
-psdir
-pdfdir
-dvidir
-htmldir
-infodir
-docdir
-oldincludedir
-includedir
-localstatedir
-sharedstatedir
-sysconfdir
-datadir
-datarootdir
-libexecdir
-sbindir
-bindir
-program_transform_name
-prefix
-exec_prefix
-PACKAGE_URL
-PACKAGE_BUGREPORT
-PACKAGE_STRING
-PACKAGE_VERSION
-PACKAGE_TARNAME
-PACKAGE_NAME
-PATH_SEPARATOR
-SHELL'
-ac_subst_files='host_makefile_frag
-target_makefile_frag'
-ac_user_opts='
-enable_option_checking
-enable_dependency_tracking
-'
- ac_precious_vars='build_alias
-host_alias
-target_alias
-CCAS
-CCASFLAGS'
-
-
-# Initialize some variables set by options.
-ac_init_help=
-ac_init_version=false
-ac_unrecognized_opts=
-ac_unrecognized_sep=
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-cache_file=/dev/null
-exec_prefix=NONE
-no_create=
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-verbose=
-x_includes=NONE
-x_libraries=NONE
-
-# Installation directory options.
-# These are left unexpanded so users can "make install exec_prefix=/foo"
-# and all the variables that are supposed to be based on exec_prefix
-# by default will actually change.
-# Use braces instead of parens because sh, perl, etc. also accept them.
-# (The list follows the same order as the GNU Coding Standards.)
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datarootdir='${prefix}/share'
-datadir='${datarootdir}'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
-infodir='${datarootdir}/info'
-htmldir='${docdir}'
-dvidir='${docdir}'
-pdfdir='${docdir}'
-psdir='${docdir}'
-libdir='${exec_prefix}/lib'
-localedir='${datarootdir}/locale'
-mandir='${datarootdir}/man'
-
-ac_prev=
-ac_dashdash=
-for ac_option
-do
- # If the previous option needs an argument, assign it.
- if test -n "$ac_prev"; then
- eval $ac_prev=\$ac_option
- ac_prev=
- continue
- fi
-
- case $ac_option in
- *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
- *=) ac_optarg= ;;
- *) ac_optarg=yes ;;
- esac
-
- # Accept the important Cygnus configure options, so we can diagnose typos.
-
- case $ac_dashdash$ac_option in
- --)
- ac_dashdash=yes ;;
-
- -bindir | --bindir | --bindi | --bind | --bin | --bi)
- ac_prev=bindir ;;
- -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
- bindir=$ac_optarg ;;
-
- -build | --build | --buil | --bui | --bu)
- ac_prev=build_alias ;;
- -build=* | --build=* | --buil=* | --bui=* | --bu=*)
- build_alias=$ac_optarg ;;
-
- -cache-file | --cache-file | --cache-fil | --cache-fi \
- | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
- ac_prev=cache_file ;;
- -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
- | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
- cache_file=$ac_optarg ;;
-
- --config-cache | -C)
- cache_file=config.cache ;;
-
- -datadir | --datadir | --datadi | --datad)
- ac_prev=datadir ;;
- -datadir=* | --datadir=* | --datadi=* | --datad=*)
- datadir=$ac_optarg ;;
-
- -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
- | --dataroo | --dataro | --datar)
- ac_prev=datarootdir ;;
- -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
- | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
- datarootdir=$ac_optarg ;;
-
- -disable-* | --disable-*)
- ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid feature name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"enable_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval enable_$ac_useropt=no ;;
-
- -docdir | --docdir | --docdi | --doc | --do)
- ac_prev=docdir ;;
- -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
- docdir=$ac_optarg ;;
-
- -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
- ac_prev=dvidir ;;
- -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
- dvidir=$ac_optarg ;;
-
- -enable-* | --enable-*)
- ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid feature name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"enable_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval enable_$ac_useropt=\$ac_optarg ;;
-
- -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
- | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
- | --exec | --exe | --ex)
- ac_prev=exec_prefix ;;
- -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
- | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
- | --exec=* | --exe=* | --ex=*)
- exec_prefix=$ac_optarg ;;
-
- -gas | --gas | --ga | --g)
- # Obsolete; use --with-gas.
- with_gas=yes ;;
-
- -help | --help | --hel | --he | -h)
- ac_init_help=long ;;
- -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
- ac_init_help=recursive ;;
- -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
- ac_init_help=short ;;
-
- -host | --host | --hos | --ho)
- ac_prev=host_alias ;;
- -host=* | --host=* | --hos=* | --ho=*)
- host_alias=$ac_optarg ;;
-
- -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
- ac_prev=htmldir ;;
- -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
- | --ht=*)
- htmldir=$ac_optarg ;;
-
- -includedir | --includedir | --includedi | --included | --include \
- | --includ | --inclu | --incl | --inc)
- ac_prev=includedir ;;
- -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
- | --includ=* | --inclu=* | --incl=* | --inc=*)
- includedir=$ac_optarg ;;
-
- -infodir | --infodir | --infodi | --infod | --info | --inf)
- ac_prev=infodir ;;
- -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
- infodir=$ac_optarg ;;
-
- -libdir | --libdir | --libdi | --libd)
- ac_prev=libdir ;;
- -libdir=* | --libdir=* | --libdi=* | --libd=*)
- libdir=$ac_optarg ;;
-
- -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
- | --libexe | --libex | --libe)
- ac_prev=libexecdir ;;
- -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
- | --libexe=* | --libex=* | --libe=*)
- libexecdir=$ac_optarg ;;
-
- -localedir | --localedir | --localedi | --localed | --locale)
- ac_prev=localedir ;;
- -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
- localedir=$ac_optarg ;;
-
- -localstatedir | --localstatedir | --localstatedi | --localstated \
- | --localstate | --localstat | --localsta | --localst | --locals)
- ac_prev=localstatedir ;;
- -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
- | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
- localstatedir=$ac_optarg ;;
-
- -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
- ac_prev=mandir ;;
- -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
- mandir=$ac_optarg ;;
-
- -nfp | --nfp | --nf)
- # Obsolete; use --without-fp.
- with_fp=no ;;
-
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c | -n)
- no_create=yes ;;
-
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
- no_recursion=yes ;;
-
- -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
- | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
- | --oldin | --oldi | --old | --ol | --o)
- ac_prev=oldincludedir ;;
- -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
- | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
- | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
- oldincludedir=$ac_optarg ;;
-
- -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
- ac_prev=prefix ;;
- -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
- prefix=$ac_optarg ;;
-
- -program-prefix | --program-prefix | --program-prefi | --program-pref \
- | --program-pre | --program-pr | --program-p)
- ac_prev=program_prefix ;;
- -program-prefix=* | --program-prefix=* | --program-prefi=* \
- | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
- program_prefix=$ac_optarg ;;
-
- -program-suffix | --program-suffix | --program-suffi | --program-suff \
- | --program-suf | --program-su | --program-s)
- ac_prev=program_suffix ;;
- -program-suffix=* | --program-suffix=* | --program-suffi=* \
- | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
- program_suffix=$ac_optarg ;;
-
- -program-transform-name | --program-transform-name \
- | --program-transform-nam | --program-transform-na \
- | --program-transform-n | --program-transform- \
- | --program-transform | --program-transfor \
- | --program-transfo | --program-transf \
- | --program-trans | --program-tran \
- | --progr-tra | --program-tr | --program-t)
- ac_prev=program_transform_name ;;
- -program-transform-name=* | --program-transform-name=* \
- | --program-transform-nam=* | --program-transform-na=* \
- | --program-transform-n=* | --program-transform-=* \
- | --program-transform=* | --program-transfor=* \
- | --program-transfo=* | --program-transf=* \
- | --program-trans=* | --program-tran=* \
- | --progr-tra=* | --program-tr=* | --program-t=*)
- program_transform_name=$ac_optarg ;;
-
- -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
- ac_prev=pdfdir ;;
- -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
- pdfdir=$ac_optarg ;;
-
- -psdir | --psdir | --psdi | --psd | --ps)
- ac_prev=psdir ;;
- -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
- psdir=$ac_optarg ;;
-
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- silent=yes ;;
-
- -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
- ac_prev=sbindir ;;
- -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
- | --sbi=* | --sb=*)
- sbindir=$ac_optarg ;;
-
- -sharedstatedir | --sharedstatedir | --sharedstatedi \
- | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
- | --sharedst | --shareds | --shared | --share | --shar \
- | --sha | --sh)
- ac_prev=sharedstatedir ;;
- -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
- | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
- | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
- | --sha=* | --sh=*)
- sharedstatedir=$ac_optarg ;;
-
- -site | --site | --sit)
- ac_prev=site ;;
- -site=* | --site=* | --sit=*)
- site=$ac_optarg ;;
-
- -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
- ac_prev=srcdir ;;
- -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
- srcdir=$ac_optarg ;;
-
- -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
- | --syscon | --sysco | --sysc | --sys | --sy)
- ac_prev=sysconfdir ;;
- -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
- | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
- sysconfdir=$ac_optarg ;;
-
- -target | --target | --targe | --targ | --tar | --ta | --t)
- ac_prev=target_alias ;;
- -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
- target_alias=$ac_optarg ;;
-
- -v | -verbose | --verbose | --verbos | --verbo | --verb)
- verbose=yes ;;
-
- -version | --version | --versio | --versi | --vers | -V)
- ac_init_version=: ;;
-
- -with-* | --with-*)
- ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid package name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"with_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval with_$ac_useropt=\$ac_optarg ;;
-
- -without-* | --without-*)
- ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid package name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"with_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval with_$ac_useropt=no ;;
-
- --x)
- # Obsolete; use --with-x.
- with_x=yes ;;
-
- -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
- | --x-incl | --x-inc | --x-in | --x-i)
- ac_prev=x_includes ;;
- -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
- | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
- x_includes=$ac_optarg ;;
-
- -x-libraries | --x-libraries | --x-librarie | --x-librari \
- | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
- ac_prev=x_libraries ;;
- -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
- | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
- x_libraries=$ac_optarg ;;
-
- -*) as_fn_error $? "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information"
- ;;
-
- *=*)
- ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
- # Reject names that are not valid shell variable names.
- case $ac_envvar in #(
- '' | [0-9]* | *[!_$as_cr_alnum]* )
- as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
- esac
- eval $ac_envvar=\$ac_optarg
- export $ac_envvar ;;
-
- *)
- # FIXME: should be removed in autoconf 3.0.
- $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
- expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
- : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
- ;;
-
- esac
-done
-
-if test -n "$ac_prev"; then
- ac_option=--`echo $ac_prev | sed 's/_/-/g'`
- as_fn_error $? "missing argument to $ac_option"
-fi
-
-if test -n "$ac_unrecognized_opts"; then
- case $enable_option_checking in
- no) ;;
- fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
- *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
- esac
-fi
-
-# Check all directory arguments for consistency.
-for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
- datadir sysconfdir sharedstatedir localstatedir includedir \
- oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
- libdir localedir mandir
-do
- eval ac_val=\$$ac_var
- # Remove trailing slashes.
- case $ac_val in
- */ )
- ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
- eval $ac_var=\$ac_val;;
- esac
- # Be sure to have absolute directory names.
- case $ac_val in
- [\\/$]* | ?:[\\/]* ) continue;;
- NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
- esac
- as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
-done
-
-# There might be people who depend on the old broken behavior: `$host'
-# used to hold the argument of --host etc.
-# FIXME: To remove some day.
-build=$build_alias
-host=$host_alias
-target=$target_alias
-
-# FIXME: To remove some day.
-if test "x$host_alias" != x; then
- if test "x$build_alias" = x; then
- cross_compiling=maybe
- $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host.
- If a cross compiler is detected then cross compile mode will be used" >&2
- elif test "x$build_alias" != "x$host_alias"; then
- cross_compiling=yes
- fi
-fi
-
-ac_tool_prefix=
-test -n "$host_alias" && ac_tool_prefix=$host_alias-
-
-test "$silent" = yes && exec 6>/dev/null
-
-
-ac_pwd=`pwd` && test -n "$ac_pwd" &&
-ac_ls_di=`ls -di .` &&
-ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
- as_fn_error $? "working directory cannot be determined"
-test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
- as_fn_error $? "pwd does not report name of working directory"
-
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
- ac_srcdir_defaulted=yes
- # Try the directory containing this script, then the parent directory.
- ac_confdir=`$as_dirname -- "$as_myself" ||
-$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_myself" : 'X\(//\)[^/]' \| \
- X"$as_myself" : 'X\(//\)$' \| \
- X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_myself" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- srcdir=$ac_confdir
- if test ! -r "$srcdir/$ac_unique_file"; then
- srcdir=..
- fi
-else
- ac_srcdir_defaulted=no
-fi
-if test ! -r "$srcdir/$ac_unique_file"; then
- test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
- as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
-fi
-ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
-ac_abs_confdir=`(
- cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
- pwd)`
-# When building in place, set srcdir=.
-if test "$ac_abs_confdir" = "$ac_pwd"; then
- srcdir=.
-fi
-# Remove unnecessary trailing slashes from srcdir.
-# Double slashes in file names in object file debugging info
-# mess up M-x gdb in Emacs.
-case $srcdir in
-*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
-esac
-for ac_var in $ac_precious_vars; do
- eval ac_env_${ac_var}_set=\${${ac_var}+set}
- eval ac_env_${ac_var}_value=\$${ac_var}
- eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
- eval ac_cv_env_${ac_var}_value=\$${ac_var}
-done
-
-#
-# Report the --help message.
-#
-if test "$ac_init_help" = "long"; then
- # Omit some internal or obsolete options to make the list less imposing.
- # This message is too long to be a string in the A/UX 3.1 sh.
- cat <<_ACEOF
-\`configure' configures libor1k 0.0.1 to adapt to many kinds of systems.
-
-Usage: $0 [OPTION]... [VAR=VALUE]...
-
-To assign environment variables (e.g., CC, CFLAGS...), specify them as
-VAR=VALUE. See below for descriptions of some of the useful variables.
-
-Defaults for the options are specified in brackets.
-
-Configuration:
- -h, --help display this help and exit
- --help=short display options specific to this package
- --help=recursive display the short help of all the included packages
- -V, --version display version information and exit
- -q, --quiet, --silent do not print \`checking ...' messages
- --cache-file=FILE cache test results in FILE [disabled]
- -C, --config-cache alias for \`--cache-file=config.cache'
- -n, --no-create do not create output files
- --srcdir=DIR find the sources in DIR [configure dir or \`..']
-
-Installation directories:
- --prefix=PREFIX install architecture-independent files in PREFIX
- [$ac_default_prefix]
- --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
- [PREFIX]
-
-By default, \`make install' will install all the files in
-\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
-an installation prefix other than \`$ac_default_prefix' using \`--prefix',
-for instance \`--prefix=\$HOME'.
-
-For better control, use the options below.
-
-Fine tuning of the installation directories:
- --bindir=DIR user executables [EPREFIX/bin]
- --sbindir=DIR system admin executables [EPREFIX/sbin]
- --libexecdir=DIR program executables [EPREFIX/libexec]
- --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
- --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
- --localstatedir=DIR modifiable single-machine data [PREFIX/var]
- --libdir=DIR object code libraries [EPREFIX/lib]
- --includedir=DIR C header files [PREFIX/include]
- --oldincludedir=DIR C header files for non-gcc [/usr/include]
- --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
- --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
- --infodir=DIR info documentation [DATAROOTDIR/info]
- --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
- --mandir=DIR man documentation [DATAROOTDIR/man]
- --docdir=DIR documentation root [DATAROOTDIR/doc/libor1k]
- --htmldir=DIR html documentation [DOCDIR]
- --dvidir=DIR dvi documentation [DOCDIR]
- --pdfdir=DIR pdf documentation [DOCDIR]
- --psdir=DIR ps documentation [DOCDIR]
-_ACEOF
-
- cat <<\_ACEOF
-
-Program names:
- --program-prefix=PREFIX prepend PREFIX to installed program names
- --program-suffix=SUFFIX append SUFFIX to installed program names
- --program-transform-name=PROGRAM run sed PROGRAM on installed program names
-
-System types:
- --build=BUILD configure for building on BUILD [guessed]
- --host=HOST cross-compile to build programs to run on HOST [BUILD]
- --target=TARGET configure for building compilers for TARGET [HOST]
-_ACEOF
-fi
-
-if test -n "$ac_init_help"; then
- case $ac_init_help in
- short | recursive ) echo "Configuration of libor1k 0.0.1:";;
- esac
- cat <<\_ACEOF
-
-Optional Features:
- --disable-option-checking ignore unrecognized --enable/--with options
- --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
- --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
- --disable-dependency-tracking speeds up one-time build
- --enable-dependency-tracking do not reject slow dependency extractors
-
-Some influential environment variables:
- CCAS assembler compiler command (defaults to CC)
- CCASFLAGS assembler compiler flags (defaults to CFLAGS)
-
-Use these variables to override the choices made by `configure' or to help
-it to find libraries and programs with nonstandard names/locations.
-
-Report bugs to the package provider.
-_ACEOF
-ac_status=$?
-fi
-
-if test "$ac_init_help" = "recursive"; then
- # If there are subdirs, report their specific --help.
- for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
- test -d "$ac_dir" ||
- { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
- continue
- ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
- ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
- # A ".." for each directory in $ac_dir_suffix.
- ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
- case $ac_top_builddir_sub in
- "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
- *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
- esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
- .) # We are building in place.
- ac_srcdir=.
- ac_top_srcdir=$ac_top_builddir_sub
- ac_abs_top_srcdir=$ac_pwd ;;
- [\\/]* | ?:[\\/]* ) # Absolute name.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir
- ac_abs_top_srcdir=$srcdir ;;
- *) # Relative name.
- ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_build_prefix$srcdir
- ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
- cd "$ac_dir" || { ac_status=$?; continue; }
- # Check for guested configure.
- if test -f "$ac_srcdir/configure.gnu"; then
- echo &&
- $SHELL "$ac_srcdir/configure.gnu" --help=recursive
- elif test -f "$ac_srcdir/configure"; then
- echo &&
- $SHELL "$ac_srcdir/configure" --help=recursive
- else
- $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
- fi || ac_status=$?
- cd "$ac_pwd" || { ac_status=$?; break; }
- done
-fi
-
-test -n "$ac_init_help" && exit $ac_status
-if $ac_init_version; then
- cat <<\_ACEOF
-libor1k configure 0.0.1
-generated by GNU Autoconf 2.68
-
-Copyright (C) 2010 Free Software Foundation, Inc.
-This configure script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it.
-_ACEOF
- exit
-fi
-
-## ------------------------ ##
-## Autoconf initialization. ##
-## ------------------------ ##
-
-# ac_fn_c_try_compile LINENO
-# --------------------------
-# Try to compile conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_compile ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- rm -f conftest.$ac_objext
- if { { ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_compile") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- grep -v '^ *+' conftest.err >conftest.er1
- cat conftest.er1 >&5
- mv -f conftest.er1 conftest.err
- fi
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then :
- ac_retval=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=1
-fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_compile
-cat >config.log <<_ACEOF
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-
-It was created by libor1k $as_me 0.0.1, which was
-generated by GNU Autoconf 2.68. Invocation command line was
-
- $ $0 $@
-
-_ACEOF
-exec 5>>config.log
-{
-cat <<_ASUNAME
-## --------- ##
-## Platform. ##
-## --------- ##
-
-hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
-/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
-
-/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
-/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
-/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
-/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
-/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
-
-_ASUNAME
-
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- $as_echo "PATH: $as_dir"
- done
-IFS=$as_save_IFS
-
-} >&5
-
-cat >&5 <<_ACEOF
-
-
-## ----------- ##
-## Core tests. ##
-## ----------- ##
-
-_ACEOF
-
-
-# Keep a trace of the command line.
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Strip out --silent because we don't want to record it for future runs.
-# Also quote any args containing shell meta-characters.
-# Make two passes to allow for proper duplicate-argument suppression.
-ac_configure_args=
-ac_configure_args0=
-ac_configure_args1=
-ac_must_keep_next=false
-for ac_pass in 1 2
-do
- for ac_arg
- do
- case $ac_arg in
- -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- continue ;;
- *\'*)
- ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
- esac
- case $ac_pass in
- 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
- 2)
- as_fn_append ac_configure_args1 " '$ac_arg'"
- if test $ac_must_keep_next = true; then
- ac_must_keep_next=false # Got value, back to normal.
- else
- case $ac_arg in
- *=* | --config-cache | -C | -disable-* | --disable-* \
- | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
- | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
- | -with-* | --with-* | -without-* | --without-* | --x)
- case "$ac_configure_args0 " in
- "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
- esac
- ;;
- -* ) ac_must_keep_next=true ;;
- esac
- fi
- as_fn_append ac_configure_args " '$ac_arg'"
- ;;
- esac
- done
-done
-{ ac_configure_args0=; unset ac_configure_args0;}
-{ ac_configure_args1=; unset ac_configure_args1;}
-
-# When interrupted or exit'd, cleanup temporary files, and complete
-# config.log. We remove comments because anyway the quotes in there
-# would cause problems or look ugly.
-# WARNING: Use '\'' to represent an apostrophe within the trap.
-# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
-trap 'exit_status=$?
- # Save into config.log some information that might help in debugging.
- {
- echo
-
- $as_echo "## ---------------- ##
-## Cache variables. ##
-## ---------------- ##"
- echo
- # The following way of writing the cache mishandles newlines in values,
-(
- for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
- eval ac_val=\$$ac_var
- case $ac_val in #(
- *${as_nl}*)
- case $ac_var in #(
- *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
- esac
- case $ac_var in #(
- _ | IFS | as_nl) ;; #(
- BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
- *) { eval $ac_var=; unset $ac_var;} ;;
- esac ;;
- esac
- done
- (set) 2>&1 |
- case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
- *${as_nl}ac_space=\ *)
- sed -n \
- "s/'\''/'\''\\\\'\'''\''/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
- ;; #(
- *)
- sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
- ;;
- esac |
- sort
-)
- echo
-
- $as_echo "## ----------------- ##
-## Output variables. ##
-## ----------------- ##"
- echo
- for ac_var in $ac_subst_vars
- do
- eval ac_val=\$$ac_var
- case $ac_val in
- *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
- esac
- $as_echo "$ac_var='\''$ac_val'\''"
- done | sort
- echo
-
- if test -n "$ac_subst_files"; then
- $as_echo "## ------------------- ##
-## File substitutions. ##
-## ------------------- ##"
- echo
- for ac_var in $ac_subst_files
- do
- eval ac_val=\$$ac_var
- case $ac_val in
- *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
- esac
- $as_echo "$ac_var='\''$ac_val'\''"
- done | sort
- echo
- fi
-
- if test -s confdefs.h; then
- $as_echo "## ----------- ##
-## confdefs.h. ##
-## ----------- ##"
- echo
- cat confdefs.h
- echo
- fi
- test "$ac_signal" != 0 &&
- $as_echo "$as_me: caught signal $ac_signal"
- $as_echo "$as_me: exit $exit_status"
- } >&5
- rm -f core *.core core.conftest.* &&
- rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
- exit $exit_status
-' 0
-for ac_signal in 1 2 13 15; do
- trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
-done
-ac_signal=0
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -f -r conftest* confdefs.h
-
-$as_echo "/* confdefs.h */" > confdefs.h
-
-# Predefined preprocessor variables.
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_NAME "$PACKAGE_NAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_VERSION "$PACKAGE_VERSION"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_STRING "$PACKAGE_STRING"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_URL "$PACKAGE_URL"
-_ACEOF
-
-
-# Let the site file select an alternate cache file if it wants to.
-# Prefer an explicitly selected file to automatically selected ones.
-ac_site_file1=NONE
-ac_site_file2=NONE
-if test -n "$CONFIG_SITE"; then
- # We do not want a PATH search for config.site.
- case $CONFIG_SITE in #((
- -*) ac_site_file1=./$CONFIG_SITE;;
- */*) ac_site_file1=$CONFIG_SITE;;
- *) ac_site_file1=./$CONFIG_SITE;;
- esac
-elif test "x$prefix" != xNONE; then
- ac_site_file1=$prefix/share/config.site
- ac_site_file2=$prefix/etc/config.site
-else
- ac_site_file1=$ac_default_prefix/share/config.site
- ac_site_file2=$ac_default_prefix/etc/config.site
-fi
-for ac_site_file in "$ac_site_file1" "$ac_site_file2"
-do
- test "x$ac_site_file" = xNONE && continue
- if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
-$as_echo "$as_me: loading site script $ac_site_file" >&6;}
- sed 's/^/| /' "$ac_site_file" >&5
- . "$ac_site_file" \
- || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "failed to load site script $ac_site_file
-See \`config.log' for more details" "$LINENO" 5; }
- fi
-done
-
-if test -r "$cache_file"; then
- # Some versions of bash will fail to source /dev/null (special files
- # actually), so we avoid doing that. DJGPP emulates it as a regular file.
- if test /dev/null != "$cache_file" && test -f "$cache_file"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
-$as_echo "$as_me: loading cache $cache_file" >&6;}
- case $cache_file in
- [\\/]* | ?:[\\/]* ) . "$cache_file";;
- *) . "./$cache_file";;
- esac
- fi
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
-$as_echo "$as_me: creating cache $cache_file" >&6;}
- >$cache_file
-fi
-
-# Check that the precious variables saved in the cache have kept the same
-# value.
-ac_cache_corrupted=false
-for ac_var in $ac_precious_vars; do
- eval ac_old_set=\$ac_cv_env_${ac_var}_set
- eval ac_new_set=\$ac_env_${ac_var}_set
- eval ac_old_val=\$ac_cv_env_${ac_var}_value
- eval ac_new_val=\$ac_env_${ac_var}_value
- case $ac_old_set,$ac_new_set in
- set,)
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
- ac_cache_corrupted=: ;;
- ,set)
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
- ac_cache_corrupted=: ;;
- ,);;
- *)
- if test "x$ac_old_val" != "x$ac_new_val"; then
- # differences in whitespace do not lead to failure.
- ac_old_val_w=`echo x $ac_old_val`
- ac_new_val_w=`echo x $ac_new_val`
- if test "$ac_old_val_w" != "$ac_new_val_w"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
-$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
- ac_cache_corrupted=:
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
-$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
- eval $ac_var=\$ac_old_val
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5
-$as_echo "$as_me: former value: \`$ac_old_val'" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5
-$as_echo "$as_me: current value: \`$ac_new_val'" >&2;}
- fi;;
- esac
- # Pass precious variables to config.status.
- if test "$ac_new_set" = set; then
- case $ac_new_val in
- *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
- *) ac_arg=$ac_var=$ac_new_val ;;
- esac
- case " $ac_configure_args " in
- *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
- *) as_fn_append ac_configure_args " '$ac_arg'" ;;
- esac
- fi
-done
-if $ac_cache_corrupted; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
-$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
- as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
-fi
-## -------------------- ##
-## Main body of script. ##
-## -------------------- ##
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-
-# No shared libraries allowed
-if test "${enable_shared}" = "yes" ; then
- echo "Shared libraries not supported for cross compiling, ignored"
-fi
-
-# Where are the auxillary tools (confg.sub etc)?
-if test "$srcdir" = "." ; then
- if test "${with_target_subdir}" != "." ; then
- libgloss_topdir="${srcdir}/${with_multisrctop}../../.."
- else
- libgloss_topdir="${srcdir}/${with_multisrctop}../.."
- fi
-else
- libgloss_topdir="${srcdir}/../.."
-fi
-ac_aux_dir=
-for ac_dir in $libgloss_topdir "$srcdir"/$libgloss_topdir; do
- if test -f "$ac_dir/install-sh"; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install-sh -c"
- break
- elif test -f "$ac_dir/install.sh"; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/install.sh -c"
- break
- elif test -f "$ac_dir/shtool"; then
- ac_aux_dir=$ac_dir
- ac_install_sh="$ac_aux_dir/shtool install -c"
- break
- fi
-done
-if test -z "$ac_aux_dir"; then
- as_fn_error $? "cannot find install-sh, install.sh, or shtool in $libgloss_topdir \"$srcdir\"/$libgloss_topdir" "$LINENO" 5
-fi
-
-# These three variables are undocumented and unsupported,
-# and are intended to be withdrawn in a future Autoconf release.
-# They can cause serious problems if a builder's source tree is in a directory
-# whose full name contains unusual characters.
-ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var.
-ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var.
-ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
-
-
-
-# Make sure we can run config.sub.
-$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
- as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
-$as_echo_n "checking build system type... " >&6; }
-if ${ac_cv_build+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_build_alias=$build_alias
-test "x$ac_build_alias" = x &&
- ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
-test "x$ac_build_alias" = x &&
- as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
-ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
- as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
-$as_echo "$ac_cv_build" >&6; }
-case $ac_cv_build in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
-esac
-build=$ac_cv_build
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_build
-shift
-build_cpu=$1
-build_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-build_os=$*
-IFS=$ac_save_IFS
-case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
-$as_echo_n "checking host system type... " >&6; }
-if ${ac_cv_host+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "x$host_alias" = x; then
- ac_cv_host=$ac_cv_build
-else
- ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
- as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
-$as_echo "$ac_cv_host" >&6; }
-case $ac_cv_host in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
-esac
-host=$ac_cv_host
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_host
-shift
-host_cpu=$1
-host_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-host_os=$*
-IFS=$ac_save_IFS
-case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
-$as_echo_n "checking target system type... " >&6; }
-if ${ac_cv_target+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test "x$target_alias" = x; then
- ac_cv_target=$ac_cv_host
-else
- ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
- as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5
-$as_echo "$ac_cv_target" >&6; }
-case $ac_cv_target in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
-esac
-target=$ac_cv_target
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_target
-shift
-target_cpu=$1
-target_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-target_os=$*
-IFS=$ac_save_IFS
-case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac
-
-
-# The aliases save the names the user supplied, while $host etc.
-# will get canonicalized.
-test -n "$target_alias" &&
- test "$program_prefix$program_suffix$program_transform_name" = \
- NONENONEs,x,x, &&
- program_prefix=${target_alias}-
-
-test "$program_prefix" != NONE &&
- program_transform_name="s&^&$program_prefix&;$program_transform_name"
-# Use a double $ so make ignores it.
-test "$program_suffix" != NONE &&
- program_transform_name="s&\$&$program_suffix&;$program_transform_name"
-# Double any \ or $.
-# By default was `s,x,x', remove it if useless.
-ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
-program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
-
-
-# Find a good install program. We prefer a C program (faster),
-# so one script is as good as another. But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AmigaOS /C/install, which installs bootblocks on floppy discs
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# OS/2's system install, which has a completely different semantic
-# ./install, which can be erroneously created by make from ./install.sh.
-# Reject install programs that cannot install multiple files.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
-$as_echo_n "checking for a BSD-compatible install... " >&6; }
-if test -z "$INSTALL"; then
-if ${ac_cv_path_install+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- # Account for people who put trailing slashes in PATH elements.
-case $as_dir/ in #((
- ./ | .// | /[cC]/* | \
- /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
- ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
- /usr/ucb/* ) ;;
- *)
- # OSF1 and SCO ODT 3.0 have their own names for install.
- # Don't use installbsd from OSF since it installs stuff as root
- # by default.
- for ac_prog in ginstall scoinst install; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
- if test $ac_prog = install &&
- grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
- # AIX install. It has an incompatible calling convention.
- :
- elif test $ac_prog = install &&
- grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
- # program-specific install script used by HP pwplus--don't use.
- :
- else
- rm -rf conftest.one conftest.two conftest.dir
- echo one > conftest.one
- echo two > conftest.two
- mkdir conftest.dir
- if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
- test -s conftest.one && test -s conftest.two &&
- test -s conftest.dir/conftest.one &&
- test -s conftest.dir/conftest.two
- then
- ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
- break 3
- fi
- fi
- fi
- done
- done
- ;;
-esac
-
- done
-IFS=$as_save_IFS
-
-rm -rf conftest.one conftest.two conftest.dir
-
-fi
- if test "${ac_cv_path_install+set}" = set; then
- INSTALL=$ac_cv_path_install
- else
- # As a last resort, use the slow shell script. Don't cache a
- # value for INSTALL within a source directory, because that will
- # break other packages using the cache if that directory is
- # removed, or if the value is a relative name.
- INSTALL=$ac_install_sh
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
-$as_echo "$INSTALL" >&6; }
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-
-
-$as_echo "#define HAVE_GNU_LD 1" >>confdefs.h
-
-
-# We always use ELF, define various useful associated things.
-
-$as_echo "#define HAVE_ELF 1" >>confdefs.h
-
-
-# Standard stuff copied from libnosys. For this we'll need to an aclocal.m4
-rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
- am__leading_dot=.
-else
- am__leading_dot=_
-fi
-rmdir .tst 2>/dev/null
-
-DEPDIR="${am__leading_dot}deps"
-
-ac_config_commands="$ac_config_commands depfiles"
-
-
-am_make=${MAKE-make}
-cat > confinc << 'END'
-am__doit:
- @echo this is the am__doit target
-.PHONY: am__doit
-END
-# If we don't find an include directive, just comment out the code.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
-$as_echo_n "checking for style of include used by $am_make... " >&6; }
-am__include="#"
-am__quote=
-_am_result=none
-# First try GNU make style include.
-echo "include confinc" > confmf
-# Ignore all kinds of additional output from `make'.
-case `$am_make -s -f confmf 2> /dev/null` in #(
-*the\ am__doit\ target*)
- am__include=include
- am__quote=
- _am_result=GNU
- ;;
-esac
-# Now try BSD make style include.
-if test "$am__include" = "#"; then
- echo '.include "confinc"' > confmf
- case `$am_make -s -f confmf 2> /dev/null` in #(
- *the\ am__doit\ target*)
- am__include=.include
- am__quote="\""
- _am_result=BSD
- ;;
- esac
-fi
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
-$as_echo "$_am_result" >&6; }
-rm -f confinc confmf
-
-# Check whether --enable-dependency-tracking was given.
-if test "${enable_dependency_tracking+set}" = set; then :
- enableval=$enable_dependency_tracking;
-fi
-
-if test "x$enable_dependency_tracking" != xno; then
- am_depcomp="$ac_aux_dir/depcomp"
- AMDEPBACKSLASH='\'
- am__nodep='_no'
-fi
- if test "x$enable_dependency_tracking" != xno; then
- AMDEP_TRUE=
- AMDEP_FALSE='#'
-else
- AMDEP_TRUE='#'
- AMDEP_FALSE=
-fi
-
-
-# Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_CC="gcc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-
-depcc="$CC" am_compiler_list=
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if ${am_cv_CC_dependencies_compiler_type+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
- # We make a subdir and do the tests there. Otherwise we can end up
- # making bogus files that we don't know about and never remove. For
- # instance it was reported that on HP-UX the gcc test will end up
- # making a dummy file named `D' -- because `-MD' means `put the output
- # in D'.
- rm -rf conftest.dir
- mkdir conftest.dir
- # Copy depcomp to subdir because otherwise we won't find it if we're
- # using a relative directory.
- cp "$am_depcomp" conftest.dir
- cd conftest.dir
- # We will build objects and dependencies in a subdirectory because
- # it helps to detect inapplicable dependency modes. For instance
- # both Tru64's cc and ICC support -MD to output dependencies as a
- # side effect of compilation, but ICC will put the dependencies in
- # the current directory while Tru64 will put them in the object
- # directory.
- mkdir sub
-
- am_cv_CC_dependencies_compiler_type=none
- if test "$am_compiler_list" = ""; then
- am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
- fi
- am__universal=false
- case " $depcc " in #(
- *\ -arch\ *\ -arch\ *) am__universal=true ;;
- esac
-
- for depmode in $am_compiler_list; do
- # Setup a source with many dependencies, because some compilers
- # like to wrap large dependency lists on column 80 (with \), and
- # we should not choose a depcomp mode which is confused by this.
- #
- # We need to recreate these files for each test, as the compiler may
- # overwrite some of them when testing with obscure command lines.
- # This happens at least with the AIX C compiler.
- : > sub/conftest.c
- for i in 1 2 3 4 5 6; do
- echo '#include "conftst'$i'.h"' >> sub/conftest.c
- # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
- # Solaris 8's {/usr,}/bin/sh.
- touch sub/conftst$i.h
- done
- echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
-
- # We check with `-c' and `-o' for the sake of the "dashmstdout"
- # mode. It turns out that the SunPro C++ compiler does not properly
- # handle `-M -o', and we need to detect this. Also, some Intel
- # versions had trouble with output in subdirs
- am__obj=sub/conftest.${OBJEXT-o}
- am__minus_obj="-o $am__obj"
- case $depmode in
- gcc)
- # This depmode causes a compiler race in universal mode.
- test "$am__universal" = false || continue
- ;;
- nosideeffect)
- # after this tag, mechanisms are not by side-effect, so they'll
- # only be used when explicitly requested
- if test "x$enable_dependency_tracking" = xyes; then
- continue
- else
- break
- fi
- ;;
- msvc7 | msvc7msys | msvisualcpp | msvcmsys)
- # This compiler won't grok `-c -o', but also, the minuso test has
- # not run yet. These depmodes are late enough in the game, and
- # so weak that their functioning should not be impacted.
- am__obj=conftest.${OBJEXT-o}
- am__minus_obj=
- ;;
- none) break ;;
- esac
- if depmode=$depmode \
- source=sub/conftest.c object=$am__obj \
- depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
- $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
- >/dev/null 2>conftest.err &&
- grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
- grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
- grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
- ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
- # icc doesn't choke on unknown options, it will just issue warnings
- # or remarks (even with -Werror). So we grep stderr for any message
- # that says an option was ignored or not supported.
- # When given -MP, icc 7.0 and 7.1 complain thusly:
- # icc: Command line warning: ignoring option '-M'; no argument required
- # The diagnosis changed in icc 8.0:
- # icc: Command line remark: option '-MP' not supported
- if (grep 'ignoring option' conftest.err ||
- grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
- am_cv_CC_dependencies_compiler_type=$depmode
- break
- fi
- fi
- done
-
- cd ..
- rm -rf conftest.dir
-else
- am_cv_CC_dependencies_compiler_type=none
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
-CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
-
- if
- test "x$enable_dependency_tracking" != xno \
- && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
- am__fastdepCC_TRUE=
- am__fastdepCC_FALSE='#'
-else
- am__fastdepCC_TRUE='#'
- am__fastdepCC_FALSE=
-fi
-
-
-if test -z "$CC"; then
- # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- ac_prog_rejected=no
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
- ac_prog_rejected=yes
- continue
- fi
- ac_cv_prog_CC="cc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-if test $ac_prog_rejected = yes; then
- # We found a bogon in the path, so make sure we never use it.
- set dummy $ac_cv_prog_CC
- shift
- if test $# != 0; then
- # We chose a different compiler from the bogus one.
- # However, it has the same basename, so the bogon will be chosen
- # first if we set CC to just the basename; use the full file name.
- shift
- ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
- fi
-fi
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -z "$CC" && as_fn_error $? "no acceptable cc found in \$PATH" "$LINENO" 5
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using GNU C" >&5
-$as_echo_n "checking whether we are using GNU C... " >&6; }
-if ${ac_cv_c_compiler_gnu+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat > conftest.c <<EOF
-#ifdef __GNUC__
- yes;
-#endif
-EOF
-if { ac_try='${CC-cc} -E conftest.c'
- { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; } | egrep yes >/dev/null 2>&1; then
- ac_cv_c_compiler_gnu=yes
-else
- ac_cv_c_compiler_gnu=no
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
-$as_echo "$ac_cv_c_compiler_gnu" >&6; }
-
-if test $ac_cv_c_compiler_gnu = yes; then
- GCC=yes
- ac_test_CFLAGS="${CFLAGS+set}"
- ac_save_CFLAGS="$CFLAGS"
- CFLAGS=
- ac_test_CFLAGS=${CFLAGS+set}
-ac_save_CFLAGS=$CFLAGS
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
-$as_echo_n "checking whether $CC accepts -g... " >&6; }
-if ${ac_cv_prog_cc_g+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_save_c_werror_flag=$ac_c_werror_flag
- ac_c_werror_flag=yes
- ac_cv_prog_cc_g=no
- CFLAGS="-g"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_prog_cc_g=yes
-else
- CFLAGS=""
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
- ac_c_werror_flag=$ac_save_c_werror_flag
- CFLAGS="-g"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_prog_cc_g=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_c_werror_flag=$ac_save_c_werror_flag
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
-$as_echo "$ac_cv_prog_cc_g" >&6; }
-if test "$ac_test_CFLAGS" = set; then
- CFLAGS=$ac_save_CFLAGS
-elif test $ac_cv_prog_cc_g = yes; then
- if test "$GCC" = yes; then
- CFLAGS="-g -O2"
- else
- CFLAGS="-g"
- fi
-else
- if test "$GCC" = yes; then
- CFLAGS="-O2"
- else
- CFLAGS=
- fi
-fi
- if test "$ac_test_CFLAGS" = set; then
- CFLAGS="$ac_save_CFLAGS"
- elif test $ac_cv_prog_cc_g = yes; then
- CFLAGS="-g -O2"
- else
- CFLAGS="-O2"
- fi
-else
- GCC=
- test "${CFLAGS+set}" = set || CFLAGS="-g"
-fi
-
-AS=${AS-as}
-
-AR=${AR-ar}
-
-LD=${LD-ld}
-
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_RANLIB+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$RANLIB"; then
- ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-RANLIB=$ac_cv_prog_RANLIB
-if test -n "$RANLIB"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
-$as_echo "$RANLIB" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_RANLIB"; then
- ac_ct_RANLIB=$RANLIB
- # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_RANLIB"; then
- ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
- ac_cv_prog_ac_ct_RANLIB="ranlib"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-if test -n "$ac_ct_RANLIB"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
-$as_echo "$ac_ct_RANLIB" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_RANLIB" = x; then
- RANLIB=":"
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- RANLIB=$ac_ct_RANLIB
- fi
-else
- RANLIB="$ac_cv_prog_RANLIB"
-fi
-
-# By default we simply use the C compiler to build assembly code.
-
-test "${CCAS+set}" = set || CCAS=$CC
-test "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS
-
-
-
-
-host_makefile_frag=${srcdir}/../config/default.mh
-target_makefile_frag=${srcdir}/../config/default.mt
-
-host_makefile_frag_path=$host_makefile_frag
-
-
-target_makefile_frag_path=$target_makefile_frag
-
-
-
-ac_config_files="$ac_config_files Makefile"
-
-cat >confcache <<\_ACEOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs, see configure's option --config-cache.
-# It is not useful on other systems. If it contains results you don't
-# want to keep, you may remove or edit it.
-#
-# config.status only pays attention to the cache file if you give it
-# the --recheck option to rerun configure.
-#
-# `ac_cv_env_foo' variables (set or unset) will be overridden when
-# loading this file, other *unset* `ac_cv_foo' will be assigned the
-# following values.
-
-_ACEOF
-
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, we kill variables containing newlines.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(
- for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
- eval ac_val=\$$ac_var
- case $ac_val in #(
- *${as_nl}*)
- case $ac_var in #(
- *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
- esac
- case $ac_var in #(
- _ | IFS | as_nl) ;; #(
- BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
- *) { eval $ac_var=; unset $ac_var;} ;;
- esac ;;
- esac
- done
-
- (set) 2>&1 |
- case $as_nl`(ac_space=' '; set) 2>&1` in #(
- *${as_nl}ac_space=\ *)
- # `set' does not quote correctly, so add quotes: double-quote
- # substitution turns \\\\ into \\, and sed turns \\ into \.
- sed -n \
- "s/'/'\\\\''/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
- ;; #(
- *)
- # `set' quotes correctly as required by POSIX, so do not add quotes.
- sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
- ;;
- esac |
- sort
-) |
- sed '
- /^ac_cv_env_/b end
- t clear
- :clear
- s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
- t end
- s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
- :end' >>confcache
-if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
- if test -w "$cache_file"; then
- if test "x$cache_file" != "x/dev/null"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
-$as_echo "$as_me: updating cache $cache_file" >&6;}
- if test ! -f "$cache_file" || test -h "$cache_file"; then
- cat confcache >"$cache_file"
- else
- case $cache_file in #(
- */* | ?:*)
- mv -f confcache "$cache_file"$$ &&
- mv -f "$cache_file"$$ "$cache_file" ;; #(
- *)
- mv -f confcache "$cache_file" ;;
- esac
- fi
- fi
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
-$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
- fi
-fi
-rm -f confcache
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-# Transform confdefs.h into DEFS.
-# Protect against shell expansion while executing Makefile rules.
-# Protect against Makefile macro expansion.
-#
-# If the first sed substitution is executed (which looks for macros that
-# take arguments), then branch to the quote section. Otherwise,
-# look for a macro that doesn't take arguments.
-ac_script='
-:mline
-/\\$/{
- N
- s,\\\n,,
- b mline
-}
-t clear
-:clear
-s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g
-t quote
-s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g
-t quote
-b any
-:quote
-s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g
-s/\[/\\&/g
-s/\]/\\&/g
-s/\$/$$/g
-H
-:any
-${
- g
- s/^\n//
- s/\n/ /g
- p
-}
-'
-DEFS=`sed -n "$ac_script" confdefs.h`
-
-
-ac_libobjs=
-ac_ltlibobjs=
-U=
-for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
- # 1. Remove the extension, and $U if already installed.
- ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
- ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
- # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
- # will be set to the directory where LIBOBJS objects are built.
- as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
- as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
-done
-LIBOBJS=$ac_libobjs
-
-LTLIBOBJS=$ac_ltlibobjs
-
-
-if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
- as_fn_error $? "conditional \"AMDEP\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
- as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-
-: "${CONFIG_STATUS=./config.status}"
-ac_write_fail=0
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
-$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
-as_write_fail=0
-cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
-#! $SHELL
-# Generated by $as_me.
-# Run this file to recreate the current configuration.
-# Compiler output produced by configure, useful for debugging
-# configure, is in config.log if it exists.
-
-debug=false
-ac_cs_recheck=false
-ac_cs_silent=false
-
-SHELL=\${CONFIG_SHELL-$SHELL}
-export SHELL
-_ASEOF
-cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
- emulate sh
- NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
-else
- case `(set -o) 2>/dev/null` in #(
- *posix*) :
- set -o posix ;; #(
- *) :
- ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
- && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='print -r --'
- as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='printf %s\n'
- as_echo_n='printf %s'
-else
- if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
- as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
- as_echo_n='/usr/ucb/echo -n'
- else
- as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
- as_echo_n_body='eval
- arg=$1;
- case $arg in #(
- *"$as_nl"*)
- expr "X$arg" : "X\\(.*\\)$as_nl";
- arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
- esac;
- expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
- '
- export as_echo_n_body
- as_echo_n='sh -c $as_echo_n_body as_echo'
- fi
- export as_echo_body
- as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- PATH_SEPARATOR=:
- (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
- (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
- PATH_SEPARATOR=';'
- }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order. Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" "" $as_nl"
-
-# Find who we are. Look in the path if we contain no directory separator.
-as_myself=
-case $0 in #((
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
- as_myself=$0
-fi
-if test ! -f "$as_myself"; then
- $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
- exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there. '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
- && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
- as_status=$1; test $as_status -eq 0 && as_status=1
- if test "$4"; then
- as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
- fi
- $as_echo "$as_me: error: $2" >&2
- as_fn_exit $as_status
-} # as_fn_error
-
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
- return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
- set +e
- as_fn_set_status $1
- exit $1
-} # as_fn_exit
-
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
- { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
- eval 'as_fn_append ()
- {
- eval $1+=\$2
- }'
-else
- as_fn_append ()
- {
- eval $1=\$$1\$2
- }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
- eval 'as_fn_arith ()
- {
- as_val=$(( $* ))
- }'
-else
- as_fn_arith ()
- {
- as_val=`expr "$@" || test $? -eq 1`
- }
-fi # as_fn_arith
-
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
- test "X`expr 00001 : '.*\(...\)'`" = X001; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
- as_basename=basename
-else
- as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
- as_dirname=dirname
-else
- as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{
- s//\1/
- q
- }
- /^X\/\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\/\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
- case `echo 'xy\c'` in
- *c*) ECHO_T=' ';; # ECHO_T is single tab character.
- xy) ECHO_C='\c';;
- *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
- ECHO_T=' ';;
- esac;;
-*)
- ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
- rm -f conf$$.dir/conf$$.file
-else
- rm -f conf$$.dir
- mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
- if ln -s conf$$.file conf$$ 2>/dev/null; then
- as_ln_s='ln -s'
- # ... but there are two gotchas:
- # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
- # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -p'.
- ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -p'
- elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
- else
- as_ln_s='cp -p'
- fi
-else
- as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
- case $as_dir in #(
- -*) as_dir=./$as_dir;;
- esac
- test -d "$as_dir" || eval $as_mkdir_p || {
- as_dirs=
- while :; do
- case $as_dir in #(
- *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
- *) as_qdir=$as_dir;;
- esac
- as_dirs="'$as_qdir' $as_dirs"
- as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- test -d "$as_dir" && break
- done
- test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-if mkdir -p . 2>/dev/null; then
- as_mkdir_p='mkdir -p "$as_dir"'
-else
- test -d ./-p && rmdir ./-p
- as_mkdir_p=false
-fi
-
-if test -x / >/dev/null 2>&1; then
- as_test_x='test -x'
-else
- if ls -dL / >/dev/null 2>&1; then
- as_ls_L_option=L
- else
- as_ls_L_option=
- fi
- as_test_x='
- eval sh -c '\''
- if test -d "$1"; then
- test -d "$1/.";
- else
- case $1 in #(
- -*)set "./$1";;
- esac;
- case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
- ???[sx]*):;;*)false;;esac;fi
- '\'' sh
- '
-fi
-as_executable_p=$as_test_x
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-exec 6>&1
-## ----------------------------------- ##
-## Main body of $CONFIG_STATUS script. ##
-## ----------------------------------- ##
-_ASEOF
-test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# Save the log message, to keep $0 and so on meaningful, and to
-# report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling.
-ac_log="
-This file was extended by libor1k $as_me 0.0.1, which was
-generated by GNU Autoconf 2.68. Invocation command line was
-
- CONFIG_FILES = $CONFIG_FILES
- CONFIG_HEADERS = $CONFIG_HEADERS
- CONFIG_LINKS = $CONFIG_LINKS
- CONFIG_COMMANDS = $CONFIG_COMMANDS
- $ $0 $@
-
-on `(hostname || uname -n) 2>/dev/null | sed 1q`
-"
-
-_ACEOF
-
-case $ac_config_files in *"
-"*) set x $ac_config_files; shift; ac_config_files=$*;;
-esac
-
-
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-# Files that config.status was made for.
-config_files="$ac_config_files"
-config_commands="$ac_config_commands"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-ac_cs_usage="\
-\`$as_me' instantiates files and other configuration actions
-from templates according to the current configuration. Unless the files
-and actions are specified as TAGs, all are instantiated by default.
-
-Usage: $0 [OPTION]... [TAG]...
-
- -h, --help print this help, then exit
- -V, --version print version number and configuration settings, then exit
- --config print configuration, then exit
- -q, --quiet, --silent
- do not print progress messages
- -d, --debug don't remove temporary files
- --recheck update $as_me by reconfiguring in the same conditions
- --file=FILE[:TEMPLATE]
- instantiate the configuration file FILE
-
-Configuration files:
-$config_files
-
-Configuration commands:
-$config_commands
-
-Report bugs to the package provider."
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
-ac_cs_version="\\
-libor1k config.status 0.0.1
-configured by $0, generated by GNU Autoconf 2.68,
- with options \\"\$ac_cs_config\\"
-
-Copyright (C) 2010 Free Software Foundation, Inc.
-This config.status script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it."
-
-ac_pwd='$ac_pwd'
-srcdir='$srcdir'
-INSTALL='$INSTALL'
-test -n "\$AWK" || AWK=awk
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# The default lists apply if the user does not specify any file.
-ac_need_defaults=:
-while test $# != 0
-do
- case $1 in
- --*=?*)
- ac_option=`expr "X$1" : 'X\([^=]*\)='`
- ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
- ac_shift=:
- ;;
- --*=)
- ac_option=`expr "X$1" : 'X\([^=]*\)='`
- ac_optarg=
- ac_shift=:
- ;;
- *)
- ac_option=$1
- ac_optarg=$2
- ac_shift=shift
- ;;
- esac
-
- case $ac_option in
- # Handling of the options.
- -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
- ac_cs_recheck=: ;;
- --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
- $as_echo "$ac_cs_version"; exit ;;
- --config | --confi | --conf | --con | --co | --c )
- $as_echo "$ac_cs_config"; exit ;;
- --debug | --debu | --deb | --de | --d | -d )
- debug=: ;;
- --file | --fil | --fi | --f )
- $ac_shift
- case $ac_optarg in
- *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
- '') as_fn_error $? "missing file argument" ;;
- esac
- as_fn_append CONFIG_FILES " '$ac_optarg'"
- ac_need_defaults=false;;
- --he | --h | --help | --hel | -h )
- $as_echo "$ac_cs_usage"; exit ;;
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil | --si | --s)
- ac_cs_silent=: ;;
-
- # This is an error.
- -*) as_fn_error $? "unrecognized option: \`$1'
-Try \`$0 --help' for more information." ;;
-
- *) as_fn_append ac_config_targets " $1"
- ac_need_defaults=false ;;
-
- esac
- shift
-done
-
-ac_configure_extra_args=
-
-if $ac_cs_silent; then
- exec 6>/dev/null
- ac_configure_extra_args="$ac_configure_extra_args --silent"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-if \$ac_cs_recheck; then
- set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
- shift
- \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
- CONFIG_SHELL='$SHELL'
- export CONFIG_SHELL
- exec "\$@"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-exec 5>>config.log
-{
- echo
- sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-## Running $as_me. ##
-_ASBOX
- $as_echo "$ac_log"
-} >&5
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-#
-# INIT-COMMANDS
-#
-AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
-srcdir=${srcdir}
-target=${target}
-with_multisubdir=${with_multisubdir}
-ac_configure_args="${ac_configure_args} --enable-multilib"
-CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
-libgloss_topdir=${libgloss_topdir}
-
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-
-# Handling of arguments.
-for ac_config_target in $ac_config_targets
-do
- case $ac_config_target in
- "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
- "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
-
- *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
- esac
-done
-
-
-# If the user did not use the arguments to specify the items to instantiate,
-# then the envvar interface is used. Set only those that are not.
-# We use the long form for the default assignment because of an extremely
-# bizarre bug on SunOS 4.1.3.
-if $ac_need_defaults; then
- test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
- test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
-fi
-
-# Have a temporary directory for convenience. Make it in the build tree
-# simply because there is no reason against having it here, and in addition,
-# creating and moving files from /tmp can sometimes cause problems.
-# Hook for its removal unless debugging.
-# Note that there is a small window in which the directory will not be cleaned:
-# after its creation but before its name has been assigned to `$tmp'.
-$debug ||
-{
- tmp= ac_tmp=
- trap 'exit_status=$?
- : "${ac_tmp:=$tmp}"
- { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
-' 0
- trap 'as_fn_exit 1' 1 2 13 15
-}
-# Create a (secure) tmp directory for tmp files.
-
-{
- tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
- test -d "$tmp"
-} ||
-{
- tmp=./conf$$-$RANDOM
- (umask 077 && mkdir "$tmp")
-} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
-ac_tmp=$tmp
-
-# Set up the scripts for CONFIG_FILES section.
-# No need to generate them if there are no CONFIG_FILES.
-# This happens for instance with `./config.status config.h'.
-if test -n "$CONFIG_FILES"; then
-
-if $AWK 'BEGIN { getline <"/dev/null" }' </dev/null 2>/dev/null; then
- ac_cs_awk_getline=:
- ac_cs_awk_pipe_init=
- ac_cs_awk_read_file='
- while ((getline aline < (F[key])) > 0)
- print(aline)
- close(F[key])'
- ac_cs_awk_pipe_fini=
-else
- ac_cs_awk_getline=false
- ac_cs_awk_pipe_init="print \"cat <<'|#_!!_#|' &&\""
- ac_cs_awk_read_file='
- print "|#_!!_#|"
- print "cat " F[key] " &&"
- '$ac_cs_awk_pipe_init
- # The final `:' finishes the AND list.
- ac_cs_awk_pipe_fini='END { print "|#_!!_#|"; print ":" }'
-fi
-ac_cr=`echo X | tr X '\015'`
-# On cygwin, bash can eat \r inside `` if the user requested igncr.
-# But we know of no other shell where ac_cr would be empty at this
-# point, so we can use a bashism as a fallback.
-if test "x$ac_cr" = x; then
- eval ac_cr=\$\'\\r\'
-fi
-ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
-if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
- ac_cs_awk_cr='\\r'
-else
- ac_cs_awk_cr=$ac_cr
-fi
-
-echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
-_ACEOF
-
-# Create commands to substitute file output variables.
-{
- echo "cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1" &&
- echo 'cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&' &&
- echo "$ac_subst_files" | sed 's/.*/F["&"]="$&"/' &&
- echo "_ACAWK" &&
- echo "_ACEOF"
-} >conf$$files.sh &&
-. ./conf$$files.sh ||
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-rm -f conf$$files.sh
-
-{
- echo "cat >conf$$subs.awk <<_ACEOF" &&
- echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
- echo "_ACEOF"
-} >conf$$subs.sh ||
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
-ac_delim='%!_!# '
-for ac_last_try in false false false false false :; do
- . ./conf$$subs.sh ||
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-
- ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
- if test $ac_delim_n = $ac_delim_num; then
- break
- elif $ac_last_try; then
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
- else
- ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
- fi
-done
-rm -f conf$$subs.sh
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
-_ACEOF
-sed -n '
-h
-s/^/S["/; s/!.*/"]=/
-p
-g
-s/^[^!]*!//
-:repl
-t repl
-s/'"$ac_delim"'$//
-t delim
-:nl
-h
-s/\(.\{148\}\)..*/\1/
-t more1
-s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
-p
-n
-b repl
-:more1
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t nl
-:delim
-h
-s/\(.\{148\}\)..*/\1/
-t more2
-s/["\\]/\\&/g; s/^/"/; s/$/"/
-p
-b
-:more2
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t delim
-' <conf$$subs.awk | sed '
-/^[^""]/{
- N
- s/\n//
-}
-' >>$CONFIG_STATUS || ac_write_fail=1
-rm -f conf$$subs.awk
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-_ACAWK
-cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
- for (key in S) S_is_set[key] = 1
- FS = ""
- \$ac_cs_awk_pipe_init
-}
-{
- line = $ 0
- nfields = split(line, field, "@")
- substed = 0
- len = length(field[1])
- for (i = 2; i < nfields; i++) {
- key = field[i]
- keylen = length(key)
- if (S_is_set[key]) {
- value = S[key]
- line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
- len += length(value) + length(field[++i])
- substed = 1
- } else
- len += 1 + keylen
- }
- if (nfields == 3 && !substed) {
- key = field[2]
- if (F[key] != "" && line ~ /^[ ]*@.*@[ ]*$/) {
- \$ac_cs_awk_read_file
- next
- }
- }
- print line
-}
-\$ac_cs_awk_pipe_fini
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
- sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
-else
- cat
-fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
- || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
-_ACEOF
-
-# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
-# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
-# trailing colons and then remove the whole line if VPATH becomes empty
-# (actually we leave an empty line to preserve line numbers).
-if test "x$srcdir" = x.; then
- ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{
-h
-s///
-s/^/:/
-s/[ ]*$/:/
-s/:\$(srcdir):/:/g
-s/:\${srcdir}:/:/g
-s/:@srcdir@:/:/g
-s/^:*//
-s/:*$//
-x
-s/\(=[ ]*\).*/\1/
-G
-s/\n//
-s/^[^=]*=[ ]*$//
-}'
-fi
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-fi # test -n "$CONFIG_FILES"
-
-
-eval set X " :F $CONFIG_FILES :C $CONFIG_COMMANDS"
-shift
-for ac_tag
-do
- case $ac_tag in
- :[FHLC]) ac_mode=$ac_tag; continue;;
- esac
- case $ac_mode$ac_tag in
- :[FHL]*:*);;
- :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
- :[FH]-) ac_tag=-:-;;
- :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
- esac
- ac_save_IFS=$IFS
- IFS=:
- set x $ac_tag
- IFS=$ac_save_IFS
- shift
- ac_file=$1
- shift
-
- case $ac_mode in
- :L) ac_source=$1;;
- :[FH])
- ac_file_inputs=
- for ac_f
- do
- case $ac_f in
- -) ac_f="$ac_tmp/stdin";;
- *) # Look for the file first in the build tree, then in the source tree
- # (if the path is not absolute). The absolute path cannot be DOS-style,
- # because $ac_f cannot contain `:'.
- test -f "$ac_f" ||
- case $ac_f in
- [\\/$]*) false;;
- *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
- esac ||
- as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
- esac
- case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
- as_fn_append ac_file_inputs " '$ac_f'"
- done
-
- # Let's still pretend it is `configure' which instantiates (i.e., don't
- # use $as_me), people would be surprised to read:
- # /* config.h. Generated by config.status. */
- configure_input='Generated from '`
- $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
- `' by configure.'
- if test x"$ac_file" != x-; then
- configure_input="$ac_file. $configure_input"
- { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
-$as_echo "$as_me: creating $ac_file" >&6;}
- fi
- # Neutralize special characters interpreted by sed in replacement strings.
- case $configure_input in #(
- *\&* | *\|* | *\\* )
- ac_sed_conf_input=`$as_echo "$configure_input" |
- sed 's/[\\\\&|]/\\\\&/g'`;; #(
- *) ac_sed_conf_input=$configure_input;;
- esac
-
- case $ac_tag in
- *:-:* | *:-) cat >"$ac_tmp/stdin" \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
- esac
- ;;
- esac
-
- ac_dir=`$as_dirname -- "$ac_file" ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$ac_file" : 'X\(//\)[^/]' \| \
- X"$ac_file" : 'X\(//\)$' \| \
- X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$ac_file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- as_dir="$ac_dir"; as_fn_mkdir_p
- ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
- ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
- # A ".." for each directory in $ac_dir_suffix.
- ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
- case $ac_top_builddir_sub in
- "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
- *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
- esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
- .) # We are building in place.
- ac_srcdir=.
- ac_top_srcdir=$ac_top_builddir_sub
- ac_abs_top_srcdir=$ac_pwd ;;
- [\\/]* | ?:[\\/]* ) # Absolute name.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir
- ac_abs_top_srcdir=$srcdir ;;
- *) # Relative name.
- ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_build_prefix$srcdir
- ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-
- case $ac_mode in
- :F)
- #
- # CONFIG_FILE
- #
-
- case $INSTALL in
- [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
- *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
- esac
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# If the template does not know about datarootdir, expand it.
-# FIXME: This hack should be removed a few years after 2.60.
-ac_datarootdir_hack=; ac_datarootdir_seen=
-ac_sed_dataroot='
-/datarootdir/ {
- p
- q
-}
-/@datadir@/p
-/@docdir@/p
-/@infodir@/p
-/@localedir@/p
-/@mandir@/p'
-case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
-*datarootdir*) ac_datarootdir_seen=yes;;
-*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
-$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
- ac_datarootdir_hack='
- s&@datadir@&$datadir&g
- s&@docdir@&$docdir&g
- s&@infodir@&$infodir&g
- s&@localedir@&$localedir&g
- s&@mandir@&$mandir&g
- s&\\\${datarootdir}&$datarootdir&g' ;;
-esac
-_ACEOF
-
-# Neutralize VPATH when `$srcdir' = `.'.
-# Shell code in configure.ac might set extrasub.
-# FIXME: do we really want to maintain this feature?
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_sed_extra="$ac_vpsub
-$extrasub
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-:t
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s|@configure_input@|$ac_sed_conf_input|;t t
-s&@top_builddir@&$ac_top_builddir_sub&;t t
-s&@top_build_prefix@&$ac_top_build_prefix&;t t
-s&@srcdir@&$ac_srcdir&;t t
-s&@abs_srcdir@&$ac_abs_srcdir&;t t
-s&@top_srcdir@&$ac_top_srcdir&;t t
-s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
-s&@builddir@&$ac_builddir&;t t
-s&@abs_builddir@&$ac_abs_builddir&;t t
-s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
-s&@INSTALL@&$ac_INSTALL&;t t
-$ac_datarootdir_hack
-"
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" |
-if $ac_cs_awk_getline; then
- $AWK -f "$ac_tmp/subs.awk"
-else
- $AWK -f "$ac_tmp/subs.awk" | $SHELL
-fi \
- >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-
-test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
- { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
- { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \
- "$ac_tmp/out"`; test -z "$ac_out"; } &&
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined. Please make sure it is defined" >&5
-$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined. Please make sure it is defined" >&2;}
-
- rm -f "$ac_tmp/stdin"
- case $ac_file in
- -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
- *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
- esac \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- ;;
-
-
- :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
-$as_echo "$as_me: executing $ac_file commands" >&6;}
- ;;
- esac
-
-
- case $ac_file$ac_mode in
- "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
- # Autoconf 2.62 quotes --file arguments for eval, but not when files
- # are listed without --file. Let's play safe and only enable the eval
- # if we detect the quoting.
- case $CONFIG_FILES in
- *\'*) eval set x "$CONFIG_FILES" ;;
- *) set x $CONFIG_FILES ;;
- esac
- shift
- for mf
- do
- # Strip MF so we end up with the name of the file.
- mf=`echo "$mf" | sed -e 's/:.*$//'`
- # Check whether this is an Automake generated Makefile or not.
- # We used to match only the files named `Makefile.in', but
- # some people rename them; so instead we look at the file content.
- # Grep'ing the first line is not enough: some people post-process
- # each Makefile.in and add a new line on top of each file to say so.
- # Grep'ing the whole file is not good either: AIX grep has a line
- # limit of 2048, but all sed's we know have understand at least 4000.
- if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
- dirpart=`$as_dirname -- "$mf" ||
-$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$mf" : 'X\(//\)[^/]' \| \
- X"$mf" : 'X\(//\)$' \| \
- X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$mf" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- else
- continue
- fi
- # Extract the definition of DEPDIR, am__include, and am__quote
- # from the Makefile without running `make'.
- DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
- test -z "$DEPDIR" && continue
- am__include=`sed -n 's/^am__include = //p' < "$mf"`
- test -z "am__include" && continue
- am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
- # When using ansi2knr, U may be empty or an underscore; expand it
- U=`sed -n 's/^U = //p' < "$mf"`
- # Find all dependency output files, they are included files with
- # $(DEPDIR) in their names. We invoke sed twice because it is the
- # simplest approach to changing $(DEPDIR) to its actual value in the
- # expansion.
- for file in `sed -n "
- s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
- # Make sure the directory exists.
- test -f "$dirpart/$file" && continue
- fdir=`$as_dirname -- "$file" ||
-$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$file" : 'X\(//\)[^/]' \| \
- X"$file" : 'X\(//\)$' \| \
- X"$file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- as_dir=$dirpart/$fdir; as_fn_mkdir_p
- # echo "creating $dirpart/$file"
- echo '# dummy' > "$dirpart/$file"
- done
- done
-}
- ;;
- "Makefile":F) . ${libgloss_topdir}/config-ml.in ;;
-
- esac
-done # for ac_tag
-
-
-as_fn_exit 0
-_ACEOF
-ac_clean_files=$ac_clean_files_save
-
-test $ac_write_fail = 0 ||
- as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
-
-
-# configure is writing to config.log, and then calls config.status.
-# config.status does its own redirection, appending to config.log.
-# Unfortunately, on DOS this fails, as config.log is still kept open
-# by configure, so config.status won't be able to write to it; its
-# output is simply discarded. So we exec the FD to /dev/null,
-# effectively closing config.log, so it can be properly (re)opened and
-# appended to by config.status. When coming back to configure, we
-# need to make the FD available again.
-if test "$no_create" != yes; then
- ac_cs_success=:
- ac_config_status_args=
- test "$silent" = yes &&
- ac_config_status_args="$ac_config_status_args --quiet"
- exec 5>/dev/null
- $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
- exec 5>>config.log
- # Use ||, not &&, to avoid exiting from the if with $? = 1, which
- # would make configure fail if this is the last instruction.
- $ac_cs_success || as_fn_exit 1
-fi
-if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
-$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
-fi
diff --git a/libgloss/or1k/configure.in b/libgloss/or1k/configure.in
deleted file mode 100644
index 5337a4db0..000000000
--- a/libgloss/or1k/configure.in
+++ /dev/null
@@ -1,81 +0,0 @@
-# Makefile for libgloss/or1k
-
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 COPYRIGHT HOLDER 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. */
-
-# Process this file with autoconf to produce a configure script
-
-AC_PREREQ(2.59)
-AC_INIT(libor1k,0.0.1)
-
-# No shared libraries allowed
-if test "${enable_shared}" = "yes" ; then
- echo "Shared libraries not supported for cross compiling, ignored"
-fi
-
-# Where are the auxillary tools (confg.sub etc)?
-if test "$srcdir" = "." ; then
- if test "${with_target_subdir}" != "." ; then
- libgloss_topdir="${srcdir}/${with_multisrctop}../../.."
- else
- libgloss_topdir="${srcdir}/${with_multisrctop}../.."
- fi
-else
- libgloss_topdir="${srcdir}/../.."
-fi
-AC_CONFIG_AUX_DIR($libgloss_topdir)
-
-AC_CANONICAL_SYSTEM
-AC_ARG_PROGRAM
-
-AC_PROG_INSTALL
-
-AC_DEFINE(HAVE_GNU_LD, 1, [Using GNU ld])
-
-# We always use ELF, define various useful associated things.
-AC_DEFINE(HAVE_ELF, 1, [Using ELF format])
-
-# Standard stuff copied from libnosys. For this we'll need to an aclocal.m4
-LIB_AC_PROG_CC
-AS=${AS-as}
-AC_SUBST(AS)
-AR=${AR-ar}
-AC_SUBST(AR)
-LD=${LD-ld}
-AC_SUBST(LD)
-AC_PROG_RANLIB
-LIB_AM_PROG_AS
-
-host_makefile_frag=${srcdir}/../config/default.mh
-target_makefile_frag=${srcdir}/../config/default.mt
-
-dnl We have to assign the same value to other variables because autoconf
-dnl doesn't provide a mechanism to substitute a replacement keyword with
-dnl arbitrary data or pathnames.
-dnl
-host_makefile_frag_path=$host_makefile_frag
-AC_SUBST(host_makefile_frag_path)
-AC_SUBST_FILE(host_makefile_frag)
-target_makefile_frag_path=$target_makefile_frag
-AC_SUBST(target_makefile_frag_path)
-AC_SUBST_FILE(target_makefile_frag)
-
-AC_CONFIG_FILES(Makefile,
-. ${libgloss_topdir}/config-ml.in,
-srcdir=${srcdir}
-target=${target}
-with_multisubdir=${with_multisubdir}
-ac_configure_args="${ac_configure_args} --enable-multilib"
-CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
-libgloss_topdir=${libgloss_topdir}
-)
-AC_OUTPUT \ No newline at end of file
diff --git a/libgloss/or1k/crt0.S b/libgloss/or1k/crt0.S
deleted file mode 100644
index f1753d0d7..000000000
--- a/libgloss/or1k/crt0.S
+++ /dev/null
@@ -1,600 +0,0 @@
-/* crt0.S -- startup file for OpenRISC 1000.
- *
- * Copyright (c) 2011, 2014 Authors
- *
- * Contributor Julius Baxter <juliusbaxter@gmail.com>
- * Contributor Stefan Wallentowitz <stefan.wallentowitz@tum.de>
- *
- * The authors hereby grant permission to use, copy, modify, distribute,
- * and license this software and its documentation for any purpose, provided
- * that existing copyright notices are retained in all copies and that this
- * notice is included verbatim in any distributions. No written agreement,
- * license, or royalty fee is required for any of the authorized uses.
- * Modifications to this software may be copyrighted by their authors
- * and need not follow the licensing terms described here, provided that
- * the new terms are clearly indicated on the first page of each file where
- * they apply.
- */
-
-/* -------------------------------------------------------------------------- */
-/* Coding convention:
- Assembly is hard to read per se, so please follow the following coding
- conventions to keep it consistent and ease reading:
- * internal jump labels start with L, no identation
- * assemble lines have one tab identation
- * attributes (.section, .global, ..) are indented with one tab
- * code is structured using tabs, i.e., use 'l.sw\t0(r1),r1' with a single
- tab. libgloss assumes 8 space tab width, so that might look unstructured
- with tab widths below 6. Nevertheless don't use spaces or two tabs.
- * no space after comma
- * use the defined macros if possible as they reduce errors
- * use OR1K_INST with OR1K_DELAYED(_NOP)
- * OR1K_DELAYED is multiline for better readability, the inner parts are
- indented with another tab.
- * COMMENT! Try to accompy every line with a meaningful comment. If possible
- use pseudo code to describe the code. Also mention intentions and not only
- the obvious things.. */
-/* -------------------------------------------------------------------------- */
-
-#include "include/or1k-asm.h"
-#include "include/or1k-sprs.h"
-
-/* -------------------------------------------------------------------------- */
-// Stack definitions
-/* -------------------------------------------------------------------------- */
-
-// Stacks
-// Memory layout:
-// +--------------------+ <- board_mem_base+board_mem_size/exception_stack_top
-// | exception stack(s) |
-// +--------------------+ <- stack_top
-// | stack(s) |
-// +--------------------+ <- stack_bottom
-// | heap |
-// +--------------------+
-// | text, data, bss.. |
-// +--------------------+
-
-// Reserved stack size
-#define STACK_SIZE 8192
-
-// Reserved stack size for exceptions (can usually be smaller than normal stack)
-#define EXCEPTION_STACK_SIZE 8192
-
-// Size of redzone + size of space required to store state
-// This value must match that in the support library or1k_exception_handler
-// function
-#define EXCEPTION_STACK_FRAME (128+128)
-
- .extern _or1k_stack_top /* points to the next address after the stack */
- .extern _or1k_stack_bottom /* points to the last address in the stack */
- .extern _or1k_exception_stack_top
- .extern _or1k_exception_stack_bottom
-
- .section .data
- .global _or1k_stack_size /* reserved stack size */
- .global _or1k_exception_stack_size
-
-_or1k_stack_size: .word STACK_SIZE
-_or1k_exception_stack_size: .word EXCEPTION_STACK_SIZE
-
-#ifdef __OR1K_MULTICORE__
- .extern _or1k_stack_core
- .extern _or1k_exception_stack_core
-#endif
-
-#define SHADOW_REG(x) (OR1K_SPR_SYS_GPR_BASE + 32 + x)
-
-/* -------------------------------------------------------------------------- */
-/*!Macro to handle exceptions.
-
- Load NPC into r3, EPCR into r4
- */
-/* -------------------------------------------------------------------------- */
-
-#define GPR_BUF_OFFSET(x) (x << 2)
-
-#ifndef __OR1K_MULTICORE__
-#define CALL_EXCEPTION_HANDLER \
- /* store current stack pointer to address 4 */ \
- l.sw 0x4(r0),r1; \
- /* Load top of the exception stack */ \
- l.movhi r1,hi(_or1k_exception_stack_top); \
- l.ori r1,r1,lo(_or1k_exception_stack_top); \
- l.lwz r1,0(r1); \
- /* Reserve red zone and context space */ \
- l.addi r1,r1,-EXCEPTION_STACK_FRAME; \
- /* Store GPR3 in context */ \
- l.sw GPR_BUF_OFFSET(3)(r1),r3; \
- /* Load back software's stack pointer */ \
- l.lwz r3,0x4(r0); \
- /* Store this in the context */ \
- l.sw GPR_BUF_OFFSET(1)(r1),r3; \
- /* Store GPR4 in the context */ \
- l.sw GPR_BUF_OFFSET(4)(r1),r4; \
- /* Copy the current program counter as first */ \
- /* argument for the exception handler. This */ \
- /* is then used to determine the exception. */ \
- l.mfspr r3,r0,OR1K_SPR_SYS_NPC_ADDR; \
- OR1K_DELAYED( \
- /* Copy program counter of exception as */ \
- /* second argument to the exception handler */ \
- OR1K_INST(l.mfspr r4,r0,OR1K_SPR_SYS_EPCR_BASE),\
- /* Jump to exception handler. This will rfe */ \
- OR1K_INST(l.j _or1k_exception_handler) \
- )
-#else
-#define CALL_EXCEPTION_HANDLER \
- /* store current stack pointer to shadow reg */ \
- l.mtspr r0,r1,SHADOW_REG(1); \
- /* store current GPR3 as we need it */ \
- l.mtspr r0,r3,SHADOW_REG(2); \
- /* Load pointer to exception stack array */ \
- l.movhi r1,hi(_or1k_exception_stack_core); \
- l.ori r1,r1,lo(_or1k_exception_stack_core); \
- l.lwz r1,0(r1); \
- /* Get core id */ \
- l.mfspr r3,r0,OR1K_SPR_SYS_COREID_ADDR; \
- /* Calculate offset in array */ \
- l.slli r3,r3,2; \
- /* Load value from array to stack pointer */ \
- l.add r1,r1,r3; \
- l.lwz r1,0(r1); \
- /* Reserve red zone and context space */ \
- l.addi r1,r1,-EXCEPTION_STACK_FRAME; \
- /* Load back software's stack pointer */ \
- l.mfspr r3,r0,SHADOW_REG(1); \
- /* Store this in the context */ \
- l.sw GPR_BUF_OFFSET(1)(r1),r3; \
- /* Load back GPR3 */ \
- l.mfspr r3,r0,SHADOW_REG(2); \
- /* Store this in the context */ \
- l.sw GPR_BUF_OFFSET(3)(r1),r3; \
- /* Store GPR4 in the context */ \
- l.sw GPR_BUF_OFFSET(4)(r1),r4; \
- /* Copy the current program counter as first */ \
- /* argument for the exception handler. This */ \
- /* is then used to determine the exception. */ \
- l.mfspr r3,r0,OR1K_SPR_SYS_NPC_ADDR; \
- OR1K_DELAYED( \
- /* Copy program counter of exception as */ \
- /* second argument to the exception handler */ \
- OR1K_INST(l.mfspr r4,r0,OR1K_SPR_SYS_EPCR_BASE),\
- /* Jump to exception handler. This will rfe */ \
- OR1K_INST(l.j _or1k_exception_handler) \
- )
-#endif
-
-/* -------------------------------------------------------------------------- */
-/*!Exception vectors */
-/* -------------------------------------------------------------------------- */
- .section .vectors,"ax"
-
- /* 0x100: RESET exception */
- .org 0x100
-_or1k_reset:
- l.movhi r0,0
-#ifdef __OR1K_MULTICORE__
- // This is a hack that relies on the fact, that all cores start at the
- // same time and they are similarily fast
- l.sw 0x4(r0),r0
- // Similarly, we use address 8 to signal how many cores have exit'ed
- l.sw 0x8(r0),r0
-#endif
- l.movhi r1,0
- l.movhi r2,0
- l.movhi r3,0
- l.movhi r4,0
- l.movhi r5,0
- l.movhi r6,0
- l.movhi r7,0
- l.movhi r8,0
- l.movhi r9,0
- l.movhi r10,0
- l.movhi r11,0
- l.movhi r12,0
- l.movhi r13,0
- l.movhi r14,0
- l.movhi r15,0
- l.movhi r16,0
- l.movhi r17,0
- l.movhi r18,0
- l.movhi r19,0
- l.movhi r20,0
- l.movhi r21,0
- l.movhi r22,0
- l.movhi r23,0
- l.movhi r24,0
- l.movhi r25,0
- l.movhi r26,0
- l.movhi r27,0
- l.movhi r28,0
- l.movhi r29,0
- l.movhi r30,0
- l.movhi r31,0
-
- /* Clear status register, set supervisor mode */
- l.ori r1,r0,OR1K_SPR_SYS_SR_SM_MASK
- l.mtspr r0,r1,OR1K_SPR_SYS_SR_ADDR
- /* Clear timer mode register*/
- l.mtspr r0,r0,OR1K_SPR_TICK_TTMR_ADDR
- /* Jump to program initialisation code */
- LOAD_SYMBOL_2_GPR(r4, _or1k_start)
- OR1K_DELAYED_NOP(OR1K_INST(l.jr r4))
-
- .org 0x200
- CALL_EXCEPTION_HANDLER
-
- /* 0x300: Data Page Fault exception */
- .org 0x300
- CALL_EXCEPTION_HANDLER
-
- /* 0x400: Insn Page Fault exception */
- .org 0x400
- CALL_EXCEPTION_HANDLER
-
- /* 0x500: Timer exception */
- .org 0x500
- CALL_EXCEPTION_HANDLER
-
- /* 0x600: Aligment exception */
- .org 0x600
- CALL_EXCEPTION_HANDLER
-
- /* 0x700: Illegal insn exception */
- .org 0x700
- CALL_EXCEPTION_HANDLER
-
- /* 0x800: External interrupt exception */
- .org 0x800
- CALL_EXCEPTION_HANDLER
-
- /* 0x900: DTLB miss exception */
- .org 0x900
- CALL_EXCEPTION_HANDLER
-
- /* 0xa00: ITLB miss exception */
- .org 0xa00
- CALL_EXCEPTION_HANDLER
-
- /* 0xb00: Range exception */
- .org 0xb00
- CALL_EXCEPTION_HANDLER
-
- /* 0xc00: Syscall exception */
- .org 0xc00
- CALL_EXCEPTION_HANDLER
-
- /* 0xd00: Floating point exception */
- .org 0xd00
- CALL_EXCEPTION_HANDLER
-
- /* 0xe00: Trap exception */
- .org 0xe00
- CALL_EXCEPTION_HANDLER
-
- /* 0xf00: Reserved exceptions */
- .org 0xf00
- CALL_EXCEPTION_HANDLER
-
- .org 0x1000
- CALL_EXCEPTION_HANDLER
-
- .org 0x1100
- CALL_EXCEPTION_HANDLER
-
- .org 0x1200
- CALL_EXCEPTION_HANDLER
-
- .org 0x1300
- CALL_EXCEPTION_HANDLER
-
- .org 0x1400
- CALL_EXCEPTION_HANDLER
-
- .org 0x1500
- CALL_EXCEPTION_HANDLER
-
- .org 0x1600
- CALL_EXCEPTION_HANDLER
-
- .org 0x1700
- CALL_EXCEPTION_HANDLER
-
- .org 0x1800
- CALL_EXCEPTION_HANDLER
-
- .org 0x1900
- CALL_EXCEPTION_HANDLER
-
- .org 0x1a00
- CALL_EXCEPTION_HANDLER
-
- .org 0x1b00
- CALL_EXCEPTION_HANDLER
-
- .org 0x1c00
- CALL_EXCEPTION_HANDLER
-
- .org 0x1d00
- CALL_EXCEPTION_HANDLER
-
- .org 0x1e00
- CALL_EXCEPTION_HANDLER
-
- .org 0x1f00
- CALL_EXCEPTION_HANDLER
-
- /* Pad to the end */
- .org 0x1ffc
- l.nop
-
-/* -------------------------------------------------------------------------- */
-/*!Main entry point
-
- This is the initialization code of the library. It performs these steps:
-
- * Call early board initialization:
- Before anything happened, the board support may do some very early
- initialization. This is at maximum some very basic stuff that would
- otherwise prevent the following code from functioning. Other initialization
- of peripherals etc. is done later (before calling main).
- See the description below and README.board for details.
-
- * Initialize the stacks:
- Two stacks are configured: The system stack is used by the software and
- the exception stack is used when an exception occurs. We added this as
- this should be flexible with respect to the usage of virtual memory.
-
- * Activate the caches:
- If available the caches are initiliazed and activated.
-
- * Clear BSS:
- The BSS are essentially the uninitialized C variables. They are set to 0
- by default. This is performed by this function.
-
- * Initialize the impure data structure:
- Similarly, we need two library contexts, one for the normal software and
- one that is used during exceptions. The impure data structure holds
- the context information of the library. The called C function will setup
- both data structures. There is furthermore a pointer to the currently
- active impure data structure, which is initially set to the normal one.
-
- * Initialize or1k support library reentrant data structures
-
- * Initialize constructors:
- Call the static and global constructors
-
- * Set up destructors to call from exit
- The library will call the function set via atexit() during exit(). We set
- it to call the _fini function which performs destruction.
-
- * Call board initialization:
- The board initialization can perform board specific initializations such as
- configuring peripherals etc.
-
- * Jump to main
- Call main with argc = 0 and *argv[] = 0
-
- * Call exit after main returns
- Now we call exit()
-
- * Loop forever
- We are dead.
-*/
-
-/* -------------------------------------------------------------------------- */
- .section .text
-
- /* Following externs from board-specific object passed at link time */
- .extern _or1k_board_mem_base
- .extern _or1k_board_mem_size
- .extern _or1k_board_uart_base
-
- /* The early board initialization may for example read the memory size and
- set the mem_base and mem_size or do some preliminary board
- initialization. As we do not have a stack at this time, the function may
- not use the stack (and therefore be a or call a C function. But it can
- safely use all registers.
-
- We define a default implementation, which allows board files in C. As
- described above, this can only be used in assembly (board_*.S) as at
- the early stage not stack is available. A board that needs early
- initialization can overwrite the function with .global _board_init_early.
-
- Recommendation: Only use when you really need it! */
- .weak _or1k_board_init_early
-_or1k_board_init_early:
- OR1K_DELAYED_NOP(OR1K_INST(l.jr r9))
-
- /* The board initialization is then called after the C library and UART
- are initialized. It can then be used to configure UART or other
- devices before the actual main function is called. */
- .extern _or1k_board_init
-
- .global _or1k_start
- .type _or1k_start,@function
-_or1k_start:
- /* It is good to initialize and enable the caches before we do anything,
- otherwise the cores will continuously access the bus during the wait
- time for the boot barrier (0x4).
- Fortunately or1k_cache_init does not need a stack */
- OR1K_DELAYED_NOP(OR1K_INST(l.jal _or1k_cache_init))
-
-#ifdef __OR1K_MULTICORE__
- // All but core 0 have to wait
- l.mfspr r1, r0, OR1K_SPR_SYS_COREID_ADDR
- l.sfeq r1, r0
- OR1K_DELAYED_NOP(OR1K_INST(l.bf .Lcore0))
-.Lspin:
- /* r1 will be used by the other cores to check for the boot variable
- Check if r1 is still zero, core 0 will set it to 1 once it booted
- As the cache is already turned on, this will not create traffic on
- the bus, but the change is snooped by cache coherency then */
- l.lwz r1,0x4(r0)
- l.sfeq r1, r0
- OR1K_DELAYED_NOP(OR1K_INST(l.bf .Lspin))
-
- /* Initialize core i stack */
- // _or1k_stack_core is the array of stack pointers
- LOAD_SYMBOL_2_GPR(r2,_or1k_stack_core)
- // Load the base address
- l.lwz r2,0(r2)
- // Generate offset in array
- l.mfspr r1,r0,OR1K_SPR_SYS_COREID_ADDR
- l.slli r1,r1,2
- // Add to array base
- l.add r2,r2,r1
- // Load pointer to the stack top and set frame pointer
- l.lwz r1,0(r2)
- l.or r2,r1,r1
-
- // The slave cores are done, jump to main part
- OR1K_DELAYED_NOP(OR1K_INST(l.j .Linit_done));
-
- /* Only core 0 executes the initialization code */
-.Lcore0:
-#endif
- /* Call early board initialization */
- OR1K_DELAYED_NOP(OR1K_INST(l.jal _or1k_board_init_early))
-
- /* Clear BSS */
-.Lclear_bss:
- LOAD_SYMBOL_2_GPR(r3,__bss_start)
- LOAD_SYMBOL_2_GPR(r4,end)
-
-.Lclear_bss_loop:
- l.sw (0)(r3),r0
- l.sfltu r3,r4
- OR1K_DELAYED(
- OR1K_INST(l.addi r3,r3,4),
- OR1K_INST(l.bf .Lclear_bss_loop)
- )
-
- /* Initialise stack and frame pointer (set to same value) */
- LOAD_SYMBOL_2_GPR(r1,_or1k_board_mem_base)
- l.lwz r1,0(r1)
- LOAD_SYMBOL_2_GPR(r2,_or1k_board_mem_size)
- l.lwz r2,0(r2)
- l.add r1,r1,r2
-
- /* Store exception stack top address */
- LOAD_SYMBOL_2_GPR(r3,_or1k_exception_stack_top)
- l.sw 0(r3),r1
-
- /* Store exception stack bottom address */
- // calculate bottom address
- // r3 = *exception stack size
- LOAD_SYMBOL_2_GPR(r3,_or1k_exception_stack_size)
- // r3 = exception stack size
- l.lwz r3,0(r3)
-#ifdef __OR1K_MULTICORE__
- l.mfspr r4,r0,OR1K_SPR_SYS_NUMCORES_ADDR
- l.mul r3,r4,r3
-#endif
- // r4 = exception stack top - exception stack size = exception stack bottom
- l.sub r4,r1,r3
- // r5 = *exception stack bottom
- LOAD_SYMBOL_2_GPR(r5,_or1k_exception_stack_bottom)
- // store
- l.sw 0(r5),r4
-
- // Move stack pointer accordingly
- l.or r1,r0,r4
- l.or r2,r1,r1
-
- /* Store stack top address */
- LOAD_SYMBOL_2_GPR(r3,_or1k_stack_top)
- l.sw 0(r3),r1
-
- /* Store stack bottom address */
- // calculate bottom address
- // r3 = stack size
- LOAD_SYMBOL_2_GPR(r3,_or1k_stack_size)
- l.lwz r3,0(r3)
-#ifdef __OR1K_MULTICORE__
- l.mfspr r4, r0, OR1K_SPR_SYS_NUMCORES_ADDR
- l.mul r3, r4, r3
-#endif
- // r4 = stack top - stack size = stack bottom
- // -> stack bottom
- l.sub r4,r1,r3
- // r5 = *exception stack bottom
- LOAD_SYMBOL_2_GPR(r5,_or1k_stack_bottom)
- // store to variable
- l.sw 0(r5),r4
-
- /* Reinitialize the or1k support library */
- OR1K_DELAYED_NOP(OR1K_INST(l.jal _or1k_init))
-
- /* Reinitialize the reentrancy structure */
- OR1K_DELAYED_NOP(OR1K_INST(l.jal _or1k_libc_impure_init))
-
- /* Call global and static constructors */
- OR1K_DELAYED_NOP(OR1K_INST(l.jal _init))
-
- /* Set up destructors to be called from exit if main ever returns */
- l.movhi r3,hi(_fini)
- OR1K_DELAYED(
- OR1K_INST(l.ori r3,r3,lo(_fini)),
- OR1K_INST(l.jal atexit)
- )
-
- /* Check if UART is to be initialised */
- LOAD_SYMBOL_2_GPR(r4,_or1k_board_uart_base)
- l.lwz r4,0(r4)
- /* Is base set? If not, no UART */
- l.sfne r4,r0
- l.bnf .Lskip_uart
- l.or r3,r0,r0
- OR1K_DELAYED_NOP(OR1K_INST(l.jal _or1k_uart_init))
-
-.Lskip_uart:
- /* Board initialization */
- OR1K_DELAYED_NOP(OR1K_INST(l.jal _or1k_board_init))
-
-#ifdef __OR1K_MULTICORE__
- // Start other cores
- l.ori r3, r0, 1
- l.sw 0x4(r0), r3
-#endif
-
-.Linit_done:
- /* Jump to main program entry point (argc = argv = envp = 0) */
- l.or r3,r0,r0
- l.or r4,r0,r0
- OR1K_DELAYED(
- OR1K_INST(l.or r5,r0,r0),
- OR1K_INST(l.jal main)
- )
-
-#ifdef __OR1K_MULTICORE__
-.incrementexit:
- /* Atomically increment number of finished cores */
- l.lwa r3,0x8(r0)
- l.addi r3,r3,1
- l.swa 0x8(r0),r3
- OR1K_DELAYED_NOP(OR1K_INST(l.bnf .incrementexit));
- /* Compare to number of cores in this cluster */
- l.mfspr r4,r0, OR1K_SPR_SYS_NUMCORES_ADDR
- /* Compare to number of finished tasks */
- l.sfeq r3,r4
- /* Last core needs to desctruct library etc. */
- OR1K_DELAYED_NOP(OR1K_INST(l.bf .exitcorelast));
- OR1K_DELAYED(
- OR1K_INST(l.addi r3,r11,0),
- OR1K_INST(l.jal _exit)
- )
-.exitcorelast:
-#endif
- /* If program exits, call exit routine */
- OR1K_DELAYED(
- OR1K_INST(l.addi r3,r11,0),
- OR1K_INST(l.jal exit)
- )
-
- /* Loop forever */
-.Lloop_forever:
- OR1K_DELAYED_NOP(OR1K_INST(l.j .Lloop_forever))
-
- .size _or1k_start,.-_or1k_start
diff --git a/libgloss/or1k/exceptions-asm.S b/libgloss/or1k/exceptions-asm.S
deleted file mode 100644
index 7248683f5..000000000
--- a/libgloss/or1k/exceptions-asm.S
+++ /dev/null
@@ -1,201 +0,0 @@
-/* exceptions-asm.S -- exception handling for OpenRISC 1000.
- *
- * Copyright (c) 2011, 2014 Authors
- *
- * Contributor Julius Baxter <juliusbaxter@gmail.com>
- * Contributor Stefan Wallentowitz <stefan.wallentowitz@tum.de>
- *
- * The authors hereby grant permission to use, copy, modify, distribute,
- * and license this software and its documentation for any purpose, provided
- * that existing copyright notices are retained in all copies and that this
- * notice is included verbatim in any distributions. No written agreement,
- * license, or royalty fee is required for any of the authorized uses.
- * Modifications to this software may be copyrighted by their authors
- * and need not follow the licensing terms described here, provided that
- * the new terms are clearly indicated on the first page of each file where
- * they apply.
- */
-
-#include "include/or1k-asm.h"
-#include "include/or1k-sprs.h"
-
-/* -------------------------------------------------------------------------- */
-/*!Generic exception handler function
- */
-/* -------------------------------------------------------------------------- */
-// Warning - this must be the same as specified in crt0.S
-#define EXCEPTION_STACK_SIZE 128+128
-
- .extern _or1k_exception_handler_table
-
-/* -------------------------------------------------------------------------- */
-/*!Function to call appropriate exception handler
- */
-/* -------------------------------------------------------------------------- */
- .section .text
- .global _or1k_exception_handler
- .type _or1k_exception_handler,@function
-
- /*
- r3 = address of exception vector
- r4 = address where exception occurred
- */
-
-#define GPR_BUF_OFFSET(x) (x << 2)
-
-_or1k_exception_handler:
- /* Store remainder of state (r3,r4 stored in vector entry)*/
- l.sw GPR_BUF_OFFSET(2)(r1),r2
- l.sw GPR_BUF_OFFSET(5)(r1),r5
- l.sw GPR_BUF_OFFSET(6)(r1),r6
- l.sw GPR_BUF_OFFSET(7)(r1),r7
- l.sw GPR_BUF_OFFSET(8)(r1),r8
- l.sw GPR_BUF_OFFSET(9)(r1),r9
- l.sw GPR_BUF_OFFSET(10)(r1),r10
- l.sw GPR_BUF_OFFSET(11)(r1),r11
- l.sw GPR_BUF_OFFSET(12)(r1),r12
- l.sw GPR_BUF_OFFSET(13)(r1),r13
- l.sw GPR_BUF_OFFSET(14)(r1),r14
- l.sw GPR_BUF_OFFSET(15)(r1),r15
- l.sw GPR_BUF_OFFSET(16)(r1),r16
- l.sw GPR_BUF_OFFSET(17)(r1),r17
- l.sw GPR_BUF_OFFSET(18)(r1),r18
- l.sw GPR_BUF_OFFSET(19)(r1),r19
- l.sw GPR_BUF_OFFSET(20)(r1),r20
- l.sw GPR_BUF_OFFSET(21)(r1),r21
- l.sw GPR_BUF_OFFSET(22)(r1),r22
- l.sw GPR_BUF_OFFSET(23)(r1),r23
- l.sw GPR_BUF_OFFSET(24)(r1),r24
- l.sw GPR_BUF_OFFSET(25)(r1),r25
- l.sw GPR_BUF_OFFSET(26)(r1),r26
- l.sw GPR_BUF_OFFSET(27)(r1),r27
- l.sw GPR_BUF_OFFSET(28)(r1),r28
- l.sw GPR_BUF_OFFSET(29)(r1),r29
- l.sw GPR_BUF_OFFSET(30)(r1),r30
- l.sw GPR_BUF_OFFSET(31)(r1),r31
-
- /* Replace impure pointer for exception */
- l.movhi r20,hi(_or1k_exception_impure_ptr)
- l.ori r20,r20,lo(_or1k_exception_impure_ptr)
-#ifdef __OR1K_MULTICORE__
- l.lwz r20,0(r20)
- l.mfspr r22,r0,OR1K_SPR_SYS_COREID_ADDR
- l.slli r22,r22,2
- l.add r20,r20,r22
-#endif
- l.lwz r20,0(r20)
-
- l.movhi r21,hi(_or1k_current_impure_ptr)
- l.ori r21,r21,lo(_or1k_current_impure_ptr)
-#ifdef __OR1K_MULTICORE__
- l.lwz r21,0(r21)
- l.add r21,r21,r22
-#endif
- l.sw 0(r21),r20
-
- /* Determine offset in table of exception handler using r3*/
- l.andi r13,r3,0xff00
- l.srli r13,r13,6
- /* Substract 2 words, as we have no vector at 0 and no reset handler */
- l.addi r13,r13,-8
- /* r13 now contains offset in or1k_exception_handler_table for
- function
- */
- /* Get or1k_exception_handler_table address */
- l.movhi r14,hi(_or1k_exception_handler_table)
- l.ori r14,r14,lo(_or1k_exception_handler_table)
-#ifdef __OR1K_MULTICORE__
- /* Read the address of the array of cores */
- /* r14 = (*or1k_exception_handler_table) */
- l.lwz r14,0(r14)
- /* Generate core offset in array (off = coreid*30*4 = coreid*120) */
- /* r15 = coreid */
- l.mfspr r15,r0,OR1K_SPR_SYS_COREID_ADDR
- /* r16 = coreid * 128 */
- l.slli r16,r15,7
- /* r15 = coreid * 8 */
- l.slli r15,r15,3
- /* r15 = coreid*128 - coreid*8 = coreid*120 = off */
- l.sub r15,r16,r15
- /* r14 = (*or1k_exception_handler_table)[coreid] = r14 + off */
- l.add r14,r14,r15
-#endif
- /* r14 now contains base of exception handler table */
- /* add offset of exception vector */
- l.add r14,r14,r13
- /* load handler address from table */
- l.lwz r13, 0(r14)
-
- /* Check to see if this handler has been set yet */
- l.sfne r13,r0
- OR1K_DELAYED_NOP(OR1K_INST(l.bnf exception_exit))
-
- /* Call exception handler, copy EPCR to r3 */
- OR1K_DELAYED(
- OR1K_INST(l.or r3,r4,r4),
- OR1K_INST(l.jalr r13)
- )
-
- /* Restore impure pointer */
- l.movhi r20,hi(_or1k_impure_ptr)
- l.ori r20,r20,lo(_or1k_impure_ptr)
-#ifdef __OR1K_MULTICORE__
- l.lwz r20,0(r20)
- l.mfspr r22,r0,OR1K_SPR_SYS_COREID_ADDR
- l.slli r22,r22,2
- l.add r20,r20,r22
-#endif
- l.lwz r20,0(r20)
-
- l.movhi r21,hi(_or1k_current_impure_ptr)
- l.ori r21,r21,lo(_or1k_current_impure_ptr)
-#ifdef __OR1K_MULTICORE__
- l.lwz r21,0(r21)
- l.add r21,r21,r22
-#endif
- l.sw 0(r21),r20
-
- /* Restore state */
- l.lwz r2,GPR_BUF_OFFSET(2)(r1)
- l.lwz r3,GPR_BUF_OFFSET(3)(r1)
- l.lwz r4,GPR_BUF_OFFSET(4)(r1)
- l.lwz r5,GPR_BUF_OFFSET(5)(r1)
- l.lwz r6,GPR_BUF_OFFSET(6)(r1)
- l.lwz r7,GPR_BUF_OFFSET(7)(r1)
- l.lwz r8,GPR_BUF_OFFSET(8)(r1)
- l.lwz r9,GPR_BUF_OFFSET(9)(r1)
- l.lwz r10,GPR_BUF_OFFSET(10)(r1)
- l.lwz r11,GPR_BUF_OFFSET(11)(r1)
- l.lwz r12,GPR_BUF_OFFSET(12)(r1)
- l.lwz r13,GPR_BUF_OFFSET(13)(r1)
- l.lwz r14,GPR_BUF_OFFSET(14)(r1)
- l.lwz r15,GPR_BUF_OFFSET(15)(r1)
- l.lwz r16,GPR_BUF_OFFSET(16)(r1)
- l.lwz r17,GPR_BUF_OFFSET(17)(r1)
- l.lwz r18,GPR_BUF_OFFSET(18)(r1)
- l.lwz r19,GPR_BUF_OFFSET(19)(r1)
- l.lwz r20,GPR_BUF_OFFSET(20)(r1)
- l.lwz r21,GPR_BUF_OFFSET(21)(r1)
- l.lwz r22,GPR_BUF_OFFSET(22)(r1)
- l.lwz r23,GPR_BUF_OFFSET(23)(r1)
- l.lwz r24,GPR_BUF_OFFSET(24)(r1)
- l.lwz r25,GPR_BUF_OFFSET(25)(r1)
- l.lwz r26,GPR_BUF_OFFSET(26)(r1)
- l.lwz r27,GPR_BUF_OFFSET(27)(r1)
- l.lwz r28,GPR_BUF_OFFSET(28)(r1)
- l.lwz r29,GPR_BUF_OFFSET(29)(r1)
- l.lwz r30,GPR_BUF_OFFSET(30)(r1)
- l.lwz r31,GPR_BUF_OFFSET(31)(r1)
-
- // Restore original stack
- l.lwz r1,GPR_BUF_OFFSET(1)(r1)
-
- l.rfe
- l.nop
-
-exception_exit:
- /* Exception handler not set, exit */
- OR1K_DELAYED(
- OR1K_INST(l.or r3,r4,r4),
- OR1K_INST(l.jal exit)
- )
diff --git a/libgloss/or1k/exceptions.c b/libgloss/or1k/exceptions.c
deleted file mode 100644
index 8240d09d2..000000000
--- a/libgloss/or1k/exceptions.c
+++ /dev/null
@@ -1,21 +0,0 @@
-#include "include/or1k-support.h"
-
-#include "or1k-internals.h"
-
-#ifdef __OR1K_MULTICORE__
-or1k_exception_handler_table_t *_or1k_exception_handler_table;
-#else
-or1k_exception_handler_table_t _or1k_exception_handler_table;
-#endif
-
-void or1k_exception_handler_add(int id, or1k_exception_handler_fptr handler)
-{
- // Subtract 2 as we do not have a vector at 0 and reset is static
- id = id - 2;
-#ifdef __OR1K_MULTICORE__
- _or1k_exception_handler_table[or1k_coreid()][id] = handler;
-
-#else
- _or1k_exception_handler_table[id] = handler;
-#endif
-}
diff --git a/libgloss/or1k/impure.c b/libgloss/or1k/impure.c
deleted file mode 100644
index f4eb4ad19..000000000
--- a/libgloss/or1k/impure.c
+++ /dev/null
@@ -1,120 +0,0 @@
-/* impure.c. Handling of re-entrancy data structure for OpenRISC 1000.
-
- Copyright (C) 2014, Authors
-
- Contributor Stefan Wallentowitz <stefan.wallentowitz@tum.de>
-
- * The authors hereby grant permission to use, copy, modify, distribute,
- * and license this software and its documentation for any purpose, provided
- * that existing copyright notices are retained in all copies and that this
- * notice is included verbatim in any distributions. No written agreement,
- * license, or royalty fee is required for any of the authorized uses.
- * Modifications to this software may be copyrighted by their authors
- * and need not follow the licensing terms described here, provided that
- * the new terms are clearly indicated on the first page of each file where
- * they apply.
- */
-
-#include <reent.h>
-#include "or1k-internals.h"
-
-#include <string.h>
-
-/* As an exception handler may also use the library, it is better to use
- * a different re-entrancy data structure for the exceptions.
- * This data structure is configured here and as part of the exception
- * handler (or1k_exception_handler) temporarily replaces the software's
- * impure data pointer.
- *
- * During initialization, the libraries standard _impure_data and the exception
- * impure data (_exception_impure_data) are initialized. Afterwards,
- * the current value _current_impure_ptr is set to _impure_ptr.
- *
- * At runtime __getreent is called to return the current reentrancy pointer,
- * which is stored in _current_impure_ptr.
- *
- * In the or1k_exception_handler the _current_impure_ptr is set to point to
- * _exception_impure_ptr. After the exception handler returned, it is set back
- * to _impure_ptr.
- */
-
-/* Link in the external impure_data structure */
-extern struct _reent *__ATTRIBUTE_IMPURE_PTR__ _impure_ptr;
-
-#ifdef __OR1K_MULTICORE__
-struct _reent **_or1k_impure_ptr;
-struct _reent **_or1k_exception_impure_ptr;
-struct _reent **_or1k_current_impure_ptr;
-#else
-struct _reent *__ATTRIBUTE_IMPURE_PTR__ _or1k_impure_ptr;
-
-/* Create exception impure data structure */
-static struct _reent _or1k_exception_impure_data = _REENT_INIT (_or1k_exception_impure_data);
-
-/* Link to the exception impure data structure */
-struct _reent *__ATTRIBUTE_IMPURE_PTR__ _or1k_exception_impure_ptr = &_or1k_exception_impure_data;
-
-/* Link to the currently used data structure. */
-struct _reent *__ATTRIBUTE_IMPURE_PTR__ _or1k_current_impure_ptr;
-#endif
-
-#ifdef __OR1K_MULTICORE__
-#define OR1K_LIBC_GETREENT _or1k_current_impure_ptr[or1k_coreid()]
-#else
-#define OR1K_LIBC_GETREENT _or1k_current_impure_ptr
-#endif
-
-void
-_or1k_libc_impure_init (void)
-{
-#ifdef __OR1K_MULTICORE__
- uint32_t c;
-
- _or1k_impure_ptr = _sbrk_r(0, sizeof(struct _reent*) * or1k_numcores());
- _or1k_exception_impure_ptr = _sbrk_r(0, sizeof(struct _reent*) * or1k_numcores());
- _or1k_current_impure_ptr = _sbrk_r(0, sizeof(struct _reent*) * or1k_numcores());
-
- _or1k_impure_ptr[0] = _impure_ptr;
- _REENT_INIT_PTR(_impure_ptr);
- for (c = 1; c < or1k_numcores(); c++) {
- _or1k_impure_ptr[c] = _sbrk_r(0, sizeof(struct _reent));
- _REENT_INIT_PTR(_or1k_impure_ptr[c]);
- }
-
- for (c = 0; c < or1k_numcores(); c++) {
- _or1k_exception_impure_ptr[c] = _sbrk_r(0, sizeof(struct _reent));
- _REENT_INIT_PTR(_or1k_exception_impure_ptr[c]);
- }
-
- for (c = 0; c < or1k_numcores(); c++) {
- _or1k_current_impure_ptr[c] = _or1k_impure_ptr[c];
- }
-#else
- // Initialize both impure data structures
- _REENT_INIT_PTR (_impure_ptr);
- _REENT_INIT_PTR (_or1k_exception_impure_ptr);
-
- // Set current to standard impure pointer
- _or1k_current_impure_ptr = _impure_ptr;
-#endif
-}
-
-struct _reent*
-_or1k_libc_getreent(void) {
- return OR1K_LIBC_GETREENT;
-}
-
-#ifdef __OR1K_MULTICORE__
-struct _or1k_reent (*_or1k_reent)[];
-#else
-struct _or1k_reent _or1k_reent;
-#endif
-
-void
-_or1k_reent_init(void)
-{
-#ifdef __OR1K_MULTICORE__
- size_t memsize = sizeof(struct _or1k_reent) * or1k_numcores();
- _or1k_reent = (struct _or1k_reent*) _sbrk_r(0, memsize);
-#endif
-}
diff --git a/libgloss/or1k/include/or1k-asm.h b/libgloss/or1k/include/or1k-asm.h
deleted file mode 100644
index c218c64fe..000000000
--- a/libgloss/or1k/include/or1k-asm.h
+++ /dev/null
@@ -1,83 +0,0 @@
-/* or1k-asm.h -- OR1K assembly helper macros
-
- Copyright (c) 2014 OpenRISC Project Maintainers
- Copyright (C) 2012-2014 Peter Gavin <pgavin@gmail.com>
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following condition
- is met:
-
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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
- COPYRIGHT HOLDER 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.
-
- */
-
-#ifndef OR1K_ASM_H
-#define OR1K_ASM_H
-
-/* The purpose of the OR1K_INST macro is simply to protect the commas
- embedded within an instruction from the C preprocessor. An entire
- instruction can be safely embedded within its arguments, including
- an arbitrary number of commas, and it will be reproduced
- exactly. */
-#define OR1K_INST(...) __VA_ARGS__
-
-/* OR1K_DELAYED takes two arguments which must be instructions. They
- should be wrapped in OR1K_INST if the instructions require commas.
- The second argument should be a jump or branch instruction. If we
- are assembling the code in delay-slot mode (e.g., for the standard
- OR1K) the first instruction will be emitted in the delay slot of
- the second instruction. In no-delay-slot mode they will be emitted
- in order. If we are using compat-delay mode, they will be emitted
- in order, but an l.nop instruction will be emitted immediately
- after. */
-
-/* OR1K_DELAYED_NOP takes a single argument, which should be a
- branch/jump instruction. In delay-slot or compat-delay modes, the
- instruction will be emitted with an l.nop in its delay slot. In
- no-delay mode, the instruction will be emitted by itself. */
-
-#if defined(__OR1K_NODELAY__)
-
-#define OR1K_DELAYED(a, b) a; b
-#define OR1K_DELAYED_NOP(a) a
-
-/* Go ahead and emit the .nodelay directive when in no-delay mode, so
- that the flags are appropriately set in the binary. */
-.nodelay
-
-#elif defined(__OR1K_DELAY__)
-
-#define OR1K_DELAYED(a, b) b; a
-#define OR1K_DELAYED_NOP(a) a; l.nop
-
-#elif defined(__OR1K_DELAY_COMPAT__)
-
-#define OR1K_DELAYED(a, b) a; b; l.nop
-#define OR1K_DELAYED_NOP(a) a; l.nop
-
-#else
-
-#error One of __OR1K_NODELAY__, __OR1K_DELAY__, or __OR1K_DELAY_COMPAT__ must be defined
-
-#endif
-
-#define LOAD_SYMBOL_2_GPR(gpr,symbol) \
- .global symbol ; \
- l.movhi gpr, hi(symbol) ; \
- l.ori gpr, gpr, lo(symbol)
-#endif
diff --git a/libgloss/or1k/include/or1k-nop.h b/libgloss/or1k/include/or1k-nop.h
deleted file mode 100644
index 0d432dad4..000000000
--- a/libgloss/or1k/include/or1k-nop.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/* or1k-asm.h -- OR1K assembly helper macros
-
- Copyright (c) 2014 OpenRISC Project Maintainers
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following condition
- is met:
-
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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
- COPYRIGHT HOLDER 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.
- */
-
-#ifndef __OR1K_NOP_H__
-#define __OR1K_NOP_H__
-
-#define OR1K_NOP_K_NOP 0x0
-#define OR1K_NOP_K_EXIT 0x1
-#define OR1K_NOP_K_PUTC 0x4
-#define OR1K_NOP_K_EXIT_QUIET 0xc
-
-#endif
diff --git a/libgloss/or1k/include/or1k-support.h b/libgloss/or1k/include/or1k-support.h
deleted file mode 100644
index c29b064be..000000000
--- a/libgloss/or1k/include/or1k-support.h
+++ /dev/null
@@ -1,665 +0,0 @@
-/* Copyright (c) 2014 Authors
- *
- * Contributor Julius Baxter <julius.baxter@orsoc.se>
- * Contributor Stefan Wallentowitz <stefan.wallentowitz@tum.de>
- *
- * The authors hereby grant permission to use, copy, modify, distribute,
- * and license this software and its documentation for any purpose, provided
- * that existing copyright notices are retained in all copies and that this
- * notice is included verbatim in any distributions. No written agreement,
- * license, or royalty fee is required for any of the authorized uses.
- * Modifications to this software may be copyrighted by their authors
- * and need not follow the licensing terms described here, provided that
- * the new terms are clearly indicated on the first page of each file where
- * they apply.
- */
-
-/* -------------------------------------------------------------------------- */
-/* This program is commented throughout in a fashion suitable for processing
-with Doxygen. */
-/* -------------------------------------------------------------------------- */
-
-#include <stdint.h>
-
-#ifndef __OR1K_SUPPORT_H__
-#define __OR1K_SUPPORT_H__
-
-/*!
-* \defgroup or1k_macros OR1K macros
-* @{
-*/
-
-/*!
-* Access byte-sized memory mapped register
-*
-* Used to access a byte-sized memory mapped register. It avoids usage errors
-* when not defining register addresses volatile and handles casting correctly.
-*
-* Example for both read and write:
-*
-* \code
-* uint8_t status = REG8(IPBLOCK_STATUS_REG_ADDR);
-* REG8(IPBLOCK_ENABLE) = 1;
-* \endcode
-*
-* \param add Register address
-*/
-#define REG8(add) *((volatile unsigned char *) (add))
-
-/*!
-* Access halfword-sized memory mapped register
-*
-* Used to access a 16 byte-sized memory mapped register. It avoids usage errors
-* when not defining register addresses volatile and handles casting correctly.
-*
-* See REG8() for an example.
-*
-* \param add Register address
-*/
-#define REG16(add) *((volatile unsigned short *) (add))
-
-/*!
-* Access word-sized memory mapped register
-*
-* Used to access a word-sized memory mapped register. It avoids usage errors
-* when not defining register addresses volatile and handles casting correctly.
-*
-* See REG8() for an example.
-*
-* \param add Register address
-*/
-#define REG32(add) *((volatile unsigned long *) (add))
-/*!
-* @}
-*/
-
-/*!
-* \defgroup or1k_interrupts OR1K interrupt control
-*
-* Interrupt control function prototypes
-*
-* @{
-*/
-
-/*! Function pointer to interrupt handler functions */
-typedef void (*or1k_interrupt_handler_fptr)(void* data);
-
-/*!
-* Add interrupt handler for interrupt line
-*
-* Registers a callback function for a certain interrupt line.
-*
-* \param line Interrupt line/id to register a handler for
-* \param handler Handler to register
-* \param data Data value passed to the handler
-*/
-void or1k_interrupt_handler_add(uint32_t line,
- or1k_interrupt_handler_fptr handler,
- void* data);
-
-/*!
-* Enable interrupts from a given line
-*
-* Unmask the given interrupt line. It is also important to enable interrupts
-* in general, e.g., using or1k_interrupts_enable().
-*
-* \param line Interrupt line to enable
-*/
-void or1k_interrupt_enable(int line);
-
-/*!
-* Disable interrupts from a given line
-*
-* Mask given interrupt line. It can be unmasked using or1k_interrupt_enable().
-*
-* \param line Interrupt line to disable
-*/
-void or1k_interrupt_disable(int line);
-
-/*!
-* Disable interrupts
-*
-* This disables the interrupt exception. This is sufficient to disable all
-* interrupts. It does not change the mask register (which is modified using
-* or1k_interrupt_enable() and or1k_interrupt_disable()).
-*
-* The interrupt exception can be enabled using or1k_interrupts_enable().
-*
-* Finally, the status of the interrupt exception enable flag is returned by
-* this function. That allows to call this function even if interrupts are
-* already disabled. To restore the value of the interrupt exception enable
-* flag, use the or1k_interrupts_restore() function. That way you avoid to
-* accidentally enable interrupts. Example:
-*
-* \code
-* void f() {
-* uint32_t interrupt_status = or1k_interrupts_disable();
-* // do something
-* or1k_interrupts_restore(status);
-* }
-* \endcode
-*
-* This code will preserve the original status of the interrupt enable flag.
-*
-* \return Interrupt exception enable flag before call
-*/
-uint32_t or1k_interrupts_disable(void);
-
-/*!
-* Enable interrupt exception
-*
-* Enable the interrupt exception. Beside the interrupt exception, it is also
-* necessary to enable the individual interrupt lines using
-* or1k_interrupt_enable().
-*
-* You should avoid using this function together with or1k_interrupts_disable()
-* to guard atomic blocks as it unconditionally enables the interrupt
-* exception (see documentation of or1k_interrupts_disable()).
-*/
-void or1k_interrupts_enable(void);
-
-/*!
-* Restore interrupt exception enable flag
-*
-* This function restores the given status to the processor.
-* or1k_interrupts_restore(0) is identical to or1k_interrupts_disable() and
-* or1k_interrupts_restore(SPR_SR_IEE) is identical to or1k_interrupts_enable().
-*
-* It is for example used to guard an atomic block and restore the original
-* status of the interrupt exception enable flag as returned by
-* or1k_interrupts_disable(). See the documentation of or1k_interrupts_disable()
-* for a usage example.
-*
-* \param status Status of the flag to restore
-*/
-void or1k_interrupts_restore(uint32_t status);
-
-/*!
- * Disable timer and interrupt exception
- *
- * This function disables the timer and interrupt exception to guard critical
- * sections. It returns the status of the enable bits before the critical
- * section, that is restored with or1k_critical_end().
- *
- * Example:
- * \code
- * ...
- * uint32_t status = or1k_critical_start();
- * // critical part
- * or1k_critical_end(status);
- * ...
- * \endcode
- *
- * \return Status of timer and interrupt exception at time of call
- */
-uint32_t or1k_critical_begin();
-
-/*!
- * Enable timer and interrupt exception
- *
- * Restore the timer and interrupt exception enable. The restore value is the
- * return value from or1k_critical_start().
- *
- * \param restore Interrupt and timer exception enable restore value
- */
-void or1k_critical_end(uint32_t restore);
-/*!
-* @}
-*/
-
-/*!
-* \defgroup or1k_exception Exception handling
-* @{
-*/
-/*! Function pointer to an exception handler function */
-typedef void (*or1k_exception_handler_fptr)(void);
-
-/*!
-* Register exception handler
-*
-* Register an exception handler for the given exception id. This handler is
-* in the following then called when the exception occurs. You can thereby
-* individually handle those exceptions.
-*
-* \param id Exception id
-* \param handler Handler callback
-*/
-void or1k_exception_handler_add(int id, or1k_exception_handler_fptr handler);
-/*!
-* @}
-*/
-
-/*!
-* \defgroup or1k_spr SPR access
-* @{
-*/
-
-/*!
-* Move value to special purpose register
-*
-* Move data value to a special purpose register
-*
-* \param spr SPR identifier, see spr-defs.h for macros
-* \param value value to move to SPR
-*/
-static inline void or1k_mtspr (uint32_t spr, uint32_t value)
-{
- __asm__ __volatile__ ("l.mtspr\t\t%0,%1,0": : "r" (spr), "r" (value));
-}
-
-/*!
-* Copy value from special purpose register
-*
-* Copy a data value from the given special purpose register.
-*
-* \param spr SPR identifier, see spr-defs.h for macros
-* \return SPR data value
-*/
-static inline uint32_t or1k_mfspr (uint32_t spr) {
- uint32_t value;
- __asm__ __volatile__ ("l.mfspr\t\t%0,%1,0" : "=r" (value) : "r" (spr));
- return value;
-}
-/*!
-* @}
-*/
-
-/*!
-* \defgroup or1k_util Miscellaneous utility functions
-*
-* @{
-*/
-
-/*!
-* Report value to simulator
-*
-* Uses the built-in simulator functionality.
-*
-* \param value Value to report
-*/
-void or1k_report (unsigned long int value);
-
-/*!
-* Get (pseudo) random number
-*
-* This should return pseudo-random numbers, based on a Galois LFSR.
-*
-* \return (Pseudo) Random number
-*/
-unsigned long int or1k_rand(void);
-
-/*!
- * Register UART callback
- *
- * This function sets a callback function that is called when a character is
- * received via UART. The callback function has no return and a gets the
- * character as parameter. When a character is received, the function is called.
- *
- * Example (UART echo):
- * \code
- * void uart_in(char c) {
- * printf("%c", c); // Echo
- * }
- *
- * int main() {
- * or1k_uart_set_read_cb(&uart_in);
- * or1k_interrupts_enable();
- *
- * while (1) {}
- * }
- * \endcode
- */
-void or1k_uart_set_read_cb(void (*cb)(char c));
-/*!
-* @}
-*/
-
-/*!
-* \defgroup or1k_cache Cache control
-*
-* @{
-*/
-
-/*!
-* Enable instruction cache
-*/
-void or1k_icache_enable(void);
-
-/*!
-* Disable instruction cache
-*/
-void or1k_icache_disable(void);
-
-/*!
-* Flush instruction cache
-*
-* Invalidate instruction cache entry
-*
-* \param entry Entry to invalidate
-*/
-void or1k_icache_flush(uint32_t entry);
-
-/*!
-* Enable data cache
-*/
-void or1k_dcache_enable(void);
-
-/*!
-* Disable data cache
-*/
-void or1k_dcache_disable(void);
-
-/*!
-* Flush data cache
-*
-* Invalidate data cache entry
-*
-* \param entry Entry to invalidate
-*/
-void or1k_dcache_flush(unsigned long entry);
-/*!
-* @}
-*/
-
-/*!
-* \defgroup or1k_mmu MMU control
-* @{
-*/
-
-/*!
-* Enable instruction MMU
-*/
-void or1k_immu_enable(void);
-
-/*!
-* Disable instruction MMU
-*/
-void or1k_immu_disable(void);
-
-/*!
-* Enable data MMU
-*/
-void or1k_dmmu_enable(void);
-
-/*!
-* Disable data MMU
-*/
-void or1k_dmmu_disable(void);
-/*!
-* @}
-*/
-
-/*!
-* \defgroup or1k_timer Timer control
-*
-* The tick timer can be used for time measurement, operating system scheduling
-* etc. By default it is initialized to continuously count the ticks of a
-* certain period after calling or1k_timer_init(). The period can later be
-* changed using or1k_timer_set_period().
-*
-* The timer is controlled using or1k_timer_enable(), or1k_timer_disable(),
-* or1k_timer_restore(), or1k_timer_pause(). After initialization it is required
-* to enable the timer the first time using or1k_timer_enable().
-* or1k_timer_disable() only disables the tick timer interrupts, it does not
-* disable the timer counting. If you plan to use a pair of or1k_timer_disable()
-* and or1k_timer_enable() to protect sections of your code against interrupts
-* you should use or1k_timer_disable() and or1k_timer_restore(), as it may be
-* possible that the timer interrupt was not enabled before disabling it,
-* enable would then start it unconditionally. or1k_timer_pause() pauses the
-* counting.
-*
-* In the default mode you can get the tick value using or1k_timer_get_ticks()
-* and reset this value using or1k_timer_reset_ticks().
-*
-* Example for using the default mode:
-*
-* \code
-* int main() {
-* uint32_t ticks = 0;
-* uint32_t timerstate;
-* or1k_timer_init(100);
-* or1k_timer_enable();
-* while (1) {
-* while (ticks == or1k_timer_get_ticks()) { }
-* timerstate = or1k_timer_disable();
-* // do something atomar
-* or1k_timer_restore(timerstate);
-* if (ticks == 100) {
-* printf("A second elapsed\n");
-* or1k_timer_reset_ticks();
-* ticks = 0;
-* }
-* }
-* }
-* \endcode
-*
-* It is possible to change the mode of the tick timer using
-* or1k_timer_set_mode(). Allowed values are the correct bit pattern (including
-* the bit positions) for the TTMR register, it is recommended to use the macros
-* defined in spr-defs.h. For example, implementing an operating system with
-* scheduling decisions of varying duration favors the implementation of single
-* run tick timer. Here, each quantum is started before leaving the operating
-* system kernel. The counter can be restarted with or1k_timer_reset().
-* Example:
-*
-* \code
-* void tick_handler(void) {
-* // Make schedule decision
-* // and set new thread
-* or1k_timer_reset();
-* // End of exception, new thread will run
-* }
-*
-* int main() {
-* // Configure operating system and start threads..
-*
-* // Configure timer
-* or1k_timer_init(50);
-* or1k_timer_set_handler(&tick_handler);
-* or1k_timer_set_mode(SPR_TTMR_SR);
-* or1k_timer_enable();
-*
-* // Schedule first thread and die..
-* }
-* \endcode
-*
-* @{
-*/
-
-/*!
-* Initialize tick timer
-*
-* This initializes the tick timer in default mode (see \ref or1k_timer for
-* details).
-*
-* \param hz Initial period of the tick timer
-* \return 0 if successful, -1 if timer not present
-*/
-int or1k_timer_init(unsigned int hz);
-
-/*!
-* Set period of timer
-*
-* Set the period of the timer to a value in Hz. The frequency from the board
-* support package is used to determine the match value.
-*/
-void or1k_timer_set_period(uint32_t hz);
-
-/*!
-* Replace the timer interrupt handler
-*
-* By default the tick timer is used to handle timer ticks. The user can replace
-* this with an own handler for example when implementing an operating system.
-*
-* \param handler The callback function pointer to the handler
-*/
-void or1k_timer_set_handler(void (*handler)(void));
-
-/*!
-* Set timer mode
-*
-* The timer has different modes (see architecture manual). The default is to
-* automatically restart counting (SPR_TTMR_RT), others are single run
-* (SPR_TTMR_SR) and continuous run (SPR_TTMR_CR).
-*
-* \param mode a valid mode (use definitions from spr-defs.h as it is important
-* that those are also at the correct position in the bit field!)
-*/
-void or1k_timer_set_mode(uint32_t mode);
-
-/*!
-* Enable timer interrupt
-*
-* Enable the timer interrupt exception, independent of the status before.
-* If you want to enable the timer conditionally, for example to implement a
-* non-interruptible sequence of code, you should use or1k_timer_restore(). See
-* the description of or1k_timer_disable() for more details.
-*
-* The enable will also restore the mode if the timer was paused previously.
-*/
-void or1k_timer_enable(void);
-
-/*!
-* Disable timer interrupt
-*
-* This disables the timer interrupt exception and returns the state of the
-* interrupt exception enable flag before the call. This can be used with
-* or1k_timer_restore() to implement sequences of code that are not allowed to
-* be interrupted. Using or1k_timer_enable() will unconditionally enable the
-* interrupt independent of the state before calling or1k_timer_disable().
-* For an example see \ref or1k_timer.
-*
-* \return Status of timer interrupt before call
-*/
-uint32_t or1k_timer_disable(void);
-
-/*!
-* Restore timer interrupt exception flag
-*
-* Restores the timer interrupt exception flag as returned by
-* or1k_timer_disable(). See the description of or1k_timer_disable() and \ref
-* or1k_timer for details and an example.
-*
-* \param sr_tee Status of timer interrupt
-*/
-void or1k_timer_restore(uint32_t sr_tee);
-
-/*!
-* Pause timer counter
-*
-* Pauses the counter of the tick timer. The counter will hold its current value
-* and it can be started again with or1k_timer_enable() which will restore the
-* configured mode.
-*/
-void or1k_timer_pause(void);
-
-/*!
-* Reset timer counter
-*/
-void or1k_timer_reset(void);
-
-/*!
-* Get timer ticks
-*
-* Get the global ticks of the default configuration. This will increment the
-* tick counter according to the preconfigured period.
-*
-* \return Current value of ticks
-*/
-unsigned long or1k_timer_get_ticks(void);
-
-/*!
-* Reset timer ticks
-*
-* Resets the timer ticks in default configuration to 0.
-*/
-void or1k_timer_reset_ticks(void);
-/*!
-* @}
-*/
-
-/*!
- * \defgroup or1k_multicore Multicore and Synchronization Support
- *
- * @{
- */
-
-/*!
- * Compiled with multicore support
- *
- * \return 1 if compiled with multicore support, 0 otherwise
- */
-uint32_t or1k_has_multicore_support(void);
-
-/*!
- * Read core identifier
- *
- * \return Core identifier
- */
-uint32_t or1k_coreid(void);
-
-/*!
- * Read number of cores
- *
- * \return Total number of cores
- */
-uint32_t or1k_numcores(void);
-
-/*!
- * Load linked
- *
- * Load a value from the given address and link it. If the following
- * or1k_sync_sc() goes to the same address and there was no conflicting access
- * between loading and storing, the value is written back, else the write fails.
- *
- * \param address Address to load value from
- * \return Value read from the address
- */
-uint32_t or1k_sync_ll(void *address);
-
-/**
- * Store conditional
- *
- * Conditionally store a value to the address. The address must have been read
- * before using or1k_sync_ll() and there must be no other load link after that,
- * otherwise this will always fail. In case there was no other write to the same
- * address in between the load link and the store conditional, the store is
- * successful, otherwise it will also fail.
- *
- * \param address Address to conditionally store to
- * \param value Value to write to address
- * \return 1 if success, 0 if fail
- */
-int or1k_sync_sc(void *address, uint32_t value);
-
-/*!
- * Compare and Swap
- *
- * Loads a data item from the memory and compares a given value to it. If the
- * values match, a new value is written to the memory, if they mismatch, the
- * operation is aborted. The whole operation is atomic, i.e., it is guaranteed
- * that no other core changes the value between the read and the write.
- *
- * \param address Address to operate on
- * \param compare Compare value
- * \param swap New value to write
- * \return The value read from memory (can be used to check for success)
- */
-uint32_t or1k_sync_cas(void *address, uint32_t compare, uint32_t swap);
-
-/*!
- * Test and Set Lock
- *
- * Check for a lock on an address. This means, if there is 0 at an address it
- * will overwrite it with 1 and return 0. If the lock was already set (value
- * 1 read from address), the function returns 1. The operation is atomic.
- *
- * \param address Address of the lock
- * \return 0 if success, 1 if failed
- */
-int or1k_sync_tsl(void *address);
-/*!
- * @}
- */
-
-#endif /* __NEWLIB_OR1K_SUPPORT_H__ */
diff --git a/libgloss/or1k/interrupts-asm.S b/libgloss/or1k/interrupts-asm.S
deleted file mode 100644
index 560035285..000000000
--- a/libgloss/or1k/interrupts-asm.S
+++ /dev/null
@@ -1,166 +0,0 @@
-/* interrupts-asm.S -- interrupt handling for OpenRISC 1000.
- *
- * Copyright (c) 2011, 2012, 2014 Authors
- *
- * Contributor Julius Baxter <juliusbaxter@gmail.com>
- * Contributor Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>
- * Contributor Stefan Wallentowitz <stefan.wallentowitz@tum.de>
- *
- * The authors hereby grant permission to use, copy, modify, distribute,
- * and license this software and its documentation for any purpose, provided
- * that existing copyright notices are retained in all copies and that this
- * notice is included verbatim in any distributions. No written agreement,
- * license, or royalty fee is required for any of the authorized uses.
- * Modifications to this software may be copyrighted by their authors
- * and need not follow the licensing terms described here, provided that
- * the new terms are clearly indicated on the first page of each file where
- * they apply.
- */
-
-/* -------------------------------------------------------------------------- */
-/*!Generic interrupt handler function for or1k
- */
-/* -------------------------------------------------------------------------- */
-
-#include "include/or1k-asm.h"
-#include "include/or1k-sprs.h"
-
- .extern _or1k_interrupt_handler_table
- .extern _or1k_interrupt_handler_data_ptr_table
-
-/* -------------------------------------------------------------------------- */
-/*!Function to call appropriate interrupt handler
- */
-/* -------------------------------------------------------------------------- */
-
- .section .text
- .global _or1k_interrupt_handler
- .type _or1k_interrupt_handler,@function
-
-_or1k_interrupt_handler:
- /* Make room on stack, save link register */
- l.addi r1,r1,-12
- l.sw 0(r1),r9
-
- /* Read PICSR */
- l.mfspr r3,r0,OR1K_SPR_PIC_PICSR_ADDR
-
- /* Load handler table base address */
- l.movhi r7,hi(_or1k_interrupt_handler_table)
- l.ori r7,r7,lo(_or1k_interrupt_handler_table)
- /* Load data pointer table base address */
- l.movhi r12,hi(_or1k_interrupt_handler_data_ptr_table)
- l.ori r12,r12,lo(_or1k_interrupt_handler_data_ptr_table)
-#ifdef __OR1K_MULTICORE__
- /* Read the addresses of the arrays of cores */
- /* r7 = (*or1k_interrupt_handler_table) */
- l.lwz r7,0(r7)
- /* r12 = (*or1k_interrupt_handler_data_ptr_table) */
- l.lwz r12,0(r12)
- /* Generate offset in arrays */
- /* r14 = coreid */
- l.mfspr r14,r0,OR1K_SPR_SYS_COREID_ADDR
- /* r14 = coreid*32*4 = off */
- l.slli r14,r14,7
- /* r7 = (*or1k_exception_handler_table)[coreid] */
- l.add r7,r7,r14
- /* r12 = (*or1k_exception_handler_table)[coreid] */
- l.add r12,r12,r14
-#endif
-
-.L0:
- /* Find first set bit in PICSR */
- l.ff1 r4,r3
- /* Any bits set? */
- l.sfne r4,r0
- /* If none, finish */
- OR1K_DELAYED_NOP(OR1K_INST(l.bnf .L2))
- /* What is IRQ function table offset? */
- l.addi r5,r4,-1
- l.slli r6,r5,2
- /* Add this to table bases */
- l.add r14,r6,r7
- l.add r13,r6,r12
-
- /* Fetch handler function address */
- l.lwz r14,0(r14)
-
- /* Double check it's valid, compare against INTERRUPT_HANDLER_NOT_SET */
- l.sfne r14,r0
- /* Skip if no handler: TODO: Indicate interrupt fired but no handler*/
- OR1K_DELAYED_NOP(OR1K_INST(l.bnf .L1))
-
- /* Pull out data pointer from table, save r3, we'll write over it */
- l.sw 4(r1),r3
- l.lwz r3,0(r13)
- /* Call handler, save r5 in delay slot */
- OR1K_DELAYED(
- OR1K_INST(l.sw 8(r1),r5),
- OR1K_INST(l.jalr r14)
- )
-
- /* Reload r3,r5 */
- l.lwz r3,4(r1)
- l.lwz r5,8(r1)
-.L1:
- /* Clear bit from PICSR, return to start of checking loop */
- l.ori r6,r0,1
- l.sll r6,r6,r5
- OR1K_DELAYED(
- OR1K_INST(l.xor r3,r3,r6),
- OR1K_INST(l.j .L0)
- )
-
-.L2:
- /* Finish up - write PICSR back, restore r9*/
- l.lwz r9,0(r1)
- l.mtspr r0,r3,OR1K_SPR_PIC_PICSR_ADDR
- OR1K_DELAYED(
- OR1K_INST(l.addi r1,r1,12),
- OR1K_INST(l.jr r9)
- )
-
-/* -------------------------------------------------------------------------- */
-/*!Function to enable an interrupt handler in the PICMR
- */
-/* -------------------------------------------------------------------------- */
- .global or1k_interrupt_enable
- .type or1k_interrupt_enable,@function
-
- /* r3 should have IRQ line for peripheral */
-or1k_interrupt_enable:
- l.addi r1,r1,-4
- l.sw 0(r1),r4
- l.ori r4,r0,0x1
- l.sll r4,r4,r3
- l.mfspr r3,r0,OR1K_SPR_PIC_PICMR_ADDR
- l.or r3,r3,r4
- l.mtspr r0,r3,OR1K_SPR_PIC_PICMR_ADDR
- l.lwz r4,0(r1)
- OR1K_DELAYED(
- OR1K_INST(l.addi r1,r1,4),
- OR1K_INST(l.jr r9)
- )
-
-/* -------------------------------------------------------------------------- */
-/*!Function to disable an interrupt handler in the PICMR
- */
-/* -------------------------------------------------------------------------- */
- .global or1k_interrupt_disable
- .type or1k_interrupt_disable,@function
-
- /* r3 should have IRQ line for peripheral */
-or1k_interrupt_disable:
- l.addi r1,r1,-4
- l.sw 0(r1),r4
- l.ori r4,r0,0x1
- l.sll r4,r4,r3
- l.xori r4,r4,0xffff
- l.mfspr r3,r0,OR1K_SPR_PIC_PICMR_ADDR
- l.and r3,r3,r4
- l.mtspr r0,r3,OR1K_SPR_PIC_PICMR_ADDR
- l.lwz r4,0(r1)
- OR1K_DELAYED(
- OR1K_INST(l.addi r1,r1,4),
- OR1K_INST(l.jr r9)
- )
diff --git a/libgloss/or1k/interrupts.c b/libgloss/or1k/interrupts.c
deleted file mode 100644
index 6badc497c..000000000
--- a/libgloss/or1k/interrupts.c
+++ /dev/null
@@ -1,69 +0,0 @@
-/* interrupts.c -- interrupt handling for OpenRISC 1000.
- *
- * Copyright (c) 2014 Authors
- *
- * Contributor Stefan Wallentowitz <stefan.wallentowitz@tum.de>
- *
- * The authors hereby grant permission to use, copy, modify, distribute,
- * and license this software and its documentation for any purpose, provided
- * that existing copyright notices are retained in all copies and that this
- * notice is included verbatim in any distributions. No written agreement,
- * license, or royalty fee is required for any of the authorized uses.
- * Modifications to this software may be copyrighted by their authors
- * and need not follow the licensing terms described here, provided that
- * the new terms are clearly indicated on the first page of each file where
- * they apply.
- */
-
-#include "include/or1k-support.h"
-#include "include/or1k-sprs.h"
-#include <stdint.h>
-
-#include "or1k-internals.h"
-
-#ifdef __OR1K_MULTICORE__
-or1k_interrupt_handler_table_t *_or1k_interrupt_handler_table;
-or1k_interrupt_handler_data_ptr_table_t *_or1k_interrupt_handler_data_ptr_table;
-#else
-or1k_interrupt_handler_table_t _or1k_interrupt_handler_table;
-or1k_interrupt_handler_data_ptr_table_t _or1k_interrupt_handler_data_ptr_table;
-#endif
-
-void or1k_interrupt_handler_add(uint32_t id,
- or1k_interrupt_handler_fptr handler,
- void *data_ptr)
-{
-#ifdef __OR1K_MULTICORE__
- _or1k_interrupt_handler_table[or1k_coreid()][id] = handler;
- _or1k_interrupt_handler_data_ptr_table[or1k_coreid()][id] = (uint32_t) data_ptr;
-#else
- _or1k_interrupt_handler_table[id] = handler;
- _or1k_interrupt_handler_data_ptr_table[id] = (uint32_t) data_ptr;
-#endif
-}
-
-void
-or1k_interrupts_enable(void)
-{
- uint32_t sr = or1k_mfspr(OR1K_SPR_SYS_SR_ADDR);
- sr = OR1K_SPR_SYS_SR_IEE_SET(sr, 1);
- or1k_mtspr(OR1K_SPR_SYS_SR_ADDR, sr);
-}
-
-uint32_t
-or1k_interrupts_disable(void)
-{
- uint32_t oldsr, newsr;
- oldsr= or1k_mfspr(OR1K_SPR_SYS_SR_ADDR);
- newsr = OR1K_SPR_SYS_SR_IEE_SET(oldsr, 0);
- or1k_mtspr(OR1K_SPR_SYS_SR_ADDR, newsr);
- return OR1K_SPR_SYS_SR_IEE_GET(oldsr);
-}
-
-void
-or1k_interrupts_restore(uint32_t sr_iee)
-{
- uint32_t sr = or1k_mfspr(OR1K_SPR_SYS_SR_ADDR);
- sr = OR1K_SPR_SYS_SR_IEE_SET(sr, sr_iee);
- or1k_mtspr(OR1K_SPR_SYS_SR_ADDR, sr);
-}
diff --git a/libgloss/or1k/mmu-asm.S b/libgloss/or1k/mmu-asm.S
deleted file mode 100644
index 535824ccb..000000000
--- a/libgloss/or1k/mmu-asm.S
+++ /dev/null
@@ -1,67 +0,0 @@
-/* mmu-asm.S -- MMU handling for OpenRISC 1000.
- *
- * Copyright (c) 2011, 2014 Authors
- *
- * Contributor Julius Baxter <juliusbaxter@gmail.com>
- * Contributor Stefan Wallentowitz <stefan.wallentowitz@tum.de>
- *
- * The authors hereby grant permission to use, copy, modify, distribute,
- * and license this software and its documentation for any purpose, provided
- * that existing copyright notices are retained in all copies and that this
- * notice is included verbatim in any distributions. No written agreement,
- * license, or royalty fee is required for any of the authorized uses.
- * Modifications to this software may be copyrighted by their authors
- * and need not follow the licensing terms described here, provided that
- * the new terms are clearly indicated on the first page of each file where
- * they apply.
- */
-
-/* -------------------------------------------------------------------------- */
-/*!Function to control MMU
- */
-/* -------------------------------------------------------------------------- */
-
-#include "include/or1k-asm.h"
-#include "include/or1k-sprs.h"
-
-/* MMU control functions always switch MMU control with a l.rfe to return
- from function */
- .section .text
-
- .global or1k_dmmu_enable
-or1k_dmmu_enable:
- l.mfspr r3,r0,OR1K_SPR_SYS_SR_ADDR
- l.ori r3,r3,OR1K_SPR_SYS_SR_DME_MASK
- l.mtspr r0,r3,OR1K_SPR_SYS_ESR_BASE
- l.mtspr r0,r9,OR1K_SPR_SYS_EPCR_BASE
- OR1K_DELAYED_NOP(OR1K_INST(l.rfe))
-
-
- .global or1k_dmmu_disable
-or1k_dmmu_disable:
- l.ori r3,r0,OR1K_SPR_SYS_SR_DME_MASK
- l.xori r4,r3,0xffff
- l.mfspr r3,r0,OR1K_SPR_SYS_SR_ADDR
- l.and r3,r4,r3
- l.mtspr r0,r3,OR1K_SPR_SYS_ESR_BASE
- l.mtspr r0,r9,OR1K_SPR_SYS_EPCR_BASE
- OR1K_DELAYED_NOP(OR1K_INST(l.rfe))
-
-
- .global or1k_immu_enable
-or1k_immu_enable:
- l.mfspr r3,r0,OR1K_SPR_SYS_SR_ADDR
- l.ori r3,r3,OR1K_SPR_SYS_SR_IME_MASK
- l.mtspr r0,r3,OR1K_SPR_SYS_ESR_BASE
- l.mtspr r0,r9,OR1K_SPR_SYS_EPCR_BASE
- OR1K_DELAYED_NOP(OR1K_INST(l.rfe))
-
- .global or1k_immu_disable
-or1k_immu_disable:
- l.ori r3,r0,OR1K_SPR_SYS_SR_IME_MASK
- l.xori r4,r3,0xffff
- l.mfspr r3,r0,OR1K_SPR_SYS_SR_ADDR
- l.and r3,r4,r3
- l.mtspr r0,r3,OR1K_SPR_SYS_ESR_BASE
- l.mtspr r0,r9,OR1K_SPR_SYS_EPCR_BASE
- OR1K_DELAYED_NOP(OR1K_INST(l.rfe))
diff --git a/libgloss/or1k/or1k-internals.h b/libgloss/or1k/or1k-internals.h
deleted file mode 100644
index b24ad136b..000000000
--- a/libgloss/or1k/or1k-internals.h
+++ /dev/null
@@ -1,67 +0,0 @@
-#ifndef __OR1K_INTERNAL_H__
-#define __OR1K_INTERNAL_H__
-
-#include <stdint.h>
-#include <string.h>
-
-#include "include/or1k-support.h"
-
-extern uint32_t* _or1k_stack_top;
-extern size_t _or1k_stack_size;
-extern uint32_t* _or1k_stack_bottom;
-
-extern uint32_t* _or1k_exception_stack_top;
-extern size_t _or1k_exception_stack_size;
-extern uint32_t* _or1k_exception_stack_bottom;
-
-#ifdef __OR1K_MULTICORE__
-extern uint32_t* *_or1k_stack_core;
-extern uint32_t* *_or1k_exception_stack_core;
-#endif
-
-
-// The first two vectors are not used (address 0 and reset)
-#define OR1K_NUM_EXCEPTIONS 30
-
-typedef or1k_exception_handler_fptr or1k_exception_handler_table_t[OR1K_NUM_EXCEPTIONS];
-
-#ifdef __OR1K_MULTICORE__
-extern or1k_exception_handler_table_t *_or1k_exception_handler_table;
-#else
-extern or1k_exception_handler_table_t _or1k_exception_handler_table;
-#endif
-
-typedef or1k_interrupt_handler_fptr or1k_interrupt_handler_table_t[32];
-typedef void* or1k_interrupt_handler_data_ptr_table_t[32];
-
-#ifdef __OR1K_MULTICORE__
-extern or1k_interrupt_handler_table_t *_or1k_interrupt_handler_table;
-extern or1k_interrupt_handler_data_ptr_table_t *_or1k_interrupt_handler_data_ptr_table;
-#else
-extern or1k_interrupt_handler_table_t _or1k_interrupt_handler_table;
-extern or1k_interrupt_handler_data_ptr_table_t _or1k_interrupt_handler_data_ptr_table;
-#endif
-
-extern void _or1k_interrupt_handler(void);
-
-struct _or1k_reent {
- /* Tick timer variable */
- volatile uint32_t or1k_timer_ticks;
-
- /* Tick rate storage */
- uint32_t or1k_timer_period;
- uint32_t or1k_timer_mode;
-};
-
-
-#ifdef __OR1K_MULTICORE__
-extern struct _or1k_reent (*_or1k_reent)[];
-#define OR1K_REENT (*_or1k_reent)[or1k_coreid()]
-#else
-extern struct _or1k_reent _or1k_reent;
-#define OR1K_REENT _or1k_reent
-#endif
-
-extern void _or1k_reent_init();
-
-#endif
diff --git a/libgloss/or1k/or1k_uart.c b/libgloss/or1k/or1k_uart.c
deleted file mode 100644
index 3d79f4516..000000000
--- a/libgloss/or1k/or1k_uart.c
+++ /dev/null
@@ -1,82 +0,0 @@
-/* or1k_uart.c -- UART implementation for OpenRISC 1000.
- *
- *Copyright (c) 2014 Authors
- *
- * Contributor Stefan Wallentowitz <stefan.wallentowitz@tum.de>
- *
- * The authors hereby grant permission to use, copy, modify, distribute,
- * and license this software and its documentation for any purpose, provided
- * that existing copyright notices are retained in all copies and that this
- * notice is included verbatim in any distributions. No written agreement,
- * license, or royalty fee is required for any of the authorized uses.
- * Modifications to this software may be copyrighted by their authors
- * and need not follow the licensing terms described here, provided that
- * the new terms are clearly indicated on the first page of each file where
- * they apply.
- */
-
-#include "include/or1k-support.h"
-#include "or1k_uart.h"
-
-#include <stdint.h>
-
-void (*_or1k_uart_read_cb)(char c);
-
-void _or1k_uart_interrupt_handler(uint32_t data)
-{
- _or1k_uart_read_cb(REG8(RB));
-}
-
-int _or1k_uart_init(void)
-{
- uint16_t divisor;
-
- // Is uart present?
- if (!_or1k_board_uart_base) {
- return -1;
- }
-
- // Reset the callback function
- _or1k_uart_read_cb = 0;
-
- // Calculate and set divisor
- divisor = _or1k_board_clk_freq / (_or1k_board_uart_baud * 16);
- REG8(LCR) = LCR_DLA;
- REG8(DLB1) = divisor & 0xff;
- REG8(DLB2) = divisor >> 8;
-
- // Set line control register:
- // - 8 bits per character
- // - 1 stop bit
- // - No parity
- // - Break disabled
- // - Disallow access to divisor latch
- REG8(LCR) = LCR_BPC_8;
-
- // Reset FIFOs and set trigger level to 14 bytes
- REG8(FCR) = FCR_CLRRECV | FCR_CLRTMIT | FCR_TRIG_14;
-
- // Disable all interrupts
- REG8(IER) = 0;
-
- return 0;
-}
-
-void _or1k_uart_write(char c)
-{
- while (!REG8(LSR) & LSR_TFE) {}
-
- REG8(THR) = c;
-}
-
-void or1k_uart_set_read_cb(void (*cb)(char c))
-{
- _or1k_uart_read_cb = cb;
-
- // Enable interrupt
- REG8(IER) = 1 << IER_RDAI;
-
- or1k_interrupt_handler_add(_or1k_board_uart_IRQ,
- _or1k_uart_interrupt_handler, 0);
- or1k_interrupt_enable(_or1k_board_uart_IRQ);
-}
diff --git a/libgloss/or1k/or1k_uart.h b/libgloss/or1k/or1k_uart.h
deleted file mode 100644
index dc8a3dbce..000000000
--- a/libgloss/or1k/or1k_uart.h
+++ /dev/null
@@ -1,83 +0,0 @@
-/* or1k_uart.h -- UART definitions for OpenRISC 1000.
- *
- * Copyright (c) 2014 Authors
- *
- * Contributor Stefan Wallentowitz <stefan.wallentowitz@tum.de>
- *
- * The authors hereby grant permission to use, copy, modify, distribute,
- * and license this software and its documentation for any purpose, provided
- * that existing copyright notices are retained in all copies and that this
- * notice is included verbatim in any distributions. No written agreement,
- * license, or royalty fee is required for any of the authorized uses.
- * Modifications to this software may be copyrighted by their authors
- * and need not follow the licensing terms described here, provided that
- * the new terms are clearly indicated on the first page of each file where
- * they apply.
- */
-
-/* This is the generic board support for the OpenCores UART device */
-
-#include <stdint.h>
-
-#include "board.h"
-
-extern void (*_or1k_uart_read_cb)(char c);
-
-void _or1k_uart_interrupt_handler(uint32_t data);
-
-int _or1k_uart_init(void);
-void _or1k_uart_write(char c);
-
-#define RB _or1k_board_uart_base + 0
-#define THR _or1k_board_uart_base + 0
-#define IER _or1k_board_uart_base + 1
-#define IIR _or1k_board_uart_base + 2
-#define FCR _or1k_board_uart_base + 2
-#define LCR _or1k_board_uart_base + 3
-#define MCR _or1k_board_uart_base + 4
-#define LSR _or1k_board_uart_base + 5
-#define MSR _or1k_board_uart_base + 6
-
-#define DLB1 _or1k_board_uart_base + 0
-#define DLB2 _or1k_board_uart_base + 1
-
-#define IER_RDAI 0
-#define IER_TEI 1
-#define IER_RLSI 2
-#define IER_MSI 3
-
-#define IIR_RLS 0xC3
-#define IIR_RDA 0xC2
-#define IIR_TO 0xC6
-#define IIR_THRE 0xC1
-#define IIT_MS 0xC0
-
-#define FCR_CLRRECV 0x1
-#define FCR_CLRTMIT 0x2
-#define FCR_TRIG_1 0x0
-#define FCR_TRIG_4 0x40
-#define FCR_TRIG_8 0x80
-#define FCR_TRIG_14 0xC0
-
-#define LCR_BPC_MASK 0x3
-#define LCR_SB_MASK 0x4
-
-#define LCR_BPC_5 0x0
-#define LCR_BPC_6 0x1
-#define LCR_BPC_7 0x2
-#define LCR_BPC_8 0x3
-#define LCR_SB_1 0x0
-#define LCR_SB_2 0x4
-#define LCR_PE 0x8
-#define LCR_EPS 0x10
-#define LCR_SP 0x20
-#define LCR_BC 0x40
-#define LCR_DLA 0x80
-
-#define LSR_DR 0x0
-#define LSR_OE 0x2
-#define LSR_PE 0x4
-#define LSR_FE 0x8
-#define LSR_BI 0x10
-#define LSR_TFE 0x20
-#define LSR_TEI 0x40
diff --git a/libgloss/or1k/outbyte.S b/libgloss/or1k/outbyte.S
deleted file mode 100644
index 2cd514855..000000000
--- a/libgloss/or1k/outbyte.S
+++ /dev/null
@@ -1,34 +0,0 @@
-/* outbyte.S -- Write one byte for OpenRISC 1000.
- *
- * Copyright (c) 2014 Authors
- *
- * Contributor Stefan Wallentowitz <stefan.wallentowitz@tum.de>
- *
- * The authors hereby grant permission to use, copy, modify, distribute,
- * and license this software and its documentation for any purpose, provided
- * that existing copyright notices are retained in all copies and that this
- * notice is included verbatim in any distributions. No written agreement,
- * license, or royalty fee is required for any of the authorized uses.
- * Modifications to this software may be copyrighted by their authors
- * and need not follow the licensing terms described here, provided that
- * the new terms are clearly indicated on the first page of each file where
- * they apply.
- */
-
-#include "include/or1k-asm.h"
-
-.global _or1k_outbyte
-
-.text
-_or1k_outbyte:
- LOAD_SYMBOL_2_GPR(r4,_or1k_board_uart_base)
- l.lwz r4, 0(r4)
- l.sfeq r4, r0
- OR1K_DELAYED_NOP(l.bf .Lnouart)
-.Luart:
- OR1K_DELAYED_NOP(l.j _or1k_uart_write)
-.Lnouart:
- OR1K_DELAYED(
- OR1K_INST(l.nop 0x4),
- OR1K_INST(l.jr r9)
- )
diff --git a/libgloss/or1k/sbrk.c b/libgloss/or1k/sbrk.c
deleted file mode 100644
index de80663ee..000000000
--- a/libgloss/or1k/sbrk.c
+++ /dev/null
@@ -1,52 +0,0 @@
-/* sbrk.c -- allocate space on heap on OpenRISC 1000.
- *
- * Copyright (c) 2014 Authors
- *
- * Contributor Stefan Wallentowitz <stefan.wallentowitz@tum.de>
- *
- * The authors hereby grant permission to use, copy, modify, distribute,
- * and license this software and its documentation for any purpose, provided
- * that existing copyright notices are retained in all copies and that this
- * notice is included verbatim in any distributions. No written agreement,
- * license, or royalty fee is required for any of the authorized uses.
- * Modifications to this software may be copyrighted by their authors
- * and need not follow the licensing terms described here, provided that
- * the new terms are clearly indicated on the first page of each file where
- * they apply.
- */
-
-#include <reent.h>
-
-#include "include/or1k-support.h"
-
-static uint32_t _or1k_heap_end;
-
-void *
-_sbrk_r (struct _reent * reent, ptrdiff_t incr)
-{
- extern uint32_t end; /* Set by linker. */
- uint32_t prev_heap_end;
-
- // This needs to be atomic
-
- // Disable interrupts on this core
- uint32_t sr_iee = or1k_interrupts_disable();
- uint32_t sr_tee = or1k_timer_disable();
-
- // Initialize heap end to end if not initialized before
- or1k_sync_cas((void*) &_or1k_heap_end, 0, (uint32_t) &end);
-
- do {
- // Read previous heap end
- prev_heap_end = _or1k_heap_end;
- // and try to set it to the new value as long as it has changed
- } while (or1k_sync_cas((void*) &_or1k_heap_end,
- (uint32_t) prev_heap_end,
- (uint32_t) (prev_heap_end + incr)) != (uint32_t) prev_heap_end);
-
- // Restore interrupts on this core
- or1k_timer_restore(sr_tee);
- or1k_interrupts_restore(sr_iee);
-
- return (void*) prev_heap_end;
-}
diff --git a/libgloss/or1k/sync-asm.S b/libgloss/or1k/sync-asm.S
deleted file mode 100644
index 911e2552f..000000000
--- a/libgloss/or1k/sync-asm.S
+++ /dev/null
@@ -1,135 +0,0 @@
-#include "include/or1k-asm.h"
-#include "include/or1k-sprs.h"
-
- .section .text
-
-
- .global or1k_has_multicore_support
- .type or1k_has_multicore_support,@function
-or1k_has_multicore_support:
-#ifdef __OR1K_MULTICORE__
- // Return 1
- OR1K_DELAYED(
- OR1K_INST(l.ori r11,r0,1),
- OR1K_INST(l.jr r9)
- )
-#else
- // Return 0
- OR1K_DELAYED(
- OR1K_INST(l.or r11,r0,r0),
- OR1K_INST(l.jr r9)
- )
-#endif
-
- .global or1k_coreid
- .type or1k_coreid,@function
-or1k_coreid:
-#ifdef __OR1K_MULTICORE__
- // Return SPR with core identifier
- OR1K_DELAYED(
- OR1K_INST(l.mfspr r11,r0,OR1K_SPR_SYS_COREID_ADDR),
- OR1K_INST(l.jr r9)
- )
-#else
- // Return 0
- OR1K_DELAYED(
- OR1K_INST(l.or r11,r0,r0),
- OR1K_INST(l.jr r9)
- )
-#endif
-
- .global or1k_numcores
- .type or1k_numcores,@function
-or1k_numcores:
-#ifdef __OR1K_MULTICORE__
- // Return SPR with number of cores
- OR1K_DELAYED(
- OR1K_INST(l.mfspr r11,r0,OR1K_SPR_SYS_NUMCORES_ADDR),
- OR1K_INST(l.jr r9)
- )
-#else
- // Return 1
- OR1K_DELAYED(
- OR1K_INST(l.ori r11,r0,1),
- OR1K_INST(l.jr r9)
- )
-#endif
-
- .global or1k_sync_ll
- .type or1k_sync_ll,@function
-or1k_sync_ll:
-#ifdef __OR1K_MULTICORE__
- // Load word atomic
- OR1K_DELAYED(
- OR1K_INST(l.lwa r11, 0(r3)),
- OR1K_INST(l.jr r9)
- )
-#else
- // Simply load word, TODO: throw exception? which?
- OR1K_DELAYED(
- OR1K_INST(l.lwz r11, 0(r3)),
- OR1K_INST(l.jr r9)
- )
-#endif
-
- .global or1k_sync_sc
- .type or1k_sync_sc,@function
-or1k_sync_sc:
-#ifdef __OR1K_MULTICORE__
- // swa sets the flag if it was succesfull
- // Store the value to address and set flag
- l.swa 0(r3),r4
- OR1K_DELAYED(
- // Set return to success speculatively (may go to delay slot)
- OR1K_INST(l.ori r11,r0,1),
- // If the swa was successfull, jump to end
- OR1K_INST(l.bf .or1k_sync_sc_done)
- )
- // If the swa was not successfull, set
- l.or r11,r0,r0
-.or1k_sync_sc_done:
- OR1K_DELAYED_NOP(OR1K_INST(l.jr r9))
-#else
- // Simply store word, TODO: throw exception? which?
- OR1K_DELAYED(
- OR1K_INST(l.sw 0(r3),r4),
- OR1K_INST(l.jr r9)
- )
-#endif
-
-
- .global or1k_sync_cas
- .type or1k_sync_sc,@function
-or1k_sync_cas:
-#ifdef __OR1K_MULTICORE__
- /* Load linked address value to return register */
- l.lwa r11,0(r3)
- /* Compare value to parameter */
- l.sfeq r11,r4
- /* If not equal: abort and return the read value */
- OR1K_DELAYED_NOP(OR1K_INST(l.bnf .or1k_sync_cas_done))
- /* If compare was successfull: try writing */
- l.swa 0(r3),r5
- /* If writing was not successful: restart */
- OR1K_DELAYED_NOP(OR1K_INST(l.bnf or1k_sync_cas))
-.or1k_sync_cas_done:
- /* Return value is the original read value */
- OR1K_DELAYED_NOP(OR1K_INST(l.jr r9))
-#else
- // Non-atomic CAS, TODO: throw exception? which?
- l.lwz r11,0(r3)
- l.sfeq r11,r4
- OR1K_DELAYED_NOP(OR1K_INST(l.bnf .or1k_sync_cas_done))
- l.sw 0(r3),r5
-.or1k_sync_cas_done:
- OR1K_DELAYED_NOP(OR1K_INST(l.jr r9))
-#endif
-
- .global or1k_sync_tsl
- .type or1k_sync_tsl,@function
-or1k_sync_tsl:
- l.or r4,r0,r0
- OR1K_DELAYED(
- OR1K_INST(l.addi r5,r0,1),
- OR1K_INST(l.j or1k_sync_cas)
- )
diff --git a/libgloss/or1k/syscalls.c b/libgloss/or1k/syscalls.c
deleted file mode 100644
index 690d21ad1..000000000
--- a/libgloss/or1k/syscalls.c
+++ /dev/null
@@ -1,160 +0,0 @@
-/* syscalls.c -- reentrant syscalls for OpenRISC 1000.
- *
- * Copyright (c) 2011, 2014 Authors
- *
- * Contributor Julius Baxter <juliusbaxter@gmail.com>
- * Contributor Stefan Wallentowitz <stefan.wallentowitz@tum.de>
- *
- * The authors hereby grant permission to use, copy, modify, distribute,
- * and license this software and its documentation for any purpose, provided
- * that existing copyright notices are retained in all copies and that this
- * notice is included verbatim in any distributions. No written agreement,
- * license, or royalty fee is required for any of the authorized uses.
- * Modifications to this software may be copyrighted by their authors
- * and need not follow the licensing terms described here, provided that
- * the new terms are clearly indicated on the first page of each file where
- * they apply.
- */
-
-#include <errno.h>
-#include <reent.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <sys/time.h>
-#include "board.h"
-
-/* Write is actually the only thing we provide. All other are stubs.. */
-
-extern void _or1k_outbyte(char c);
-
-_ssize_t
-_write_r(struct _reent * reent, int fd, const void *buf, size_t nbytes)
-{
- int i;
- char* b = (char*) buf;
-
- for (i = 0; i < nbytes; i++) {
- if (*(b + i) == '\n') {
- _or1k_outbyte ('\r');
- }
- _or1k_outbyte (*(b + i));
- }
- return (nbytes);
-}
-
-void
-_exit(int rc)
-{
- _or1k_board_exit();
- while (1) {}
-}
-
-int
-_close_r(struct _reent *reent, int fildes)
-{
- reent->_errno = ENOSYS;
- return -1;
-}
-
-char *__env[1] = { 0 };
-char **environ = __env;
-
-int
-_execve_r(struct _reent *reent, const char *name, char * const *argv,
- char * const *env)
-{
- reent->_errno = ENOSYS;
- return -1;
-}
-
-int
-_fork_r(struct _reent *reent)
-{
- errno = ENOSYS;
- return -1;
-}
-
-int
-_fstat_r(struct _reent *reent, int fildes, struct stat *st)
-{
- reent->_errno = ENOSYS;
- return -1;
-}
-
-int
-_getpid_r(struct _reent *reent)
-{
- reent->_errno = ENOSYS;
- return -1;
-}
-
-int
-_gettimeofday(struct _reent *reent, struct timeval *ptimeval, void *ptimezone)
-{
- reent->_errno = ENOSYS;
- return -1;
-}
-
-int
-_isatty_r(struct _reent *reent, int file)
-{
- reent->_errno = ENOSYS;
- return 0;
-}
-
-int
-_kill_r(struct _reent *reent, int pid, int sig)
-{
- reent->_errno = ENOSYS;
- return -1;
-}
-
-int
-_link_r(struct _reent *reent, const char *existing, const char *new)
-{
- reent->_errno = ENOSYS;
- return -1;
-}
-
-_off_t
-_lseek_r(struct _reent *reent, int file, _off_t ptr, int dir)
-{
- errno = ENOSYS;
- return -1;
-}
-
-int
-_open(struct _reent *reent, char *file, int flags, int mode)
-{
- reent->_errno = ENOSYS;
- return -1;
-}
-
-_ssize_t
-_read_r(struct _reent *reent, int file, void *ptr, size_t len)
-{
- reent->_errno = ENOSYS;
- return -1;
-}
-
-int
-_readlink_r(struct _reent *reent, const char *path, char *buf, size_t bufsize)
-{
- reent->_errno = ENOSYS;
- return -1;
-}
-
-int
-_stat_r(struct _reent *reent, const char *path, struct stat *buf)
-{
- reent->_errno = EIO;
- return -1;
-}
-
-int
-_unlink_r(struct _reent *reent, const char * path)
-{
- reent->_errno = EIO;
- return (-1);
-}
-
diff --git a/libgloss/or1k/timer.c b/libgloss/or1k/timer.c
deleted file mode 100644
index 27a24a1c1..000000000
--- a/libgloss/or1k/timer.c
+++ /dev/null
@@ -1,186 +0,0 @@
-/* timer.c -- tick timer functions for OpenRISC 1000.
- *
- * Copyright (c) 2011, 2014 Authors
- *
- * Contributor Julius Baxter <juliusbaxter@gmail.com>
- * Contributor Stefan Wallentowitz <stefan.wallentowitz@tum.de>
- *
- * The authors hereby grant permission to use, copy, modify, distribute,
- * and license this software and its documentation for any purpose, provided
- * that existing copyright notices are retained in all copies and that this
- * notice is included verbatim in any distributions. No written agreement,
- * license, or royalty fee is required for any of the authorized uses.
- * Modifications to this software may be copyrighted by their authors
- * and need not follow the licensing terms described here, provided that
- * the new terms are clearly indicated on the first page of each file where
- * they apply.
- */
-
-#include "include/or1k-support.h"
-#include "include/or1k-sprs.h"
-
-#include "or1k-internals.h"
-#include "board.h"
-
-/* --------------------------------------------------------------------------*/
-/*!Tick timer interrupt handler
-
- Increment timer ticks counter, reload TTMR
- */
-/* --------------------------------------------------------------------------*/
-void
-_or1k_timer_interrupt_handler(void)
-{
- OR1K_REENT.or1k_timer_ticks++;
- uint32_t ttmr = or1k_mfspr(OR1K_SPR_TICK_TTMR_ADDR);
- ttmr = OR1K_SPR_TICK_TTMR_IE_SET(ttmr, 1);
- ttmr = OR1K_SPR_TICK_TTMR_MODE_SET(ttmr, OR1K_SPR_TICK_TTMR_MODE_RESTART);
- ttmr = OR1K_SPR_TICK_TTMR_IE_SET(ttmr, 1);
- or1k_mtspr(OR1K_SPR_TICK_TTMR_ADDR, ttmr);
-}
-
-/* --------------------------------------------------------------------------*/
-/*!Enable tick timer
-
- Install handler, calculate TTMR period, reset tick counter
-
- @param[in] hz Rate at which to trigger timer ticks */
-/* --------------------------------------------------------------------------*/
-int
-or1k_timer_init(unsigned int hz)
-{
- uint32_t upr = or1k_mfspr(OR1K_SPR_SYS_UPR_ADDR);
- if (OR1K_SPR_SYS_UPR_TTP_GET(upr) == 0) {
- return -1;
- }
-
- /* Set this, for easy access when reloading */
- uint32_t period = (_or1k_board_clk_freq/hz) & OR1K_SPR_TICK_TTMR_TP_MASK;
- OR1K_REENT.or1k_timer_period = period;
- or1k_mtspr(OR1K_SPR_TICK_TTMR_ADDR, period);
-
- /* Reset timer tick counter */
- OR1K_REENT.or1k_timer_ticks = 0;
-
- /* Install handler */
- or1k_exception_handler_add(0x5, _or1k_timer_interrupt_handler);
- OR1K_REENT.or1k_timer_mode = OR1K_SPR_TICK_TTMR_MODE_RESTART;
-
- /* Reset counter register */
- or1k_mtspr(OR1K_SPR_TICK_TTCR_ADDR, 0);
-
- return 0;
-}
-
-void
-or1k_timer_set_period(uint32_t hz)
-{
- uint32_t period = (_or1k_board_clk_freq/hz) & OR1K_SPR_TICK_TTMR_TP_MASK;
- uint32_t ttmr = or1k_mfspr(OR1K_SPR_TICK_TTMR_ADDR);
- ttmr = OR1K_SPR_TICK_TTMR_TP_SET(ttmr, period);
- or1k_mtspr(OR1K_SPR_TICK_TTMR_ADDR, ttmr);
- OR1K_REENT.or1k_timer_period = period;
-}
-
-void
-or1k_timer_set_handler(void (*handler)(void))
-{
- or1k_exception_handler_add(0x5, handler);
-}
-
-void
-or1k_timer_set_mode(uint32_t mode)
-{
- // Store mode in variable
- OR1K_REENT.or1k_timer_mode = mode;
-
- uint32_t ttmr = or1k_mfspr(OR1K_SPR_TICK_TTMR_ADDR);
- // If the timer is currently running, we also change the mode
- if (OR1K_SPR_TICK_TTMR_MODE_GET(ttmr) != 0) {
- ttmr = OR1K_SPR_TICK_TTMR_MODE_SET(ttmr, mode);
- or1k_mtspr(OR1K_SPR_TICK_TTMR_ADDR, ttmr);
- }
-}
-
-/* --------------------------------------------------------------------------*/
-/*!Enable tick timer
-
- Enable timer interrupt, install handler, load TTMR
- */
-/* --------------------------------------------------------------------------*/
-void
-or1k_timer_enable(void)
-{
- uint32_t ttmr = or1k_mfspr(OR1K_SPR_TICK_TTMR_ADDR);
- ttmr = OR1K_SPR_TICK_TTMR_IE_SET(ttmr, 1);
- ttmr = OR1K_SPR_TICK_TTMR_MODE_SET(ttmr, OR1K_REENT.or1k_timer_mode);
- or1k_mtspr(OR1K_SPR_TICK_TTMR_ADDR, ttmr);
-
- uint32_t sr = or1k_mfspr(OR1K_SPR_SYS_SR_ADDR);
- sr = OR1K_SPR_SYS_SR_TEE_SET(sr, 1);
- or1k_mtspr(OR1K_SPR_SYS_SR_ADDR, sr);
-}
-
-/* --------------------------------------------------------------------------*/
-/*!Disable tick timer
-
- Disable timer interrupt in SR
- */
-/* --------------------------------------------------------------------------*/
-uint32_t
-or1k_timer_disable(void)
-{
- uint32_t oldsr = or1k_mfspr(OR1K_SPR_SYS_SR_ADDR);
- uint32_t sr = OR1K_SPR_SYS_SR_TEE_SET(oldsr, 0);
- or1k_mtspr(OR1K_SPR_SYS_SR_ADDR, sr);
- return OR1K_SPR_SYS_SR_TEE_GET(oldsr);
-}
-
-void
-or1k_timer_restore(uint32_t sr_tee)
-{
- uint32_t sr = or1k_mfspr(OR1K_SPR_SYS_SR_ADDR);
- sr = OR1K_SPR_SYS_SR_TEE_SET(sr, 1);
- or1k_mtspr(OR1K_SPR_SYS_SR_ADDR, sr);
-}
-
-void
-or1k_timer_pause(void)
-{
- uint32_t ttmr = or1k_mfspr(OR1K_SPR_TICK_TTMR_ADDR);
- ttmr = OR1K_SPR_TICK_TTMR_MODE_SET(ttmr, OR1K_SPR_TICK_TTMR_MODE_DISABLE);
- or1k_mtspr(OR1K_SPR_TICK_TTMR_ADDR, ttmr);
-}
-
-void
-or1k_timer_reset(void)
-{
- uint32_t ttmr = or1k_mfspr(OR1K_SPR_TICK_TTMR_ADDR);
- ttmr = OR1K_SPR_TICK_TTMR_IP_SET(ttmr, 0);
- or1k_mtspr(OR1K_SPR_TICK_TTMR_ADDR, ttmr);
- or1k_mtspr(OR1K_SPR_TICK_TTCR_ADDR, 0);
-}
-
-/* --------------------------------------------------------------------------*/
-/*!Get tick timer
-
- Return value of tick timer
- */
-/* --------------------------------------------------------------------------*/
-unsigned long
-or1k_timer_get_ticks(void)
-{
- return OR1K_REENT.or1k_timer_ticks;
-}
-
-/* --------------------------------------------------------------------------*/
-/*!Reset tick timer
-
- Clear value of tick timer
- */
-/* --------------------------------------------------------------------------*/
-void
-or1k_timer_reset_ticks(void)
-{
- OR1K_REENT.or1k_timer_ticks = 0;
-}
diff --git a/libgloss/or1k/util.c b/libgloss/or1k/util.c
deleted file mode 100644
index 74071719e..000000000
--- a/libgloss/or1k/util.c
+++ /dev/null
@@ -1,83 +0,0 @@
-/* util.c -- Utility functions for OpenRISC 1000.
- *
- * Copyright (c) 2014 Authors
- *
- * Contributor Julius Baxter <julius.baxter@orsoc.se>
- * Contributor Stefan Wallentowitz <stefan.wallentowitz@tum.de>
- *
- * The authors hereby grant permission to use, copy, modify, distribute,
- * and license this software and its documentation for any purpose, provided
- * that existing copyright notices are retained in all copies and that this
- * notice is included verbatim in any distributions. No written agreement,
- * license, or royalty fee is required for any of the authorized uses.
- * Modifications to this software may be copyrighted by their authors
- * and need not follow the licensing terms described here, provided that
- * the new terms are clearly indicated on the first page of each file where
- * they apply.
- */
-
-#include <stdint.h>
-#include <stddef.h>
-#include <reent.h>
-
-#include "or1k-internals.h"
-
-#ifdef __OR1K_MULTICORE__
-uint32_t* *_or1k_stack_core;
-uint32_t* *_or1k_exception_stack_core;
-#endif
-
-uint32_t* _or1k_stack_top;
-uint32_t* _or1k_stack_bottom;
-
-uint32_t* _or1k_exception_stack_top;
-uint32_t* _or1k_exception_stack_bottom;
-
-void _or1k_init() {
-#ifdef __OR1K_MULTICORE__
- uint32_t c;
-
- // Initialize stacks
- _or1k_stack_core = _sbrk_r(0, sizeof(uint32_t*) * or1k_numcores());
- _or1k_exception_stack_core = _sbrk_r(0, sizeof(uint32_t*) * or1k_numcores());
-
- _or1k_stack_core[0] = _or1k_stack_top;
- _or1k_exception_stack_core[0] = _or1k_exception_stack_top;
-
- for (c = 1; c < or1k_numcores(); c++) {
- _or1k_stack_core[c] = _or1k_stack_core[c-1] - _or1k_stack_size;
- _or1k_exception_stack_core[c] = _or1k_exception_stack_core[c-1] -
- _or1k_exception_stack_size;
- }
-
- size_t exc_size = sizeof(void*) * or1k_numcores() * OR1K_NUM_EXCEPTIONS;
- _or1k_exception_handler_table = _sbrk_r(0, exc_size);
-
- size_t int_size = sizeof(void*) * or1k_numcores() * 32;
- size_t intdata_size = sizeof(void*) * or1k_numcores() * 32;
- _or1k_interrupt_handler_table = _sbrk_r(0, int_size);
- _or1k_interrupt_handler_data_ptr_table = _sbrk_r(0, intdata_size);
-#endif
-
- _or1k_reent_init();
-
-#ifdef __OR1K_MULTICORE__
- for (c = 0; c < or1k_numcores(); c++) {
- _or1k_exception_handler_table[c][6] = _or1k_interrupt_handler;
- }
-#else
- _or1k_exception_handler_table[6] = _or1k_interrupt_handler;
-#endif
-}
-
-uint32_t or1k_critical_begin() {
- uint32_t iee = or1k_interrupts_disable();
- uint32_t tee = or1k_timer_disable();
- return (iee << 1) | tee;
-}
-
-void or1k_critical_end(uint32_t restore) {
- or1k_timer_restore(restore & 0x1);
- or1k_interrupts_restore((restore >> 1) & 0x1);
-}
-