diff --git a/dkarm/crtls/Makefile b/dkarm/crtls/Makefile deleted file mode 100644 index 56a5081..0000000 --- a/dkarm/crtls/Makefile +++ /dev/null @@ -1,11 +0,0 @@ -PREFIX := arm-elf- -export CC := $(PREFIX)gcc -export CXX := $(PREFIX)g++ -export AR := $(PREFIX)ar -export OBJCOPY := $(PREFIX)objcopy - -all: - $(CC) -x assembler-with-cpp -marm -c $(CRT)_crt0.s -o$(CRT)_crt0.o - $(CC) -x assembler-with-cpp -marm -mthumb-interwork -c $(CRT)_crt0.s -o interwork/$(CRT)_crt0.o - $(CC) -x assembler-with-cpp -mthumb -c $(CRT)_crt0.s -o thumb/$(CRT)_crt0.o - $(CC) -x assembler-with-cpp -mthumb -mthumb-interwork -c $(CRT)_crt0.s -o thumb/interwork/$(CRT)_crt0.o diff --git a/dkarm/crtls/ds_arm7.ld b/dkarm/crtls/ds_arm7.ld deleted file mode 100644 index 411db82..0000000 --- a/dkarm/crtls/ds_arm7.ld +++ /dev/null @@ -1,178 +0,0 @@ -OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm", "elf32-littlearm") -OUTPUT_ARCH(arm) -ENTRY(_start) - -MEMORY { - - rom : ORIGIN = 0x08000000, LENGTH = 32M - iwram : ORIGIN = 0x03800000, LENGTH = 64K - ewram : ORIGIN = 0x02040000, LENGTH = 4M -} - -__ewram_start = ORIGIN(ewram); -__eheap_end = ORIGIN(ewram)+ LENGTH(ewram); -__iwram_start = ORIGIN(iwram); -__iwram_top = ORIGIN(iwram)+ LENGTH(iwram); -__sp_irq = __iwram_top - 0x60; -__sp_svc = __sp_irq - 0x100; -__sp_usr = __sp_svc - 0x100; - -__irq_flags = __iwram_top - 8; -__irq_vector = __iwram_top - 4; - -SECTIONS -{ - .init : - { - __text_start = . ; - KEEP (*(.init)) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >iwram = 0xff - .plt : { *(.plt) } >iwram = 0xff - - .text : /* ALIGN (4): */ - { - - *(.text.*) - *(.stub) - /* .gnu.warning sections are handled specially by elf32.em. */ - *(.gnu.warning) - *(.gnu.linkonce.t*) - *(.glue_7) - *(.glue_7t) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >iwram = 0xff - - .fini : - { - KEEP (*(.fini)) - } >iwram =0xff - - __text_end = . ; - - .rodata : - { - *(.rodata) - *all.rodata*(*) - *(.roda) - *(.rodata.*) - *(.gnu.linkonce.r*) - SORT(CONSTRUCTORS) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >iwram = 0xff - - .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)) - KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors)) - KEEP (*(SORT(.ctors.*))) - KEEP (*(.ctors)) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >iwram = 0xff - - .dtors : - { - KEEP (*crtbegin.o(.dtors)) - KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors)) - KEEP (*(SORT(.dtors.*))) - KEEP (*(.dtors)) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >iwram = 0xff - - .eh_frame : - { - KEEP (*(.eh_frame)) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >iwram = 0xff - - .gcc_except_table : - { - *(.gcc_except_table) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >iwram = 0xff - .jcr : { KEEP (*(.jcr)) } >iwram = 0 - .got : { *(.got.plt) *(.got) } >iwram = 0 - - - .iwram ALIGN(4) : - { - __iwram_start = ABSOLUTE(.) ; - *(.iwram) - *iwram.*(.text) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >iwram = 0xff - - __iwram_end = . ; - - .data ALIGN(4) : { - __data_start = ABSOLUTE(.); - *(.data) - *(.data.*) - *(.gnu.linkonce.d*) - CONSTRUCTORS - . = ALIGN(4); - } >iwram = 0xff - - __data_end = . ; - - - .bss ALIGN(4) : - { - __bss_start = ABSOLUTE(.); - __bss_start__ = ABSOLUTE(.); - *(.dynbss) - *(.gnu.linkonce.b*) - *(.bss*) - *(COMMON) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >iwram - - __bss_end = . ; - __bss_end__ = . ; - - _end = . ; - __end__ = . ; - PROVIDE (end = _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) } - /* 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) } - .stack 0x80000 : { _stack = .; *(.stack) } - /* These must appear regardless of . */ -} diff --git a/dkarm/crtls/ds_arm7.specs b/dkarm/crtls/ds_arm7.specs deleted file mode 100644 index e5cb3c1..0000000 --- a/dkarm/crtls/ds_arm7.specs +++ /dev/null @@ -1,12 +0,0 @@ -%rename link old_link -%rename link_gcc_c_sequence old_gcc_c_sequence - -*link_gcc_c_sequence: -%(old_gcc_c_sequence) --start-group -lsysbase -lc --end-group - -*link: -%(old_link) -T ds_arm7.ld%s - -*startfile: -ds_arm7_crt0%O%s crti%O%s crtbegin%O%s - diff --git a/dkarm/crtls/ds_arm7_crt0.s b/dkarm/crtls/ds_arm7_crt0.s deleted file mode 100644 index 45fe98f..0000000 --- a/dkarm/crtls/ds_arm7_crt0.s +++ /dev/null @@ -1,93 +0,0 @@ -@--------------------------------------------------------------------------------- - .section ".init" - .global _start -@--------------------------------------------------------------------------------- - .align 4 - .arm -@--------------------------------------------------------------------------------- -_start: -@--------------------------------------------------------------------------------- - mov r0, #0x04000000 @ IME = 0; - str r0, [r0, #0x208] - - mov r0, #0x12 @ Switch to IRQ Mode - msr cpsr, r0 - ldr sp, =__sp_irq @ Set IRQ stack - - mov r0, #0x13 @ Switch to SVC Mode - msr cpsr, r0 - ldr sp, =__sp_svc @ Set SVC stack - - mov r0, #0x1F @ Switch to System Mode - msr cpsr, r0 - ldr sp, =__sp_usr @ Set user stack - - ldr r0, =__bss_start @ Clear BSS section to 0x00 - ldr r1, =__bss_end - sub r1, r1, r0 - bl ClearMem - - ldr r3, =_init @ global constructors - bl _call_via_r3 - - mov r0, #0 @ int argc - mov r1, #0 @ char *argv[] - ldr r3, =main - bl _call_via_r3 @ jump to user code - - @ If the user ever returns, return to flash cartridge - mov r0, #0x08000000 - bx r0 - -@--------------------------------------------------------------------------------- -@ Clear memory to 0x00 if length != 0 -@ r0 = Start Address -@ r1 = Length -@--------------------------------------------------------------------------------- -ClearMem: -@--------------------------------------------------------------------------------- - mov r2, #3 @ Round down to nearest word boundary - add r1, r1, r2 @ Shouldn't be needed - bics r1, r1, r2 @ Clear 2 LSB (and set Z) - bxeq lr @ Quit if copy size is 0 - - mov r2, #0 -ClrLoop: - stmia r0!, {r2} - subs r1, r1, #4 - bne ClrLoop - bx lr - -@--------------------------------------------------------------------------------- -@ Copy memory if length != 0 -@ r1 = Source Address -@ r2 = Dest Address -@ r4 = Dest Address + Length -@--------------------------------------------------------------------------------- -CopyMemCheck: -@--------------------------------------------------------------------------------- - sub r3, r4, r2 @ Is there any data to copy? -@--------------------------------------------------------------------------------- -@ Copy memory -@ r1 = Source Address -@ r2 = Dest Address -@ r3 = Length -@--------------------------------------------------------------------------------- -CopyMem: -@--------------------------------------------------------------------------------- - mov r0, #3 @ These commands are used in cases where - add r3, r3, r0 @ the length is not a multiple of 4, - bics r3, r3, r0 @ even though it should be. - bxeq lr @ Length is zero, so exit -CIDLoop: - ldmia r1!, {r0} - stmia r2!, {r0} - subs r3, r3, #4 - bne CIDLoop - bx lr - -@--------------------------------------------------------------------------------- - .align - .pool - .end -@--------------------------------------------------------------------------------- diff --git a/dkarm/crtls/ds_arm9.ld b/dkarm/crtls/ds_arm9.ld deleted file mode 100644 index 1c6c2a4..0000000 --- a/dkarm/crtls/ds_arm9.ld +++ /dev/null @@ -1,216 +0,0 @@ -OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm", "elf32-littlearm") -OUTPUT_ARCH(arm) -ENTRY(_start) - -MEMORY { - - rom : ORIGIN = 0x08000000, LENGTH = 32M - ewram : ORIGIN = 0x02000000, LENGTH = 4M - 4k - dtcm : ORIGIN = 0x0b000000, LENGTH = 16K - itcm : ORIGIN = 0x01000000, LENGTH = 32K -} - -__itcm_start = ORIGIN(itcm); -__ewram_end = ORIGIN(ewram) + LENGTH(ewram); -__eheap_end = ORIGIN(ewram) + LENGTH(ewram); -__dtcm_start = ORIGIN(dtcm); -__dtcm_top = ORIGIN(dtcm) + LENGTH(dtcm); -__irq_flags = __dtcm_top - 0x08; -__irq_vector = __dtcm_top - 0x04; - -__sp_svc = __dtcm_top - 0x100; -__sp_irq = __sp_svc - 0x100; -__sp_usr = __sp_irq - 0x100; - -SECTIONS -{ - .init : - { - __text_start = . ; - KEEP (*(.init)) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >ewram = 0xff - - .plt : { *(.plt) } >ewram = 0xff - - .text : /* ALIGN (4): */ - { - *(EXCLUDE_FILE (*.itcm*) .text) - - *(.text.*) - *(.stub) - /* .gnu.warning sections are handled specially by elf32.em. */ - *(.gnu.warning) - *(.gnu.linkonce.t*) - *(.glue_7) - *(.glue_7t) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >ewram = 0xff - - .fini : - { - KEEP (*(.fini)) - } >ewram =0xff - - __text_end = . ; - - .rodata : - { - *(.rodata) - *all.rodata*(*) - *(.roda) - *(.rodata.*) - *(.gnu.linkonce.r*) - SORT(CONSTRUCTORS) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >ewram = 0xff - - .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)) - KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors)) - KEEP (*(SORT(.ctors.*))) - KEEP (*(.ctors)) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >ewram = 0xff - - .dtors : - { - KEEP (*crtbegin.o(.dtors)) - KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors)) - KEEP (*(SORT(.dtors.*))) - KEEP (*(.dtors)) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >ewram = 0xff - - .eh_frame : - { - KEEP (*(.eh_frame)) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >ewram = 0xff - - .gcc_except_table : - { - *(.gcc_except_table) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >ewram = 0xff - .jcr : { KEEP (*(.jcr)) } >ewram = 0 - .got : { *(.got.plt) *(.got) } >ewram = 0 - - .ewram ALIGN(4) : - { - __ewram_start = ABSOLUTE(.) ; - *(.ewram) - *ewram.*(.text) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >ewram = 0xff - - - .data ALIGN(4) : - { - __data_start = ABSOLUTE(.); - *(.data) - *(.data.*) - *(.gnu.linkonce.d*) - CONSTRUCTORS - . = ALIGN(4); - } >ewram = 0xff - - __data_end = . ; - - __dtcm_lma = . ; - - .dtcm __dtcm_start : AT (__dtcm_lma) - { - *(.dtcm) - *(.dtcm.*) - . = ALIGN(4); - } >dtcm = 0xff - __dtcm_end = . ; - - - __itcm_lma = __dtcm_lma + SIZEOF(.dtcm); - - .itcm __itcm_start : AT (__itcm_lma) - { - *(.itcm) - *itcm.*(.text) - . = ALIGN(4); - } >itcm = 0xff - __itcm_end = . ; - - .sbss __dtcm_end : - { - __sbss_start = ABSOLUTE(.); - __sbss_start__ = ABSOLUTE(.); - *(.sbss) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - __sbss_end = ABSOLUTE(.); - } >dtcm - - - - __bss_lma = __itcm_lma + SIZEOF(.itcm) ; - __appended_data = __itcm_lma + SIZEOF(.itcm) ; - .bss __bss_lma : AT (__bss_lma) - { - __bss_start = ABSOLUTE(.); - __bss_start__ = ABSOLUTE(.); - *(.dynbss) - *(.gnu.linkonce.b*) - *(.bss*) - *(COMMON) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >ewram - - __bss_end = . ; - __bss_end__ = . ; - - _end = . ; - __end__ = . ; - PROVIDE (end = _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) } - /* 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) } - .stack 0x80000 : { _stack = .; *(.stack) } - /* These must appear regardless of . */ -} diff --git a/dkarm/crtls/ds_arm9.specs b/dkarm/crtls/ds_arm9.specs deleted file mode 100644 index 3d3e7da..0000000 --- a/dkarm/crtls/ds_arm9.specs +++ /dev/null @@ -1,12 +0,0 @@ -%rename link old_link -%rename link_gcc_c_sequence old_gcc_c_sequence - -*link_gcc_c_sequence: -%(old_gcc_c_sequence) --start-group -lsysbase -lc --end-group - -*link: -%(old_link) -T ds_arm9.ld%s - -*startfile: -ds_arm9_crt0%O%s crti%O%s crtbegin%O%s - diff --git a/dkarm/crtls/ds_arm9_crt0.s b/dkarm/crtls/ds_arm9_crt0.s deleted file mode 100644 index 916dfb3..0000000 --- a/dkarm/crtls/ds_arm9_crt0.s +++ /dev/null @@ -1,268 +0,0 @@ -#define PAGE_4K (0b01011 << 1) -#define PAGE_8K (0b01100 << 1) -#define PAGE_16K (0b01101 << 1) -#define PAGE_32K (0b01110 << 1) -#define PAGE_64K (0b00111 << 1) -#define PAGE_128K (0b10000 << 1) -#define PAGE_256K (0b10001 << 1) -#define PAGE_512K (0b10010 << 1) -#define PAGE_1M (0b10011 << 1) -#define PAGE_2M (0b10100 << 1) -#define PAGE_4M (0b10101 << 1) -#define PAGE_8M (0b10110 << 1) -#define PAGE_16M (0b10111 << 1) -#define PAGE_32M (0b11000 << 1) -#define PAGE_64M (0b11001 << 1) -#define PAGE_128M (0b11010 << 1) -#define PAGE_256M (0b11011 << 1) -#define PAGE_512M (0b11100 << 1) -#define PAGE_1G (0b11101 << 1) -#define PAGE_2G (0b11110 << 1) -#define PAGE_4G (0b11111 << 1) - -#define ITCM_LOAD (1<<19) -#define ITCM_ENABLE (1<<18) -#define DTCM_LOAD (1<<17) -#define DTCM_ENABLE (1<<16) -#define DISABLE_TBIT (1<<15) -#define ROUND_ROBIN (1<<14) -#define ALT_VECTORS (1<<13) -#define ICACHE_ENABLE (1<<12) -#define BIG_ENDIAN (1<<7) -#define DCACHE_ENABLE (1<<2) -#define PROTECT_ENABLE (1<<0) - -@--------------------------------------------------------------------------------- - .section ".init" - .global _start -@--------------------------------------------------------------------------------- - .align 4 - .arm -@--------------------------------------------------------------------------------- -_start: -@--------------------------------------------------------------------------------- - mov r0, #0x04000000 @ IME = 0; - str r0, [r0, #0x208] - -@--------------------------------------------------------------------------------- -@ turn the power on for M3 -@--------------------------------------------------------------------------------- - ldr r1, =0x8203 - add r0,r0,#0x304 - strh r1, [r0] - - ldr r1, =0x00002078 @ disable TCM and protection unit - mcr p15, 0, r1, c1, c0 - -@--------------------------------------------------------------------------------- -@ Protection Unit Setup added by Sasq -@--------------------------------------------------------------------------------- - @ Disable cache - mov r0, #0 - mcr p15, 0, r0, c7, c5, 0 @ Instruction cache - mcr p15, 0, r0, c7, c6, 0 @ Data cache - - @ Wait for write buffer to empty - mcr p15, 0, r0, c7, c10, 4 - - ldr r0, =__dtcm_start - orr r0,r0,#0x0a - mcr p15, 0, r0, c9, c1,0 @ DTCM base = __dtcm_start, size = 16 KB - - mov r0,#0x20 - mcr p15, 0, r0, c9, c1,1 @ ITCM base = 0 , size = 32 MB - -@--------------------------------------------------------------------------------- -@ Setup memory regions similar to Release Version -@--------------------------------------------------------------------------------- - - @------------------------------------------------------------------------- - @ Region 0 - IO registers - @------------------------------------------------------------------------- - ldr r0,=( PAGE_64M | 0x04000000 | 1) - mcr p15, 0, r0, c6, c0, 0 - - @------------------------------------------------------------------------- - @ Region 1 - Main Memory - @------------------------------------------------------------------------- - ldr r0,=( PAGE_4M | 0x02000000 | 1) - mcr p15, 0, r0, c6, c1, 0 - - @------------------------------------------------------------------------- - @ Region 2 - iwram - @------------------------------------------------------------------------- - ldr r0,=( PAGE_32K | 0x037F8000 | 1) - mcr p15, 0, r0, c6, c2, 0 - - @------------------------------------------------------------------------- - @ Region 3 - DS Accessory (GBA Cart) - @------------------------------------------------------------------------- - ldr r0,=( PAGE_128M | 0x08000000 | 1) - mcr p15, 0, r0, c6, c3, 0 - - @------------------------------------------------------------------------- - @ Region 4 - DTCM - @------------------------------------------------------------------------- - ldr r0,=__dtcm_start - orr r0,r0,#(PAGE_16K | 1) - mcr p15, 0, r0, c6, c4, 0 - - @------------------------------------------------------------------------- - @ Region 5 - ITCM - @------------------------------------------------------------------------- - ldr r0,=__itcm_start - orr r0,r0,#(PAGE_32K | 1) - mcr p15, 0, r0, c6, c5, 0 - - @------------------------------------------------------------------------- - @ Region 6 - System ROM - @------------------------------------------------------------------------- - ldr r0,=( PAGE_32K | 0xFFFF0000 | 1) - mcr p15, 0, r0, c6, c6, 0 - - @------------------------------------------------------------------------- - @ Region 7 - non cacheable main ram - @------------------------------------------------------------------------- - ldr r0,=( PAGE_4M | 0x02400000 | 1) - mcr p15, 0, r0, c6, c7, 0 - - @------------------------------------------------------------------------- - @ Write buffer enable - @------------------------------------------------------------------------- - ldr r0,=0b00000110 - mcr p15, 0, r0, c3, c0, 0 - - @------------------------------------------------------------------------- - @ DCache & ICache enable - @------------------------------------------------------------------------- - ldr r0,=0b01000110 - ldr r0,=0x42 - mcr p15, 0, r0, c2, c0, 0 - mcr p15, 0, r0, c2, c0, 1 - - @------------------------------------------------------------------------- - @ IAccess - @------------------------------------------------------------------------- - ldr r0,=0x36636333 - mcr p15, 0, r0, c5, c0, 3 - - @------------------------------------------------------------------------- - @ DAccess - @------------------------------------------------------------------------- - ldr r0,=0x36333333 - mcr p15, 0, r0, c5, c0, 2 - - @------------------------------------------------------------------------- - @ Enable ICache, DCache, ITCM & DTCM - @------------------------------------------------------------------------- - mrc p15, 0, r0, c1, c0, 0 - ldr r1,= ITCM_ENABLE | DTCM_ENABLE | ICACHE_ENABLE | DCACHE_ENABLE | PROTECT_ENABLE - orr r0,r0,r1 - mcr p15, 0, r0, c1, c0, 0 - - mov r0, #0x12 @ Switch to IRQ Mode - msr cpsr, r0 - ldr sp, =__sp_irq @ Set IRQ stack - - mov r0, #0x13 @ Switch to SVC Mode - msr cpsr, r0 - ldr sp, =__sp_svc @ Set SVC stack - - mov r0, #0x1F @ Switch to System Mode - msr cpsr, r0 - ldr sp, =__sp_usr @ Set user stack - - ldr r1, =__itcm_lma @ Copy instruction tightly coupled memory (itcm section) from LMA to VMA (ROM to RAM) - ldr r2, =__itcm_start - ldr r4, =__itcm_end - bl CopyMemCheck - - ldr r1, =__dtcm_lma @ Copy data tightly coupled memory (dtcm section) from LMA to VMA (ROM to RAM) - ldr r2, =__dtcm_start - ldr r4, =__dtcm_end - bl CopyMemCheck - - ldr r0, =__bss_start @ Clear BSS section - ldr r1, =__bss_end - sub r1, r1, r0 - bl ClearMem - - ldr r0, =__sbss_start @ Clear SBSS section - ldr r1, =__sbss_end - sub r1, r1, r0 - bl ClearMem - - ldr r1, =fake_heap_end @ set heap end - ldr r0, =__eheap_end - str r0, [r1] - - ldr r3, =_init @ global constructors - bl _call_via_r3 - - mov r0, #0 @ int argc - mov r1, #0 @ char *argv[] - ldr r3, =main - bl _call_via_r3 @ jump to user code - - @ If the user ever returns, go to an infinte loop - ldr r0, =ILoop - ldr r0, [r0] - ldr r1, =0x027FFE78 - str r0, [r1] - bx r1 -ILoop: - b ILoop - -@--------------------------------------------------------------------------------- -@ Clear memory to 0x00 if length != 0 -@ r0 = Start Address -@ r1 = Length -@--------------------------------------------------------------------------------- -ClearMem: -@--------------------------------------------------------------------------------- - mov r2, #3 @ Round down to nearest word boundary - add r1, r1, r2 @ Shouldn't be needed - bics r1, r1, r2 @ Clear 2 LSB (and set Z) - bxeq lr @ Quit if copy size is 0 - - mov r2, #0 -ClrLoop: - stmia r0!, {r2} - subs r1, r1, #4 - bne ClrLoop - - bx lr - -@--------------------------------------------------------------------------------- -@ Copy memory if length != 0 -@ r1 = Source Address -@ r2 = Dest Address -@ r4 = Dest Address + Length -@--------------------------------------------------------------------------------- -CopyMemCheck: -@--------------------------------------------------------------------------------- - sub r3, r4, r2 @ Is there any data to copy? -@--------------------------------------------------------------------------------- -@ Copy memory -@ r1 = Source Address -@ r2 = Dest Address -@ r3 = Length -@--------------------------------------------------------------------------------- -CopyMem: -@--------------------------------------------------------------------------------- - mov r0, #3 @ These commands are used in cases where - add r3, r3, r0 @ the length is not a multiple of 4, - bics r3, r3, r0 @ even though it should be. - bxeq lr @ Length is zero, so exit -CIDLoop: - ldmia r1!, {r0} - stmia r2!, {r0} - subs r3, r3, #4 - bne CIDLoop - - bx lr -@--------------------------------------------------------------------------------- - .align - .pool - .end -@--------------------------------------------------------------------------------- diff --git a/dkarm/crtls/ds_cart.ld b/dkarm/crtls/ds_cart.ld deleted file mode 100644 index c0fa3e0..0000000 --- a/dkarm/crtls/ds_cart.ld +++ /dev/null @@ -1,202 +0,0 @@ -OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm", "elf32-littlearm") -OUTPUT_ARCH(arm) -ENTRY(_start) - -MEMORY { - - rom : ORIGIN = 0x08000000, LENGTH = 32M - iwram : ORIGIN = 0x03800000, LENGTH = 64K - ewram : ORIGIN = 0x02000000, LENGTH = 4M -} - -__ewram_start = ORIGIN(ewram); -__eheap_end = ORIGIN(ewram)+ LENGTH(ewram); -__iwram_start = ORIGIN(iwram); -__iwram_top = ORIGIN(iwram)+ LENGTH(iwram); -__sp_irq = __iwram_top - 0x60; -__sp_svc = __sp_irq - 0x100; -__sp_usr = __sp_svc - 0x100; - -__irq_flags = __iwram_top - 8; -__irq_vector = __iwram_top - 4; - -SECTIONS -{ - .init : - { - __text_start = . ; - KEEP (*(.init)) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >rom = 0xff - .plt : { *(.plt) } >rom = 0xff - - .text : /* ALIGN (4): */ - { - - *(EXCLUDE_FILE (*text.iwram*) .text) - *(.text.*) - *(.stub) - /* .gnu.warning sections are handled specially by elf32.em. */ - *(.gnu.warning) - *(.gnu.linkonce.t*) - *(.glue_7) - *(.glue_7t) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >rom = 0xff - - .fini : - { - KEEP (*(.fini)) - } >rom =0xff - - __text_end = . ; - - .rodata : - { - *(.rodata) - *all.rodata*(*) - *(.roda) - *(.rodata.*) - *(.gnu.linkonce.r*) - SORT(CONSTRUCTORS) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >rom = 0xff - - .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)) - KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors)) - KEEP (*(SORT(.ctors.*))) - KEEP (*(.ctors)) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >rom = 0xff - - .dtors : - { - KEEP (*crtbegin.o(.dtors)) - KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors)) - KEEP (*(SORT(.dtors.*))) - KEEP (*(.dtors)) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >rom = 0xff - - .eh_frame : - { - KEEP (*(.eh_frame)) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >rom = 0xff - - .gcc_except_table : - { - *(.gcc_except_table) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >rom = 0xff - .jcr : { KEEP (*(.jcr)) } >rom = 0 - .got : { *(.got.plt) *(.got) } >rom = 0 - - __ewram_lma = . ; - - .ewram __ewram_start : AT (__ewram_lma) - { - __ewram_start = ABSOLUTE(.) ; - *(.ewram) - *ewram.*(.text) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >ewram = 0xff - - .sbss ALIGN(4): - { - __sbss_start = ABSOLUTE(.); - *(.sbss) - . = ALIGN(4); - } >ewram - __sbss_end = . ; - - _end = . ; - __end__ = . ; - PROVIDE (end = _end); - - __iwram_lma = __ewram_lma + SIZEOF(.ewram) + SIZEOF(.sbss); - - .iwram __iwram_start : AT (__iwram_lma) - { - __iwram_start = ABSOLUTE(.) ; - *(.iwram) - *iwram.*(.text) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >iwram = 0xff - - __iwram_end = . ; - __data_lma = __iwram_lma + SIZEOF(.iwram) ; - - - .data ALIGN(4) : AT (__data_lma) - { - __data_start = ABSOLUTE(.); - *(.data) - *(.data.*) - *(.gnu.linkonce.d*) - CONSTRUCTORS - . = ALIGN(4); - } >iwram = 0xff - - __data_end = . ; - __appended_data = __data_lma + SIZEOF(.data) ; - - - .bss ALIGN(4) : - { - __bss_start = ABSOLUTE(.); - __bss_start__ = ABSOLUTE(.); - *(.dynbss) - *(.gnu.linkonce.b*) - *(.bss*) - *(COMMON) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >iwram - - __bss_end = . ; - __bss_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) } - /* 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) } - .stack 0x80000 : { _stack = .; *(.stack) } - /* These must appear regardless of . */ -} diff --git a/dkarm/crtls/ds_cart.specs b/dkarm/crtls/ds_cart.specs deleted file mode 100644 index 8bd5778..0000000 --- a/dkarm/crtls/ds_cart.specs +++ /dev/null @@ -1,12 +0,0 @@ -%rename link old_link -%rename link_gcc_c_sequence old_gcc_c_sequence - -*link_gcc_c_sequence: -%(old_gcc_c_sequence) --start-group -lsysbase -lc --end-group - -*link: -%(old_link) -T ds_cart.ld%s - -*startfile: -ds_cart_crt0%O%s crti%O%s crtbegin%O%s - diff --git a/dkarm/crtls/ds_cart_crt0.s b/dkarm/crtls/ds_cart_crt0.s deleted file mode 100644 index e053c77..0000000 --- a/dkarm/crtls/ds_cart_crt0.s +++ /dev/null @@ -1,160 +0,0 @@ -@--------------------------------------------------------------------------------- - .section ".init" - .global _start - .arm -@--------------------------------------------------------------------------------- -_start: -@--------------------------------------------------------------------------------- - b rom_header_end - -@--------------------------------------------------------------------------------- - .fill 156,1,0 @ Nintendo Logo Character Data (8000004h) - .fill 16,1,0 @ Game Title - .byte 0x30,0x31 @ Maker Code (80000B0h) - .byte 0x96 @ Fixed Value (80000B2h) - .byte 0x00 @ Main Unit Code (80000B3h) - .byte 0x00 @ Device Type (80000B4h) - .fill 7,1,0 @ unused - .byte 0x00 @ Software Version No (80000BCh) - .byte 0xf0 @ Complement Check (80000BDh) - .byte 0x00,0x00 @ Checksum (80000BEh) - -rom_header_end: - b start_vector @ This branch must be here for proper - @ positioning of the following header. - - .GLOBAL __boot_method, __slave_number -__boot_method: - .byte 0 @ boot method (0=ROM boot, 3=Multiplay boot) -__slave_number: - .byte 0 @ slave # (1=slave#1, 2=slave#2, 3=slave#3) - - .byte 0 @ reserved - .byte 0 @ reserved - .word 0 @ reserved - .word 0 @ reserved - .word 0 @ reserved - .word 0 @ reserved - .word 0 @ reserved - .word 0 @ reserved -@--------------------------------------------------------------------------------- - .align 4 - .arm -@--------------------------------------------------------------------------------- -start_vector: -@--------------------------------------------------------------------------------- - mov r0, #0x04000000 @ IME = 0; - str r0, [r0, #0x208] - - mov r0, #0x12 @ Switch to IRQ Mode - msr cpsr, r0 - ldr sp, =__sp_irq @ Set IRQ stack - - mov r0, #0x13 @ Switch to SVC Mode - msr cpsr, r0 - ldr sp, =__sp_svc @ Set SVC stack - - - mov r0, #0x1F @ Switch to System Mode - msr cpsr, r0 - ldr sp, =__sp_usr @ Set user stack - - mov r1, #0x42 - strb r1, [r7], #1 - mov r1, #0x35 - strb r1, [r7], #1 - mov r1, #0x2B - strb r1, [r7], #1 - mov r1, #0x2B - strb r1, [r7], #1 - - ldr r1, =__data_lma @ Copy initialized data (data section) from LMA to VMA (ROM to RAM) - ldr r2, =__data_start - ldr r4, =__data_end - bl CopyMemChk - - ldr r1, =__iwram_lma @ Copy internal work ram (iwram section) from LMA to VMA (ROM to RAM) - ldr r2, =__iwram_start - ldr r4, =__iwram_end - bl CopyMemChk - - ldr r0, =__bss_start @ Clear BSS section to 0x00 - ldr r1, =__bss_end - sub r1, r1, r0 - bl ClearMem - - ldr r0, =__sbss_start @ Clear SBSS section to 0x00 - ldr r1, =__sbss_end - sub r1, r1, r0 - bl ClearMem - - ldr r1, =fake_heap_end @ set heap end - ldr r0, =__eheap_end - str r0, [r1] - - ldr r3, =_init @ global constructors - bl _call_via_r3 - - mov r0, #0 @ int argc - mov r1, #0 @ char *argv[] - ldr r3, =main - bl _call_via_r3 @ jump to user code - - -@--------------------------------------------------------------------------------- -@ Clear memory to 0x00 if length != 0 -@ r0 = Start Address -@ r1 = Length -@--------------------------------------------------------------------------------- -ClearMem: - mov r2, #3 @ Round down to nearest word boundary - add r1, r1, r2 @ Shouldn't be needed - bics r1, r1, r2 @ Clear 2 LSB (and set Z) - bxeq lr @ Quit if copy size is 0 - - mov r2, #0 -@--------------------------------------------------------------------------------- -ClrLoop: -@--------------------------------------------------------------------------------- - stmia r0!, {r2} - subs r1, r1, #4 - bne ClrLoop - bx lr - -@--------------------------------------------------------------------------------- -@ Copy memory if length != 0 -@ r1 = Source Address -@ r2 = Dest Address -@ r4 = Dest Address + Length -@--------------------------------------------------------------------------------- -CopyMemChk: -@--------------------------------------------------------------------------------- - sub r3, r4, r2 @ Is there any data to copy? -@--------------------------------------------------------------------------------- -@ Copy memory -@ r1 = Source Address -@ r2 = Dest Address -@ r3 = Length -@--------------------------------------------------------------------------------- -CopyMem: -@--------------------------------------------------------------------------------- - mov r0, #3 @ These commands are used in cases where - add r3, r3, r0 @ the length is not a multiple of 4, - bics r3, r3, r0 @ even though it should be. - bxeq lr @ Length is zero so exit - -@--------------------------------------------------------------------------------- -CIDLoop: -@--------------------------------------------------------------------------------- - ldmia r1!, {r0} - stmia r2!, {r0} - subs r3, r3, #4 - bne CIDLoop - bx lr -@--------------------------------------------------------------------------------- - .align - .pool -@--------------------------------------------------------------------------------- - .end -@--------------------------------------------------------------------------------- - diff --git a/dkarm/crtls/er_crt0.s b/dkarm/crtls/er_crt0.s deleted file mode 100644 index 801ffa3..0000000 --- a/dkarm/crtls/er_crt0.s +++ /dev/null @@ -1,56 +0,0 @@ -@--------------------------------------------------------------------------------- -@ nintendo e-reader startup code -@--------------------------------------------------------------------------------- -@ author : tim schuerewegen -@ version : 1.0 -@--------------------------------------------------------------------------------- - .section ".init" - .global _start - .align - .arm -@--------------------------------------------------------------------------------- -_start: -@--------------------------------------------------------------------------------- - b start_vector - .long 0 - .long 0x02000000 - -start_vector: - @ enter thumb mode - adr r0, _start_thumb + 1 - bx r0 - - .thumb - -_start_thumb: - - @ save return address (rom) - mov r3, lr - - @ clear bss section - ldr r0, =__bss_start - ldr r1, =__bss_end - mov r2, #0 -_loop_bss_clear: - strb r2, [r0] - add r0, #1 - cmp r0, r1 - blt _loop_bss_clear - - @ set return address (rom) - mov lr, r3 - - @ jump to main - ldr r3, =main - bx r3 - - .align - - .pool - - .end - - .align - .pool - .end - diff --git a/dkarm/crtls/gba.specs b/dkarm/crtls/gba.specs deleted file mode 100644 index 84b9dff..0000000 --- a/dkarm/crtls/gba.specs +++ /dev/null @@ -1,12 +0,0 @@ -%rename link old_link -%rename link_gcc_c_sequence old_gcc_c_sequence - -*link_gcc_c_sequence: -%(old_gcc_c_sequence) --start-group -lsysbase -lc --end-group - -*link: -%(old_link) -T gba_cart.ld%s - -*startfile: -gba_crt0%O%s crti%O%s crtbegin%O%s - diff --git a/dkarm/crtls/gba_cart.ld b/dkarm/crtls/gba_cart.ld deleted file mode 100644 index f61d12a..0000000 --- a/dkarm/crtls/gba_cart.ld +++ /dev/null @@ -1,301 +0,0 @@ -/* Linker Script Original v1.3 by Jeff Frohwein */ -/* v1.0 - Original release */ -/* v1.1 - Added proper .data section support */ -/* v1.2 - Added support for c++ & iwram overlays */ -/* - Major contributions by Jason Wilkins. */ -/* v1.3 - .ewram section now can be used when */ -/* compiling for MULTIBOOT mode. This fixes */ -/* malloc() in DevKitAdvance which depends */ -/* on __eheap_start instead of end to define*/ -/* the starting location of heap space. */ -/* External global variable __gba_iwram_heap*/ -/* support added to allow labels end, _end, */ -/* & __end__ to point to end of iwram or */ -/* the end of ewram. */ -/* Additions by WinterMute */ -/* v1.4 - .sbss section added for unitialised */ -/* data in ewram */ -/* v1.5 - padding section added to stop EZF */ -/* stripping important data */ - -/* This file is released into the public domain */ -/* for commercial or non-commercial use with no */ -/* restrictions placed upon it. */ - -/* NOTE!!!: This linker script defines the RAM & */ -/* ROM start addresses. In order for it to work */ -/* properly, remove -Ttext and -Tbss linker */ -/* options from your makefile if they are */ -/* present. */ - -/* You can use the following to view section */ -/* addresses in your .elf file: */ -/* objdump -h file.elf */ -/* Please note that empty sections may incorrectly*/ -/* list the lma address as the vma address for */ -/* some versions of objdump. */ - -OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm", "elf32-littlearm") -OUTPUT_ARCH(arm) -ENTRY(_start) -/* SEARCH_DIR(/bin/arm); */ - -/* The linker script function "var1 += var2;" sometimes */ -/* reports incorrect values in the *.map file but the */ -/* actual value it calculates is usually, if not always, */ -/* correct. If you leave out the ". = ALIGN(4);" at the */ -/* end of each section then the return value of SIZEOF() */ -/* is sometimes incorrect and "var1 += var2;" appears to */ -/* not work as well. "var1 += var2" style functions are */ -/* avoided below as a result. */ - -MEMORY { - - rom : ORIGIN = 0x08000000, LENGTH = 32M - iwram : ORIGIN = 0x03000000, LENGTH = 32K - ewram : ORIGIN = 0x02000000, LENGTH = 256K -} - -__text_start = 0x8000000; -__eheap_end = 0x2040000; -__iwram_start = 0x3000000; -__iwram_end = 0x3008000; - -__sp_irq = __iwram_end - 0x100; -__sp_usr = __sp_irq - 0x100; - -__irq_flags = 0x03007ff8; - -SECTIONS -{ - . = __text_start; - .init : - { - KEEP (*(.init)) - . = ALIGN(4); - } >rom =0xff - - .plt : - { - *(.plt) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >rom - - .text : /* ALIGN (4): */ - { - *(EXCLUDE_FILE (*.iwram*) .text) - *(.text.*) - *(.stub) - /* .gnu.warning sections are handled specially by elf32.em. */ - *(.gnu.warning) - *(.gnu.linkonce.t*) - *(.glue_7) - *(.glue_7t) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >rom = 0xff - - __text_end = .; - .fini : - { - KEEP (*(.fini)) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >rom =0 - - .rodata : - { - *(.rodata) - *all.rodata*(*) - *(.roda) - *(.rodata.*) - *(.gnu.linkonce.r*) - SORT(CONSTRUCTORS) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >rom = 0xff - - .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)) - KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors)) - KEEP (*(SORT(.ctors.*))) - KEEP (*(.ctors)) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >rom = 0 - - .dtors : - { - KEEP (*crtbegin.o(.dtors)) - KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors)) - KEEP (*(SORT(.dtors.*))) - KEEP (*(.dtors)) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >rom = 0 - - .jcr : { KEEP (*(.jcr)) } >rom - - .eh_frame : - { - KEEP (*(.eh_frame)) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >rom = 0 - - .gcc_except_table : - { - *(.gcc_except_table) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >rom = 0 - - __iwram_lma = .; - - .iwram __iwram_start : AT (__iwram_lma) - { - __iwram_start = ABSOLUTE(.) ; - *(.iwram) - *iwram.*(.text) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >iwram = 0xff - - __data_lma = __iwram_lma + SIZEOF(.iwram) ; - __iwram_end = . ; - - .bss ALIGN(4) : - { - __bss_start = ABSOLUTE(.); - __bss_start__ = ABSOLUTE(.); - *(.dynbss) - *(.gnu.linkonce.b*) - *(.bss*) - *(COMMON) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >iwram - - __bss_end = . ; - __bss_end__ = . ; - - .data ALIGN(4) : AT (__data_lma) - { - __data_start = ABSOLUTE(.); - *(.data) - *(.data.*) - *(.gnu.linkonce.d*) - CONSTRUCTORS - . = ALIGN(4); - } >iwram = 0xff - - __iwram_overlay_lma = __data_lma + SIZEOF(.data); - - __data_end = .; - __iwram_overlay_start = . ; - - OVERLAY ALIGN(4) : NOCROSSREFS AT (__iwram_overlay_lma) - { - .iwram0 { *(.iwram0) . = ALIGN(4);} - .iwram1 { *(.iwram1) . = ALIGN(4);} - .iwram2 { *(.iwram2) . = ALIGN(4);} - .iwram3 { *(.iwram3) . = ALIGN(4);} - .iwram4 { *(.iwram4) . = ALIGN(4);} - .iwram5 { *(.iwram5) . = ALIGN(4);} - .iwram6 { *(.iwram6) . = ALIGN(4);} - .iwram7 { *(.iwram7) . = ALIGN(4);} - .iwram8 { *(.iwram8) . = ALIGN(4);} - .iwram9 { *(.iwram9) . = ALIGN(4);} - }>iwram = 0xff - - __ewram_lma = LOADADDR(.iwram0) + SIZEOF(.iwram0)+SIZEOF(.iwram1)+SIZEOF(.iwram2)+SIZEOF(.iwram3)+SIZEOF(.iwram4)+SIZEOF(.iwram5)+SIZEOF(.iwram6)+SIZEOF(.iwram7)+SIZEOF(.iwram8)+SIZEOF(.iwram9); - - __iwram_overlay_end = . ; - __iheap_start = . ; - - __ewram_start = 0x2000000; - .ewram __ewram_start : AT (__ewram_lma) - { - *(.ewram) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - }>ewram = 0xff - - __ewram_overlay_lma = __ewram_lma + SIZEOF(.ewram); - - .sbss ALIGN(4): - { - __sbss_start = ABSOLUTE(.); - *(.sbss) - . = ALIGN(4); - } >ewram - - __sbss_end = .; - - __ewram_end = . ; - __ewram_overlay_start = . ; - - OVERLAY ALIGN(4): NOCROSSREFS AT (__ewram_overlay_lma) - { - .ewram0 { *(.ewram0) . = ALIGN(4);} - .ewram1 { *(.ewram1) . = ALIGN(4);} - .ewram2 { *(.ewram2) . = ALIGN(4);} - .ewram3 { *(.ewram3) . = ALIGN(4);} - .ewram4 { *(.ewram4) . = ALIGN(4);} - .ewram5 { *(.ewram5) . = ALIGN(4);} - .ewram6 { *(.ewram6) . = ALIGN(4);} - .ewram7 { *(.ewram7) . = ALIGN(4);} - .ewram8 { *(.ewram8) . = ALIGN(4);} - .ewram9 { *(.ewram9) . = ALIGN(4);} - }>ewram = 0xff - - __pad_lma = LOADADDR(.ewram0) + SIZEOF(.ewram0)+SIZEOF(.ewram1)+SIZEOF(.ewram2)+SIZEOF(.ewram3)+SIZEOF(.ewram4)+SIZEOF(.ewram5)+SIZEOF(.ewram6)+SIZEOF(.ewram7)+SIZEOF(.ewram8)+SIZEOF(.ewram9); - - /* EZF Advance strips trailing 0xff bytes, add a pad section so nothing important is removed */ - .pad ALIGN(4) : AT (__pad_lma) - { - LONG(0x52416b64) - LONG(0x4d) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } = 0xff - - __ewram_overlay_end = . ; - __eheap_start = . ; - - _end = .; - __end__ = _end ; /* v1.3 */ - PROVIDE (end = _end); /* v1.3 */ - - /* 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) } - /* 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) } - .stack 0x80000 : { _stack = .; *(.stack) } - /* These must appear regardless of . */ -} diff --git a/dkarm/crtls/gba_crt0.s b/dkarm/crtls/gba_crt0.s deleted file mode 100644 index 8616021..0000000 --- a/dkarm/crtls/gba_crt0.s +++ /dev/null @@ -1,251 +0,0 @@ - .section ".init" - .global _start - .align - .arm -@--------------------------------------------------------------------------------- -_start: -@--------------------------------------------------------------------------------- - b rom_header_end - - .fill 156,1,0 @ Nintendo Logo Character Data (8000004h) - .fill 16,1,0 @ Game Title - .byte 0x30,0x31 @ Maker Code (80000B0h) - .byte 0x96 @ Fixed Value (80000B2h) - .byte 0x00 @ Main Unit Code (80000B3h) - .byte 0x00 @ Device Type (80000B4h) - .fill 7,1,0 @ unused - .byte 0x00 @ Software Version No (80000BCh) - .byte 0xf0 @ Complement Check (80000BDh) - .byte 0x00,0x00 @ Checksum (80000BEh) - -@--------------------------------------------------------------------------------- -rom_header_end: -@--------------------------------------------------------------------------------- - b start_vector @ This branch must be here for proper - @ positioning of the following header. - - .GLOBAL __boot_method, __slave_number -@--------------------------------------------------------------------------------- -__boot_method: -@--------------------------------------------------------------------------------- - .byte 0 @ boot method (0=ROM boot, 3=Multiplay boot) -@--------------------------------------------------------------------------------- -__slave_number: -@--------------------------------------------------------------------------------- - .byte 0 @ slave # (1=slave#1, 2=slave#2, 3=slave#3) - - .byte 0 @ reserved - .byte 0 @ reserved - .word 0 @ reserved - .word 0 @ reserved - .word 0 @ reserved - .word 0 @ reserved - .word 0 @ reserved - .word 0 @ reserved - - .global start_vector - .align -@--------------------------------------------------------------------------------- -start_vector: -@--------------------------------------------------------------------------------- - mov r0, #0x4000000 @ REG_BASE - str r0, [r0, #0x208] - - mov r0, #0x12 @ Switch to IRQ Mode - msr cpsr, r0 - ldr sp, =__sp_irq @ Set IRQ stack - mov r0, #0x1f @ Switch to System Mode - msr cpsr, r0 - ldr sp, =__sp_usr @ Set user stack - -@--------------------------------------------------------------------------------- -@ Enter Thumb mode -@--------------------------------------------------------------------------------- - add r0, pc, #1 - bx r0 - - .thumb - - ldr r0, =__text_start - lsl r0, #5 @ Was code compiled at 0x08000000 or higher? - bcs DoEWRAMClear @ yes, you can not run it in external WRAM - - mov r0, pc - lsl r0, #5 @ Are we running from ROM (0x8000000 or higher) ? - bcc SkipEWRAMClear @ No, so no need to do a copy. - -@--------------------------------------------------------------------------------- -@ We were started in ROM, silly emulators. :P -@ So we need to copy to ExWRAM. -@--------------------------------------------------------------------------------- - mov r2, #2 - lsl r2, r2, #24 @ r2= 0x02000000 - ldr r3, =__end__ @ last ewram address - sub r3, r2 @ r3= actual binary size - mov r6, r2 @ r6= 0x02000000 - lsl r1, r2, #2 @ r1= 0x08000000 - - bl CopyMem - - bx r6 @ Jump to the code to execute - -@--------------------------------------------------------------------------------- -DoEWRAMClear: @ Clear External WRAM to 0x00 -@--------------------------------------------------------------------------------- - mov r1, #0x40 - lsl r1, #12 @ r1 = 0x40000 - lsl r0, r1, #7 @ r0 = 0x2000000 - bl ClearMem - -@--------------------------------------------------------------------------------- -SkipEWRAMClear: @ Clear Internal WRAM to 0x00 -@--------------------------------------------------------------------------------- - -@--------------------------------------------------------------------------------- -@ Clear BSS section to 0x00 -@--------------------------------------------------------------------------------- - ldr r0, =__bss_start - ldr r1, =__bss_end - sub r1, r0 - bl ClearMem - -@--------------------------------------------------------------------------------- -@ Clear SBSS section to 0x00 -@--------------------------------------------------------------------------------- - ldr r0, =__sbss_start - ldr r1, =__sbss_end - sub r1, r0 - bl ClearMem - -@--------------------------------------------------------------------------------- -@ Copy initialized data (data section) from LMA to VMA (ROM to RAM) -@--------------------------------------------------------------------------------- - ldr r1, =__data_lma - ldr r2, =__data_start - ldr r4, =__data_end - bl CopyMemChk - -@--------------------------------------------------------------------------------- -@ Copy internal work ram (iwram section) from LMA to VMA (ROM to RAM) -@--------------------------------------------------------------------------------- - ldr r1,= __iwram_lma - ldr r2,= __iwram_start - ldr r4,= __iwram_end - bl CopyMemChk - -@--------------------------------------------------------------------------------- -@ Copy internal work ram overlay 0 (iwram0 section) from LMA to VMA (ROM to RAM) -@--------------------------------------------------------------------------------- - ldr r2,= __load_stop_iwram0 - ldr r1,= __load_start_iwram0 - sub r3, r2, r1 @ Is there any data to copy? - beq CIW0Skip @ no - - ldr r2,= __iwram_overlay_start - bl CopyMem -@--------------------------------------------------------------------------------- -CIW0Skip: -@--------------------------------------------------------------------------------- -@ Copy external work ram (ewram section) from LMA to VMA (ROM to RAM) -@--------------------------------------------------------------------------------- - ldr r1, =__ewram_lma - ldr r2, =__ewram_start - ldr r4, =__ewram_end - bl CopyMemChk - -@--------------------------------------------------------------------------------- -@ Copy external work ram overlay 0 (ewram0 section) from LMA to VMA (ROM to RAM) -@--------------------------------------------------------------------------------- - ldr r2, =__load_stop_ewram0 - ldr r1, =__load_start_ewram0 - sub r3, r2, r1 @ Is there any data to copy? - beq CEW0Skip @ no - - ldr r2, =__ewram_overlay_start - bl CopyMem -@--------------------------------------------------------------------------------- -CEW0Skip: -@--------------------------------------------------------------------------------- -@ set heap end -@--------------------------------------------------------------------------------- - ldr r1, =fake_heap_end - ldr r0, =__eheap_end - str r0, [r1] -@--------------------------------------------------------------------------------- -@ global constructors -@--------------------------------------------------------------------------------- - ldr r3, =_init - bl _call_via_r3 -@--------------------------------------------------------------------------------- -@ Jump to user code -@--------------------------------------------------------------------------------- - mov r0, #0 @ int argc - mov r1, #0 @ char *argv[] - ldr r3, =main - bl _call_via_r3 -@--------------------------------------------------------------------------------- -@ Clear memory to 0x00 if length != 0 -@--------------------------------------------------------------------------------- -@ r0 = Start Address -@ r1 = Length -@--------------------------------------------------------------------------------- -ClearMem: -@--------------------------------------------------------------------------------- - mov r2,#3 @ These commands are used in cases where - add r1,r2 @ the length is not a multiple of 4, - bic r1,r2 @ even though it should be. - - beq ClearMX @ Length is zero so exit - - mov r2,#0 -@--------------------------------------------------------------------------------- -ClrLoop: -@--------------------------------------------------------------------------------- - stmia r0!, {r2} - sub r1,#4 - bne ClrLoop -@--------------------------------------------------------------------------------- -ClearMX: -@--------------------------------------------------------------------------------- - bx lr - -@--------------------------------------------------------------------------------- -@ Copy memory if length != 0 -@--------------------------------------------------------------------------------- -@ r1 = Source Address -@ r2 = Dest Address -@ r4 = Dest Address + Length -@--------------------------------------------------------------------------------- -CopyMemChk: -@--------------------------------------------------------------------------------- - sub r3, r4, r2 @ Is there any data to copy? -@--------------------------------------------------------------------------------- -@ Copy memory -@--------------------------------------------------------------------------------- -@ r1 = Source Address -@ r2 = Dest Address -@ r3 = Length -@--------------------------------------------------------------------------------- -CopyMem: -@--------------------------------------------------------------------------------- - mov r0, #3 @ These commands are used in cases where - add r3, r0 @ the length is not a multiple of 4, - bic r3, r0 @ even though it should be. - beq CIDExit @ Length is zero so exit - -@--------------------------------------------------------------------------------- -CIDLoop: -@--------------------------------------------------------------------------------- - ldmia r1!, {r0} - stmia r2!, {r0} - sub r3, #4 - bne CIDLoop -@--------------------------------------------------------------------------------- -CIDExit: -@--------------------------------------------------------------------------------- - bx lr - - .align - .pool - .end - diff --git a/dkarm/crtls/gba_er.ld b/dkarm/crtls/gba_er.ld deleted file mode 100644 index 4147ebe..0000000 --- a/dkarm/crtls/gba_er.ld +++ /dev/null @@ -1,50 +0,0 @@ -/***********************************/ -/* NINTENDO E-READER LINKER SCRIPT */ -/***********************************/ -/* Author : Tim Schuerewegen */ -/* Version : 1.0 */ -/***********************************/ - -OUTPUT_FORMAT( "elf32-littlearm", "elf32-bigarm", "elf32-littlearm") -OUTPUT_ARCH( arm) -ENTRY( _start) - -SECTIONS -{ - . = 0x02000000; - - .init : - { - *(.init) - . = ALIGN(4); - } = 0xff - - .text : - { - *(.text) - . = ALIGN(4); - } = 0xff - - .rodata : - { - *(.rodata) - . = ALIGN(4); - } = 0xff - - .data : - { - *(.data) - . = ALIGN(4); - } = 0xff - - .bss : - { - __bss_start = .; - *(.bss) - . = ALIGN(4); - } - __bss_end = .; - - __end = .; -} - diff --git a/dkarm/crtls/gba_er.specs b/dkarm/crtls/gba_er.specs deleted file mode 100644 index 419b085..0000000 --- a/dkarm/crtls/gba_er.specs +++ /dev/null @@ -1,8 +0,0 @@ -%rename link old_link -%rename endfile old_endfile - -*link: --T gba_er.ld%s %(old_link) - -*startfile: -er_crt0%O%s diff --git a/dkarm/crtls/gba_mb.ld b/dkarm/crtls/gba_mb.ld deleted file mode 100644 index d286a19..0000000 --- a/dkarm/crtls/gba_mb.ld +++ /dev/null @@ -1,287 +0,0 @@ -/* Linker Script Original v1.3 by Jeff Frohwein */ -/* v1.0 - Original release */ -/* v1.1 - Added proper .data section support */ -/* v1.2 - Added support for c++ & iwram overlays */ -/* - Major contributions by Jason Wilkins. */ -/* v1.3 - .ewram section now can be used when */ -/* compiling for MULTIBOOT mode. This fixes */ -/* malloc() in DevKitAdvance which depends */ -/* on __eheap_start instead of end to define*/ -/* the starting location of heap space. */ -/* External global variable __gba_iwram_heap*/ -/* support added to allow labels end, _end, */ -/* & __end__ to point to end of iwram or */ -/* the end of ewram. */ -/* Additions by WinterMute */ -/* v1.4 - .sbss section added for unitialised */ -/* data in ewram */ -/* v1.5 - padding section added to stop EZF */ -/* stripping important data */ -/* v1.6 - added memory sections */ - -/* This file is released into the public domain */ -/* for commercial or non-commercial use with no */ -/* restrictions placed upon it. */ - -/* NOTE!!!: This linker script defines the RAM & */ -/* ROM start addresses. In order for it to work */ -/* properly, remove -Ttext and -Tbss linker */ -/* options from your makefile if they are */ -/* present. */ - -/* You can use the following to view section */ -/* addresses in your .elf file: */ -/* objdump -h file.elf */ -/* Please note that empty sections may incorrectly*/ -/* list the lma address as the vma address for */ -/* some versions of objdump. */ - -OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm", "elf32-littlearm") -OUTPUT_ARCH(arm) -ENTRY(_start) - -MEMORY { - - rom : ORIGIN = 0x08000000, LENGTH = 32M - iwram : ORIGIN = 0x03000000, LENGTH = 32K - ewram : ORIGIN = 0x02000000, LENGTH = 256K -} - - - -__text_start = 0x2000000 ; -__eheap_end = 0x2040000; -__iwram_start = 0x3000000; -__iwram_end = 0x3008000; -__sp_irq = __iwram_end - 0x100; -__sp_usr = __sp_irq - 0x100; - -__irq_flags = 0x03007ff8; - -SECTIONS -{ - . = __text_start; - .init : - { - KEEP (*(.init)) - . = ALIGN(4); - } >ewram =0xff - - .plt : - { - *(.plt) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >ewram - - .text ALIGN (4): - { - *(EXCLUDE_FILE (*.iwram*) .text) - *(.text.*) - *(.stub) - /* .gnu.warning sections are handled specially by elf32.em. */ - *(.gnu.warning) - *(.gnu.linkonce.t*) - *(.glue_7) - *(.glue_7t) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >ewram = 0xff - - __text_end = .; - .fini : - { - KEEP (*(.fini)) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >ewram =0 - - .rodata : - { - *(.rodata) - *all.rodata*(*) - *(.roda) - *(.rodata.*) - *(.gnu.linkonce.r*) - SORT(CONSTRUCTORS) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >ewram = 0xff - - .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)) - KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors)) - KEEP (*(SORT(.ctors.*))) - KEEP (*(.ctors)) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >ewram = 0 - - .dtors : - { - KEEP (*crtbegin.o(.dtors)) - KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors)) - KEEP (*(SORT(.dtors.*))) - KEEP (*(.dtors)) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >ewram = 0 - - .jcr : { KEEP (*(.jcr)) } >ewram - .eh_frame : - { - KEEP (*(.eh_frame)) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >ewram = 0 - - .gcc_except_table : - { - *(.gcc_except_table) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >ewram = 0 - - __iwram_lma = .; - - .iwram __iwram_start : AT (__iwram_lma) - { - __iwram_start = ABSOLUTE(.) ; - *(.iwram) - *iwram.*(.text) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >iwram = 0xff - - __data_lma = __iwram_lma + SIZEOF(.iwram) ; - __iwram_end = . ; - - .bss ALIGN(4) : - { - __bss_start = ABSOLUTE(.); - __bss_start__ = ABSOLUTE(.); - *(.dynbss) - *(.gnu.linkonce.b*) - *(.bss*) - *(COMMON) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } - - __bss_end = . ; - __bss_end__ = . ; - - .data ALIGN(4) : AT (__data_lma) - { - __data_start = ABSOLUTE(.); - *(.data) - *(.data.*) - *(.gnu.linkonce.d*) - CONSTRUCTORS - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >iwram = 0xff - - __iwram_overlay_lma = __data_lma + SIZEOF(.data); - - __data_end = .; - PROVIDE (edata = .); - __iwram_overlay_start = . ; - - OVERLAY ALIGN(4) : NOCROSSREFS AT (__iwram_overlay_lma) - { - .iwram0 { *(.iwram0) . = ALIGN(4);} - .iwram1 { *(.iwram1) . = ALIGN(4);} - .iwram2 { *(.iwram2) . = ALIGN(4);} - .iwram3 { *(.iwram3) . = ALIGN(4);} - .iwram4 { *(.iwram4) . = ALIGN(4);} - .iwram5 { *(.iwram5) . = ALIGN(4);} - .iwram6 { *(.iwram6) . = ALIGN(4);} - .iwram7 { *(.iwram7) . = ALIGN(4);} - .iwram8 { *(.iwram8) . = ALIGN(4);} - .iwram9 { *(.iwram9) . = ALIGN(4);} - } >iwram = 0xff - - __ewram_lma = LOADADDR(.iwram0) + SIZEOF(.iwram0)+SIZEOF(.iwram1)+SIZEOF(.iwram2)+SIZEOF(.iwram3)+SIZEOF(.iwram4)+SIZEOF(.iwram5)+SIZEOF(.iwram6)+SIZEOF(.iwram7)+SIZEOF(.iwram8)+SIZEOF(.iwram9); - - __iwram_overlay_end = . ; - __iheap_start = . ; - - /* v1.3 */ - __ewram_start = __ewram_lma ; - - .ewram __ewram_start : AT (__ewram_lma) - { - *(.ewram) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >ewram = 0xff - - __ewram_overlay_lma = __ewram_lma + SIZEOF(.ewram); - - .sbss ALIGN(4): - { - __sbss_start = ABSOLUTE(.); - *(.sbss) - . = ALIGN(4); - } - - __sbss_end = .; - - __ewram_end = . ; - __ewram_overlay_start = . ; - - OVERLAY ALIGN(4): NOCROSSREFS AT (__ewram_overlay_lma) - { - .ewram0 { *(.ewram0) . = ALIGN(4);} - .ewram1 { *(.ewram1) . = ALIGN(4);} - .ewram2 { *(.ewram2) . = ALIGN(4);} - .ewram3 { *(.ewram3) . = ALIGN(4);} - .ewram4 { *(.ewram4) . = ALIGN(4);} - .ewram5 { *(.ewram5) . = ALIGN(4);} - .ewram6 { *(.ewram6) . = ALIGN(4);} - .ewram7 { *(.ewram7) . = ALIGN(4);} - .ewram8 { *(.ewram8) . = ALIGN(4);} - .ewram9 { *(.ewram9) . = ALIGN(4);} - } >ewram = 0xff - - __ewram_overlay_end = . ; - - __eheap_start = . ; - - _end = .; - __end__ = _end ; /* v1.3 */ - PROVIDE (end = _end); /* v1.3 */ - - - /* 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) } - /* 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) } - .stack 0x80000 : { _stack = .; *(.stack) } - /* These must appear regardless of . */ -} diff --git a/dkarm/crtls/gba_mb.specs b/dkarm/crtls/gba_mb.specs deleted file mode 100644 index b5a364f..0000000 --- a/dkarm/crtls/gba_mb.specs +++ /dev/null @@ -1,12 +0,0 @@ -%rename link old_link -%rename link_gcc_c_sequence old_gcc_c_sequence - -*link_gcc_c_sequence: -%(old_gcc_c_sequence) --start-group -lsysbase -lc --end-group - -*link: --T gba_mb.ld%s %(old_link) - -*startfile: -gba_crt0%O%s crti%O%s crtbegin%O%s - diff --git a/dkarm/crtls/gp32.ld b/dkarm/crtls/gp32.ld deleted file mode 100644 index 76a14a4..0000000 --- a/dkarm/crtls/gp32.ld +++ /dev/null @@ -1,153 +0,0 @@ -OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm", "elf32-littlearm") -OUTPUT_ARCH(arm) -ENTRY(_start) - -MEMORY - { - ram : ORIGIN = 0xc000000, LENGTH = 8M - } - -SECTIONS -{ - .init : - { - __text_start = . ; - KEEP (*(.init)) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >ram = 0xff - .plt : { *(.plt) } >ram = 0xff - - .text : /* ALIGN (4): */ - { - - *(EXCLUDE_FILE (*text.iwram*) .text) - *(.text.*) - *(.stub) - /* .gnu.warning sections are handled specially by elf32.em. */ - *(.gnu.warning) - *(.gnu.linkonce.t*) - *(.glue_7) - *(.glue_7t) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >ram = 0xff - .fini : - { - KEEP (*(.fini)) - } >ram =0xff - - __text_end = . ; - - .rodata : - { - *(.rodata) - *all.rodata*(*) - *(.roda) - *(.rodata.*) - *(.gnu.linkonce.r*) - SORT(CONSTRUCTORS) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >ram = 0xff - - .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)) - KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors)) - KEEP (*(SORT(.ctors.*))) - KEEP (*(.ctors)) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >ram = 0 - - .dtors : - { - KEEP (*crtbegin.o(.dtors)) - KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors)) - KEEP (*(SORT(.dtors.*))) - KEEP (*(.dtors)) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >ram = 0 - - .eh_frame : - { - KEEP (*(.eh_frame)) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >ram = 0 - - .gcc_except_table : - { - *(.gcc_except_table) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >ram = 0 - .jcr : { KEEP (*(.jcr)) } >ram = 0 - .got : { *(.got.plt) *(.got) } >ram = 0 - __ro_end = . ; - - .data ALIGN(4) : - { - __data_start = ABSOLUTE(.); - *(.data) - *(.data.*) - *(.gnu.linkonce.d*) - CONSTRUCTORS - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >ram = 0xff - - __data_end = . ; - - .bss ALIGN(4) : - { - __bss_start = ABSOLUTE(.); - /* __bss_start__ = ABSOLUTE(.); */ - *(.dynbss) - *(.gnu.linkonce.b*) - *(.bss*) - *(COMMON) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } > ram - __bss_end = . ; - - _end = . ; - __end__ = . ; - PROVIDE (end = _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) } - /* 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) } - .stack 0x80000 : { _stack = .; *(.stack) } - /* These must appear regardless of . */ -} diff --git a/dkarm/crtls/gp32.specs b/dkarm/crtls/gp32.specs deleted file mode 100644 index 4484877..0000000 --- a/dkarm/crtls/gp32.specs +++ /dev/null @@ -1,12 +0,0 @@ -%rename link old_link -%rename link_gcc_c_sequence old_gcc_c_sequence - -*link_gcc_c_sequence: -%(old_gcc_c_sequence) --start-group -lsysbase -lc --end-group - -*link: -%(old_link) -T gp32.ld%s - -*startfile: -gp32_crt0%O%s crti%O%s crtbegin%O%s - diff --git a/dkarm/crtls/gp32_crt0.s b/dkarm/crtls/gp32_crt0.s deleted file mode 100644 index 838dfc2..0000000 --- a/dkarm/crtls/gp32_crt0.s +++ /dev/null @@ -1,74 +0,0 @@ - .section ".init" - .code 32 - .align - .global _start -@--------------------------------------------------------------------------------- -_start: -@--------------------------------------------------------------------------------- - b _start2 - -@--------------------------------------------------------------------------------- -@ AXF addresses -@--------------------------------------------------------------------------------- -_text_start: - .word __text_start -_ro_end: - .word __ro_end -_data_start: - .word __data_start - .word __bss_end -_bss_start: - .word __bss_start -_bss_end: - .word __bss_end - -@--------------------------------------------------------------------------------- -@ GamePark magic sequence -@--------------------------------------------------------------------------------- - .word 0x44450011 - .word 0x44450011 - .word 0x01234567 - .word 0x12345678 - .word 0x23456789 - .word 0x34567890 - .word 0x45678901 - .word 0x56789012 - .word 0x23456789 - .word 0x34567890 - .word 0x45678901 - .word 0x56789012 - .word 0x23456789 - .word 0x34567890 - .word 0x45678901 - .word 0x56789012 - -@--------------------------------------------------------------------------------- -_start2: -@--------------------------------------------------------------------------------- - mrs r0, CPSR - orr r0, r0, #0xC0 - msr CPSR_ctl, r0 - - mrs r0, CPSR - bic r0, r0, #0xC0 - orr r0, r0, #0x40 - msr CPSR_ctl,r0 - -@--------------------------------------------------------------------------------- -@ global constructors -@--------------------------------------------------------------------------------- - ldr r3,=_call_main - mov lr,r3 - ldr r3,=_init - bx r3 -@--------------------------------------------------------------------------------- -@ Jump to user code -@--------------------------------------------------------------------------------- -_call_main: -@--------------------------------------------------------------------------------- - mov lr, #0 - ldr r3, =main - bx r3 - - .pool - .end diff --git a/dkarm/crtls/gp32_gpsdk.ld b/dkarm/crtls/gp32_gpsdk.ld deleted file mode 100644 index 85de0b6..0000000 --- a/dkarm/crtls/gp32_gpsdk.ld +++ /dev/null @@ -1,198 +0,0 @@ -/* GP32 Linker Script v1.2 by Jeff F */ -/* v1.0 - Original release */ -/* v1.1 - Cleaned up and added MEMORY command */ -/* v1.2 - DJWillis - Added propper .init and */ -/* .fini for GCC 3.3.2 and above */ -/* */ -/* This file is released into the public domain */ -/* for commercial or non-commercial use with no */ -/* restrictions placed upon it. */ -/* */ -/* NOTE!!!: This linker script defines the RAM */ -/* start addresses. In order for it to work */ -/* properly, remove -Ttext and -Tbss linker */ -/* options from your makefile if they are */ -/* present. */ -/* */ -/* You can use the following to view section */ -/* addresses in your .elf file: */ -/* objdump -h file.elf */ -/* */ -/* Please note that empty sections may incorrectly*/ -/* list the lma address as the vma address for */ -/* some versions of objdump. */ - -OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm", "elf32-littlearm") -OUTPUT_ARCH(arm) -ENTRY(_start) -/* SEARCH_DIR(/bin/arm); */ - -/* Then use it like this: IWRAMHEAP */ -/* The linker script function "var1 += var2;" sometimes */ -/* reports incorrect values in the *.map file but the */ -/* actual value it calculates is usually, if not always, */ -/* correct. If you leave out the ". = ALIGN(4);" at the */ -/* end of each section then the return value of SIZEOF() */ -/* is sometimes incorrect and "var1 += var2;" appears to */ -/* not work as well. "var1 += var2" style functions are */ -/* avoided below as a result. */ - -/* The linker script MEMORY directive is not used here due */ -/* to the fact that __text_start is not always a fixed value. */ - -MEMORY - { - ram : ORIGIN = 0xc000000, LENGTH = 8M - } - -SECTIONS -{ - .text : /* ALIGN (4): */ - { - __text_start = . ; - - *(EXCLUDE_FILE (*text.iwram*) .text) - *(.text.*) - *(.stub) - /* .gnu.warning sections are handled specially by elf32.em. */ - *(.gnu.warning) - *(.gnu.linkonce.t*) - *(.glue_7) - *(.glue_7t) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >ram = 0xff - - __text_end = . ; - - - .init : - { - *(.init) - } > ram = 0xff - - .jcr : - { - *(.jcr) - } > ram = 0xff - - .fini : - { - *(.fini) - } > ram = 0xff - - .rodata : - { - *(.rodata) - *all.rodata*(*) - *(.roda) - *(.rodata.*) - *(.gnu.linkonce.r*) - SORT(CONSTRUCTORS) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >ram = 0xff - - .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)) - KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors)) - KEEP (*(SORT(.ctors.*))) - KEEP (*(.ctors)) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >ram = 0 - - .dtors : - { - KEEP (*crtbegin.o(.dtors)) - KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors)) - KEEP (*(SORT(.dtors.*))) - KEEP (*(.dtors)) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >ram = 0 - - .eh_frame : - { - KEEP (*(.eh_frame)) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >ram = 0 - - .gcc_except_table : - { - *(.gcc_except_table) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >ram = 0 - __ro_end = . ; - - .data ALIGN(4) : - { - __data_start = ABSOLUTE(.); - *(.data) - *(.data.*) - *(.gnu.linkonce.d*) - CONSTRUCTORS - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } >ram = 0xff - - __data_end = . ; - - .bss ALIGN(4) : - { - __bss_start = ABSOLUTE(.); - /* __bss_start__ = ABSOLUTE(.); */ - *(.dynbss) - *(.gnu.linkonce.b*) - *(COMMON) - *(.bss*) - . = ALIGN(4); /* REQUIRED. LD is flaky without it. */ - } > ram - __bss_end = . ; - - __eheap_start = . ; /* Needed by DevKitAdvance. Start of malloc() heap for DKA. */ - - _end = . ; - __end__ = . ; - PROVIDE (end = _end); - - __eheap_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) } - /* 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) } - .stack 0x80000 : { _stack = .; *(.stack) } - /* These must appear regardless of . */ -} diff --git a/dkarm/crtls/gp32_gpsdk.specs b/dkarm/crtls/gp32_gpsdk.specs deleted file mode 100644 index 239e773..0000000 --- a/dkarm/crtls/gp32_gpsdk.specs +++ /dev/null @@ -1,12 +0,0 @@ -%rename link old_link -%rename link_gcc_c_sequence old_gcc_c_sequence - -*link_gcc_c_sequence: -%(old_gcc_c_sequence) --start-group -lsysbase -lc --end-group - -*link: -%(old_link) -T gp32_gpsdk.ld%s - -*startfile: -gp32_gpsdk_crt0%O%s crti%O%s crtbegin%O%s - diff --git a/dkarm/crtls/gp32_gpsdk_crt0.s b/dkarm/crtls/gp32_gpsdk_crt0.s deleted file mode 100644 index 99770ce..0000000 --- a/dkarm/crtls/gp32_gpsdk_crt0.s +++ /dev/null @@ -1,246 +0,0 @@ -@**************************************************** -@* gp32 crt0.S v1.0 by Jeff F * -@**************************************************** - -@ v1.0 - Original release -@ -@ This file is released into the public domain for commercial -@ or non-commercial usage with no restrictions placed upon it. - - .TEXT - -@ Note: Normally it is the job of crt0.S to clear the BSS -@ (Zero Initialized) section to 0x00, but in the case of -@ the gp32 we do not have to do this because it is done -@ by the gp32 bios after it loads the app. - -@ The official sdt dev kit uses 'Main ()' as the entry -@ point. If you would rather use 'main ()' instead then -@ comment out the next line. -@ -@ You have to use 'main ()' at some point in your program -@ if you want to do c++ code. GCC will do a call to constructor -@ setup before executing 'main ()'. Using 'main ()' also increases -@ your program size by ~5500 bytes. - -@ .equ __OfficialEntry, 1 - -@ The official sdt dev kit initializes various things in init.o -@ Crt0.S performs similar tasks for compatibility. If you don't -@ wish to use the official libs, or those that are compatible, -@ then you need to comment out the next line to prevent link errors. - - .equ __OfficialInits, 1 - - - .GLOBAL _start -_start: - .ALIGN - .CODE 32 - - @ Start Vector - - b _GpInit - - .word __text_start @ Start of text (Read Only) section -_roe: .word __ro_end @ End " -_rws: .word __data_start @ Start of data (Read/Write) section - .word __bss_end @ End of bss (this is the way sdt does it for some reason) -_zis: .word __bss_start @ Start of bss (Zero Initialized) section -_zie: .word __bss_end @ End " - - .word 0x44450011 - .word 0x44450011 - - .word 0x01234567 - .word 0x12345678 - .word 0x23456789 - .word 0x34567890 - .word 0x45678901 - .word 0x56789012 - .word 0x23456789 - .word 0x34567890 - .word 0x45678901 - .word 0x56789012 - .word 0x23456789 - .word 0x34567890 - .word 0x45678901 - .word 0x56789012 - -_GpInit: - mrs r0,CPSR - orr r0,r0,#0xc0 - msr CPSR_fsxc,r0 - -.ifdef __OfficialInits - -@ Call function in user_init.s -@ bl asm_user_entry - -@ Get pointer to GpSurfaceSet routine - mov r0,#0 - swi 0xb - ldr r1,=GpSurfaceSet - ldr r2,=GpSurfaceFlip - str r0,[r1] - str r0,[r2] - -@ Get time passed - mov r0,#6 - swi 0xb - ldr r1,=_timepassed - str r0,[r1] - -@ Get button stuff - mov r0,#0 - swi 0x10 - ldr r2,=_reg_io_key_a - ldr r3,=_reg_io_key_b - str r0,[r2] - str r1,[r3] - -@ Set heap start location - ldr r0,_zie - ldr r1,=HEAPSTART - str r0,[r1] - -@ Set heap end location - mov r0,#5 - swi 0xb - ldr r1,=HEAPEND - sub r0,r0,#255 - bic r0,r0,#3 - str r0,[r1] - -@ Set App Argument - swi 0x15 - - mov r10,r0 - mov r11,r1 @ possibly not needed but left in anyway - - mrs r0,CPSR - bic r0,r0,#192 - orr r0,r0,#64 - msr CPSR_fsxc,r0 - - mov r0,r10 - mov r1,r11 @ possibly not needed but left in anyway -.endif - -@ Jump to Main () - -.ifdef __OfficialEntry - ldr r3,=Main -.else - ldr r3,=main -.endif - bx r3 @ Init.o uses 'mov pc,r3' but - @ 'bx r3' is used here instead. This way - @ the main function can be ARM or Thumb. - -.ifdef __OfficialInits - - swi 0x12 - orr r1,r1,r2 - and r1,r1,r3 - eor r1,r1,r4 - mov r5,r1,lsr #4 - add r1,r1,r7 - sub r7,r7,r1 - mov r8,#0 - mov pc,r8 - b . - b . - b . - b . - b . - b . - b . - b . - b . - b . - b . - b . - nop - nop - nop - nop - nop - nop - - .GLOBAL _fw_init_for_dbg -_fw_init_for_dbg: - stmdb sp!,{r0-r12} - - mov r10,lr - mov r11,sp - - bic r0,r0,#31 @ 0x1f - orr r1,r0,#17 @ 0x11 - orr r2,r0,#19 @ 0x13 - msr cpsr_cxsf,r1 - mov r12,#4 - add r12,r12,pc - msr cpsr_cxsf,r2 - swi 0x1ff - -@ bl asm_user_entry_path - - mov r0,r11 - mov r1,r10 - add r0,r0,#52 - ldr r2,[r0] - mov lr,r1 - stmdb sp!,{r2} - stmdb sp!,{r0-r12,lr} - -@ Copy RW Base - ZI Base - ldr r0,=_roe @ |Image$$RO$$Limit| - ldr r3,=_zis @ |Image$$ZI$$Base| - ldr r2,=_rws @ |Image$$RW$$Base| - sub r3,r3,r2 -CopyRWData: - cmp r3,#36 - blt CopyRWData2 - ldmia r0!,{r4-r12} - stmia r2!,{r4-r12} - sub r3,r3,#36 - b CopyRWData -CopyRWData2: - cmp r3,#0 - ble CopyRWData3 - ldr r4,[r0],#4 - str r4,[r2],#4 - sub r3,r3,#4 - b CopyRWData2 -CopyRWData3: - -@ Clear ZI section - ldr r1,=_zie @ |Image$$ZI$$Limit| - ldr r0,=_zis @ |Image$$ZI$$Base| - mov r2,#0 - mov r3,r2 - mov r4,r2 - mov r5,r2 - mov r6,r2 - mov r7,r2 - mov r8,r2 - mov r9,r2 - mov r10,r2 - mov r11,r2 - mov r12,r2 -CopyZIData: - stmia r0!,{r2-r12} - cmp r0,r1 - blt CopyZIData - - ldmia sp!,{r0-r12,pc} - -.endif - - .ALIGN - .POOL - - - .END - diff --git a/dkarm/patches/binutils-2.16.1.patch b/dkarm/patches/binutils-2.16.1.patch deleted file mode 100644 index 1487dd6..0000000 --- a/dkarm/patches/binutils-2.16.1.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff -Nbaur --exclude=*.info* binutils-2.16.1/bfd/doc/chew.c binutils-2.16.1-arm/bfd/doc/chew.c ---- binutils-2.16.1/bfd/doc/chew.c Thu Mar 3 11:41:02 2005 -+++ binutils-2.16.1-arm/bfd/doc/chew.c Mon Sep 19 03:38:45 2005 -@@ -91,6 +91,12 @@ - #define DEF_SIZE 5000 - #define STACK 50 - -+#ifdef __MINGW32__ -+/* Prevent \r\n\ line endings */ -+#include -+unsigned int _CRT_fmode = _O_BINARY; -+#endif -+ - int internal_wanted; - int internal_mode; - diff --git a/dkarm/patches/binutils-2.16.93.patch b/dkarm/patches/binutils-2.16.93.patch deleted file mode 100644 index 1487dd6..0000000 --- a/dkarm/patches/binutils-2.16.93.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff -Nbaur --exclude=*.info* binutils-2.16.1/bfd/doc/chew.c binutils-2.16.1-arm/bfd/doc/chew.c ---- binutils-2.16.1/bfd/doc/chew.c Thu Mar 3 11:41:02 2005 -+++ binutils-2.16.1-arm/bfd/doc/chew.c Mon Sep 19 03:38:45 2005 -@@ -91,6 +91,12 @@ - #define DEF_SIZE 5000 - #define STACK 50 - -+#ifdef __MINGW32__ -+/* Prevent \r\n\ line endings */ -+#include -+unsigned int _CRT_fmode = _O_BINARY; -+#endif -+ - int internal_wanted; - int internal_mode; - diff --git a/dkarm/patches/gcc-4.0.1.patch b/dkarm/patches/gcc-4.0.1.patch deleted file mode 100644 index 0e1cbe1..0000000 --- a/dkarm/patches/gcc-4.0.1.patch +++ /dev/null @@ -1,64 +0,0 @@ -diff -Naurb gcc-4.0.1/gcc/c-incpath.c gcc-4.0.1-new/gcc/c-incpath.c ---- gcc-4.0.1/gcc/c-incpath.c Sun Jan 23 15:05:27 2005 -+++ gcc-4.0.1-new/gcc/c-incpath.c Fri Jul 8 11:32:20 2005 -@@ -331,13 +331,18 @@ - cpp_dir *p; - - #if defined (HAVE_DOS_BASED_FILE_SYSTEM) -- /* Convert all backslashes to slashes. The native CRT stat() -- function does not recognize a directory that ends in a backslash -- (unless it is a drive root dir, such "c:\"). Forward slashes, -- trailing or otherwise, cause no problems for stat(). */ -- char* c; -- for (c = path; *c; c++) -- if (*c == '\\') *c = '/'; -+ /* Remove unnecessary trailing slashes. On some versions of MS -+ Windows, trailing _forward_ slashes cause no problems for stat(). -+ On newer versions, stat() does not recognise a directory that ends -+ in a '\\' or '/', unless it is a drive root dir, such as "c:/", -+ where it is obligatory. */ -+ int pathlen = strlen (path); -+ char* end = path + pathlen - 1; -+ /* Preserve the lead '/' or lead "c:/". */ -+ char* start = path + (pathlen > 2 && path[1] == ':' ? 3 : 1); -+ -+ for (; end > start && IS_DIR_SEPARATOR (*end); end--) -+ *end = 0; - #endif - - p = xmalloc (sizeof (cpp_dir)); -diff -Naurb gcc-4.0.1/gcc/version.c gcc-4.0.1-arm/gcc/version.c ---- gcc-4.0.1/gcc/version.c Thu Jul 7 19:41:54 2005 -+++ gcc-4.0.1-arm/gcc/version.c Tue Jul 26 22:31:02 2005 -@@ -14,4 +14,4 @@ - forward us bugs reported to you, if you determine that they are - not bugs in your modifications.) */ - --const char bug_report_url[] = ""; -+const char bug_report_url[] = ""; -diff -Naurb gcc-4.0.1/gcc/config/arm/t-arm-elf gcc-4.0.1-new/gcc/config/arm/t-arm-elf ---- gcc-4.0.1/gcc/config/arm/t-arm-elf Wed Sep 1 12:14:21 2004 -+++ gcc-4.0.1-new/gcc/config/arm/t-arm-elf Wed Jul 20 23:25:14 2005 -@@ -23,8 +23,8 @@ - # MULTILIB_DIRNAMES += fpu soft - # MULTILIB_EXCEPTIONS += *mthumb/*mhard-float* - # --# MULTILIB_OPTIONS += mno-thumb-interwork/mthumb-interwork --# MULTILIB_DIRNAMES += normal interwork -+MULTILIB_OPTIONS += mno-thumb-interwork/mthumb-interwork -+MULTILIB_DIRNAMES += normal interwork - # - # MULTILIB_OPTIONS += fno-leading-underscore/fleading-underscore - # MULTILIB_DIRNAMES += elf under -diff -Naurb gcc-4.0.1/gcc/hwint.h gcc-4.0.1-new/gcc/hwint.h ---- gcc-4.0.1/gcc/hwint.h Wed Nov 24 04:31:57 2004 -+++ gcc-4.0.1-new/gcc/hwint.h Thu Jul 21 14:37:06 2005 -@@ -80,7 +80,7 @@ - # define HOST_WIDE_INT_PRINT_DOUBLE_HEX "0x%lx%08lx" - # endif - #else --# define HOST_WIDE_INT_PRINT "ll" -+# define HOST_WIDE_INT_PRINT HOST_LONG_LONG_FORMAT - # define HOST_WIDE_INT_PRINT_C "LL" - /* We can assume that 'long long' is at least 64 bits. */ - # define HOST_WIDE_INT_PRINT_DOUBLE_HEX \ diff --git a/dkarm/patches/gcc-4.0.2.patch b/dkarm/patches/gcc-4.0.2.patch deleted file mode 100644 index 0e1cbe1..0000000 --- a/dkarm/patches/gcc-4.0.2.patch +++ /dev/null @@ -1,64 +0,0 @@ -diff -Naurb gcc-4.0.1/gcc/c-incpath.c gcc-4.0.1-new/gcc/c-incpath.c ---- gcc-4.0.1/gcc/c-incpath.c Sun Jan 23 15:05:27 2005 -+++ gcc-4.0.1-new/gcc/c-incpath.c Fri Jul 8 11:32:20 2005 -@@ -331,13 +331,18 @@ - cpp_dir *p; - - #if defined (HAVE_DOS_BASED_FILE_SYSTEM) -- /* Convert all backslashes to slashes. The native CRT stat() -- function does not recognize a directory that ends in a backslash -- (unless it is a drive root dir, such "c:\"). Forward slashes, -- trailing or otherwise, cause no problems for stat(). */ -- char* c; -- for (c = path; *c; c++) -- if (*c == '\\') *c = '/'; -+ /* Remove unnecessary trailing slashes. On some versions of MS -+ Windows, trailing _forward_ slashes cause no problems for stat(). -+ On newer versions, stat() does not recognise a directory that ends -+ in a '\\' or '/', unless it is a drive root dir, such as "c:/", -+ where it is obligatory. */ -+ int pathlen = strlen (path); -+ char* end = path + pathlen - 1; -+ /* Preserve the lead '/' or lead "c:/". */ -+ char* start = path + (pathlen > 2 && path[1] == ':' ? 3 : 1); -+ -+ for (; end > start && IS_DIR_SEPARATOR (*end); end--) -+ *end = 0; - #endif - - p = xmalloc (sizeof (cpp_dir)); -diff -Naurb gcc-4.0.1/gcc/version.c gcc-4.0.1-arm/gcc/version.c ---- gcc-4.0.1/gcc/version.c Thu Jul 7 19:41:54 2005 -+++ gcc-4.0.1-arm/gcc/version.c Tue Jul 26 22:31:02 2005 -@@ -14,4 +14,4 @@ - forward us bugs reported to you, if you determine that they are - not bugs in your modifications.) */ - --const char bug_report_url[] = ""; -+const char bug_report_url[] = ""; -diff -Naurb gcc-4.0.1/gcc/config/arm/t-arm-elf gcc-4.0.1-new/gcc/config/arm/t-arm-elf ---- gcc-4.0.1/gcc/config/arm/t-arm-elf Wed Sep 1 12:14:21 2004 -+++ gcc-4.0.1-new/gcc/config/arm/t-arm-elf Wed Jul 20 23:25:14 2005 -@@ -23,8 +23,8 @@ - # MULTILIB_DIRNAMES += fpu soft - # MULTILIB_EXCEPTIONS += *mthumb/*mhard-float* - # --# MULTILIB_OPTIONS += mno-thumb-interwork/mthumb-interwork --# MULTILIB_DIRNAMES += normal interwork -+MULTILIB_OPTIONS += mno-thumb-interwork/mthumb-interwork -+MULTILIB_DIRNAMES += normal interwork - # - # MULTILIB_OPTIONS += fno-leading-underscore/fleading-underscore - # MULTILIB_DIRNAMES += elf under -diff -Naurb gcc-4.0.1/gcc/hwint.h gcc-4.0.1-new/gcc/hwint.h ---- gcc-4.0.1/gcc/hwint.h Wed Nov 24 04:31:57 2004 -+++ gcc-4.0.1-new/gcc/hwint.h Thu Jul 21 14:37:06 2005 -@@ -80,7 +80,7 @@ - # define HOST_WIDE_INT_PRINT_DOUBLE_HEX "0x%lx%08lx" - # endif - #else --# define HOST_WIDE_INT_PRINT "ll" -+# define HOST_WIDE_INT_PRINT HOST_LONG_LONG_FORMAT - # define HOST_WIDE_INT_PRINT_C "LL" - /* We can assume that 'long long' is at least 64 bits. */ - # define HOST_WIDE_INT_PRINT_DOUBLE_HEX \ diff --git a/dkarm/patches/gcc-4.1.0.patch b/dkarm/patches/gcc-4.1.0.patch deleted file mode 100644 index 165fb18..0000000 --- a/dkarm/patches/gcc-4.1.0.patch +++ /dev/null @@ -1,140 +0,0 @@ -diff -Naurb gcc-4.1.0/gcc/c-incpath.c gcc-4.1.0-arm/gcc/c-incpath.c ---- gcc-4.1.0/gcc/c-incpath.c Sat Jun 25 03:02:01 2005 -+++ gcc-4.1.0-arm/gcc/c-incpath.c Wed Apr 12 16:00:30 2006 -@@ -331,13 +331,18 @@ - cpp_dir *p; - - #if defined (HAVE_DOS_BASED_FILE_SYSTEM) -- /* Convert all backslashes to slashes. The native CRT stat() -- function does not recognize a directory that ends in a backslash -- (unless it is a drive root dir, such "c:\"). Forward slashes, -- trailing or otherwise, cause no problems for stat(). */ -- char* c; -- for (c = path; *c; c++) -- if (*c == '\\') *c = '/'; -+ /* Remove unnecessary trailing slashes. On some versions of MS -+ Windows, trailing _forward_ slashes cause no problems for stat(). -+ On newer versions, stat() does not recognise a directory that ends -+ in a '\\' or '/', unless it is a drive root dir, such as "c:/", -+ where it is obligatory. */ -+ int pathlen = strlen (path); -+ char* end = path + pathlen - 1; -+ /* Preserve the lead '/' or lead "c:/". */ -+ char* start = path + (pathlen > 2 && path[1] == ':' ? 3 : 1); -+ -+ for (; end > start && IS_DIR_SEPARATOR (*end); end--) -+ *end = 0; - #endif - - p = xmalloc (sizeof (cpp_dir)); -diff -Naurb gcc-4.1.0/gcc/config/arm/t-arm-elf gcc-4.1.0-arm/gcc/config/arm/t-arm-elf ---- gcc-4.1.0/gcc/config/arm/t-arm-elf Wed Sep 1 12:14:21 2004 -+++ gcc-4.1.0-arm/gcc/config/arm/t-arm-elf Wed Apr 12 16:00:30 2006 -@@ -23,8 +23,8 @@ - # MULTILIB_DIRNAMES += fpu soft - # MULTILIB_EXCEPTIONS += *mthumb/*mhard-float* - # --# MULTILIB_OPTIONS += mno-thumb-interwork/mthumb-interwork --# MULTILIB_DIRNAMES += normal interwork -+MULTILIB_OPTIONS += mno-thumb-interwork/mthumb-interwork -+MULTILIB_DIRNAMES += normal interwork - # - # MULTILIB_OPTIONS += fno-leading-underscore/fleading-underscore - # MULTILIB_DIRNAMES += elf under -diff -Naurb gcc-4.1.0/gcc/gcc.c gcc-4.1.0-arm/gcc/gcc.c ---- gcc-4.1.0/gcc/gcc.c Sat Jan 21 18:29:08 2006 -+++ gcc-4.1.0-arm/gcc/gcc.c Fri May 5 10:18:31 2006 -@@ -3250,8 +3250,6 @@ - gcc_libexec_prefix = make_relative_prefix (argv[0], - standard_bindir_prefix, - standard_libexec_prefix); -- if (gcc_exec_prefix) -- putenv (concat ("GCC_EXEC_PREFIX=", gcc_exec_prefix, NULL)); - } - else - gcc_libexec_prefix = make_relative_prefix (gcc_exec_prefix, -@@ -6148,10 +6146,10 @@ - - /* We need to check standard_exec_prefix/just_machine_suffix/specs - for any override of as, ld and libraries. */ -- specs_file = alloca (strlen (standard_exec_prefix) -+ specs_file = alloca (strlen (gcc_exec_prefix) - + strlen (just_machine_suffix) + sizeof ("specs")); - -- strcpy (specs_file, standard_exec_prefix); -+ strcpy (specs_file, gcc_exec_prefix); - strcat (specs_file, just_machine_suffix); - strcat (specs_file, "specs"); - if (access (specs_file, R_OK) == 0) -diff -Naurb gcc-4.1.0/gcc/prefix.c gcc-4.1.0-arm/gcc/prefix.c ---- gcc-4.1.0/gcc/prefix.c Sat Jun 25 03:02:01 2005 -+++ gcc-4.1.0-arm/gcc/prefix.c Fri May 5 10:18:51 2006 -@@ -246,13 +246,16 @@ - The returned string is always malloc-ed, and the caller is - responsible for freeing it. */ - -+ -+static const char *old_prefix = PREFIX; -+ - char * - update_path (const char *path, const char *key) - { - char *result, *p; -- const int len = strlen (std_prefix); -+ const int len = strlen (old_prefix); - -- if (! strncmp (path, std_prefix, len) -+ if (! strncmp (path, old_prefix, len) - && (IS_DIR_SEPARATOR(path[len]) - || path[len] == '\0') - && key != 0) -@@ -354,4 +357,6 @@ - set_std_prefix (const char *prefix, int len) - { - std_prefix = save_string (prefix, len); -+ -+ putenv (concat ("GCC_EXEC_PREFIX=", std_prefix, NULL)); - } -diff -Naurb gcc-4.1.0/gcc/toplev.c gcc-4.1.0-arm/gcc/toplev.c ---- gcc-4.1.0/gcc/toplev.c Sat Feb 4 22:13:20 2006 -+++ gcc-4.1.0-arm/gcc/toplev.c Wed Apr 26 16:49:36 2006 -@@ -82,6 +82,7 @@ - #include "value-prof.h" - #include "alloc-pool.h" - #include "tree-mudflap.h" -+#include "prefix.h" - - #if defined (DWARF2_UNWIND_INFO) || defined (DWARF2_DEBUGGING_INFO) - #include "dwarf2out.h" -@@ -1434,6 +1435,10 @@ - progname = p; - - xmalloc_set_program_name (progname); -+ -+ p = getenv("GCC_EXEC_PREFIX"); -+ set_std_prefix (p, strlen(p)); -+ - - hex_init (); - -diff -Naurb gcc-4.1.0/gcc/version.c gcc-4.1.0-arm/gcc/version.c ---- gcc-4.1.0/gcc/version.c Wed Mar 16 06:04:10 2005 -+++ gcc-4.1.0-arm/gcc/version.c Wed Apr 12 16:00:30 2006 -@@ -8,7 +8,7 @@ - in parentheses. You may also wish to include a number indicating - the revision of your modified compiler. */ - --#define VERSUFFIX "" -+#define VERSUFFIX " (devkitARM release 19)" - - /* This is the location of the online document giving instructions for - reporting bugs. If you distribute a modified version of GCC, -@@ -17,7 +17,7 @@ - forward us bugs reported to you, if you determine that they are - not bugs in your modifications.) */ - --const char bug_report_url[] = ""; -+const char bug_report_url[] = ""; - - /* The complete version string, assembled from several pieces. - BASEVER, DATESTAMP, and DEVPHASE are defined by the Makefile. */ diff --git a/dkarm/patches/newlib-1.13.0.patch b/dkarm/patches/newlib-1.13.0.patch deleted file mode 100644 index 287cba9..0000000 --- a/dkarm/patches/newlib-1.13.0.patch +++ /dev/null @@ -1,3004 +0,0 @@ -diff -Nbaur newlib-1.13.0/libgloss/configure newlib-1.13.0-new/libgloss/configure ---- newlib-1.13.0/libgloss/configure Thu Oct 28 09:18:18 2004 -+++ newlib-1.13.0-new/libgloss/configure Tue Aug 30 23:19:31 2005 -@@ -711,9 +711,9 @@ - - - if test -z "${with_multisubdir}" ; then -- configdirs="doc libnosys" -+ configdirs="doc libnosys libsysbase" - else -- configdirs="libnosys" -+ configdirs="libnosys libsysbase" - fi - - case "${target}" in -diff -Nbaur newlib-1.13.0/libgloss/configure.in newlib-1.13.0-new/libgloss/configure.in ---- newlib-1.13.0/libgloss/configure.in Thu Oct 28 09:18:18 2004 -+++ newlib-1.13.0-new/libgloss/configure.in Tue Aug 30 23:18:47 2005 -@@ -22,9 +22,9 @@ - AC_CANONICAL_SYSTEM - - if test -z "${with_multisubdir}" ; then -- configdirs="doc libnosys" -+ configdirs="doc libnosys libsysbase" - else -- configdirs="libnosys" -+ configdirs="libnosys libsysbase" - fi - - case "${target}" in -diff -Nbaur newlib-1.13.0/libgloss/libsysbase/Makefile.in newlib-1.13.0-new/libgloss/libsysbase/Makefile.in ---- newlib-1.13.0/libgloss/libsysbase/Makefile.in Thu Jan 1 00:00:00 1970 -+++ newlib-1.13.0-new/libgloss/libsysbase/Makefile.in Wed Aug 31 00:29:28 2005 -@@ -0,0 +1,145 @@ -+# 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@ -+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@ -+AS = `if [ -f ${objroot}/../gas/as.new ] ; \ -+ then echo ${objroot}/../gas/as.new ; \ -+ else echo as ; fi` -+ -+AR = @AR@ -+ -+#LD = @LD@ -+LD = `if [ -f ${objroot}/../ld/ld.new ] ; \ -+ then echo ${objroot}/../ld/ld.new ; \ -+ else echo ld ; fi` -+ -+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 -+OBJS = abort.o iosupport.o close.o environ.o execve.o fork.o fstat.o getpid.o gettod.o \ -+ isatty.o kill.o link.o lseek.o open.o read.o sbrk.o stat.o \ -+ times.o unlink.o wait.o write.o _exit.o malloc_vars.o -+ -+# Object files specific to particular targets. -+EVALOBJS = ${OBJS} -+ -+GCC_LDFLAGS = `if [ -d ${objroot}/../gcc ] ; \ -+ then echo -L${objroot}/../gcc ; fi` -+ -+OUTPUTS = libsysbase.a -+ -+NEWLIB_CFLAGS = `if [ -d ${objroot}/newlib ]; then echo -I${objroot}/newlib/targ-include -I${srcroot}/newlib/libc/include; fi` -+NEWLIB_LDFLAGS = `if [ -d ${objroot}/newlib ]; then echo -B${objroot}/newlib/ -L${objroot}/newlib/; fi` -+ -+INCLUDES = -I. -I$(srcdir)/.. -+# Note that when building the library, ${MULTILIB} is not the way multilib -+# options are passed; they're passed in $(CFLAGS). -+CFLAGS_FOR_TARGET = ${MULTILIB} ${INCLUDES} ${NEWLIB_CFLAGS} -+LDFLAGS_FOR_TARGET = ${MULTILIB} ${NEWLIB_LDFLAGS} -+AR_FLAGS = qc -+ -+.c.o: -+ $(CC) $(CFLAGS_FOR_TARGET) -O2 $(INCLUDES) -c $(CFLAGS) $< -+ -+.C.o: -+ $(CC) $(CFLAGS_FOR_TARGET) -O2 $(INCLUDES) -c $(CFLAGS) $< -+.s.o: -+ $(AS) $(ASFLAGS_FOR_TARGET) $(INCLUDES) $(ASFLAGS) -o $*.o $< -+ -+# -+# GCC knows to run the preprocessor on .S files before it assembles them. -+# -+.S.o: -+ $(CC) $(CFLAGS_FOR_TARGET) $(INCLUDES) $(CFLAGS) -c $< -+ -+# -+# this is a bogus target that'll produce an assembler from the -+# C source with the right compiler options. this is so we can -+# track down code generation or debug symbol bugs. -+# -+.c.s: -+ $(CC) $(CFLAGS_FOR_TARGET) -S $(INCLUDES) $(CFLAGS) $< -+ -+all: ${OUTPUTS} -+ -+# -+# here's where we build the library for each target -+# -+ -+libsysbase.a: $(EVALOBJS) -+ ${AR} ${ARFLAGS} $@ $(EVALOBJS) -+ ${RANLIB} $@ -+ -+doc: -+ -+clean mostlyclean: -+ rm -f $(OUTPUTS) *.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_PROGRAM) $${outputs} $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}; \ -+ done -+ -+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 -Nbaur newlib-1.13.0/libgloss/libsysbase/_exit.c newlib-1.13.0-new/libgloss/libsysbase/_exit.c ---- newlib-1.13.0/libgloss/libsysbase/_exit.c Thu Jan 1 00:00:00 1970 -+++ newlib-1.13.0-new/libgloss/libsysbase/_exit.c Fri Jun 25 23:17:04 2004 -@@ -0,0 +1,15 @@ -+/* Stub version of _exit. */ -+ -+#include -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+ -+_VOID -+_DEFUN (_exit, (rc), -+ int rc) -+{ -+ /* Default stub just causes a divide by 0 exception. */ -+ int x = rc / INT_MAX; -+ x = 4 / x; -+} -diff -Nbaur newlib-1.13.0/libgloss/libsysbase/abort.c newlib-1.13.0-new/libgloss/libsysbase/abort.c ---- newlib-1.13.0/libgloss/libsysbase/abort.c Thu Jan 1 00:00:00 1970 -+++ newlib-1.13.0-new/libgloss/libsysbase/abort.c Tue Aug 30 22:01:23 2005 -@@ -0,0 +1,8 @@ -+#include -+#include -+ -+void abort(void) { -+ write (2, "Abort called.\n", sizeof("Abort called.\n")-1); -+ exit (1); -+} -+ -diff -Nbaur newlib-1.13.0/libgloss/libsysbase/acconfig.h newlib-1.13.0-new/libgloss/libsysbase/acconfig.h ---- newlib-1.13.0/libgloss/libsysbase/acconfig.h Thu Jan 1 00:00:00 1970 -+++ newlib-1.13.0-new/libgloss/libsysbase/acconfig.h Sat May 11 21:48:04 2002 -@@ -0,0 +1,26 @@ -+/* Name of package. */ -+#undef PACKAGE -+ -+/* Version of package. */ -+#undef VERSION -+ -+/* Missing syscall names */ -+#undef MISSING_SYSCALL_NAMES -+ -+/* Using ELF format */ -+#undef HAVE_ELF -+ -+/* Using GNU LD */ -+#undef HAVE_GNU_LD -+ -+/* .previous directive allowed */ -+#undef HAVE_ASM_PREVIOUS_DIRECTIVE -+ -+/* .pushsection/.popsection directives allowed */ -+#undef HAVE_ASM_POPSECTION_DIRECTIVE -+ -+/* support for section attributes */ -+#undef HAVE_SECTION_ATTRIBUTES -+ -+/* symbol prefix */ -+#undef __SYMBOL_PREFIX -diff -Nbaur newlib-1.13.0/libgloss/libsysbase/close.c newlib-1.13.0-new/libgloss/libsysbase/close.c ---- newlib-1.13.0/libgloss/libsysbase/close.c Thu Jan 1 00:00:00 1970 -+++ newlib-1.13.0-new/libgloss/libsysbase/close.c Tue Aug 30 22:33:10 2005 -@@ -0,0 +1,36 @@ -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+ -+#include -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+int _DEFUN(_close_r,(ptr,fileDesc), -+ struct _reent *ptr _AND -+ int fileDesc) { -+//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+int _DEFUN(_close,(fileDesc), -+ int fileDesc) { -+//--------------------------------------------------------------------------------- -+ struct _reent *ptr = _REENT; -+#endif -+ int ret = -1; -+ unsigned int dev = 0; -+ unsigned int fd = -1; -+ -+ if(fileDesc!=-1) { -+ dev = fileDesc; -+ if(fileDesc&0xf000) { -+ dev = _SHIFTR(fileDesc,12,4); -+ fd = fileDesc&0x0fff; -+ } -+ -+ if(devoptab_list[dev]->close_r) -+ ret = devoptab_list[dev]->close_r(ptr,fd); -+ } -+ return ret; -+} -diff -Nbaur newlib-1.13.0/libgloss/libsysbase/config.h.in newlib-1.13.0-new/libgloss/libsysbase/config.h.in ---- newlib-1.13.0/libgloss/libsysbase/config.h.in Thu Jan 1 00:00:00 1970 -+++ newlib-1.13.0-new/libgloss/libsysbase/config.h.in Sat May 11 21:48:04 2002 -@@ -0,0 +1,22 @@ -+/* config.h.in. Generated automatically from configure.in by autoheader. */ -+ -+/* Missing syscall names */ -+#undef MISSING_SYSCALL_NAMES -+ -+/* Using ELF format */ -+#undef HAVE_ELF -+ -+/* Using GNU LD */ -+#undef HAVE_GNU_LD -+ -+/* .previous directive allowed */ -+#undef HAVE_ASM_PREVIOUS_DIRECTIVE -+ -+/* .pushsection/.popsection directives allowed */ -+#undef HAVE_ASM_POPSECTION_DIRECTIVE -+ -+/* support for section attributes */ -+#undef HAVE_SECTION_ATTRIBUTES -+ -+/* symbol prefix */ -+#undef __SYMBOL_PREFIX -diff -Nbaur newlib-1.13.0/libgloss/libsysbase/configure newlib-1.13.0-new/libgloss/libsysbase/configure ---- newlib-1.13.0/libgloss/libsysbase/configure Thu Jan 1 00:00:00 1970 -+++ newlib-1.13.0-new/libgloss/libsysbase/configure Fri Oct 25 20:05:34 2002 -@@ -0,0 +1,1461 @@ -+#! /bin/sh -+ -+# Guess values for system-dependent variables and create Makefiles. -+# Generated automatically using autoconf version 2.13 -+# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc. -+# -+# This configure script is free software; the Free Software Foundation -+# gives unlimited permission to copy, distribute and modify it. -+ -+# Defaults: -+ac_help= -+ac_default_prefix=/usr/local -+# Any additions from configure.in: -+ -+# Initialize some variables set by options. -+# The variables have the same names as the options, with -+# dashes changed to underlines. -+build=NONE -+cache_file=./config.cache -+exec_prefix=NONE -+host=NONE -+no_create= -+nonopt=NONE -+no_recursion= -+prefix=NONE -+program_prefix=NONE -+program_suffix=NONE -+program_transform_name=s,x,x, -+silent= -+site= -+srcdir= -+target=NONE -+verbose= -+x_includes=NONE -+x_libraries=NONE -+bindir='${exec_prefix}/bin' -+sbindir='${exec_prefix}/sbin' -+libexecdir='${exec_prefix}/libexec' -+datadir='${prefix}/share' -+sysconfdir='${prefix}/etc' -+sharedstatedir='${prefix}/com' -+localstatedir='${prefix}/var' -+libdir='${exec_prefix}/lib' -+includedir='${prefix}/include' -+oldincludedir='/usr/include' -+infodir='${prefix}/info' -+mandir='${prefix}/man' -+ -+# Initialize some other variables. -+subdirs= -+MFLAGS= MAKEFLAGS= -+SHELL=${CONFIG_SHELL-/bin/sh} -+# Maximum number of lines to put in a shell here document. -+ac_max_here_lines=12 -+ -+ac_prev= -+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=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;; -+ *) ac_optarg= ;; -+ esac -+ -+ # Accept the important Cygnus configure options, so we can diagnose typos. -+ -+ case "$ac_option" in -+ -+ -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 ;; -+ -build=* | --build=* | --buil=* | --bui=* | --bu=*) -+ build="$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" ;; -+ -+ -datadir | --datadir | --datadi | --datad | --data | --dat | --da) -+ ac_prev=datadir ;; -+ -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ -+ | --da=*) -+ datadir="$ac_optarg" ;; -+ -+ -disable-* | --disable-*) -+ ac_feature=`echo $ac_option|sed -e 's/-*disable-//'` -+ # Reject names that are not valid shell variable names. -+ if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then -+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } -+ fi -+ ac_feature=`echo $ac_feature| sed 's/-/_/g'` -+ eval "enable_${ac_feature}=no" ;; -+ -+ -enable-* | --enable-*) -+ ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'` -+ # Reject names that are not valid shell variable names. -+ if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then -+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } -+ fi -+ ac_feature=`echo $ac_feature| sed 's/-/_/g'` -+ case "$ac_option" in -+ *=*) ;; -+ *) ac_optarg=yes ;; -+ esac -+ eval "enable_${ac_feature}='$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) -+ # 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 << EOF -+Usage: configure [options] [host] -+Options: [defaults in brackets after descriptions] -+Configuration: -+ --cache-file=FILE cache test results in FILE -+ --help print this message -+ --no-create do not create output files -+ --quiet, --silent do not print \`checking...' messages -+ --version print the version of autoconf that created configure -+Directory and file names: -+ --prefix=PREFIX install architecture-independent files in PREFIX -+ [$ac_default_prefix] -+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX -+ [same as prefix] -+ --bindir=DIR user executables in DIR [EPREFIX/bin] -+ --sbindir=DIR system admin executables in DIR [EPREFIX/sbin] -+ --libexecdir=DIR program executables in DIR [EPREFIX/libexec] -+ --datadir=DIR read-only architecture-independent data in DIR -+ [PREFIX/share] -+ --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc] -+ --sharedstatedir=DIR modifiable architecture-independent data in DIR -+ [PREFIX/com] -+ --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var] -+ --libdir=DIR object code libraries in DIR [EPREFIX/lib] -+ --includedir=DIR C header files in DIR [PREFIX/include] -+ --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include] -+ --infodir=DIR info documentation in DIR [PREFIX/info] -+ --mandir=DIR man documentation in DIR [PREFIX/man] -+ --srcdir=DIR find the sources in DIR [configure dir or ..] -+ --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 -+EOF -+ cat << EOF -+Host type: -+ --build=BUILD configure for building on BUILD [BUILD=HOST] -+ --host=HOST configure for HOST [guessed] -+ --target=TARGET configure for TARGET [TARGET=HOST] -+Features and packages: -+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) -+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes] -+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] -+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) -+ --x-includes=DIR X include files are in DIR -+ --x-libraries=DIR X library files are in DIR -+EOF -+ if test -n "$ac_help"; then -+ echo "--enable and --with options recognized:$ac_help" -+ fi -+ exit 0 ;; -+ -+ -host | --host | --hos | --ho) -+ ac_prev=host ;; -+ -host=* | --host=* | --hos=* | --ho=*) -+ host="$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" ;; -+ -+ -localstatedir | --localstatedir | --localstatedi | --localstated \ -+ | --localstate | --localstat | --localsta | --localst \ -+ | --locals | --local | --loca | --loc | --lo) -+ ac_prev=localstatedir ;; -+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ -+ | --localstate=* | --localstat=* | --localsta=* | --localst=* \ -+ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) -+ 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) -+ 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" ;; -+ -+ -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 ;; -+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) -+ target="$ac_optarg" ;; -+ -+ -v | -verbose | --verbose | --verbos | --verbo | --verb) -+ verbose=yes ;; -+ -+ -version | --version | --versio | --versi | --vers) -+ echo "configure generated by autoconf version 2.13" -+ exit 0 ;; -+ -+ -with-* | --with-*) -+ ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'` -+ # Reject names that are not valid shell variable names. -+ if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then -+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } -+ fi -+ ac_package=`echo $ac_package| sed 's/-/_/g'` -+ case "$ac_option" in -+ *=*) ;; -+ *) ac_optarg=yes ;; -+ esac -+ eval "with_${ac_package}='$ac_optarg'" ;; -+ -+ -without-* | --without-*) -+ ac_package=`echo $ac_option|sed -e 's/-*without-//'` -+ # Reject names that are not valid shell variable names. -+ if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then -+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } -+ fi -+ ac_package=`echo $ac_package| sed 's/-/_/g'` -+ eval "with_${ac_package}=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" ;; -+ -+ -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; } -+ ;; -+ -+ *) -+ if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then -+ echo "configure: warning: $ac_option: invalid host type" 1>&2 -+ fi -+ if test "x$nonopt" != xNONE; then -+ { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } -+ fi -+ nonopt="$ac_option" -+ ;; -+ -+ esac -+done -+ -+if test -n "$ac_prev"; then -+ { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; } -+fi -+ -+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 -+ -+# File descriptor usage: -+# 0 standard input -+# 1 file creation -+# 2 errors and warnings -+# 3 some systems may open it to /dev/tty -+# 4 used on the Kubota Titan -+# 6 checking for... messages and results -+# 5 compiler messages saved in config.log -+if test "$silent" = yes; then -+ exec 6>/dev/null -+else -+ exec 6>&1 -+fi -+exec 5>./config.log -+ -+echo "\ -+This file contains any messages produced by compilers while -+running configure, to aid debugging if configure makes a mistake. -+" 1>&5 -+ -+# Strip out --no-create and --no-recursion so they do not pile up. -+# Also quote any args containing shell metacharacters. -+ac_configure_args= -+for ac_arg -+do -+ case "$ac_arg" in -+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \ -+ | --no-cr | --no-c) ;; -+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \ -+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;; -+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*) -+ ac_configure_args="$ac_configure_args '$ac_arg'" ;; -+ *) ac_configure_args="$ac_configure_args $ac_arg" ;; -+ esac -+done -+ -+# NLS nuisances. -+# Only set these to C if already set. These must not be set unconditionally -+# because not all systems understand e.g. LANG=C (notably SCO). -+# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'! -+# Non-C LC_CTYPE values break the ctype check. -+if test "${LANG+set}" = set; then LANG=C; export LANG; fi -+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi -+if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi -+if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi -+ -+# confdefs.h avoids OS command line length limits that DEFS can exceed. -+rm -rf conftest* confdefs.h -+# AIX cpp loses on an empty file, so make sure it contains at least a newline. -+echo > confdefs.h -+ -+# A filename unique to this package, relative to the directory that -+# configure is in, which we can look for to find out if srcdir is correct. -+ac_unique_file=close.c -+ -+# 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 its parent. -+ ac_prog=$0 -+ ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'` -+ test "x$ac_confdir" = "x$ac_prog" && ac_confdir=. -+ 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 -+ if test "$ac_srcdir_defaulted" = yes; then -+ { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; } -+ else -+ { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; } -+ fi -+fi -+srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'` -+ -+# Prefer explicitly selected file to automatically selected ones. -+if test -z "$CONFIG_SITE"; then -+ if test "x$prefix" != xNONE; then -+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" -+ else -+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" -+ fi -+fi -+for ac_site_file in $CONFIG_SITE; do -+ if test -r "$ac_site_file"; then -+ echo "loading site script $ac_site_file" -+ . "$ac_site_file" -+ fi -+done -+ -+if test -r "$cache_file"; then -+ echo "loading cache $cache_file" -+ . $cache_file -+else -+ echo "creating cache $cache_file" -+ > $cache_file -+fi -+ -+ac_ext=c -+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. -+ac_cpp='$CPP $CPPFLAGS' -+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' -+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' -+cross_compiling=$ac_cv_prog_cc_cross -+ -+ac_exeext= -+ac_objext=o -+if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then -+ # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu. -+ if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then -+ ac_n= ac_c=' -+' ac_t=' ' -+ else -+ ac_n=-n ac_c= ac_t= -+ fi -+else -+ ac_n= ac_c='\c' ac_t= -+fi -+ -+ -+ -+ -+if test "${enable_shared}" = "yes" ; then -+ echo "Shared libraries not supported for cross compiling, ignored" -+fi -+ -+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 -+ fi -+done -+if test -z "$ac_aux_dir"; then -+ { echo "configure: error: can not find install-sh or install.sh in $libgloss_topdir $srcdir/$libgloss_topdir" 1>&2; exit 1; } -+fi -+ac_config_guess=$ac_aux_dir/config.guess -+ac_config_sub=$ac_aux_dir/config.sub -+ac_configure=$ac_aux_dir/configure # This should be Cygnus configure. -+ -+ -+ -+# Do some error checking and defaulting for the host and target type. -+# The inputs are: -+# configure --host=HOST --target=TARGET --build=BUILD NONOPT -+# -+# The rules are: -+# 1. You are not allowed to specify --host, --target, and nonopt at the -+# same time. -+# 2. Host defaults to nonopt. -+# 3. If nonopt is not specified, then host defaults to the current host, -+# as determined by config.guess. -+# 4. Target and build default to nonopt. -+# 5. If nonopt is not specified, then target and build default to host. -+ -+# The aliases save the names the user supplied, while $host etc. -+# will get canonicalized. -+case $host---$target---$nonopt in -+NONE---*---* | *---NONE---* | *---*---NONE) ;; -+*) { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } ;; -+esac -+ -+ -+# Make sure we can run config.sub. -+if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then : -+else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; } -+fi -+ -+echo $ac_n "checking host system type""... $ac_c" 1>&6 -+echo "configure:588: checking host system type" >&5 -+ -+host_alias=$host -+case "$host_alias" in -+NONE) -+ case $nonopt in -+ NONE) -+ if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then : -+ else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; } -+ fi ;; -+ *) host_alias=$nonopt ;; -+ esac ;; -+esac -+ -+host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias` -+host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -+host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -+host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` -+echo "$ac_t""$host" 1>&6 -+ -+echo $ac_n "checking target system type""... $ac_c" 1>&6 -+echo "configure:609: checking target system type" >&5 -+ -+target_alias=$target -+case "$target_alias" in -+NONE) -+ case $nonopt in -+ NONE) target_alias=$host_alias ;; -+ *) target_alias=$nonopt ;; -+ esac ;; -+esac -+ -+target=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $target_alias` -+target_cpu=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -+target_vendor=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -+target_os=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` -+echo "$ac_t""$target" 1>&6 -+ -+echo $ac_n "checking build system type""... $ac_c" 1>&6 -+echo "configure:627: checking build system type" >&5 -+ -+build_alias=$build -+case "$build_alias" in -+NONE) -+ case $nonopt in -+ NONE) build_alias=$host_alias ;; -+ *) build_alias=$nonopt ;; -+ esac ;; -+esac -+ -+build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias` -+build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -+build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -+build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` -+echo "$ac_t""$build" 1>&6 -+ -+test "$host_alias" != "$target_alias" && -+ test "$program_prefix$program_suffix$program_transform_name" = \ -+ NONENONEs,x,x, && -+ program_prefix=${target_alias}- -+ -+if test "$program_transform_name" = s,x,x,; then -+ program_transform_name= -+else -+ # Double any \ or $. echo might interpret backslashes. -+ cat <<\EOF_SED > conftestsed -+s,\\,\\\\,g; s,\$,$$,g -+EOF_SED -+ program_transform_name="`echo $program_transform_name|sed -f conftestsed`" -+ rm -f conftestsed -+fi -+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" -+ -+# sed with no file args requires a program. -+test "$program_transform_name" = "" && program_transform_name="s,x,x," -+ -+ -+# 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 -+# 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" -+# ./install, which can be erroneously created by make from ./install.sh. -+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 -+echo "configure:681: checking for a BSD compatible install" >&5 -+if test -z "$INSTALL"; then -+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then -+ echo $ac_n "(cached) $ac_c" 1>&6 -+else -+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":" -+ for ac_dir in $PATH; do -+ # Account for people who put trailing slashes in PATH elements. -+ case "$ac_dir/" in -+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/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 -+ if test -f $ac_dir/$ac_prog; then -+ if test $ac_prog = install && -+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then -+ # AIX install. It has an incompatible calling convention. -+ : -+ else -+ ac_cv_path_install="$ac_dir/$ac_prog -c" -+ break 2 -+ fi -+ fi -+ done -+ ;; -+ esac -+ done -+ IFS="$ac_save_IFS" -+ -+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. We don't cache a -+ # path for INSTALL within a source directory, because that will -+ # break other packages using the cache if that directory is -+ # removed, or if the path is relative. -+ INSTALL="$ac_install_sh" -+ fi -+fi -+echo "$ac_t""$INSTALL" 1>&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_PROGRAM}' -+ -+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' -+ -+ -+# FIXME: We temporarily define our own version of AC_PROG_CC. This is -+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We -+# are building a library that must be included in all links, so we -+# can't link an executable until this lib is built. -+# autoconf should provide a way to do this. -+ -+ -+ -+cat >> confdefs.h <<\EOF -+#define HAVE_GNU_LD 1 -+EOF -+ -+case "${target}" in -+ *-*-cygwin*) -+ ;; -+ a29k-amd-udi) -+ ;; -+ arc-*-*) -+ ;; -+ arm-*-pe) -+ ;; -+ arm-*-*) -+ ;; -+ strongarm-*-*) -+ ;; -+ d10v*) -+ ;; -+ h8300*-*-*) -+ ;; -+ h8500-*-*) -+ ;; -+ i345686-*-sco*) -+ ;; -+ m32r-*-*) -+ ;; -+ mn10?00-*-*) -+ ;; -+ powerpcle-*-pe) -+ ;; -+ sh*-*-*) -+ ;; -+ sparc-sun-sunos*) -+ ;; -+ sparc64-*-*) -+ ;; -+ thumb-*-pe) -+ ;; -+ thumb-*-*) -+ ;; -+ v850-*-*) -+ ;; -+ v850e-*-*) -+ ;; -+ v850ea-*-*) -+ ;; -+ w65-*-*) -+ ;; -+ xstormy16-*-*) -+ ;; -+ z8k-*-*) -+ ;; -+ *) -+ cat >> confdefs.h <<\EOF -+#define MISSING_SYSCALL_NAMES 1 -+EOF -+ -+ ;; -+esac -+ -+case "${target}" in -+ *-*-elf) -+ cat >> confdefs.h <<\EOF -+#define HAVE_ELF 1 -+EOF -+ -+ -+ echo $ac_n "checking for .previous assembler directive""... $ac_c" 1>&6 -+echo "configure:811: checking for .previous assembler directive" >&5 -+if eval "test \"`echo '$''{'libc_cv_asm_previous_directive'+set}'`\" = set"; then -+ echo $ac_n "(cached) $ac_c" 1>&6 -+else -+ cat > conftest.s <&5; (eval $ac_try) 2>&5; }; }; then -+ cat >> confdefs.h <<\EOF -+#define HAVE_ASM_PREVIOUS_DIRECTIVE 1 -+EOF -+ -+ fi -+ rm -f conftest* -+fi -+ -+echo "$ac_t""$libc_cv_asm_previous_directive" 1>&6 -+ -+ echo $ac_n "checking for .popsection assembler directive""... $ac_c" 1>&6 -+echo "configure:831: checking for .popsection assembler directive" >&5 -+if eval "test \"`echo '$''{'libc_cv_asm_popsection_directive'+set}'`\" = set"; then -+ echo $ac_n "(cached) $ac_c" 1>&6 -+else -+ cat > conftest.s <&5; (eval $ac_try) 2>&5; }; }; then -+ cat >> confdefs.h <<\EOF -+#define HAVE_ASM_POPSECTION_DIRECTIVE 1 -+EOF -+ -+ fi -+ rm -f conftest* -+fi -+ -+echo "$ac_t""$libc_cv_asm_popsection_directive" 1>&6 -+ -+ echo $ac_n "checking for section attributes""... $ac_c" 1>&6 -+echo "configure:851: checking for section attributes" >&5 -+if eval "test \"`echo '$''{'libc_cv_section_attributes'+set}'`\" = set"; then -+ echo $ac_n "(cached) $ac_c" 1>&6 -+else -+ cat > conftest.c <&5; (eval $ac_try) 2>&5; }; }; then -+ cat >> confdefs.h <<\EOF -+#define HAVE_SECTION_ATTRIBUTES 1 -+EOF -+ -+ fi -+ rm -f conftest* -+fi -+ -+echo "$ac_t""$libc_cv_section_attributes" 1>&6 -+ ;; -+esac -+ -+echo $ac_n "checking for function prefix""... $ac_c" 1>&6 -+echo "configure:873: checking for function prefix" >&5 -+if eval "test \"`echo '$''{'libc_dollar_prefix'+set}'`\" = set"; then -+ echo $ac_n "(cached) $ac_c" 1>&6 -+else -+ cat > conftest.c <<\EOF -+foo () { } -+EOF -+if { ac_try='${CC-cc} -S conftest.c -o - | fgrep "\$foo" > /dev/null'; { (eval echo configure:880: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; -+then -+ libc_dollar_prefix=yes -+else -+ libc_dollar_prefix=no -+fi -+rm -f conftest* -+fi -+ -+echo "$ac_t""$libc_dollar_prefix" 1>&6 -+if test $libc_dollar_prefix = yes ; then -+ cat >> confdefs.h <<\EOF -+#define __SYMBOL_PREFIX "$" -+EOF -+ -+else -+ cat >> confdefs.h <<\EOF -+#define __SYMBOL_PREFIX "" -+EOF -+ -+fi -+ -+# Extract the first word of "gcc", so it can be a program name with args. -+set dummy gcc; ac_word=$2 -+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -+echo "configure:905: checking for $ac_word" >&5 -+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then -+ echo $ac_n "(cached) $ac_c" 1>&6 -+else -+ if test -n "$CC"; then -+ ac_cv_prog_CC="$CC" # Let the user override the test. -+else -+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" -+ ac_dummy="$PATH" -+ for ac_dir in $ac_dummy; do -+ test -z "$ac_dir" && ac_dir=. -+ if test -f $ac_dir/$ac_word; then -+ ac_cv_prog_CC="gcc" -+ break -+ fi -+ done -+ IFS="$ac_save_ifs" -+fi -+fi -+CC="$ac_cv_prog_CC" -+if test -n "$CC"; then -+ echo "$ac_t""$CC" 1>&6 -+else -+ echo "$ac_t""no" 1>&6 -+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 -+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -+echo "configure:935: checking for $ac_word" >&5 -+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then -+ echo $ac_n "(cached) $ac_c" 1>&6 -+else -+ if test -n "$CC"; then -+ ac_cv_prog_CC="$CC" # Let the user override the test. -+else -+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" -+ ac_prog_rejected=no -+ ac_dummy="$PATH" -+ for ac_dir in $ac_dummy; do -+ test -z "$ac_dir" && ac_dir=. -+ if test -f $ac_dir/$ac_word; then -+ if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then -+ ac_prog_rejected=yes -+ continue -+ fi -+ ac_cv_prog_CC="cc" -+ break -+ fi -+ done -+ IFS="$ac_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 $# -gt 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 -+ set dummy "$ac_dir/$ac_word" "$@" -+ shift -+ ac_cv_prog_CC="$@" -+ fi -+fi -+fi -+fi -+CC="$ac_cv_prog_CC" -+if test -n "$CC"; then -+ echo "$ac_t""$CC" 1>&6 -+else -+ echo "$ac_t""no" 1>&6 -+fi -+ -+ test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; } -+fi -+ -+echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6 -+echo "configure:984: checking whether we are using GNU C" >&5 -+if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then -+ echo $ac_n "(cached) $ac_c" 1>&6 -+else -+ cat > conftest.c <&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then -+ ac_cv_prog_gcc=yes -+else -+ ac_cv_prog_gcc=no -+fi -+fi -+ -+echo "$ac_t""$ac_cv_prog_gcc" 1>&6 -+ -+if test $ac_cv_prog_gcc = yes; then -+ GCC=yes -+ ac_test_CFLAGS="${CFLAGS+set}" -+ ac_save_CFLAGS="$CFLAGS" -+ CFLAGS= -+ echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 -+echo "configure:1008: checking whether ${CC-cc} accepts -g" >&5 -+if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then -+ echo $ac_n "(cached) $ac_c" 1>&6 -+else -+ echo 'void f(){}' > conftest.c -+if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then -+ ac_cv_prog_cc_g=yes -+else -+ ac_cv_prog_cc_g=no -+fi -+rm -f conftest* -+ -+fi -+ -+echo "$ac_t""$ac_cv_prog_cc_g" 1>&6 -+ 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} -+ -+# Extract the first word of "ranlib", so it can be a program name with args. -+set dummy ranlib; ac_word=$2 -+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -+echo "configure:1044: checking for $ac_word" >&5 -+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then -+ echo $ac_n "(cached) $ac_c" 1>&6 -+else -+ if test -n "$RANLIB"; then -+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. -+else -+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" -+ ac_dummy="$PATH" -+ for ac_dir in $ac_dummy; do -+ test -z "$ac_dir" && ac_dir=. -+ if test -f $ac_dir/$ac_word; then -+ ac_cv_prog_RANLIB="ranlib" -+ break -+ fi -+ done -+ IFS="$ac_save_ifs" -+ test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":" -+fi -+fi -+RANLIB="$ac_cv_prog_RANLIB" -+if test -n "$RANLIB"; then -+ echo "$ac_t""$RANLIB" 1>&6 -+else -+ echo "$ac_t""no" 1>&6 -+fi -+ -+ -+host_makefile_frag=${srcdir}/../config/default.mh -+ -+host_makefile_frag_path=$host_makefile_frag -+ -+ -+ -+trap '' 1 2 15 -+cat > confcache <<\EOF -+# 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. It is not useful on other systems. -+# If it contains results you don't want to keep, you may remove or edit it. -+# -+# By default, configure uses ./config.cache as the cache file, -+# creating it if it does not exist already. You can give configure -+# the --cache-file=FILE option to use a different cache file; that is -+# what configure does when it calls configure scripts in -+# subdirectories, so they share the cache. -+# Giving --cache-file=/dev/null disables caching, for debugging configure. -+# config.status only pays attention to the cache file if you give it the -+# --recheck option to rerun configure. -+# -+EOF -+# The following way of writing the cache mishandles newlines in values, -+# but we know of no workaround that is simple, portable, and efficient. -+# So, don't put newlines in cache variables' values. -+# 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. -+(set) 2>&1 | -+ case `(ac_space=' '; set | grep ac_space) 2>&1` in -+ *ac_space=\ *) -+ # `set' does not quote correctly, so add quotes (double-quote substitution -+ # turns \\\\ into \\, and sed turns \\ into \). -+ sed -n \ -+ -e "s/'/'\\\\''/g" \ -+ -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p" -+ ;; -+ *) -+ # `set' quotes correctly as required by POSIX, so do not add quotes. -+ sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p' -+ ;; -+ esac >> confcache -+if cmp -s $cache_file confcache; then -+ : -+else -+ if test -w $cache_file; then -+ echo "updating cache $cache_file" -+ cat confcache > $cache_file -+ else -+ echo "not updating unwritable cache $cache_file" -+ fi -+fi -+rm -f confcache -+ -+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 -+ -+test "x$prefix" = xNONE && prefix=$ac_default_prefix -+# Let make expand exec_prefix. -+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' -+ -+# Any assignment to VPATH causes Sun make to only execute -+# the first set of double-colon rules, so remove it if not needed. -+# If there is a colon in the path, we need to keep it. -+if test "x$srcdir" = x.; then -+ ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d' -+fi -+ -+trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15 -+ -+DEFS=-DHAVE_CONFIG_H -+ -+# Without the "./", some shells look in PATH for config.status. -+: ${CONFIG_STATUS=./config.status} -+ -+echo creating $CONFIG_STATUS -+rm -f $CONFIG_STATUS -+cat > $CONFIG_STATUS </dev/null | sed 1q`: -+# -+# $0 $ac_configure_args -+# -+# Compiler output produced by configure, useful for debugging -+# configure, is in ./config.log if it exists. -+ -+ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]" -+for ac_option -+do -+ case "\$ac_option" in -+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) -+ echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion" -+ exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;; -+ -version | --version | --versio | --versi | --vers | --ver | --ve | --v) -+ echo "$CONFIG_STATUS generated by autoconf version 2.13" -+ exit 0 ;; -+ -help | --help | --hel | --he | --h) -+ echo "\$ac_cs_usage"; exit 0 ;; -+ *) echo "\$ac_cs_usage"; exit 1 ;; -+ esac -+done -+ -+ac_given_srcdir=$srcdir -+ac_given_INSTALL="$INSTALL" -+ -+trap 'rm -fr `echo "Makefile config.h" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15 -+EOF -+cat >> $CONFIG_STATUS < conftest.subs <<\\CEOF -+$ac_vpsub -+$extrasub -+s%@SHELL@%$SHELL%g -+s%@CFLAGS@%$CFLAGS%g -+s%@CPPFLAGS@%$CPPFLAGS%g -+s%@CXXFLAGS@%$CXXFLAGS%g -+s%@FFLAGS@%$FFLAGS%g -+s%@DEFS@%$DEFS%g -+s%@LDFLAGS@%$LDFLAGS%g -+s%@LIBS@%$LIBS%g -+s%@exec_prefix@%$exec_prefix%g -+s%@prefix@%$prefix%g -+s%@program_transform_name@%$program_transform_name%g -+s%@bindir@%$bindir%g -+s%@sbindir@%$sbindir%g -+s%@libexecdir@%$libexecdir%g -+s%@datadir@%$datadir%g -+s%@sysconfdir@%$sysconfdir%g -+s%@sharedstatedir@%$sharedstatedir%g -+s%@localstatedir@%$localstatedir%g -+s%@libdir@%$libdir%g -+s%@includedir@%$includedir%g -+s%@oldincludedir@%$oldincludedir%g -+s%@infodir@%$infodir%g -+s%@mandir@%$mandir%g -+s%@host@%$host%g -+s%@host_alias@%$host_alias%g -+s%@host_cpu@%$host_cpu%g -+s%@host_vendor@%$host_vendor%g -+s%@host_os@%$host_os%g -+s%@target@%$target%g -+s%@target_alias@%$target_alias%g -+s%@target_cpu@%$target_cpu%g -+s%@target_vendor@%$target_vendor%g -+s%@target_os@%$target_os%g -+s%@build@%$build%g -+s%@build_alias@%$build_alias%g -+s%@build_cpu@%$build_cpu%g -+s%@build_vendor@%$build_vendor%g -+s%@build_os@%$build_os%g -+s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g -+s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g -+s%@INSTALL_DATA@%$INSTALL_DATA%g -+s%@CC@%$CC%g -+s%@AS@%$AS%g -+s%@AR@%$AR%g -+s%@LD@%$LD%g -+s%@RANLIB@%$RANLIB%g -+s%@host_makefile_frag_path@%$host_makefile_frag_path%g -+/@host_makefile_frag@/r $host_makefile_frag -+s%@host_makefile_frag@%%g -+ -+CEOF -+EOF -+ -+cat >> $CONFIG_STATUS <<\EOF -+ -+# Split the substitutions into bite-sized pieces for seds with -+# small command number limits, like on Digital OSF/1 and HP-UX. -+ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script. -+ac_file=1 # Number of current file. -+ac_beg=1 # First line for current file. -+ac_end=$ac_max_sed_cmds # Line after last line for current file. -+ac_more_lines=: -+ac_sed_cmds="" -+while $ac_more_lines; do -+ if test $ac_beg -gt 1; then -+ sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file -+ else -+ sed "${ac_end}q" conftest.subs > conftest.s$ac_file -+ fi -+ if test ! -s conftest.s$ac_file; then -+ ac_more_lines=false -+ rm -f conftest.s$ac_file -+ else -+ if test -z "$ac_sed_cmds"; then -+ ac_sed_cmds="sed -f conftest.s$ac_file" -+ else -+ ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file" -+ fi -+ ac_file=`expr $ac_file + 1` -+ ac_beg=$ac_end -+ ac_end=`expr $ac_end + $ac_max_sed_cmds` -+ fi -+done -+if test -z "$ac_sed_cmds"; then -+ ac_sed_cmds=cat -+fi -+EOF -+ -+cat >> $CONFIG_STATUS <> $CONFIG_STATUS <<\EOF -+for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then -+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". -+ case "$ac_file" in -+ *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'` -+ ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; -+ *) ac_file_in="${ac_file}.in" ;; -+ esac -+ -+ # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories. -+ -+ # Remove last slash and all that follows it. Not all systems have dirname. -+ ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'` -+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then -+ # The file is in a subdirectory. -+ test ! -d "$ac_dir" && mkdir "$ac_dir" -+ ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`" -+ # A "../" for each directory in $ac_dir_suffix. -+ ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'` -+ else -+ ac_dir_suffix= ac_dots= -+ fi -+ -+ case "$ac_given_srcdir" in -+ .) srcdir=. -+ if test -z "$ac_dots"; then top_srcdir=. -+ else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;; -+ /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;; -+ *) # Relative path. -+ srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix" -+ top_srcdir="$ac_dots$ac_given_srcdir" ;; -+ esac -+ -+ case "$ac_given_INSTALL" in -+ [/$]*) INSTALL="$ac_given_INSTALL" ;; -+ *) INSTALL="$ac_dots$ac_given_INSTALL" ;; -+ esac -+ -+ echo creating "$ac_file" -+ rm -f "$ac_file" -+ configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure." -+ case "$ac_file" in -+ *Makefile*) ac_comsub="1i\\ -+# $configure_input" ;; -+ *) ac_comsub= ;; -+ esac -+ -+ ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"` -+ sed -e "$ac_comsub -+s%@configure_input@%$configure_input%g -+s%@srcdir@%$srcdir%g -+s%@top_srcdir@%$top_srcdir%g -+s%@INSTALL@%$INSTALL%g -+" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file -+fi; done -+rm -f conftest.s* -+ -+# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where -+# NAME is the cpp macro being defined and VALUE is the value it is being given. -+# -+# ac_d sets the value in "#define NAME VALUE" lines. -+ac_dA='s%^\([ ]*\)#\([ ]*define[ ][ ]*\)' -+ac_dB='\([ ][ ]*\)[^ ]*%\1#\2' -+ac_dC='\3' -+ac_dD='%g' -+# ac_u turns "#undef NAME" with trailing blanks into "#define NAME VALUE". -+ac_uA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' -+ac_uB='\([ ]\)%\1#\2define\3' -+ac_uC=' ' -+ac_uD='\4%g' -+# ac_e turns "#undef NAME" without trailing blanks into "#define NAME VALUE". -+ac_eA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' -+ac_eB='$%\1#\2define\3' -+ac_eC=' ' -+ac_eD='%g' -+ -+if test "${CONFIG_HEADERS+set}" != set; then -+EOF -+cat >> $CONFIG_STATUS <> $CONFIG_STATUS <<\EOF -+fi -+for ac_file in .. $CONFIG_HEADERS; do if test "x$ac_file" != x..; then -+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". -+ case "$ac_file" in -+ *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'` -+ ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; -+ *) ac_file_in="${ac_file}.in" ;; -+ esac -+ -+ echo creating $ac_file -+ -+ rm -f conftest.frag conftest.in conftest.out -+ ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"` -+ cat $ac_file_inputs > conftest.in -+ -+EOF -+ -+# Transform confdefs.h into a sed script conftest.vals that substitutes -+# the proper values into config.h.in to produce config.h. And first: -+# Protect against being on the right side of a sed subst in config.status. -+# Protect against being in an unquoted here document in config.status. -+rm -f conftest.vals -+cat > conftest.hdr <<\EOF -+s/[\\&%]/\\&/g -+s%[\\$`]%\\&%g -+s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD}%gp -+s%ac_d%ac_u%gp -+s%ac_u%ac_e%gp -+EOF -+sed -n -f conftest.hdr confdefs.h > conftest.vals -+rm -f conftest.hdr -+ -+# This sed command replaces #undef with comments. This is necessary, for -+# example, in the case of _POSIX_SOURCE, which is predefined and required -+# on some systems where configure will not decide to define it. -+cat >> conftest.vals <<\EOF -+s%^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*%/* & */% -+EOF -+ -+# Break up conftest.vals because some shells have a limit on -+# the size of here documents, and old seds have small limits too. -+ -+rm -f conftest.tail -+while : -+do -+ ac_lines=`grep -c . conftest.vals` -+ # grep -c gives empty output for an empty file on some AIX systems. -+ if test -z "$ac_lines" || test "$ac_lines" -eq 0; then break; fi -+ # Write a limited-size here document to conftest.frag. -+ echo ' cat > conftest.frag <> $CONFIG_STATUS -+ sed ${ac_max_here_lines}q conftest.vals >> $CONFIG_STATUS -+ echo 'CEOF -+ sed -f conftest.frag conftest.in > conftest.out -+ rm -f conftest.in -+ mv conftest.out conftest.in -+' >> $CONFIG_STATUS -+ sed 1,${ac_max_here_lines}d conftest.vals > conftest.tail -+ rm -f conftest.vals -+ mv conftest.tail conftest.vals -+done -+rm -f conftest.vals -+ -+cat >> $CONFIG_STATUS <<\EOF -+ rm -f conftest.frag conftest.h -+ echo "/* $ac_file. Generated automatically by configure. */" > conftest.h -+ cat conftest.in >> conftest.h -+ rm -f conftest.in -+ if cmp -s $ac_file conftest.h 2>/dev/null; then -+ echo "$ac_file is unchanged" -+ rm -f conftest.h -+ else -+ # Remove last slash and all that follows it. Not all systems have dirname. -+ ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'` -+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then -+ # The file is in a subdirectory. -+ test ! -d "$ac_dir" && mkdir "$ac_dir" -+ fi -+ rm -f $ac_file -+ mv conftest.h $ac_file -+ fi -+fi; done -+ -+EOF -+cat >> $CONFIG_STATUS <> $CONFIG_STATUS <<\EOF -+ac_file=Makefile . ${libgloss_topdir}/config-ml.in -+exit 0 -+EOF -+chmod +x $CONFIG_STATUS -+rm -fr confdefs* $ac_clean_files -+test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1 -+ -+ -+ -diff -Nbaur newlib-1.13.0/libgloss/libsysbase/configure.in newlib-1.13.0-new/libgloss/libsysbase/configure.in ---- newlib-1.13.0/libgloss/libsysbase/configure.in Thu Jan 1 00:00:00 1970 -+++ newlib-1.13.0-new/libgloss/libsysbase/configure.in Sat May 11 21:48:04 2002 -@@ -0,0 +1,219 @@ -+# Copyright (c) 1995, 1996 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. -+# -+# Process this file with autoconf to produce a configure script. -+# -+AC_PREREQ(2.5)dnl -+AC_INIT(close.c) -+AC_CONFIG_HEADER(config.h) -+ -+if test "${enable_shared}" = "yes" ; then -+ echo "Shared libraries not supported for cross compiling, ignored" -+fi -+ -+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 -+ -+# FIXME: We temporarily define our own version of AC_PROG_CC. This is -+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We -+# are building a library that must be included in all links, so we -+# can't link an executable until this lib is built. -+# autoconf should provide a way to do this. -+ -+AC_DEFUN(LIB_AC_PROG_CC, -+[AC_BEFORE([$0], [AC_PROG_CPP])dnl -+AC_CHECK_PROG(CC, gcc, gcc) -+if test -z "$CC"; then -+ AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc) -+ test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH]) -+fi -+ -+AC_PROG_CC_GNU -+ -+if test $ac_cv_prog_gcc = yes; then -+ GCC=yes -+dnl Check whether -g works, even if CFLAGS is set, in case the package -+dnl plays around with CFLAGS (such as to build both debugging and -+dnl normal versions of a library), tasteless as that idea is. -+ ac_test_CFLAGS="${CFLAGS+set}" -+ ac_save_CFLAGS="$CFLAGS" -+ CFLAGS= -+ AC_PROG_CC_G -+ 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 -+]) -+ -+AC_DEFINE(HAVE_GNU_LD) -+dnl Make sure syscall names match those being used by newlib -+case "${target}" in -+ *-*-cygwin*) -+ ;; -+ a29k-amd-udi) -+ ;; -+ arc-*-*) -+ ;; -+ arm-*-pe) -+ ;; -+ arm-*-*) -+ ;; -+ strongarm-*-*) -+ ;; -+ d10v*) -+ ;; -+ h8300*-*-*) -+ ;; -+ h8500-*-*) -+ ;; -+ i[3456]86-*-sco*) -+ ;; -+ m32r-*-*) -+ ;; -+ mn10?00-*-*) -+ ;; -+ powerpcle-*-pe) -+ ;; -+ sh*-*-*) -+ ;; -+ sparc-sun-sunos*) -+ ;; -+ sparc64-*-*) -+ ;; -+ thumb-*-pe) -+ ;; -+ thumb-*-*) -+ ;; -+ v850-*-*) -+ ;; -+ v850e-*-*) -+ ;; -+ v850ea-*-*) -+ ;; -+ w65-*-*) -+ ;; -+ xstormy16-*-*) -+ ;; -+ z8k-*-*) -+ ;; -+ *) -+ AC_DEFINE(MISSING_SYSCALL_NAMES) -+ ;; -+esac -+ -+dnl Make sure we know if elf format used -+case "${target}" in -+ *-*-elf) -+ AC_DEFINE(HAVE_ELF) -+ -+ AC_CACHE_CHECK(for .previous assembler directive, -+ libc_cv_asm_previous_directive, [dnl -+ cat > conftest.s <&AC_FD_CC); then -+ AC_DEFINE(HAVE_ASM_PREVIOUS_DIRECTIVE) -+ fi -+ rm -f conftest*]) -+ -+ AC_CACHE_CHECK(for .popsection assembler directive, -+ libc_cv_asm_popsection_directive, [dnl -+ cat > conftest.s <&AC_FD_CC); then -+ AC_DEFINE(HAVE_ASM_POPSECTION_DIRECTIVE) -+ fi -+ rm -f conftest*]) -+ -+ AC_CACHE_CHECK(for section attributes, -+ libc_cv_section_attributes, [dnl -+ cat > conftest.c <&AC_FD_CC); then -+ AC_DEFINE(HAVE_SECTION_ATTRIBUTES) -+ fi -+ rm -f conftest*]) -+ ;; -+esac -+ -+AC_CACHE_CHECK(for function prefix, libc_dollar_prefix, [dnl -+cat > conftest.c <<\EOF -+foo () { } -+EOF -+dnl -+if AC_TRY_COMMAND([${CC-cc} -S conftest.c -o - | fgrep "\$foo" > /dev/null]); -+then -+ libc_dollar_prefix=yes -+else -+ libc_dollar_prefix=no -+fi -+rm -f conftest* ]) -+if test $libc_dollar_prefix = yes ; then -+ AC_DEFINE(__SYMBOL_PREFIX, "$") -+else -+ AC_DEFINE(__SYMBOL_PREFIX, "") -+fi -+ -+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 -+ -+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 -+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) -+ -+AC_OUTPUT(Makefile, -+ac_file=Makefile . ${libgloss_topdir}/config-ml.in, -+srcdir=${srcdir} -+target=${target} -+ac_configure_args="${ac_configure_args} --enable-multilib" -+CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} -+libgloss_topdir=${libgloss_topdir} -+) -+ -+ -diff -Nbaur newlib-1.13.0/libgloss/libsysbase/environ.c newlib-1.13.0-new/libgloss/libsysbase/environ.c ---- newlib-1.13.0/libgloss/libsysbase/environ.c Thu Jan 1 00:00:00 1970 -+++ newlib-1.13.0-new/libgloss/libsysbase/environ.c Fri Mar 17 22:48:50 2000 -@@ -0,0 +1,6 @@ -+/* -+ * Version of environ for no OS. -+ */ -+ -+char *__env[1] = { 0 }; -+char **environ = __env; -diff -Nbaur newlib-1.13.0/libgloss/libsysbase/execve.c newlib-1.13.0-new/libgloss/libsysbase/execve.c ---- newlib-1.13.0/libgloss/libsysbase/execve.c Thu Jan 1 00:00:00 1970 -+++ newlib-1.13.0-new/libgloss/libsysbase/execve.c Tue Aug 30 22:32:37 2005 -@@ -0,0 +1,21 @@ -+/* -+ * Stub version of execve. -+ */ -+ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include "warning.h" -+ -+int -+_DEFUN (_execve, (name, argv, env), -+ char *name _AND -+ char **argv _AND -+ char **env) -+{ -+ errno = ENOSYS; -+ return -1; -+} -+ -+stub_warning(_execve) -diff -Nbaur newlib-1.13.0/libgloss/libsysbase/fork.c newlib-1.13.0-new/libgloss/libsysbase/fork.c ---- newlib-1.13.0/libgloss/libsysbase/fork.c Thu Jan 1 00:00:00 1970 -+++ newlib-1.13.0-new/libgloss/libsysbase/fork.c Tue Aug 30 22:32:32 2005 -@@ -0,0 +1,19 @@ -+/* -+ * Stub version of fork. -+ */ -+ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include "warning.h" -+ -+int -+_DEFUN (_fork, (), -+ _NOARGS) -+{ -+ errno = ENOSYS; -+ return -1; -+} -+ -+stub_warning(_fork) -diff -Nbaur newlib-1.13.0/libgloss/libsysbase/fstat.c newlib-1.13.0-new/libgloss/libsysbase/fstat.c ---- newlib-1.13.0/libgloss/libsysbase/fstat.c Thu Jan 1 00:00:00 1970 -+++ newlib-1.13.0-new/libgloss/libsysbase/fstat.c Tue Aug 30 22:32:16 2005 -@@ -0,0 +1,39 @@ -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include -+ -+#include -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+int _DEFUN (_fstat_r,(r,fileDesc, st), -+ struct _reent * r _AND -+ int fileDesc _AND -+ struct stat *st) { -+//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+int _DEFUN (_fstat,(fileDesc, st), -+ int fileDesc _AND -+ struct stat *st) { -+//--------------------------------------------------------------------------------- -+ struct _reent *r = _REENT; -+#endif -+ int ret = -1; -+ unsigned int dev = 0; -+ unsigned int fd = -1; -+ -+ if(fileDesc!=-1) { -+ dev = fileDesc; -+ if(fileDesc&0xf000) { -+ dev = _SHIFTR(fileDesc,12,4); -+ fd = fileDesc&0x0fff; -+ } -+ -+ if(devoptab_list[dev]->stat_r) -+ ret = devoptab_list[dev]->stat_r(r,fd,st); -+ } -+ return ret; -+} -diff -Nbaur newlib-1.13.0/libgloss/libsysbase/getpid.c newlib-1.13.0-new/libgloss/libsysbase/getpid.c ---- newlib-1.13.0/libgloss/libsysbase/getpid.c Thu Jan 1 00:00:00 1970 -+++ newlib-1.13.0-new/libgloss/libsysbase/getpid.c Tue Aug 30 12:22:30 2005 -@@ -0,0 +1,12 @@ -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+ -+//--------------------------------------------------------------------------------- -+int _DEFUN (_getpid, (), -+ _NOARGS) { -+//--------------------------------------------------------------------------------- -+ errno = ENOSYS; -+ return -1; -+} -+ -diff -Nbaur newlib-1.13.0/libgloss/libsysbase/gettod.c newlib-1.13.0-new/libgloss/libsysbase/gettod.c ---- newlib-1.13.0/libgloss/libsysbase/gettod.c Thu Jan 1 00:00:00 1970 -+++ newlib-1.13.0-new/libgloss/libsysbase/gettod.c Tue Aug 30 22:31:58 2005 -@@ -0,0 +1,25 @@ -+/* -+ * Stub version of gettimeofday. -+ */ -+ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include -+#include "warning.h" -+ -+struct timeval; -+struct timezone; -+ -+int -+_DEFUN (_gettimeofday, (ptimeval, ptimezone), -+ struct timeval *ptimeval _AND -+ struct timezone *ptimezone) -+{ -+ errno = ENOSYS; -+ return -1; -+} -+ -+stub_warning(_gettimeofday) -diff -Nbaur newlib-1.13.0/libgloss/libsysbase/iosupport.c newlib-1.13.0-new/libgloss/libsysbase/iosupport.c ---- newlib-1.13.0/libgloss/libsysbase/iosupport.c Thu Jan 1 00:00:00 1970 -+++ newlib-1.13.0-new/libgloss/libsysbase/iosupport.c Wed Oct 19 20:09:40 2005 -@@ -0,0 +1,91 @@ -+#include -+#include -+ -+//--------------------------------------------------------------------------------- -+int stdnull_open(struct _reent *r,const char *path,int flags,int mode) { -+//--------------------------------------------------------------------------------- -+ return -1; -+} -+ -+//--------------------------------------------------------------------------------- -+int stdnull_close(struct _reent *r,int fd) { -+//--------------------------------------------------------------------------------- -+ return -1; -+} -+ -+//--------------------------------------------------------------------------------- -+int stdnull_write(struct _reent *r,int fd,const char *ptr,int len) { -+//--------------------------------------------------------------------------------- -+ return -1; -+} -+ -+//--------------------------------------------------------------------------------- -+int stdnull_read(struct _reent *r,int fd,char *ptr,int len) { -+//--------------------------------------------------------------------------------- -+ return -1; -+} -+ -+ -+ -+ -+//--------------------------------------------------------------------------------- -+const devoptab_t dotab_stdnull = { -+//--------------------------------------------------------------------------------- -+ "stdnull", -+ stdnull_open, -+ stdnull_close, -+ stdnull_write, -+ stdnull_read, -+ NULL, -+ NULL -+}; -+ -+//--------------------------------------------------------------------------------- -+const devoptab_t *devoptab_list[STD_MAX] = { -+//--------------------------------------------------------------------------------- -+ &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, -+ &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, -+ &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, -+ &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, &dotab_stdnull -+}; -+ -+ -+//--------------------------------------------------------------------------------- -+int FindDevice(char* name) { -+//--------------------------------------------------------------------------------- -+ int i, namelen, dev = -1; -+ -+ while(iname); -+ if(strncmp(devoptab_list[i]->name,name,namelen)==0 && name[namelen] == ':' ) { -+ dev = i; -+ break; -+ } -+ } -+ i++; -+ } -+ -+ return dev; -+} -+ -+//--------------------------------------------------------------------------------- -+int AddDevice( const devoptab_t* device) { -+//--------------------------------------------------------------------------------- -+ -+ int devnum; -+ -+ for ( devnum = 3;devnum name, device->name) || -+ strcmp(devoptab_list[devnum]->name, "stdnull") ) -+ break; -+ } -+ -+ if ( devnum == STD_MAX ) { -+ devnum = -1; -+ } else { -+ devoptab_list[devnum] = device; -+ } -+ return devnum; -+} -diff -Nbaur newlib-1.13.0/libgloss/libsysbase/isatty.c newlib-1.13.0-new/libgloss/libsysbase/isatty.c ---- newlib-1.13.0/libgloss/libsysbase/isatty.c Thu Jan 1 00:00:00 1970 -+++ newlib-1.13.0-new/libgloss/libsysbase/isatty.c Tue Aug 30 01:02:43 2005 -@@ -0,0 +1,10 @@ -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+ -+//--------------------------------------------------------------------------------- -+int _DEFUN(isatty,(file), -+ int file) { -+//--------------------------------------------------------------------------------- -+ return 0; -+} -diff -Nbaur newlib-1.13.0/libgloss/libsysbase/kill.c newlib-1.13.0-new/libgloss/libsysbase/kill.c ---- newlib-1.13.0/libgloss/libsysbase/kill.c Thu Jan 1 00:00:00 1970 -+++ newlib-1.13.0-new/libgloss/libsysbase/kill.c Tue Aug 30 22:31:39 2005 -@@ -0,0 +1,20 @@ -+/* -+ * Stub version of kill. -+ */ -+ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include "warning.h" -+ -+int -+_DEFUN (_kill, (pid, sig), -+ int pid _AND -+ int sig) -+{ -+ errno = ENOSYS; -+ return -1; -+} -+ -+stub_warning(_kill) -diff -Nbaur newlib-1.13.0/libgloss/libsysbase/link.c newlib-1.13.0-new/libgloss/libsysbase/link.c ---- newlib-1.13.0/libgloss/libsysbase/link.c Thu Jan 1 00:00:00 1970 -+++ newlib-1.13.0-new/libgloss/libsysbase/link.c Tue Aug 30 12:40:08 2005 -@@ -0,0 +1,20 @@ -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+int _DEFUN (_link_r, (r, existing, new), -+ struct _reent r _AND -+ char *existing _AND -+ char *new) { -+#else -+int _DEFUN (_link, (existing, new), -+ char *existing _AND -+ char *new) { -+ struct _reent *r = _REENT; -+#endif -+ r->_errno = ENOSYS; -+ return -1; -+} -+ -diff -Nbaur newlib-1.13.0/libgloss/libsysbase/lseek.c newlib-1.13.0-new/libgloss/libsysbase/lseek.c ---- newlib-1.13.0/libgloss/libsysbase/lseek.c Thu Jan 1 00:00:00 1970 -+++ newlib-1.13.0-new/libgloss/libsysbase/lseek.c Tue Aug 30 22:31:20 2005 -@@ -0,0 +1,29 @@ -+ -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+ -+#include -+ -+//--------------------------------------------------------------------------------- -+int _DEFUN(_lseek,(file, pos, dir), -+ int file _AND -+ int pos _AND -+ int dir) { -+//--------------------------------------------------------------------------------- -+ int ret = -1; -+ unsigned int dev = 0; -+ unsigned int fd = -1; -+ -+ if(file!=-1) { -+ dev = file; -+ if(file&0xf000) { -+ dev = _SHIFTR(file,12,4); -+ fd = file&0x0fff; -+ } -+ -+ if(devoptab_list[dev]->seek_r) -+ ret = devoptab_list[dev]->seek_r(0,fd,pos,dir); -+ } -+ return ret; -+} -diff -Nbaur newlib-1.13.0/libgloss/libsysbase/malloc_vars.c newlib-1.13.0-new/libgloss/libsysbase/malloc_vars.c ---- newlib-1.13.0/libgloss/libsysbase/malloc_vars.c Thu Jan 1 00:00:00 1970 -+++ newlib-1.13.0-new/libgloss/libsysbase/malloc_vars.c Mon Aug 29 21:03:15 2005 -@@ -0,0 +1,2 @@ -+char *fake_heap_end = (char*)0; -+char *fake_heap_start = (char*)0; -diff -Nbaur newlib-1.13.0/libgloss/libsysbase/open.c newlib-1.13.0-new/libgloss/libsysbase/open.c ---- newlib-1.13.0/libgloss/libsysbase/open.c Thu Jan 1 00:00:00 1970 -+++ newlib-1.13.0-new/libgloss/libsysbase/open.c Fri Sep 16 03:21:31 2005 -@@ -0,0 +1,42 @@ -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include -+#include -+#include -+ -+#include -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+int _DEFUN (_open_r, (r, file, flags, mode), -+ struct _reent * r _AND -+ char *file _AND -+ int flags _AND -+ int mode) { -+//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+int _DEFUN (_open, (file, flags, mode), -+ char *file _AND -+ int flags _AND -+ int mode) { -+//--------------------------------------------------------------------------------- -+ struct _reent *r = _REENT; -+#endif -+ int handle; -+ int dev,fd; -+ -+ -+ dev = FindDevice(file); -+ -+ fd = -1; -+ handle = -1; -+ if(dev!=-1 && devoptab_list[dev]->open_r) { -+ fd = devoptab_list[dev]->open_r(r,file,flags,mode); -+ if(fd!=-1) handle = _SHIFTL(dev,12,4)|(fd&0x0fff); -+ } -+ -+ return handle; -+} -diff -Nbaur newlib-1.13.0/libgloss/libsysbase/read.c newlib-1.13.0-new/libgloss/libsysbase/read.c ---- newlib-1.13.0/libgloss/libsysbase/read.c Thu Jan 1 00:00:00 1970 -+++ newlib-1.13.0-new/libgloss/libsysbase/read.c Tue Aug 30 22:30:42 2005 -@@ -0,0 +1,40 @@ -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+ -+#include -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+int _DEFUN(_read_r,(r, file, ptr, len), -+ struct _reent * r _AND -+ int file _AND -+ char *ptr _AND -+ int len) { -+//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+int _DEFUN(_read,(file, ptr, len), -+ int file _AND -+ char *ptr _AND -+ int len) { -+//--------------------------------------------------------------------------------- -+ struct _reent *r = _REENT; -+#endif -+ int ret = -1; -+ unsigned int dev = 0; -+ unsigned int fd = -1; -+ -+ if(file!=-1) { -+ dev = file; -+ if(file&0xf000) { -+ dev = _SHIFTR(file,12,4); -+ fd = file&0x0fff; -+ } -+ if(devoptab_list[dev]->read_r) -+ ret = devoptab_list[dev]->read_r(r,fd,ptr,len); -+ } -+ return ret; -+} -+ -diff -Nbaur newlib-1.13.0/libgloss/libsysbase/sbrk.c newlib-1.13.0-new/libgloss/libsysbase/sbrk.c ---- newlib-1.13.0/libgloss/libsysbase/sbrk.c Thu Jan 1 00:00:00 1970 -+++ newlib-1.13.0-new/libgloss/libsysbase/sbrk.c Fri Sep 9 17:52:53 2005 -@@ -0,0 +1,58 @@ -+#include <_ansi.h> -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+extern char *fake_heap_end; -+extern char *fake_heap_start; -+ -+/* Register name faking - works in collusion with the linker. */ -+register char * stack_ptr asm ("sp"); -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+caddr_t _sbrk_r (struct _reent *ptr, int incr) { -+//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+caddr_t _sbrk (int incr) { -+//--------------------------------------------------------------------------------- -+ struct _reent *ptr = _REENT; -+#endif -+ extern char end asm ("end"); /* Defined by the linker. */ -+ static char * heap_end; -+ char * prev_heap_end; -+ char * our_heap_end; -+ -+ if (heap_end == NULL) { -+ if (fake_heap_start == NULL) { -+ heap_end = &end; -+ } else { -+ heap_end = fake_heap_start; -+ } -+ } -+ -+ prev_heap_end = heap_end; -+ -+ if (fake_heap_end == NULL) { -+ our_heap_end = stack_ptr; -+ } else { -+ our_heap_end = fake_heap_end; -+ } -+ -+ if (heap_end + incr > our_heap_end) { -+ ptr->_errno = ENOMEM; -+ return (caddr_t) -1; -+ } -+ -+ heap_end += incr; -+ -+ return (caddr_t) prev_heap_end; -+} -diff -Nbaur newlib-1.13.0/libgloss/libsysbase/stat.c newlib-1.13.0-new/libgloss/libsysbase/stat.c ---- newlib-1.13.0/libgloss/libsysbase/stat.c Thu Jan 1 00:00:00 1970 -+++ newlib-1.13.0-new/libgloss/libsysbase/stat.c Tue Aug 30 22:30:31 2005 -@@ -0,0 +1,22 @@ -+/* -+ * Stub version of stat. -+ */ -+ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include -+#include "warning.h" -+ -+int -+_DEFUN (_stat, (file, st), -+ const char *file _AND -+ struct stat *st) -+{ -+ errno = ENOSYS; -+ return -1; -+} -+ -+stub_warning(_stat) -diff -Nbaur newlib-1.13.0/libgloss/libsysbase/times.c newlib-1.13.0-new/libgloss/libsysbase/times.c ---- newlib-1.13.0/libgloss/libsysbase/times.c Thu Jan 1 00:00:00 1970 -+++ newlib-1.13.0-new/libgloss/libsysbase/times.c Tue Aug 30 22:30:23 2005 -@@ -0,0 +1,13 @@ -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+ -+//--------------------------------------------------------------------------------- -+clock_t _DEFUN (_times, (buf), -+ struct tms *buf) { -+//--------------------------------------------------------------------------------- -+ errno = ENOSYS; -+ return -1; -+} -+ -diff -Nbaur newlib-1.13.0/libgloss/libsysbase/unlink.c newlib-1.13.0-new/libgloss/libsysbase/unlink.c ---- newlib-1.13.0/libgloss/libsysbase/unlink.c Thu Jan 1 00:00:00 1970 -+++ newlib-1.13.0-new/libgloss/libsysbase/unlink.c Tue Aug 30 12:40:17 2005 -@@ -0,0 +1,22 @@ -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+int _DEFUN (_unlink_r, (r, name), -+ struct _reent * r _AND -+ char *name ) { -+//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+int _DEFUN (_unlink, (name), -+ char *name) { -+//--------------------------------------------------------------------------------- -+ struct _reent *r = _REENT; -+#endif -+ r->_errno = ENOSYS; -+ return -1; -+} -+ -diff -Nbaur newlib-1.13.0/libgloss/libsysbase/wait.c newlib-1.13.0-new/libgloss/libsysbase/wait.c ---- newlib-1.13.0/libgloss/libsysbase/wait.c Thu Jan 1 00:00:00 1970 -+++ newlib-1.13.0-new/libgloss/libsysbase/wait.c Tue Aug 30 22:33:21 2005 -@@ -0,0 +1,19 @@ -+/* -+ * Stub version of wait. -+ */ -+ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include "warning.h" -+ -+int -+_DEFUN (_wait, (status), -+ int *status) -+{ -+ errno = ENOSYS; -+ return -1; -+} -+ -+stub_warning(_wait) -diff -Nbaur newlib-1.13.0/libgloss/libsysbase/warning.h newlib-1.13.0-new/libgloss/libsysbase/warning.h ---- newlib-1.13.0/libgloss/libsysbase/warning.h Thu Jan 1 00:00:00 1970 -+++ newlib-1.13.0-new/libgloss/libsysbase/warning.h Sat May 11 21:48:04 2002 -@@ -0,0 +1,43 @@ -+#ifndef __WARNING_H__ -+#define __WARNING_H__ -+ -+#ifdef HAVE_GNU_LD -+# ifdef HAVE_ELF -+ -+/* We want the .gnu.warning.SYMBOL section to be unallocated. */ -+# ifdef HAVE_ASM_PREVIOUS_DIRECTIVE -+# define __make_section_unallocated(section_string) \ -+ asm(".section " section_string "; .previous"); -+# elif defined (HAVE_ASM_POPSECTION_DIRECTIVE) -+# define __make_section_unallocated(section_string) \ -+ asm(".pushsection " section_string "; .popsection"); -+# else -+# define __make_section_unallocated(section_string) -+# endif -+ -+# ifdef HAVE_SECTION_ATTRIBUTES -+# define link_warning(symbol, msg) \ -+ __make_section_unallocated (".gnu.warning." #symbol) \ -+ static const char __evoke_link_warning_##symbol[] \ -+ __attribute__ ((section (".gnu.warning." #symbol))) = msg; -+# else -+# define link_warning(symbol, msg) -+# endif -+ -+#else /* !ELF */ -+ -+# define link_warning(symbol, msg) \ -+ asm(".stabs \"" msg "\",30,0,0,0\n" \ -+ ".stabs \"" __SYMBOL_PREFIX #symbol "\",1,0,0,0\n"); -+# endif -+#else /* !GNULD */ -+/* We will never be heard; they will all die horribly. */ -+# define link_warning(symbol, msg) -+#endif -+ -+/* A canned warning for sysdeps/stub functions. */ -+#define stub_warning(name) \ -+ link_warning (name, \ -+ "warning: " #name " is not implemented and will always fail") -+ -+#endif /* __WARNING_H__ */ -diff -Nbaur newlib-1.13.0/libgloss/libsysbase/write.c newlib-1.13.0-new/libgloss/libsysbase/write.c ---- newlib-1.13.0/libgloss/libsysbase/write.c Thu Jan 1 00:00:00 1970 -+++ newlib-1.13.0-new/libgloss/libsysbase/write.c Tue Aug 30 22:29:39 2005 -@@ -0,0 +1,39 @@ -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+ -+#include -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+int _DEFUN(_write_r,(r, file, ptr, len), -+ struct _reent * r _AND -+ int file _AND -+ char *ptr _AND -+ int len) { -+//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+int _DEFUN (_write, (file, ptr, len), -+ int file _AND -+ char *ptr _AND -+ int len) { -+//--------------------------------------------------------------------------------- -+ struct _reent *r = _REENT; -+#endif -+ int ret = -1; -+ unsigned int dev = 0; -+ unsigned int fd = -1; -+ -+ if(file!=-1) { -+ dev = file; -+ if(file&0xf000) { -+ dev = _SHIFTR(file,12,4); -+ fd = file&0x0fff; -+ } -+ if(devoptab_list[dev]->write_r) -+ ret = devoptab_list[dev]->write_r(r,fd,ptr,len); -+ } -+ return ret; -+} -diff -Nbaur newlib-1.13.0/newlib/libc/include/stdint.h newlib-1.13.0-new/newlib/libc/include/stdint.h ---- newlib-1.13.0/newlib/libc/include/stdint.h Thu Jan 1 00:00:00 1970 -+++ newlib-1.13.0-new/newlib/libc/include/stdint.h Mon Sep 19 23:33:16 2005 -@@ -0,0 +1,282 @@ -+/* -+ * Copyright (c) 2004, 2005 by -+ * Ralf Corsepius, Ulm/Germany. All rights reserved. -+ * -+ * Permission to use, copy, modify, and distribute this software -+ * is freely granted, provided that this notice is preserved. -+ */ -+ -+/* -+ * @todo - Add fast_t types. -+ * @todo - Add support for wint_t types. -+ */ -+ -+#ifndef _STDINT_H -+#define _STDINT_H -+ -+#ifdef __cplusplus -+extern "C" { -+#endif -+ -+#if defined(__GNUC__) && (__GNUC__ >= 3 ) \ -+ && defined(__GNUC_MINOR__) && (__GNUC_MINOR__ > 2 ) -+#define __EXP(x) __##x##__ -+#else -+#define __EXP(x) x -+#include -+#endif -+ -+#if __EXP(SCHAR_MAX) == 0x7f -+typedef signed char int8_t ; -+typedef unsigned char uint8_t ; -+#define __int8_t_defined 1 -+#endif -+ -+#if __int8_t_defined -+typedef signed char int_least8_t; -+typedef unsigned char uint_least8_t; -+#define __int_least8_t_defined 1 -+#endif -+ -+#if __EXP(SHRT_MAX) == 0x7fff -+typedef signed short int16_t; -+typedef unsigned short uint16_t; -+#define __int16_t_defined 1 -+#elif __EXP(INT_MAX) == 0x7fff -+typedef signed int int16_t; -+typedef unsigned int uint16_t; -+#define __int16_t_defined 1 -+#elif __EXP(SCHAR_MAX) == 0x7fff -+typedef signed char int16_t; -+typedef unsigned char uint16_t; -+#define __int16_t_defined 1 -+#endif -+ -+#if __int16_t_defined -+typedef int16_t int_least16_t; -+typedef uint16_t uint_least16_t; -+#define __int_least16_t_defined 1 -+ -+#ifndef __int_least8_t_defined -+typedef int16_t int_least8_t; -+typedef uint16_t uint_least8_t; -+#define __int_least8_t_defined 1 -+#endif -+#endif -+ -+#if __EXP(INT_MAX) == 0x7fffffffL -+typedef signed int int32_t; -+typedef unsigned int uint32_t; -+#define __int32_t_defined 1 -+#elif __EXP(LONG_MAX) == 0x7fffffffL -+typedef signed long int32_t; -+typedef unsigned long uint32_t; -+#define __int32_t_defined 1 -+#define __have_long32 1 -+#elif __EXP(SHRT_MAX) == 0x7fffffffL -+typedef signed short int32_t; -+typedef unsigned short uint32_t; -+#define __int32_t_defined 1 -+#elif __EXP(SCHAR_MAX) == 0x7fffffffL -+typedef signed char int32_t; -+typedef unsigned char uint32_t; -+#define __int32_t_defined 1 -+#endif -+ -+#if __int32_t_defined -+typedef int32_t int_least32_t; -+typedef uint32_t uint_least32_t; -+#define __int_least32_t_defined 1 -+ -+#ifndef __int_least8_t_defined -+typedef int32_t int_least8_t; -+typedef uint32_t uint_least8_t; -+#define __int_least8_t_defined 1 -+#endif -+ -+#ifndef __int_least16_t_defined -+typedef int32_t int_least16_t; -+typedef uint32_t uint_least16_t; -+#define __int_least16_t_defined 1 -+#endif -+#endif -+ -+#if __EXP(LONG_MAX) > 0x7fffffff -+typedef signed long int64_t; -+typedef unsigned long uint64_t; -+#define __int64_t_defined 1 -+#define __have_long64 1 -+#elif defined(__LONG_LONG_MAX__) && (__LONG_LONG_MAX__ > 0x7fffffff) -+typedef signed long long int64_t; -+typedef unsigned long long uint64_t; -+#define __int64_t_defined 1 -+#define __have_longlong64 1 -+#elif defined(LLONG_MAX) && (LLONG_MAX > 0x7fffffff) -+typedef signed long long int64_t; -+typedef unsigned long long uint64_t; -+#define __int64_t_defined 1 -+#define __have_longlong64 1 -+#elif __EXP(INT_MAX) > 0x7fffffff -+typedef signed int int64_t; -+typedef unsigned int uint64_t; -+#define __int64_t_defined 1 -+#endif -+ -+#if __int64_t_defined -+typedef int64_t int_least64_t; -+typedef uint64_t uint_least64_t; -+#define __int_least64_t_defined 1 -+ -+#ifndef __int_least8_t_defined -+typedef int64_t int_least8_t; -+typedef uint64_t uint_least8_t; -+#define __int_least8_t_defined 1 -+#endif -+ -+#ifndef __int_least16_t_defined -+typedef int64_t int_least16_t; -+typedef uint64_t uint_least16_t; -+#define __int_least16_t_defined 1 -+#endif -+ -+#ifndef __int_least32_t_defined -+typedef int64_t int_least32_t; -+typedef uint64_t uint_least32_t; -+#define __int_least32_t_defined 1 -+#endif -+#endif -+ -+#if __have_longlong64 -+typedef signed long long intmax_t; -+typedef unsigned long long uintmax_t; -+#else -+typedef signed long intmax_t; -+typedef unsigned long uintmax_t; -+#endif -+ -+/* -+ * GCC doesn't provide an propriate macro for [u]intptr_t -+ * For now, use __PTRDIFF_TYPE__ -+ */ -+#if defined(__PTRDIFF_TYPE__) -+typedef signed __PTRDIFF_TYPE__ intptr_t; -+typedef unsigned __PTRDIFF_TYPE__ uintptr_t; -+#else -+/* -+ * Fallback to hardcoded values, -+ * should be valid on cpu's with 32bit int/32bit void* -+ */ -+typedef signed long intptr_t; -+typedef unsigned long uintptr_t; -+#endif -+ -+/* Limits of Specified-Width Integer Types */ -+ -+#if __int8_t_defined -+#define INT8_MIN -128 -+#define INT8_MAX 127 -+#define UINT8_MAX 255 -+#endif -+ -+#if __int_least8_t_defined -+#define INTLEAST8_MIN -128 -+#define INTLEAST8_MAX 127 -+#define UINTLEAST8_MAX 255 -+#else -+#error required type int_least8_t missing -+#endif -+ -+#if __int16_t_defined -+#define INT16_MIN -32768 -+#define INT16_MAX 32767 -+#define UINT16_MAX 65535 -+#endif -+ -+#if __int_least16_t_defined -+#define INTLEAST16_MIN -32768 -+#define INTLEAST16_MAX 32767 -+#define UINTLEAST16_MAX 65535 -+#else -+#error required type int_least16_t missing -+#endif -+ -+#if __int32_t_defined -+#define INT32_MIN -2147483648 -+#define INT32_MAX 2147483647 -+#define UINT32_MAX 4294967295 -+#endif -+ -+#if __int_least32_t_defined -+#define INTLEAST32_MIN -2147483648 -+#define INTLEAST32_MAX 2147483647 -+#define UINTLEAST32_MAX 4294967295 -+#else -+#error required type int_least32_t missing -+#endif -+ -+#if __int64_t_defined -+#define INT64_MIN -9223372036854775808 -+#define INT64_MAX 9223372036854775807 -+#define UINT64_MAX 18446744073709551615 -+#endif -+ -+#if __int_least64_t_defined -+#define INTLEAST64_MIN -9223372036854775808 -+#define INTLEAST64_MAX 9223372036854775807 -+#define UINTLEAST64_MAX 18446744073709551615 -+#endif -+ -+/* This must match size_t in stddef.h, currently long unsigned int */ -+#define SIZE_MIN (-__EXP(LONG_MAX) - 1L) -+#define SIZE_MAX __EXP(LONG_MAX) -+ -+/* This must match sig_atomic_t in (currently int) */ -+#define SIG_ATOMIC_MIN (-__EXP(INT_MAX) - 1) -+#define SIG_ATOMIC_MAX __EXP(INT_MAX) -+ -+/* This must match ptrdiff_t in (currently long int) */ -+#define PTRDIFF_MIN (-__EXP(LONG_MAX) - 1L) -+#define PTHDIFF_MAX __EXT(LONG_MAX) -+ -+#undef __EXP -+ -+/** Macros for minimum-width integer constant expressions */ -+#define INT8_C(x) x -+#define UINT8_C(x) x##U -+ -+#define INT16_C(x) x -+#define UINT16_C(x) x##U -+ -+#if __have_long32 -+#define INT32_C(x) x##L -+#define UINT32_C(x) x##UL -+#else -+#define INT32_C(x) x -+#define UINT32_C(x) x##U -+#endif -+ -+#if __int64_t_defined -+#if __have_longlong64 -+#define INT64_C(x) x##LL -+#define UINT64_C(x) x##ULL -+#else -+#define INT64_C(x) x##L -+#define UINT64_C(x) x##UL -+#endif -+#endif -+ -+/** Macros for greatest-width integer constant expression */ -+#if __have_longlong64 -+#define INTMAX_C(x) x##LL -+#define UINTMAX_C(x) x##ULL -+#else -+#define INTMAX_C(x) x##L -+#define UINTMAX_C(x) x##UL -+#endif -+ -+ -+#ifdef __cplusplus -+} -+#endif -+ -+#endif /* _STDINT_H */ -diff -Nbaur newlib-1.13.0/newlib/libc/include/stdio.h newlib-1.13.0-new/newlib/libc/include/stdio.h ---- newlib-1.13.0/newlib/libc/include/stdio.h Wed Nov 24 00:45:40 2004 -+++ newlib-1.13.0-new/newlib/libc/include/stdio.h Wed Sep 14 04:49:02 2005 -@@ -244,6 +244,7 @@ - int _EXFUN(vfiscanf, (FILE *, const char *, __VALIST)); - int _EXFUN(vfscanf, (FILE *, const char *, __VALIST)); - int _EXFUN(viscanf, (const char *, __VALIST)); -+int _EXFUN(viprintf, (const char *, __VALIST)); - int _EXFUN(vscanf, (const char *, __VALIST)); - int _EXFUN(vsiscanf, (const char *, const char *, __VALIST)); - int _EXFUN(vsscanf, (const char *, const char *, __VALIST)); -diff -Nbaur newlib-1.13.0/newlib/libc/include/sys/iosupport.h newlib-1.13.0-new/newlib/libc/include/sys/iosupport.h ---- newlib-1.13.0/newlib/libc/include/sys/iosupport.h Thu Jan 1 00:00:00 1970 -+++ newlib-1.13.0-new/newlib/libc/include/sys/iosupport.h Fri Sep 16 03:20:57 2005 -@@ -0,0 +1,33 @@ -+#ifndef __iosupp_h__ -+#define __iosupp_h__ -+ -+#include -+ -+enum { -+ STD_IN, -+ STD_OUT, -+ STD_ERR, -+ STD_MAX = 16 -+}; -+ -+#define _SHIFTL(v, s, w) \ -+ ((unsigned int) (((unsigned int)(v) & ((0x01 << (w)) - 1)) << (s))) -+#define _SHIFTR(v, s, w) \ -+ ((unsigned int)(((unsigned int)(v) >> (s)) & ((0x01 << (w)) - 1))) -+ -+typedef struct { -+ const char *name; -+ int (*open_r)(struct _reent *r,const char *path,int flags,int mode); -+ int (*close_r)(struct _reent *r,int fd); -+ int (*write_r)(struct _reent *r,int fd,const char *ptr,int len); -+ int (*read_r)(struct _reent *r,int fd,char *ptr,int len); -+ int (*seek_r)(struct _reent *r,int fd,int pos,int dir); -+ int (*stat_r)(struct _reent *r,int fd,struct stat *st); -+} devoptab_t; -+ -+extern const devoptab_t *devoptab_list[]; -+ -+int AddDevice( const devoptab_t* device); -+int FindDevice(char* name); -+ -+#endif diff --git a/dkarm/patches/newlib-1.14.0.patch b/dkarm/patches/newlib-1.14.0.patch deleted file mode 100644 index e84b3ef..0000000 --- a/dkarm/patches/newlib-1.14.0.patch +++ /dev/null @@ -1,2890 +0,0 @@ -diff -Nbaur newlib-1.14.0/libgloss/configure newlib-1.14.0-arm/libgloss/configure ---- newlib-1.14.0/libgloss/configure Mon Dec 12 11:25:07 2005 -+++ newlib-1.14.0-arm/libgloss/configure Fri Apr 14 22:08:39 2006 -@@ -711,9 +711,9 @@ - - - if test -z "${with_multisubdir}" ; then -- configdirs="doc libnosys" -+ configdirs="doc libnosys libsysbase" - else -- configdirs="libnosys" -+ configdirs="libnosys libsysbase" - fi - - case "${target}" in -diff -Nbaur newlib-1.14.0/libgloss/configure.in newlib-1.14.0-arm/libgloss/configure.in ---- newlib-1.14.0/libgloss/configure.in Mon Dec 12 11:25:07 2005 -+++ newlib-1.14.0-arm/libgloss/configure.in Fri Apr 14 22:08:39 2006 -@@ -22,9 +22,9 @@ - AC_CANONICAL_SYSTEM - - if test -z "${with_multisubdir}" ; then -- configdirs="doc libnosys" -+ configdirs="doc libnosys libsysbase" - else -- configdirs="libnosys" -+ configdirs="libnosys libsysbase" - fi - - case "${target}" in -diff -Nbaur newlib-1.14.0/libgloss/libsysbase/Makefile.in newlib-1.14.0-arm/libgloss/libsysbase/Makefile.in ---- newlib-1.14.0/libgloss/libsysbase/Makefile.in Thu Jan 1 00:00:00 1970 -+++ newlib-1.14.0-arm/libgloss/libsysbase/Makefile.in Fri Apr 14 22:08:39 2006 -@@ -0,0 +1,145 @@ -+# 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@ -+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@ -+AS = `if [ -f ${objroot}/../gas/as.new ] ; \ -+ then echo ${objroot}/../gas/as.new ; \ -+ else echo as ; fi` -+ -+AR = @AR@ -+ -+#LD = @LD@ -+LD = `if [ -f ${objroot}/../ld/ld.new ] ; \ -+ then echo ${objroot}/../ld/ld.new ; \ -+ else echo ld ; fi` -+ -+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 -+OBJS = abort.o iosupport.o close.o environ.o execve.o fork.o fstat.o getpid.o gettod.o \ -+ isatty.o kill.o link.o lseek.o open.o read.o sbrk.o stat.o \ -+ times.o unlink.o wait.o write.o _exit.o malloc_vars.o -+ -+# Object files specific to particular targets. -+EVALOBJS = ${OBJS} -+ -+GCC_LDFLAGS = `if [ -d ${objroot}/../gcc ] ; \ -+ then echo -L${objroot}/../gcc ; fi` -+ -+OUTPUTS = libsysbase.a -+ -+NEWLIB_CFLAGS = `if [ -d ${objroot}/newlib ]; then echo -I${objroot}/newlib/targ-include -I${srcroot}/newlib/libc/include; fi` -+NEWLIB_LDFLAGS = `if [ -d ${objroot}/newlib ]; then echo -B${objroot}/newlib/ -L${objroot}/newlib/; fi` -+ -+INCLUDES = -I. -I$(srcdir)/.. -+# Note that when building the library, ${MULTILIB} is not the way multilib -+# options are passed; they're passed in $(CFLAGS). -+CFLAGS_FOR_TARGET = ${MULTILIB} ${INCLUDES} ${NEWLIB_CFLAGS} -+LDFLAGS_FOR_TARGET = ${MULTILIB} ${NEWLIB_LDFLAGS} -+AR_FLAGS = qc -+ -+.c.o: -+ $(CC) $(CFLAGS_FOR_TARGET) -O2 $(INCLUDES) -c $(CFLAGS) $< -+ -+.C.o: -+ $(CC) $(CFLAGS_FOR_TARGET) -O2 $(INCLUDES) -c $(CFLAGS) $< -+.s.o: -+ $(AS) $(ASFLAGS_FOR_TARGET) $(INCLUDES) $(ASFLAGS) -o $*.o $< -+ -+# -+# GCC knows to run the preprocessor on .S files before it assembles them. -+# -+.S.o: -+ $(CC) $(CFLAGS_FOR_TARGET) $(INCLUDES) $(CFLAGS) -c $< -+ -+# -+# this is a bogus target that'll produce an assembler from the -+# C source with the right compiler options. this is so we can -+# track down code generation or debug symbol bugs. -+# -+.c.s: -+ $(CC) $(CFLAGS_FOR_TARGET) -S $(INCLUDES) $(CFLAGS) $< -+ -+all: ${OUTPUTS} -+ -+# -+# here's where we build the library for each target -+# -+ -+libsysbase.a: $(EVALOBJS) -+ ${AR} ${ARFLAGS} $@ $(EVALOBJS) -+ ${RANLIB} $@ -+ -+doc: -+ -+clean mostlyclean: -+ rm -f $(OUTPUTS) *.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_PROGRAM) $${outputs} $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}; \ -+ done -+ -+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 -Nbaur newlib-1.14.0/libgloss/libsysbase/_exit.c newlib-1.14.0-arm/libgloss/libsysbase/_exit.c ---- newlib-1.14.0/libgloss/libsysbase/_exit.c Thu Jan 1 00:00:00 1970 -+++ newlib-1.14.0-arm/libgloss/libsysbase/_exit.c Wed May 10 20:44:45 2006 -@@ -0,0 +1,14 @@ -+/* Stub version of _exit. */ -+ -+#include -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+ -+_VOID -+_DEFUN (_exit, (rc), -+ int rc) -+{ -+ -+ while(1); -+} -diff -Nbaur newlib-1.14.0/libgloss/libsysbase/abort.c newlib-1.14.0-arm/libgloss/libsysbase/abort.c ---- newlib-1.14.0/libgloss/libsysbase/abort.c Thu Jan 1 00:00:00 1970 -+++ newlib-1.14.0-arm/libgloss/libsysbase/abort.c Fri Apr 14 22:08:39 2006 -@@ -0,0 +1,8 @@ -+#include -+#include -+ -+void abort(void) { -+ write (2, "Abort called.\n", sizeof("Abort called.\n")-1); -+ exit (1); -+} -+ -diff -Nbaur newlib-1.14.0/libgloss/libsysbase/acconfig.h newlib-1.14.0-arm/libgloss/libsysbase/acconfig.h ---- newlib-1.14.0/libgloss/libsysbase/acconfig.h Thu Jan 1 00:00:00 1970 -+++ newlib-1.14.0-arm/libgloss/libsysbase/acconfig.h Fri Apr 14 22:08:39 2006 -@@ -0,0 +1,26 @@ -+/* Name of package. */ -+#undef PACKAGE -+ -+/* Version of package. */ -+#undef VERSION -+ -+/* Missing syscall names */ -+#undef MISSING_SYSCALL_NAMES -+ -+/* Using ELF format */ -+#undef HAVE_ELF -+ -+/* Using GNU LD */ -+#undef HAVE_GNU_LD -+ -+/* .previous directive allowed */ -+#undef HAVE_ASM_PREVIOUS_DIRECTIVE -+ -+/* .pushsection/.popsection directives allowed */ -+#undef HAVE_ASM_POPSECTION_DIRECTIVE -+ -+/* support for section attributes */ -+#undef HAVE_SECTION_ATTRIBUTES -+ -+/* symbol prefix */ -+#undef __SYMBOL_PREFIX -diff -Nbaur newlib-1.14.0/libgloss/libsysbase/close.c newlib-1.14.0-arm/libgloss/libsysbase/close.c ---- newlib-1.14.0/libgloss/libsysbase/close.c Thu Jan 1 00:00:00 1970 -+++ newlib-1.14.0-arm/libgloss/libsysbase/close.c Wed May 10 20:19:42 2006 -@@ -0,0 +1,38 @@ -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+ -+#include -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+int _DEFUN(_close_r,(ptr,fileDesc), -+ struct _reent *ptr _AND -+ int fileDesc) { -+//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+int _DEFUN(_close,(fileDesc), -+ int fileDesc) { -+//--------------------------------------------------------------------------------- -+ struct _reent *ptr = _REENT; -+#endif -+ int ret = -1; -+ unsigned int dev = 0; -+ unsigned int fd = -1; -+ -+ if(fileDesc!=-1) { -+ -+ __handle *handle = fileDesc; -+ -+ dev = handle->device; -+ fd = handle->fileStruct; -+ -+ if(devoptab_list[dev]->close_r) -+ ret = devoptab_list[dev]->close_r(ptr,fd); -+ -+ free(fileDesc); -+ } -+ return ret; -+} -diff -Nbaur newlib-1.14.0/libgloss/libsysbase/config.h.in newlib-1.14.0-arm/libgloss/libsysbase/config.h.in ---- newlib-1.14.0/libgloss/libsysbase/config.h.in Thu Jan 1 00:00:00 1970 -+++ newlib-1.14.0-arm/libgloss/libsysbase/config.h.in Fri Apr 14 22:08:39 2006 -@@ -0,0 +1,22 @@ -+/* config.h.in. Generated automatically from configure.in by autoheader. */ -+ -+/* Missing syscall names */ -+#undef MISSING_SYSCALL_NAMES -+ -+/* Using ELF format */ -+#undef HAVE_ELF -+ -+/* Using GNU LD */ -+#undef HAVE_GNU_LD -+ -+/* .previous directive allowed */ -+#undef HAVE_ASM_PREVIOUS_DIRECTIVE -+ -+/* .pushsection/.popsection directives allowed */ -+#undef HAVE_ASM_POPSECTION_DIRECTIVE -+ -+/* support for section attributes */ -+#undef HAVE_SECTION_ATTRIBUTES -+ -+/* symbol prefix */ -+#undef __SYMBOL_PREFIX -diff -Nbaur newlib-1.14.0/libgloss/libsysbase/configure newlib-1.14.0-arm/libgloss/libsysbase/configure ---- newlib-1.14.0/libgloss/libsysbase/configure Thu Jan 1 00:00:00 1970 -+++ newlib-1.14.0-arm/libgloss/libsysbase/configure Fri Apr 14 22:08:39 2006 -@@ -0,0 +1,1461 @@ -+#! /bin/sh -+ -+# Guess values for system-dependent variables and create Makefiles. -+# Generated automatically using autoconf version 2.13 -+# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc. -+# -+# This configure script is free software; the Free Software Foundation -+# gives unlimited permission to copy, distribute and modify it. -+ -+# Defaults: -+ac_help= -+ac_default_prefix=/usr/local -+# Any additions from configure.in: -+ -+# Initialize some variables set by options. -+# The variables have the same names as the options, with -+# dashes changed to underlines. -+build=NONE -+cache_file=./config.cache -+exec_prefix=NONE -+host=NONE -+no_create= -+nonopt=NONE -+no_recursion= -+prefix=NONE -+program_prefix=NONE -+program_suffix=NONE -+program_transform_name=s,x,x, -+silent= -+site= -+srcdir= -+target=NONE -+verbose= -+x_includes=NONE -+x_libraries=NONE -+bindir='${exec_prefix}/bin' -+sbindir='${exec_prefix}/sbin' -+libexecdir='${exec_prefix}/libexec' -+datadir='${prefix}/share' -+sysconfdir='${prefix}/etc' -+sharedstatedir='${prefix}/com' -+localstatedir='${prefix}/var' -+libdir='${exec_prefix}/lib' -+includedir='${prefix}/include' -+oldincludedir='/usr/include' -+infodir='${prefix}/info' -+mandir='${prefix}/man' -+ -+# Initialize some other variables. -+subdirs= -+MFLAGS= MAKEFLAGS= -+SHELL=${CONFIG_SHELL-/bin/sh} -+# Maximum number of lines to put in a shell here document. -+ac_max_here_lines=12 -+ -+ac_prev= -+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=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;; -+ *) ac_optarg= ;; -+ esac -+ -+ # Accept the important Cygnus configure options, so we can diagnose typos. -+ -+ case "$ac_option" in -+ -+ -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 ;; -+ -build=* | --build=* | --buil=* | --bui=* | --bu=*) -+ build="$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" ;; -+ -+ -datadir | --datadir | --datadi | --datad | --data | --dat | --da) -+ ac_prev=datadir ;; -+ -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ -+ | --da=*) -+ datadir="$ac_optarg" ;; -+ -+ -disable-* | --disable-*) -+ ac_feature=`echo $ac_option|sed -e 's/-*disable-//'` -+ # Reject names that are not valid shell variable names. -+ if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then -+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } -+ fi -+ ac_feature=`echo $ac_feature| sed 's/-/_/g'` -+ eval "enable_${ac_feature}=no" ;; -+ -+ -enable-* | --enable-*) -+ ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'` -+ # Reject names that are not valid shell variable names. -+ if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then -+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } -+ fi -+ ac_feature=`echo $ac_feature| sed 's/-/_/g'` -+ case "$ac_option" in -+ *=*) ;; -+ *) ac_optarg=yes ;; -+ esac -+ eval "enable_${ac_feature}='$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) -+ # 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 << EOF -+Usage: configure [options] [host] -+Options: [defaults in brackets after descriptions] -+Configuration: -+ --cache-file=FILE cache test results in FILE -+ --help print this message -+ --no-create do not create output files -+ --quiet, --silent do not print \`checking...' messages -+ --version print the version of autoconf that created configure -+Directory and file names: -+ --prefix=PREFIX install architecture-independent files in PREFIX -+ [$ac_default_prefix] -+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX -+ [same as prefix] -+ --bindir=DIR user executables in DIR [EPREFIX/bin] -+ --sbindir=DIR system admin executables in DIR [EPREFIX/sbin] -+ --libexecdir=DIR program executables in DIR [EPREFIX/libexec] -+ --datadir=DIR read-only architecture-independent data in DIR -+ [PREFIX/share] -+ --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc] -+ --sharedstatedir=DIR modifiable architecture-independent data in DIR -+ [PREFIX/com] -+ --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var] -+ --libdir=DIR object code libraries in DIR [EPREFIX/lib] -+ --includedir=DIR C header files in DIR [PREFIX/include] -+ --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include] -+ --infodir=DIR info documentation in DIR [PREFIX/info] -+ --mandir=DIR man documentation in DIR [PREFIX/man] -+ --srcdir=DIR find the sources in DIR [configure dir or ..] -+ --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 -+EOF -+ cat << EOF -+Host type: -+ --build=BUILD configure for building on BUILD [BUILD=HOST] -+ --host=HOST configure for HOST [guessed] -+ --target=TARGET configure for TARGET [TARGET=HOST] -+Features and packages: -+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) -+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes] -+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] -+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) -+ --x-includes=DIR X include files are in DIR -+ --x-libraries=DIR X library files are in DIR -+EOF -+ if test -n "$ac_help"; then -+ echo "--enable and --with options recognized:$ac_help" -+ fi -+ exit 0 ;; -+ -+ -host | --host | --hos | --ho) -+ ac_prev=host ;; -+ -host=* | --host=* | --hos=* | --ho=*) -+ host="$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" ;; -+ -+ -localstatedir | --localstatedir | --localstatedi | --localstated \ -+ | --localstate | --localstat | --localsta | --localst \ -+ | --locals | --local | --loca | --loc | --lo) -+ ac_prev=localstatedir ;; -+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ -+ | --localstate=* | --localstat=* | --localsta=* | --localst=* \ -+ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) -+ 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) -+ 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" ;; -+ -+ -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 ;; -+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) -+ target="$ac_optarg" ;; -+ -+ -v | -verbose | --verbose | --verbos | --verbo | --verb) -+ verbose=yes ;; -+ -+ -version | --version | --versio | --versi | --vers) -+ echo "configure generated by autoconf version 2.13" -+ exit 0 ;; -+ -+ -with-* | --with-*) -+ ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'` -+ # Reject names that are not valid shell variable names. -+ if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then -+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } -+ fi -+ ac_package=`echo $ac_package| sed 's/-/_/g'` -+ case "$ac_option" in -+ *=*) ;; -+ *) ac_optarg=yes ;; -+ esac -+ eval "with_${ac_package}='$ac_optarg'" ;; -+ -+ -without-* | --without-*) -+ ac_package=`echo $ac_option|sed -e 's/-*without-//'` -+ # Reject names that are not valid shell variable names. -+ if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then -+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } -+ fi -+ ac_package=`echo $ac_package| sed 's/-/_/g'` -+ eval "with_${ac_package}=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" ;; -+ -+ -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; } -+ ;; -+ -+ *) -+ if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then -+ echo "configure: warning: $ac_option: invalid host type" 1>&2 -+ fi -+ if test "x$nonopt" != xNONE; then -+ { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } -+ fi -+ nonopt="$ac_option" -+ ;; -+ -+ esac -+done -+ -+if test -n "$ac_prev"; then -+ { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; } -+fi -+ -+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 -+ -+# File descriptor usage: -+# 0 standard input -+# 1 file creation -+# 2 errors and warnings -+# 3 some systems may open it to /dev/tty -+# 4 used on the Kubota Titan -+# 6 checking for... messages and results -+# 5 compiler messages saved in config.log -+if test "$silent" = yes; then -+ exec 6>/dev/null -+else -+ exec 6>&1 -+fi -+exec 5>./config.log -+ -+echo "\ -+This file contains any messages produced by compilers while -+running configure, to aid debugging if configure makes a mistake. -+" 1>&5 -+ -+# Strip out --no-create and --no-recursion so they do not pile up. -+# Also quote any args containing shell metacharacters. -+ac_configure_args= -+for ac_arg -+do -+ case "$ac_arg" in -+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \ -+ | --no-cr | --no-c) ;; -+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \ -+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;; -+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*) -+ ac_configure_args="$ac_configure_args '$ac_arg'" ;; -+ *) ac_configure_args="$ac_configure_args $ac_arg" ;; -+ esac -+done -+ -+# NLS nuisances. -+# Only set these to C if already set. These must not be set unconditionally -+# because not all systems understand e.g. LANG=C (notably SCO). -+# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'! -+# Non-C LC_CTYPE values break the ctype check. -+if test "${LANG+set}" = set; then LANG=C; export LANG; fi -+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi -+if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi -+if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi -+ -+# confdefs.h avoids OS command line length limits that DEFS can exceed. -+rm -rf conftest* confdefs.h -+# AIX cpp loses on an empty file, so make sure it contains at least a newline. -+echo > confdefs.h -+ -+# A filename unique to this package, relative to the directory that -+# configure is in, which we can look for to find out if srcdir is correct. -+ac_unique_file=close.c -+ -+# 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 its parent. -+ ac_prog=$0 -+ ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'` -+ test "x$ac_confdir" = "x$ac_prog" && ac_confdir=. -+ 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 -+ if test "$ac_srcdir_defaulted" = yes; then -+ { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; } -+ else -+ { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; } -+ fi -+fi -+srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'` -+ -+# Prefer explicitly selected file to automatically selected ones. -+if test -z "$CONFIG_SITE"; then -+ if test "x$prefix" != xNONE; then -+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" -+ else -+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" -+ fi -+fi -+for ac_site_file in $CONFIG_SITE; do -+ if test -r "$ac_site_file"; then -+ echo "loading site script $ac_site_file" -+ . "$ac_site_file" -+ fi -+done -+ -+if test -r "$cache_file"; then -+ echo "loading cache $cache_file" -+ . $cache_file -+else -+ echo "creating cache $cache_file" -+ > $cache_file -+fi -+ -+ac_ext=c -+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. -+ac_cpp='$CPP $CPPFLAGS' -+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' -+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' -+cross_compiling=$ac_cv_prog_cc_cross -+ -+ac_exeext= -+ac_objext=o -+if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then -+ # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu. -+ if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then -+ ac_n= ac_c=' -+' ac_t=' ' -+ else -+ ac_n=-n ac_c= ac_t= -+ fi -+else -+ ac_n= ac_c='\c' ac_t= -+fi -+ -+ -+ -+ -+if test "${enable_shared}" = "yes" ; then -+ echo "Shared libraries not supported for cross compiling, ignored" -+fi -+ -+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 -+ fi -+done -+if test -z "$ac_aux_dir"; then -+ { echo "configure: error: can not find install-sh or install.sh in $libgloss_topdir $srcdir/$libgloss_topdir" 1>&2; exit 1; } -+fi -+ac_config_guess=$ac_aux_dir/config.guess -+ac_config_sub=$ac_aux_dir/config.sub -+ac_configure=$ac_aux_dir/configure # This should be Cygnus configure. -+ -+ -+ -+# Do some error checking and defaulting for the host and target type. -+# The inputs are: -+# configure --host=HOST --target=TARGET --build=BUILD NONOPT -+# -+# The rules are: -+# 1. You are not allowed to specify --host, --target, and nonopt at the -+# same time. -+# 2. Host defaults to nonopt. -+# 3. If nonopt is not specified, then host defaults to the current host, -+# as determined by config.guess. -+# 4. Target and build default to nonopt. -+# 5. If nonopt is not specified, then target and build default to host. -+ -+# The aliases save the names the user supplied, while $host etc. -+# will get canonicalized. -+case $host---$target---$nonopt in -+NONE---*---* | *---NONE---* | *---*---NONE) ;; -+*) { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } ;; -+esac -+ -+ -+# Make sure we can run config.sub. -+if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then : -+else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; } -+fi -+ -+echo $ac_n "checking host system type""... $ac_c" 1>&6 -+echo "configure:588: checking host system type" >&5 -+ -+host_alias=$host -+case "$host_alias" in -+NONE) -+ case $nonopt in -+ NONE) -+ if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then : -+ else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; } -+ fi ;; -+ *) host_alias=$nonopt ;; -+ esac ;; -+esac -+ -+host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias` -+host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -+host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -+host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` -+echo "$ac_t""$host" 1>&6 -+ -+echo $ac_n "checking target system type""... $ac_c" 1>&6 -+echo "configure:609: checking target system type" >&5 -+ -+target_alias=$target -+case "$target_alias" in -+NONE) -+ case $nonopt in -+ NONE) target_alias=$host_alias ;; -+ *) target_alias=$nonopt ;; -+ esac ;; -+esac -+ -+target=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $target_alias` -+target_cpu=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -+target_vendor=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -+target_os=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` -+echo "$ac_t""$target" 1>&6 -+ -+echo $ac_n "checking build system type""... $ac_c" 1>&6 -+echo "configure:627: checking build system type" >&5 -+ -+build_alias=$build -+case "$build_alias" in -+NONE) -+ case $nonopt in -+ NONE) build_alias=$host_alias ;; -+ *) build_alias=$nonopt ;; -+ esac ;; -+esac -+ -+build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias` -+build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -+build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -+build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` -+echo "$ac_t""$build" 1>&6 -+ -+test "$host_alias" != "$target_alias" && -+ test "$program_prefix$program_suffix$program_transform_name" = \ -+ NONENONEs,x,x, && -+ program_prefix=${target_alias}- -+ -+if test "$program_transform_name" = s,x,x,; then -+ program_transform_name= -+else -+ # Double any \ or $. echo might interpret backslashes. -+ cat <<\EOF_SED > conftestsed -+s,\\,\\\\,g; s,\$,$$,g -+EOF_SED -+ program_transform_name="`echo $program_transform_name|sed -f conftestsed`" -+ rm -f conftestsed -+fi -+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" -+ -+# sed with no file args requires a program. -+test "$program_transform_name" = "" && program_transform_name="s,x,x," -+ -+ -+# 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 -+# 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" -+# ./install, which can be erroneously created by make from ./install.sh. -+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 -+echo "configure:681: checking for a BSD compatible install" >&5 -+if test -z "$INSTALL"; then -+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then -+ echo $ac_n "(cached) $ac_c" 1>&6 -+else -+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":" -+ for ac_dir in $PATH; do -+ # Account for people who put trailing slashes in PATH elements. -+ case "$ac_dir/" in -+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/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 -+ if test -f $ac_dir/$ac_prog; then -+ if test $ac_prog = install && -+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then -+ # AIX install. It has an incompatible calling convention. -+ : -+ else -+ ac_cv_path_install="$ac_dir/$ac_prog -c" -+ break 2 -+ fi -+ fi -+ done -+ ;; -+ esac -+ done -+ IFS="$ac_save_IFS" -+ -+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. We don't cache a -+ # path for INSTALL within a source directory, because that will -+ # break other packages using the cache if that directory is -+ # removed, or if the path is relative. -+ INSTALL="$ac_install_sh" -+ fi -+fi -+echo "$ac_t""$INSTALL" 1>&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_PROGRAM}' -+ -+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' -+ -+ -+# FIXME: We temporarily define our own version of AC_PROG_CC. This is -+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We -+# are building a library that must be included in all links, so we -+# can't link an executable until this lib is built. -+# autoconf should provide a way to do this. -+ -+ -+ -+cat >> confdefs.h <<\EOF -+#define HAVE_GNU_LD 1 -+EOF -+ -+case "${target}" in -+ *-*-cygwin*) -+ ;; -+ a29k-amd-udi) -+ ;; -+ arc-*-*) -+ ;; -+ arm-*-pe) -+ ;; -+ arm-*-*) -+ ;; -+ strongarm-*-*) -+ ;; -+ d10v*) -+ ;; -+ h8300*-*-*) -+ ;; -+ h8500-*-*) -+ ;; -+ i345686-*-sco*) -+ ;; -+ m32r-*-*) -+ ;; -+ mn10?00-*-*) -+ ;; -+ powerpcle-*-pe) -+ ;; -+ sh*-*-*) -+ ;; -+ sparc-sun-sunos*) -+ ;; -+ sparc64-*-*) -+ ;; -+ thumb-*-pe) -+ ;; -+ thumb-*-*) -+ ;; -+ v850-*-*) -+ ;; -+ v850e-*-*) -+ ;; -+ v850ea-*-*) -+ ;; -+ w65-*-*) -+ ;; -+ xstormy16-*-*) -+ ;; -+ z8k-*-*) -+ ;; -+ *) -+ cat >> confdefs.h <<\EOF -+#define MISSING_SYSCALL_NAMES 1 -+EOF -+ -+ ;; -+esac -+ -+case "${target}" in -+ *-*-elf) -+ cat >> confdefs.h <<\EOF -+#define HAVE_ELF 1 -+EOF -+ -+ -+ echo $ac_n "checking for .previous assembler directive""... $ac_c" 1>&6 -+echo "configure:811: checking for .previous assembler directive" >&5 -+if eval "test \"`echo '$''{'libc_cv_asm_previous_directive'+set}'`\" = set"; then -+ echo $ac_n "(cached) $ac_c" 1>&6 -+else -+ cat > conftest.s <&5; (eval $ac_try) 2>&5; }; }; then -+ cat >> confdefs.h <<\EOF -+#define HAVE_ASM_PREVIOUS_DIRECTIVE 1 -+EOF -+ -+ fi -+ rm -f conftest* -+fi -+ -+echo "$ac_t""$libc_cv_asm_previous_directive" 1>&6 -+ -+ echo $ac_n "checking for .popsection assembler directive""... $ac_c" 1>&6 -+echo "configure:831: checking for .popsection assembler directive" >&5 -+if eval "test \"`echo '$''{'libc_cv_asm_popsection_directive'+set}'`\" = set"; then -+ echo $ac_n "(cached) $ac_c" 1>&6 -+else -+ cat > conftest.s <&5; (eval $ac_try) 2>&5; }; }; then -+ cat >> confdefs.h <<\EOF -+#define HAVE_ASM_POPSECTION_DIRECTIVE 1 -+EOF -+ -+ fi -+ rm -f conftest* -+fi -+ -+echo "$ac_t""$libc_cv_asm_popsection_directive" 1>&6 -+ -+ echo $ac_n "checking for section attributes""... $ac_c" 1>&6 -+echo "configure:851: checking for section attributes" >&5 -+if eval "test \"`echo '$''{'libc_cv_section_attributes'+set}'`\" = set"; then -+ echo $ac_n "(cached) $ac_c" 1>&6 -+else -+ cat > conftest.c <&5; (eval $ac_try) 2>&5; }; }; then -+ cat >> confdefs.h <<\EOF -+#define HAVE_SECTION_ATTRIBUTES 1 -+EOF -+ -+ fi -+ rm -f conftest* -+fi -+ -+echo "$ac_t""$libc_cv_section_attributes" 1>&6 -+ ;; -+esac -+ -+echo $ac_n "checking for function prefix""... $ac_c" 1>&6 -+echo "configure:873: checking for function prefix" >&5 -+if eval "test \"`echo '$''{'libc_dollar_prefix'+set}'`\" = set"; then -+ echo $ac_n "(cached) $ac_c" 1>&6 -+else -+ cat > conftest.c <<\EOF -+foo () { } -+EOF -+if { ac_try='${CC-cc} -S conftest.c -o - | fgrep "\$foo" > /dev/null'; { (eval echo configure:880: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; }; -+then -+ libc_dollar_prefix=yes -+else -+ libc_dollar_prefix=no -+fi -+rm -f conftest* -+fi -+ -+echo "$ac_t""$libc_dollar_prefix" 1>&6 -+if test $libc_dollar_prefix = yes ; then -+ cat >> confdefs.h <<\EOF -+#define __SYMBOL_PREFIX "$" -+EOF -+ -+else -+ cat >> confdefs.h <<\EOF -+#define __SYMBOL_PREFIX "" -+EOF -+ -+fi -+ -+# Extract the first word of "gcc", so it can be a program name with args. -+set dummy gcc; ac_word=$2 -+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -+echo "configure:905: checking for $ac_word" >&5 -+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then -+ echo $ac_n "(cached) $ac_c" 1>&6 -+else -+ if test -n "$CC"; then -+ ac_cv_prog_CC="$CC" # Let the user override the test. -+else -+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" -+ ac_dummy="$PATH" -+ for ac_dir in $ac_dummy; do -+ test -z "$ac_dir" && ac_dir=. -+ if test -f $ac_dir/$ac_word; then -+ ac_cv_prog_CC="gcc" -+ break -+ fi -+ done -+ IFS="$ac_save_ifs" -+fi -+fi -+CC="$ac_cv_prog_CC" -+if test -n "$CC"; then -+ echo "$ac_t""$CC" 1>&6 -+else -+ echo "$ac_t""no" 1>&6 -+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 -+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -+echo "configure:935: checking for $ac_word" >&5 -+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then -+ echo $ac_n "(cached) $ac_c" 1>&6 -+else -+ if test -n "$CC"; then -+ ac_cv_prog_CC="$CC" # Let the user override the test. -+else -+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" -+ ac_prog_rejected=no -+ ac_dummy="$PATH" -+ for ac_dir in $ac_dummy; do -+ test -z "$ac_dir" && ac_dir=. -+ if test -f $ac_dir/$ac_word; then -+ if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then -+ ac_prog_rejected=yes -+ continue -+ fi -+ ac_cv_prog_CC="cc" -+ break -+ fi -+ done -+ IFS="$ac_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 $# -gt 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 -+ set dummy "$ac_dir/$ac_word" "$@" -+ shift -+ ac_cv_prog_CC="$@" -+ fi -+fi -+fi -+fi -+CC="$ac_cv_prog_CC" -+if test -n "$CC"; then -+ echo "$ac_t""$CC" 1>&6 -+else -+ echo "$ac_t""no" 1>&6 -+fi -+ -+ test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; } -+fi -+ -+echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6 -+echo "configure:984: checking whether we are using GNU C" >&5 -+if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then -+ echo $ac_n "(cached) $ac_c" 1>&6 -+else -+ cat > conftest.c <&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then -+ ac_cv_prog_gcc=yes -+else -+ ac_cv_prog_gcc=no -+fi -+fi -+ -+echo "$ac_t""$ac_cv_prog_gcc" 1>&6 -+ -+if test $ac_cv_prog_gcc = yes; then -+ GCC=yes -+ ac_test_CFLAGS="${CFLAGS+set}" -+ ac_save_CFLAGS="$CFLAGS" -+ CFLAGS= -+ echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 -+echo "configure:1008: checking whether ${CC-cc} accepts -g" >&5 -+if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then -+ echo $ac_n "(cached) $ac_c" 1>&6 -+else -+ echo 'void f(){}' > conftest.c -+if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then -+ ac_cv_prog_cc_g=yes -+else -+ ac_cv_prog_cc_g=no -+fi -+rm -f conftest* -+ -+fi -+ -+echo "$ac_t""$ac_cv_prog_cc_g" 1>&6 -+ 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} -+ -+# Extract the first word of "ranlib", so it can be a program name with args. -+set dummy ranlib; ac_word=$2 -+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -+echo "configure:1044: checking for $ac_word" >&5 -+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then -+ echo $ac_n "(cached) $ac_c" 1>&6 -+else -+ if test -n "$RANLIB"; then -+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. -+else -+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" -+ ac_dummy="$PATH" -+ for ac_dir in $ac_dummy; do -+ test -z "$ac_dir" && ac_dir=. -+ if test -f $ac_dir/$ac_word; then -+ ac_cv_prog_RANLIB="ranlib" -+ break -+ fi -+ done -+ IFS="$ac_save_ifs" -+ test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":" -+fi -+fi -+RANLIB="$ac_cv_prog_RANLIB" -+if test -n "$RANLIB"; then -+ echo "$ac_t""$RANLIB" 1>&6 -+else -+ echo "$ac_t""no" 1>&6 -+fi -+ -+ -+host_makefile_frag=${srcdir}/../config/default.mh -+ -+host_makefile_frag_path=$host_makefile_frag -+ -+ -+ -+trap '' 1 2 15 -+cat > confcache <<\EOF -+# 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. It is not useful on other systems. -+# If it contains results you don't want to keep, you may remove or edit it. -+# -+# By default, configure uses ./config.cache as the cache file, -+# creating it if it does not exist already. You can give configure -+# the --cache-file=FILE option to use a different cache file; that is -+# what configure does when it calls configure scripts in -+# subdirectories, so they share the cache. -+# Giving --cache-file=/dev/null disables caching, for debugging configure. -+# config.status only pays attention to the cache file if you give it the -+# --recheck option to rerun configure. -+# -+EOF -+# The following way of writing the cache mishandles newlines in values, -+# but we know of no workaround that is simple, portable, and efficient. -+# So, don't put newlines in cache variables' values. -+# 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. -+(set) 2>&1 | -+ case `(ac_space=' '; set | grep ac_space) 2>&1` in -+ *ac_space=\ *) -+ # `set' does not quote correctly, so add quotes (double-quote substitution -+ # turns \\\\ into \\, and sed turns \\ into \). -+ sed -n \ -+ -e "s/'/'\\\\''/g" \ -+ -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p" -+ ;; -+ *) -+ # `set' quotes correctly as required by POSIX, so do not add quotes. -+ sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p' -+ ;; -+ esac >> confcache -+if cmp -s $cache_file confcache; then -+ : -+else -+ if test -w $cache_file; then -+ echo "updating cache $cache_file" -+ cat confcache > $cache_file -+ else -+ echo "not updating unwritable cache $cache_file" -+ fi -+fi -+rm -f confcache -+ -+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 -+ -+test "x$prefix" = xNONE && prefix=$ac_default_prefix -+# Let make expand exec_prefix. -+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' -+ -+# Any assignment to VPATH causes Sun make to only execute -+# the first set of double-colon rules, so remove it if not needed. -+# If there is a colon in the path, we need to keep it. -+if test "x$srcdir" = x.; then -+ ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d' -+fi -+ -+trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15 -+ -+DEFS=-DHAVE_CONFIG_H -+ -+# Without the "./", some shells look in PATH for config.status. -+: ${CONFIG_STATUS=./config.status} -+ -+echo creating $CONFIG_STATUS -+rm -f $CONFIG_STATUS -+cat > $CONFIG_STATUS </dev/null | sed 1q`: -+# -+# $0 $ac_configure_args -+# -+# Compiler output produced by configure, useful for debugging -+# configure, is in ./config.log if it exists. -+ -+ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]" -+for ac_option -+do -+ case "\$ac_option" in -+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) -+ echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion" -+ exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;; -+ -version | --version | --versio | --versi | --vers | --ver | --ve | --v) -+ echo "$CONFIG_STATUS generated by autoconf version 2.13" -+ exit 0 ;; -+ -help | --help | --hel | --he | --h) -+ echo "\$ac_cs_usage"; exit 0 ;; -+ *) echo "\$ac_cs_usage"; exit 1 ;; -+ esac -+done -+ -+ac_given_srcdir=$srcdir -+ac_given_INSTALL="$INSTALL" -+ -+trap 'rm -fr `echo "Makefile config.h" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15 -+EOF -+cat >> $CONFIG_STATUS < conftest.subs <<\\CEOF -+$ac_vpsub -+$extrasub -+s%@SHELL@%$SHELL%g -+s%@CFLAGS@%$CFLAGS%g -+s%@CPPFLAGS@%$CPPFLAGS%g -+s%@CXXFLAGS@%$CXXFLAGS%g -+s%@FFLAGS@%$FFLAGS%g -+s%@DEFS@%$DEFS%g -+s%@LDFLAGS@%$LDFLAGS%g -+s%@LIBS@%$LIBS%g -+s%@exec_prefix@%$exec_prefix%g -+s%@prefix@%$prefix%g -+s%@program_transform_name@%$program_transform_name%g -+s%@bindir@%$bindir%g -+s%@sbindir@%$sbindir%g -+s%@libexecdir@%$libexecdir%g -+s%@datadir@%$datadir%g -+s%@sysconfdir@%$sysconfdir%g -+s%@sharedstatedir@%$sharedstatedir%g -+s%@localstatedir@%$localstatedir%g -+s%@libdir@%$libdir%g -+s%@includedir@%$includedir%g -+s%@oldincludedir@%$oldincludedir%g -+s%@infodir@%$infodir%g -+s%@mandir@%$mandir%g -+s%@host@%$host%g -+s%@host_alias@%$host_alias%g -+s%@host_cpu@%$host_cpu%g -+s%@host_vendor@%$host_vendor%g -+s%@host_os@%$host_os%g -+s%@target@%$target%g -+s%@target_alias@%$target_alias%g -+s%@target_cpu@%$target_cpu%g -+s%@target_vendor@%$target_vendor%g -+s%@target_os@%$target_os%g -+s%@build@%$build%g -+s%@build_alias@%$build_alias%g -+s%@build_cpu@%$build_cpu%g -+s%@build_vendor@%$build_vendor%g -+s%@build_os@%$build_os%g -+s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g -+s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g -+s%@INSTALL_DATA@%$INSTALL_DATA%g -+s%@CC@%$CC%g -+s%@AS@%$AS%g -+s%@AR@%$AR%g -+s%@LD@%$LD%g -+s%@RANLIB@%$RANLIB%g -+s%@host_makefile_frag_path@%$host_makefile_frag_path%g -+/@host_makefile_frag@/r $host_makefile_frag -+s%@host_makefile_frag@%%g -+ -+CEOF -+EOF -+ -+cat >> $CONFIG_STATUS <<\EOF -+ -+# Split the substitutions into bite-sized pieces for seds with -+# small command number limits, like on Digital OSF/1 and HP-UX. -+ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script. -+ac_file=1 # Number of current file. -+ac_beg=1 # First line for current file. -+ac_end=$ac_max_sed_cmds # Line after last line for current file. -+ac_more_lines=: -+ac_sed_cmds="" -+while $ac_more_lines; do -+ if test $ac_beg -gt 1; then -+ sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file -+ else -+ sed "${ac_end}q" conftest.subs > conftest.s$ac_file -+ fi -+ if test ! -s conftest.s$ac_file; then -+ ac_more_lines=false -+ rm -f conftest.s$ac_file -+ else -+ if test -z "$ac_sed_cmds"; then -+ ac_sed_cmds="sed -f conftest.s$ac_file" -+ else -+ ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file" -+ fi -+ ac_file=`expr $ac_file + 1` -+ ac_beg=$ac_end -+ ac_end=`expr $ac_end + $ac_max_sed_cmds` -+ fi -+done -+if test -z "$ac_sed_cmds"; then -+ ac_sed_cmds=cat -+fi -+EOF -+ -+cat >> $CONFIG_STATUS <> $CONFIG_STATUS <<\EOF -+for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then -+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". -+ case "$ac_file" in -+ *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'` -+ ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; -+ *) ac_file_in="${ac_file}.in" ;; -+ esac -+ -+ # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories. -+ -+ # Remove last slash and all that follows it. Not all systems have dirname. -+ ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'` -+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then -+ # The file is in a subdirectory. -+ test ! -d "$ac_dir" && mkdir "$ac_dir" -+ ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`" -+ # A "../" for each directory in $ac_dir_suffix. -+ ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'` -+ else -+ ac_dir_suffix= ac_dots= -+ fi -+ -+ case "$ac_given_srcdir" in -+ .) srcdir=. -+ if test -z "$ac_dots"; then top_srcdir=. -+ else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;; -+ /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;; -+ *) # Relative path. -+ srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix" -+ top_srcdir="$ac_dots$ac_given_srcdir" ;; -+ esac -+ -+ case "$ac_given_INSTALL" in -+ [/$]*) INSTALL="$ac_given_INSTALL" ;; -+ *) INSTALL="$ac_dots$ac_given_INSTALL" ;; -+ esac -+ -+ echo creating "$ac_file" -+ rm -f "$ac_file" -+ configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure." -+ case "$ac_file" in -+ *Makefile*) ac_comsub="1i\\ -+# $configure_input" ;; -+ *) ac_comsub= ;; -+ esac -+ -+ ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"` -+ sed -e "$ac_comsub -+s%@configure_input@%$configure_input%g -+s%@srcdir@%$srcdir%g -+s%@top_srcdir@%$top_srcdir%g -+s%@INSTALL@%$INSTALL%g -+" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file -+fi; done -+rm -f conftest.s* -+ -+# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where -+# NAME is the cpp macro being defined and VALUE is the value it is being given. -+# -+# ac_d sets the value in "#define NAME VALUE" lines. -+ac_dA='s%^\([ ]*\)#\([ ]*define[ ][ ]*\)' -+ac_dB='\([ ][ ]*\)[^ ]*%\1#\2' -+ac_dC='\3' -+ac_dD='%g' -+# ac_u turns "#undef NAME" with trailing blanks into "#define NAME VALUE". -+ac_uA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' -+ac_uB='\([ ]\)%\1#\2define\3' -+ac_uC=' ' -+ac_uD='\4%g' -+# ac_e turns "#undef NAME" without trailing blanks into "#define NAME VALUE". -+ac_eA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' -+ac_eB='$%\1#\2define\3' -+ac_eC=' ' -+ac_eD='%g' -+ -+if test "${CONFIG_HEADERS+set}" != set; then -+EOF -+cat >> $CONFIG_STATUS <> $CONFIG_STATUS <<\EOF -+fi -+for ac_file in .. $CONFIG_HEADERS; do if test "x$ac_file" != x..; then -+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". -+ case "$ac_file" in -+ *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'` -+ ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; -+ *) ac_file_in="${ac_file}.in" ;; -+ esac -+ -+ echo creating $ac_file -+ -+ rm -f conftest.frag conftest.in conftest.out -+ ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"` -+ cat $ac_file_inputs > conftest.in -+ -+EOF -+ -+# Transform confdefs.h into a sed script conftest.vals that substitutes -+# the proper values into config.h.in to produce config.h. And first: -+# Protect against being on the right side of a sed subst in config.status. -+# Protect against being in an unquoted here document in config.status. -+rm -f conftest.vals -+cat > conftest.hdr <<\EOF -+s/[\\&%]/\\&/g -+s%[\\$`]%\\&%g -+s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD}%gp -+s%ac_d%ac_u%gp -+s%ac_u%ac_e%gp -+EOF -+sed -n -f conftest.hdr confdefs.h > conftest.vals -+rm -f conftest.hdr -+ -+# This sed command replaces #undef with comments. This is necessary, for -+# example, in the case of _POSIX_SOURCE, which is predefined and required -+# on some systems where configure will not decide to define it. -+cat >> conftest.vals <<\EOF -+s%^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*%/* & */% -+EOF -+ -+# Break up conftest.vals because some shells have a limit on -+# the size of here documents, and old seds have small limits too. -+ -+rm -f conftest.tail -+while : -+do -+ ac_lines=`grep -c . conftest.vals` -+ # grep -c gives empty output for an empty file on some AIX systems. -+ if test -z "$ac_lines" || test "$ac_lines" -eq 0; then break; fi -+ # Write a limited-size here document to conftest.frag. -+ echo ' cat > conftest.frag <> $CONFIG_STATUS -+ sed ${ac_max_here_lines}q conftest.vals >> $CONFIG_STATUS -+ echo 'CEOF -+ sed -f conftest.frag conftest.in > conftest.out -+ rm -f conftest.in -+ mv conftest.out conftest.in -+' >> $CONFIG_STATUS -+ sed 1,${ac_max_here_lines}d conftest.vals > conftest.tail -+ rm -f conftest.vals -+ mv conftest.tail conftest.vals -+done -+rm -f conftest.vals -+ -+cat >> $CONFIG_STATUS <<\EOF -+ rm -f conftest.frag conftest.h -+ echo "/* $ac_file. Generated automatically by configure. */" > conftest.h -+ cat conftest.in >> conftest.h -+ rm -f conftest.in -+ if cmp -s $ac_file conftest.h 2>/dev/null; then -+ echo "$ac_file is unchanged" -+ rm -f conftest.h -+ else -+ # Remove last slash and all that follows it. Not all systems have dirname. -+ ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'` -+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then -+ # The file is in a subdirectory. -+ test ! -d "$ac_dir" && mkdir "$ac_dir" -+ fi -+ rm -f $ac_file -+ mv conftest.h $ac_file -+ fi -+fi; done -+ -+EOF -+cat >> $CONFIG_STATUS <> $CONFIG_STATUS <<\EOF -+ac_file=Makefile . ${libgloss_topdir}/config-ml.in -+exit 0 -+EOF -+chmod +x $CONFIG_STATUS -+rm -fr confdefs* $ac_clean_files -+test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1 -+ -+ -+ -diff -Nbaur newlib-1.14.0/libgloss/libsysbase/configure.in newlib-1.14.0-arm/libgloss/libsysbase/configure.in ---- newlib-1.14.0/libgloss/libsysbase/configure.in Thu Jan 1 00:00:00 1970 -+++ newlib-1.14.0-arm/libgloss/libsysbase/configure.in Fri Apr 14 22:08:39 2006 -@@ -0,0 +1,219 @@ -+# Copyright (c) 1995, 1996 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. -+# -+# Process this file with autoconf to produce a configure script. -+# -+AC_PREREQ(2.5)dnl -+AC_INIT(close.c) -+AC_CONFIG_HEADER(config.h) -+ -+if test "${enable_shared}" = "yes" ; then -+ echo "Shared libraries not supported for cross compiling, ignored" -+fi -+ -+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 -+ -+# FIXME: We temporarily define our own version of AC_PROG_CC. This is -+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We -+# are building a library that must be included in all links, so we -+# can't link an executable until this lib is built. -+# autoconf should provide a way to do this. -+ -+AC_DEFUN(LIB_AC_PROG_CC, -+[AC_BEFORE([$0], [AC_PROG_CPP])dnl -+AC_CHECK_PROG(CC, gcc, gcc) -+if test -z "$CC"; then -+ AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc) -+ test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH]) -+fi -+ -+AC_PROG_CC_GNU -+ -+if test $ac_cv_prog_gcc = yes; then -+ GCC=yes -+dnl Check whether -g works, even if CFLAGS is set, in case the package -+dnl plays around with CFLAGS (such as to build both debugging and -+dnl normal versions of a library), tasteless as that idea is. -+ ac_test_CFLAGS="${CFLAGS+set}" -+ ac_save_CFLAGS="$CFLAGS" -+ CFLAGS= -+ AC_PROG_CC_G -+ 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 -+]) -+ -+AC_DEFINE(HAVE_GNU_LD) -+dnl Make sure syscall names match those being used by newlib -+case "${target}" in -+ *-*-cygwin*) -+ ;; -+ a29k-amd-udi) -+ ;; -+ arc-*-*) -+ ;; -+ arm-*-pe) -+ ;; -+ arm-*-*) -+ ;; -+ strongarm-*-*) -+ ;; -+ d10v*) -+ ;; -+ h8300*-*-*) -+ ;; -+ h8500-*-*) -+ ;; -+ i[3456]86-*-sco*) -+ ;; -+ m32r-*-*) -+ ;; -+ mn10?00-*-*) -+ ;; -+ powerpcle-*-pe) -+ ;; -+ sh*-*-*) -+ ;; -+ sparc-sun-sunos*) -+ ;; -+ sparc64-*-*) -+ ;; -+ thumb-*-pe) -+ ;; -+ thumb-*-*) -+ ;; -+ v850-*-*) -+ ;; -+ v850e-*-*) -+ ;; -+ v850ea-*-*) -+ ;; -+ w65-*-*) -+ ;; -+ xstormy16-*-*) -+ ;; -+ z8k-*-*) -+ ;; -+ *) -+ AC_DEFINE(MISSING_SYSCALL_NAMES) -+ ;; -+esac -+ -+dnl Make sure we know if elf format used -+case "${target}" in -+ *-*-elf) -+ AC_DEFINE(HAVE_ELF) -+ -+ AC_CACHE_CHECK(for .previous assembler directive, -+ libc_cv_asm_previous_directive, [dnl -+ cat > conftest.s <&AC_FD_CC); then -+ AC_DEFINE(HAVE_ASM_PREVIOUS_DIRECTIVE) -+ fi -+ rm -f conftest*]) -+ -+ AC_CACHE_CHECK(for .popsection assembler directive, -+ libc_cv_asm_popsection_directive, [dnl -+ cat > conftest.s <&AC_FD_CC); then -+ AC_DEFINE(HAVE_ASM_POPSECTION_DIRECTIVE) -+ fi -+ rm -f conftest*]) -+ -+ AC_CACHE_CHECK(for section attributes, -+ libc_cv_section_attributes, [dnl -+ cat > conftest.c <&AC_FD_CC); then -+ AC_DEFINE(HAVE_SECTION_ATTRIBUTES) -+ fi -+ rm -f conftest*]) -+ ;; -+esac -+ -+AC_CACHE_CHECK(for function prefix, libc_dollar_prefix, [dnl -+cat > conftest.c <<\EOF -+foo () { } -+EOF -+dnl -+if AC_TRY_COMMAND([${CC-cc} -S conftest.c -o - | fgrep "\$foo" > /dev/null]); -+then -+ libc_dollar_prefix=yes -+else -+ libc_dollar_prefix=no -+fi -+rm -f conftest* ]) -+if test $libc_dollar_prefix = yes ; then -+ AC_DEFINE(__SYMBOL_PREFIX, "$") -+else -+ AC_DEFINE(__SYMBOL_PREFIX, "") -+fi -+ -+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 -+ -+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 -+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) -+ -+AC_OUTPUT(Makefile, -+ac_file=Makefile . ${libgloss_topdir}/config-ml.in, -+srcdir=${srcdir} -+target=${target} -+ac_configure_args="${ac_configure_args} --enable-multilib" -+CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} -+libgloss_topdir=${libgloss_topdir} -+) -+ -+ -diff -Nbaur newlib-1.14.0/libgloss/libsysbase/environ.c newlib-1.14.0-arm/libgloss/libsysbase/environ.c ---- newlib-1.14.0/libgloss/libsysbase/environ.c Thu Jan 1 00:00:00 1970 -+++ newlib-1.14.0-arm/libgloss/libsysbase/environ.c Fri Apr 14 22:08:39 2006 -@@ -0,0 +1,6 @@ -+/* -+ * Version of environ for no OS. -+ */ -+ -+char *__env[1] = { 0 }; -+char **environ = __env; -diff -Nbaur newlib-1.14.0/libgloss/libsysbase/execve.c newlib-1.14.0-arm/libgloss/libsysbase/execve.c ---- newlib-1.14.0/libgloss/libsysbase/execve.c Thu Jan 1 00:00:00 1970 -+++ newlib-1.14.0-arm/libgloss/libsysbase/execve.c Fri Apr 14 22:08:39 2006 -@@ -0,0 +1,21 @@ -+/* -+ * Stub version of execve. -+ */ -+ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include "warning.h" -+ -+int -+_DEFUN (_execve, (name, argv, env), -+ char *name _AND -+ char **argv _AND -+ char **env) -+{ -+ errno = ENOSYS; -+ return -1; -+} -+ -+stub_warning(_execve) -diff -Nbaur newlib-1.14.0/libgloss/libsysbase/fork.c newlib-1.14.0-arm/libgloss/libsysbase/fork.c ---- newlib-1.14.0/libgloss/libsysbase/fork.c Thu Jan 1 00:00:00 1970 -+++ newlib-1.14.0-arm/libgloss/libsysbase/fork.c Fri Apr 14 22:08:39 2006 -@@ -0,0 +1,19 @@ -+/* -+ * Stub version of fork. -+ */ -+ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include "warning.h" -+ -+int -+_DEFUN (_fork, (), -+ _NOARGS) -+{ -+ errno = ENOSYS; -+ return -1; -+} -+ -+stub_warning(_fork) -diff -Nbaur newlib-1.14.0/libgloss/libsysbase/fstat.c newlib-1.14.0-arm/libgloss/libsysbase/fstat.c ---- newlib-1.14.0/libgloss/libsysbase/fstat.c Thu Jan 1 00:00:00 1970 -+++ newlib-1.14.0-arm/libgloss/libsysbase/fstat.c Fri May 19 11:48:22 2006 -@@ -0,0 +1,45 @@ -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include -+ -+#include -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+int _DEFUN (_fstat_r,(r,fileDesc, st), -+ struct _reent * r _AND -+ int fileDesc _AND -+ struct stat *st) { -+//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+int _DEFUN (_fstat,(fileDesc, st), -+ int fileDesc _AND -+ struct stat *st) { -+//--------------------------------------------------------------------------------- -+ struct _reent *r = _REENT; -+#endif -+ int ret = -1; -+ unsigned int dev = 0; -+ unsigned int fd = -1; -+ -+ __handle * handle = NULL; -+ -+ if(fileDesc!=-1) { -+ if ( fileDesc < 3) { -+ dev = fileDesc; -+ } else { -+ handle = (__handle *)fileDesc; -+ dev = handle->device; -+ fd = (int)handle->fileStruct; -+ } -+ if(devoptab_list[dev]->fstat_r) { -+ ret = devoptab_list[dev]->fstat_r(r,fd,st); -+ } else { -+ r->_errno = ENOSYS; -+ } -+ } -+ return ret; -+} -diff -Nbaur newlib-1.14.0/libgloss/libsysbase/getpid.c newlib-1.14.0-arm/libgloss/libsysbase/getpid.c ---- newlib-1.14.0/libgloss/libsysbase/getpid.c Thu Jan 1 00:00:00 1970 -+++ newlib-1.14.0-arm/libgloss/libsysbase/getpid.c Fri Apr 14 22:08:39 2006 -@@ -0,0 +1,20 @@ -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+int _DEFUN( _getpid_r,(ptr), -+ struct _reent *ptr) { -+//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+int _DEFUN (_getpid, (), -+ _NOARGS) { -+//--------------------------------------------------------------------------------- -+ struct _reent *ptr = _REENT; -+#endif -+ ptr->_errno = ENOSYS; -+ return -1; -+} -+ -diff -Nbaur newlib-1.14.0/libgloss/libsysbase/gettod.c newlib-1.14.0-arm/libgloss/libsysbase/gettod.c ---- newlib-1.14.0/libgloss/libsysbase/gettod.c Thu Jan 1 00:00:00 1970 -+++ newlib-1.14.0-arm/libgloss/libsysbase/gettod.c Fri Apr 14 22:08:39 2006 -@@ -0,0 +1,25 @@ -+/* -+ * Stub version of gettimeofday. -+ */ -+ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include -+#include "warning.h" -+ -+struct timeval; -+struct timezone; -+ -+int -+_DEFUN (_gettimeofday, (ptimeval, ptimezone), -+ struct timeval *ptimeval _AND -+ struct timezone *ptimezone) -+{ -+ errno = ENOSYS; -+ return -1; -+} -+ -+stub_warning(_gettimeofday) -diff -Nbaur newlib-1.14.0/libgloss/libsysbase/iosupport.c newlib-1.14.0-arm/libgloss/libsysbase/iosupport.c ---- newlib-1.14.0/libgloss/libsysbase/iosupport.c Thu Jan 1 00:00:00 1970 -+++ newlib-1.14.0-arm/libgloss/libsysbase/iosupport.c Sat May 20 19:49:43 2006 -@@ -0,0 +1,98 @@ -+#include -+#include -+#include -+ -+static int defaultDevice = -1; -+ -+//--------------------------------------------------------------------------------- -+void setDefaultDevice( int device ) { -+//--------------------------------------------------------------------------------- -+ -+ if ( device >2 && device <= STD_MAX) -+ defaultDevice = device; -+} -+ -+//--------------------------------------------------------------------------------- -+const devoptab_t dotab_stdnull = { -+//--------------------------------------------------------------------------------- -+ "stdnull", // device name -+ 0, // size of file structure -+ NULL, // device open -+ NULL, // device close -+ NULL, // device write -+ NULL, // device read -+ NULL, // device seek -+ NULL, // device fstat -+ NULL, // device stat -+ NULL, // device link -+ NULL, // device unlink -+ NULL // device chdir -+}; -+ -+//--------------------------------------------------------------------------------- -+const devoptab_t *devoptab_list[STD_MAX] = { -+//--------------------------------------------------------------------------------- -+ &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, -+ &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, -+ &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, -+ &dotab_stdnull, &dotab_stdnull, &dotab_stdnull, &dotab_stdnull -+}; -+ -+//--------------------------------------------------------------------------------- -+int FindDevice(const char* name) { -+//--------------------------------------------------------------------------------- -+ int i = 0, namelen, dev = -1; -+ -+ while(iname); -+ if(strncmp(devoptab_list[i]->name,name,namelen)==0 ) { -+ if ( name[namelen] == ':' || (isdigit(name[namelen]) && name[namelen+1] ==':' )) { -+ dev = i; -+ break; -+ } -+ } -+ } -+ i++; -+ } -+ -+ if ( dev == -1 && defaultDevice != -1 ) dev = defaultDevice; -+ -+ return dev; -+} -+ -+//--------------------------------------------------------------------------------- -+int RemoveDevice( const char* name) { -+//--------------------------------------------------------------------------------- -+ int dev = FindDevice(name); -+ -+ if ( -1 != dev ) { -+ devoptab_list[dev] = &dotab_stdnull; -+ return 0; -+ } -+ -+ return -1; -+ -+} -+//--------------------------------------------------------------------------------- -+int AddDevice( const devoptab_t* device) { -+//--------------------------------------------------------------------------------- -+ -+ int devnum; -+ -+ for ( devnum = 3;devnum name, device->name) && -+ strlen(devoptab_list[devnum]->name) == strlen(device->name) ) || -+ !strcmp(devoptab_list[devnum]->name, "stdnull") -+ ) -+ break; -+ } -+ -+ if ( devnum == STD_MAX ) { -+ devnum = -1; -+ } else { -+ devoptab_list[devnum] = device; -+ } -+ return devnum; -+} -diff -Nbaur newlib-1.14.0/libgloss/libsysbase/isatty.c newlib-1.14.0-arm/libgloss/libsysbase/isatty.c ---- newlib-1.14.0/libgloss/libsysbase/isatty.c Thu Jan 1 00:00:00 1970 -+++ newlib-1.14.0-arm/libgloss/libsysbase/isatty.c Fri Apr 14 22:08:39 2006 -@@ -0,0 +1,10 @@ -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+ -+//--------------------------------------------------------------------------------- -+int _DEFUN(isatty,(file), -+ int file) { -+//--------------------------------------------------------------------------------- -+ return 0; -+} -diff -Nbaur newlib-1.14.0/libgloss/libsysbase/kill.c newlib-1.14.0-arm/libgloss/libsysbase/kill.c ---- newlib-1.14.0/libgloss/libsysbase/kill.c Thu Jan 1 00:00:00 1970 -+++ newlib-1.14.0-arm/libgloss/libsysbase/kill.c Fri Apr 14 22:10:52 2006 -@@ -0,0 +1,24 @@ -+/* -+ * Stub version of kill. -+ */ -+ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include "warning.h" -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+int _DEFUN(_kill_r,(ptr,pid,sig), -+ struct _reent *ptr _AND -+ int pid _AND -+ int sig) { -+#else -+int _DEFUN(_kill,(pid,sig), -+ int pid _AND -+ int sig) { -+ struct _reent *ptr = _REENT; -+#endif -+ ptr->_errno = ENOSYS; -+ return -1; -+} -diff -Nbaur newlib-1.14.0/libgloss/libsysbase/link.c newlib-1.14.0-arm/libgloss/libsysbase/link.c ---- newlib-1.14.0/libgloss/libsysbase/link.c Thu Jan 1 00:00:00 1970 -+++ newlib-1.14.0-arm/libgloss/libsysbase/link.c Fri May 19 11:50:37 2006 -@@ -0,0 +1,36 @@ -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+int _DEFUN (_link_r, (r, existing, new), -+ struct _reent r _AND -+ char *existing _AND -+ char *new) { -+#else -+int _DEFUN (_link, (existing, new), -+ char *existing _AND -+ char *new) { -+ struct _reent *r = _REENT; -+#endif -+ int ret; -+ int sourceDev = findDevice(existing); -+ int destDev = findDevice(new); -+ -+ ret = -1; -+ -+ if ( sourceDev == destDev) { -+ if (devoptab_list[destDev]->link_r) { -+ ret = devoptab_list[destDev]->link_r( r, existing, new); -+ } else { -+ r->_errno = ENOSYS; -+ } -+ } else { -+ r->_errno = EXDEV; -+ } -+ -+ return ret; -+} -+ -diff -Nbaur newlib-1.14.0/libgloss/libsysbase/lseek.c newlib-1.14.0-arm/libgloss/libsysbase/lseek.c ---- newlib-1.14.0/libgloss/libsysbase/lseek.c Thu Jan 1 00:00:00 1970 -+++ newlib-1.14.0-arm/libgloss/libsysbase/lseek.c Sat May 20 19:58:52 2006 -@@ -0,0 +1,46 @@ -+ -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+ -+#include -+ -+//--------------------------------------------------------------------------------- -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+int _DEFUN(_lseek_r,(r, fileDesc, pos, dir), -+ struct _reent * r _AND -+ int fileDesc _AND -+ int pos _AND -+ int dir) -+//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+int _DEFUN(_lseek,(fileDesc, pos, dir), -+ int fileDesc _AND -+ int pos _AND -+ int dir) { -+//--------------------------------------------------------------------------------- -+ struct _reent *r = _REENT; -+//--------------------------------------------------------------------------------- -+#endif -+//--------------------------------------------------------------------------------- -+ int ret = -1; -+ unsigned int dev = 0; -+ unsigned int fd = -1; -+ -+ __handle * handle; -+ -+ if(fileDesc!=-1) { -+ -+ handle = (__handle *)fileDesc; -+ dev = handle->device; -+ fd = (int)handle->fileStruct; -+ -+ if(devoptab_list[dev]->seek_r) -+ ret = devoptab_list[dev]->seek_r(0,fd,pos,dir); -+ -+ } -+ return ret; -+ -+} -diff -Nbaur newlib-1.14.0/libgloss/libsysbase/malloc_vars.c newlib-1.14.0-arm/libgloss/libsysbase/malloc_vars.c ---- newlib-1.14.0/libgloss/libsysbase/malloc_vars.c Thu Jan 1 00:00:00 1970 -+++ newlib-1.14.0-arm/libgloss/libsysbase/malloc_vars.c Fri Apr 14 22:08:39 2006 -@@ -0,0 +1,2 @@ -+char *fake_heap_end = (char*)0; -+char *fake_heap_start = (char*)0; -diff -Nbaur newlib-1.14.0/libgloss/libsysbase/open.c newlib-1.14.0-arm/libgloss/libsysbase/open.c ---- newlib-1.14.0/libgloss/libsysbase/open.c Thu Jan 1 00:00:00 1970 -+++ newlib-1.14.0-arm/libgloss/libsysbase/open.c Fri May 19 11:49:07 2006 -@@ -0,0 +1,57 @@ -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include -+#include -+#include -+ -+#include -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+int _DEFUN (_open_r, (r, file, flags, mode), -+ struct _reent * r _AND -+ char *file _AND -+ int flags _AND -+ int mode) { -+//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+int _DEFUN (_open, (file, flags, mode), -+ char *file _AND -+ int flags _AND -+ int mode) { -+//--------------------------------------------------------------------------------- -+ struct _reent *r = _REENT; -+#endif -+ __handle *handle; -+ int dev,fd; -+ -+ r->_errno = ENOSYS; -+ dev = FindDevice(file); -+ -+ fd = -1; -+ handle = (__handle *)-1; -+ if(dev!=-1 && devoptab_list[dev]->open_r) { -+ -+ handle = (__handle *)malloc( sizeof(__handle) + devoptab_list[dev]->structSize ); -+ -+ if ( NULL != handle ) { -+ handle->device = dev; -+ handle->fileStruct = ((void *)handle) + sizeof(handle); -+ -+ fd = devoptab_list[dev]->open_r(r, handle->fileStruct, file, flags, mode); -+ -+ if ( fd == -1 ) { -+ free(handle); -+ handle = (__handle *)-1; -+ } -+ } else { -+ r->_errno = ENOSR; -+ handle = (__handle *)-1; -+ } -+ } -+ -+ return (int)handle; -+} -diff -Nbaur newlib-1.14.0/libgloss/libsysbase/read.c newlib-1.14.0-arm/libgloss/libsysbase/read.c ---- newlib-1.14.0/libgloss/libsysbase/read.c Thu Jan 1 00:00:00 1970 -+++ newlib-1.14.0-arm/libgloss/libsysbase/read.c Wed May 10 20:52:51 2006 -@@ -0,0 +1,44 @@ -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+ -+#include -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+int _DEFUN(_read_r,(r, fileDesc, ptr, len), -+ struct _reent * r _AND -+ int fileDesc _AND -+ char *ptr _AND -+ int len) { -+//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+int _DEFUN(_read,(fileDesc, ptr, len), -+ int fileDesc _AND -+ char *ptr _AND -+ int len) { -+//--------------------------------------------------------------------------------- -+ struct _reent *r = _REENT; -+#endif -+ int ret = -1; -+ unsigned int dev = 0; -+ unsigned int fd = -1; -+ -+ __handle * handle = NULL; -+ -+ if(fileDesc!=-1) { -+ if ( fileDesc < 3) { -+ dev = fileDesc; -+ } else { -+ handle = (__handle *)fileDesc; -+ dev = handle->device; -+ fd = (int)handle->fileStruct; -+ } -+ if(devoptab_list[dev]->read_r) -+ ret = devoptab_list[dev]->read_r(r,fd,ptr,len); -+ } -+ return ret; -+} -+ -diff -Nbaur newlib-1.14.0/libgloss/libsysbase/sbrk.c newlib-1.14.0-arm/libgloss/libsysbase/sbrk.c ---- newlib-1.14.0/libgloss/libsysbase/sbrk.c Thu Jan 1 00:00:00 1970 -+++ newlib-1.14.0-arm/libgloss/libsysbase/sbrk.c Fri Apr 14 22:08:39 2006 -@@ -0,0 +1,61 @@ -+#include <_ansi.h> -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+ -+extern char *fake_heap_end; -+extern char *fake_heap_start; -+ -+/* Register name faking - works in collusion with the linker. */ -+register char * stack_ptr asm ("sp"); -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+caddr_t _sbrk_r (struct _reent *ptr, int incr) { -+//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+caddr_t _sbrk (int incr) { -+//--------------------------------------------------------------------------------- -+ struct _reent *ptr = _REENT; -+#endif -+ extern char end asm ("end"); /* Defined by the linker. */ -+ static char * heap_start; -+ -+ -+ char * prev_heap_start; -+ char * heap_end; -+ -+ if (heap_start == NULL) { -+ if (fake_heap_start == NULL) { -+ heap_start = &end; -+ } else { -+ heap_start = fake_heap_start; -+ } -+ } -+ -+ prev_heap_start = heap_start; -+ -+ if (fake_heap_end == NULL) { -+ heap_end = stack_ptr; -+ } else { -+ heap_end = fake_heap_end; -+ } -+ -+ if (heap_start + incr > heap_end) { -+ ptr->_errno = ENOMEM; -+ return (caddr_t) -1; -+ } -+ -+ heap_start += incr; -+ -+ return (caddr_t) prev_heap_start; -+} -diff -Nbaur newlib-1.14.0/libgloss/libsysbase/stat.c newlib-1.14.0-arm/libgloss/libsysbase/stat.c ---- newlib-1.14.0/libgloss/libsysbase/stat.c Thu Jan 1 00:00:00 1970 -+++ newlib-1.14.0-arm/libgloss/libsysbase/stat.c Fri May 19 11:36:58 2006 -@@ -0,0 +1,39 @@ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include -+#include -+ -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+int _DEFUN (_stat_r,(r,file, st), -+ struct _reent * r _AND -+ const char *file _AND -+ struct stat *st) { -+//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+int -+_DEFUN (_stat, (file, st), -+ const char *file _AND -+ struct stat *st) -+{ -+//--------------------------------------------------------------------------------- -+ struct _reent *r = _REENT; -+#endif -+ int dev,ret; -+ -+ dev = FindDevice(file); -+ -+ if(dev!=-1 && devoptab_list[dev]->stat_r) { -+ ret = devoptab_list[dev]->stat_r(r,file,st); -+ } else { -+ ret = -1; -+ r->_errno = ENODEV; -+ } -+ return ret; -+} -+ -diff -Nbaur newlib-1.14.0/libgloss/libsysbase/times.c newlib-1.14.0-arm/libgloss/libsysbase/times.c ---- newlib-1.14.0/libgloss/libsysbase/times.c Thu Jan 1 00:00:00 1970 -+++ newlib-1.14.0-arm/libgloss/libsysbase/times.c Fri Apr 14 22:08:39 2006 -@@ -0,0 +1,13 @@ -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+ -+//--------------------------------------------------------------------------------- -+clock_t _DEFUN (_times, (buf), -+ struct tms *buf) { -+//--------------------------------------------------------------------------------- -+ errno = ENOSYS; -+ return -1; -+} -+ -diff -Nbaur newlib-1.14.0/libgloss/libsysbase/unlink.c newlib-1.14.0-arm/libgloss/libsysbase/unlink.c ---- newlib-1.14.0/libgloss/libsysbase/unlink.c Thu Jan 1 00:00:00 1970 -+++ newlib-1.14.0-arm/libgloss/libsysbase/unlink.c Fri May 19 11:23:45 2006 -@@ -0,0 +1,32 @@ -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+#include -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+int _DEFUN (_unlink_r, (r, name), -+ struct _reent * r _AND -+ char *name ) { -+//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+int _DEFUN (_unlink, (name), -+ char *name) { -+//--------------------------------------------------------------------------------- -+ struct _reent *r = _REENT; -+#endif -+ int dev,ret; -+ -+ dev = FindDevice(name); -+ if(dev!=-1 && devoptab_list[dev]->unlink_r) { -+ ret = devoptab_list[dev]->unlink_r(r,name); -+ } else { -+ ret = -1; -+ r->_errno = ENODEV; -+ } -+ -+ return ret; -+} -+ -diff -Nbaur newlib-1.14.0/libgloss/libsysbase/wait.c newlib-1.14.0-arm/libgloss/libsysbase/wait.c ---- newlib-1.14.0/libgloss/libsysbase/wait.c Thu Jan 1 00:00:00 1970 -+++ newlib-1.14.0-arm/libgloss/libsysbase/wait.c Fri Apr 14 22:08:39 2006 -@@ -0,0 +1,19 @@ -+/* -+ * Stub version of wait. -+ */ -+ -+#include "config.h" -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include "warning.h" -+ -+int -+_DEFUN (_wait, (status), -+ int *status) -+{ -+ errno = ENOSYS; -+ return -1; -+} -+ -+stub_warning(_wait) -diff -Nbaur newlib-1.14.0/libgloss/libsysbase/warning.h newlib-1.14.0-arm/libgloss/libsysbase/warning.h ---- newlib-1.14.0/libgloss/libsysbase/warning.h Thu Jan 1 00:00:00 1970 -+++ newlib-1.14.0-arm/libgloss/libsysbase/warning.h Fri Apr 14 22:08:39 2006 -@@ -0,0 +1,43 @@ -+#ifndef __WARNING_H__ -+#define __WARNING_H__ -+ -+#ifdef HAVE_GNU_LD -+# ifdef HAVE_ELF -+ -+/* We want the .gnu.warning.SYMBOL section to be unallocated. */ -+# ifdef HAVE_ASM_PREVIOUS_DIRECTIVE -+# define __make_section_unallocated(section_string) \ -+ asm(".section " section_string "; .previous"); -+# elif defined (HAVE_ASM_POPSECTION_DIRECTIVE) -+# define __make_section_unallocated(section_string) \ -+ asm(".pushsection " section_string "; .popsection"); -+# else -+# define __make_section_unallocated(section_string) -+# endif -+ -+# ifdef HAVE_SECTION_ATTRIBUTES -+# define link_warning(symbol, msg) \ -+ __make_section_unallocated (".gnu.warning." #symbol) \ -+ static const char __evoke_link_warning_##symbol[] \ -+ __attribute__ ((section (".gnu.warning." #symbol))) = msg; -+# else -+# define link_warning(symbol, msg) -+# endif -+ -+#else /* !ELF */ -+ -+# define link_warning(symbol, msg) \ -+ asm(".stabs \"" msg "\",30,0,0,0\n" \ -+ ".stabs \"" __SYMBOL_PREFIX #symbol "\",1,0,0,0\n"); -+# endif -+#else /* !GNULD */ -+/* We will never be heard; they will all die horribly. */ -+# define link_warning(symbol, msg) -+#endif -+ -+/* A canned warning for sysdeps/stub functions. */ -+#define stub_warning(name) \ -+ link_warning (name, \ -+ "warning: " #name " is not implemented and will always fail") -+ -+#endif /* __WARNING_H__ */ -diff -Nbaur newlib-1.14.0/libgloss/libsysbase/write.c newlib-1.14.0-arm/libgloss/libsysbase/write.c ---- newlib-1.14.0/libgloss/libsysbase/write.c Thu Jan 1 00:00:00 1970 -+++ newlib-1.14.0-arm/libgloss/libsysbase/write.c Wed May 10 22:09:00 2006 -@@ -0,0 +1,44 @@ -+#include <_ansi.h> -+#include <_syslist.h> -+#include -+#include -+ -+#include -+ -+#ifdef REENTRANT_SYSCALLS_PROVIDED -+//--------------------------------------------------------------------------------- -+int _DEFUN(_write_r,(r, fileDesc, ptr, len), -+ struct _reent * r _AND -+ int fileDesc _AND -+ char *ptr _AND -+ int len) { -+//--------------------------------------------------------------------------------- -+#else -+//--------------------------------------------------------------------------------- -+int _DEFUN (_write, (fileDesc, ptr, len), -+ int fileDesc _AND -+ char *ptr _AND -+ int len) { -+//--------------------------------------------------------------------------------- -+ struct _reent *r = _REENT; -+#endif -+ int ret = -1; -+ unsigned int dev = 0; -+ unsigned int fd = -1; -+ -+ __handle * handle = NULL; -+ -+ -+ if(fileDesc!=-1) { -+ if ( fileDesc < 3) { -+ dev = fileDesc; -+ } else { -+ handle = (__handle *)fileDesc; -+ dev = handle->device; -+ fd = (int)handle->fileStruct; -+ } -+ if(devoptab_list[dev]->write_r) -+ ret = devoptab_list[dev]->write_r(r,fd,ptr,len); -+ } -+ return ret; -+} -diff -Nbaur newlib-1.14.0/newlib/libc/include/stdio.h newlib-1.14.0-arm/newlib/libc/include/stdio.h ---- newlib-1.14.0/newlib/libc/include/stdio.h Wed Oct 12 00:59:32 2005 -+++ newlib-1.14.0-arm/newlib/libc/include/stdio.h Fri Apr 14 22:08:39 2006 -@@ -179,6 +179,7 @@ - int _EXFUN(printf, (const char *, ...)); - int _EXFUN(scanf, (const char *, ...)); - int _EXFUN(sscanf, (const char *, const char *, ...)); -+int _EXFUN(siscanf, (const char *, const char *, ...)); - int _EXFUN(vfprintf, (FILE *, const char *, __VALIST)); - int _EXFUN(vprintf, (const char *, __VALIST)); - int _EXFUN(vsprintf, (char *, const char *, __VALIST)); -@@ -229,7 +230,7 @@ - #ifndef _REENT_ONLY - int _EXFUN(asiprintf, (char **, const char *, ...)); - int _EXFUN(asprintf, (char **, const char *, ...)); --int _EXFUN(dprintf, (int, const char *, ...)); -+//int _EXFUN(dprintf, (int, const char *, ...)); - int _EXFUN(fcloseall, (_VOID)); - int _EXFUN(fiprintf, (FILE *, const char *, ...)); - int _EXFUN(iprintf, (const char *, ...)); -@@ -247,6 +248,7 @@ - int _EXFUN(vfscanf, (FILE *, const char *, __VALIST)); - int _EXFUN(viprintf, (const char *, __VALIST)); - int _EXFUN(viscanf, (const char *, __VALIST)); -+int _EXFUN(viprintf, (const char *, __VALIST)); - int _EXFUN(vscanf, (const char *, __VALIST)); - int _EXFUN(vsiscanf, (const char *, const char *, __VALIST)); - int _EXFUN(vsscanf, (const char *, const char *, __VALIST)); -diff -Nbaur newlib-1.14.0/newlib/libc/include/sys/iosupport.h newlib-1.14.0-arm/newlib/libc/include/sys/iosupport.h ---- newlib-1.14.0/newlib/libc/include/sys/iosupport.h Thu Jan 1 00:00:00 1970 -+++ newlib-1.14.0-arm/newlib/libc/include/sys/iosupport.h Sat May 20 13:07:58 2006 -@@ -0,0 +1,45 @@ -+//--------------------------------------------------------------------------------- -+#ifndef __iosupp_h__ -+#define __iosupp_h__ -+//--------------------------------------------------------------------------------- -+ -+#include -+ -+enum { -+ STD_IN, -+ STD_OUT, -+ STD_ERR, -+ STD_MAX = 16 -+}; -+ -+ -+typedef struct { -+ int device; -+ void *fileStruct; -+} __handle; -+ -+typedef struct { -+ const char *name; -+ int structSize; -+ int (*open_r)(struct _reent *r, void *fileStruct, const char *path,int flags,int mode); -+ int (*close_r)(struct _reent *r,int fd); -+ int (*write_r)(struct _reent *r,int fd,const char *ptr,int len); -+ int (*read_r)(struct _reent *r,int fd,char *ptr,int len); -+ int (*seek_r)(struct _reent *r,int fd,int pos,int dir); -+ int (*fstat_r)(struct _reent *r,int fd,struct stat *st); -+ int (*stat_r)(struct _reent *r,const char *file,struct stat *st); -+ int (*link_r)(struct _reent *r,char *existing, char *new); -+ int (*unlink_r)(struct _reent *r,char *name); -+ int (*chdir_r)(struct _reent *r,char *name); -+} devoptab_t; -+ -+extern const devoptab_t *devoptab_list[]; -+ -+int AddDevice( const devoptab_t* device); -+int FindDevice(const char* name); -+int RemoveDevice(const char* name); -+void setDefaultDevice( int device ); -+ -+//--------------------------------------------------------------------------------- -+#endif -+//--------------------------------------------------------------------------------- -diff -Nbaur newlib-1.14.0/newlib/libc/include/sys/reent.h newlib-1.14.0-arm/newlib/libc/include/sys/reent.h ---- newlib-1.14.0/newlib/libc/include/sys/reent.h Tue Feb 8 01:33:16 2005 -+++ newlib-1.14.0-arm/newlib/libc/include/sys/reent.h Wed May 10 15:36:06 2006 -@@ -151,7 +151,7 @@ - int _r; /* read space left for getc() */ - int _w; /* write space left for putc() */ - short _flags; /* flags, below; this FILE is free if 0 */ -- short _file; /* fileno, if Unix descriptor, else -1 */ -+ int _file; /* fileno, if Unix descriptor, else -1 */ - struct __sbuf _bf; /* the buffer (at least 1 byte, if !NULL) */ - int _lbfsize; /* 0 or -_bf._size, for inline putc */ - -@@ -168,7 +168,7 @@ - int _r; /* read space left for getc() */ - int _w; /* write space left for putc() */ - short _flags; /* flags, below; this FILE is free if 0 */ -- short _file; /* fileno, if Unix descriptor, else -1 */ -+ int _file; /* fileno, if Unix descriptor, else -1 */ - struct __sbuf _bf; /* the buffer (at least 1 byte, if !NULL) */ - int _lbfsize; /* 0 or -_bf._size, for inline putc */ - -@@ -216,7 +216,7 @@ - int _r; /* read space left for getc() */ - int _w; /* write space left for putc() */ - short _flags; /* flags, below; this FILE is free if 0 */ -- short _file; /* fileno, if Unix descriptor, else -1 */ -+ int _file; /* fileno, if Unix descriptor, else -1 */ - struct __sbuf _bf; /* the buffer (at least 1 byte, if !NULL) */ - int _lbfsize; /* 0 or -_bf._size, for inline putc */ - diff --git a/dkarm/rules/base_rules b/dkarm/rules/base_rules deleted file mode 100644 index f26b4dc..0000000 --- a/dkarm/rules/base_rules +++ /dev/null @@ -1,73 +0,0 @@ -#--------------------------------------------------------------------------------- -# path to tools - this can be deleted if you set the path in windows -#--------------------------------------------------------------------------------- -export PATH := $(DEVKITARM)/bin:$(PATH) - -#--------------------------------------------------------------------------------- -# the prefix on the compiler executables -#--------------------------------------------------------------------------------- -PREFIX := arm-elf- - -export CC := $(PREFIX)gcc -export CXX := $(PREFIX)g++ -export AS := $(PREFIX)as -export AR := $(PREFIX)ar -export OBJCOPY := $(PREFIX)objcopy - -#--------------------------------------------------------------------------------- -%.a: -#--------------------------------------------------------------------------------- - @echo $(notdir $@) - @rm -f $@ - $(AR) -rc $@ $^ - -#--------------------------------------------------------------------------------- -%.o: %.cpp - @echo $(notdir $<) - $(CXX) -MMD -MP -MF $(DEPSDIR)/$*.d $(CXXFLAGS) -c $< -o $@ - -#--------------------------------------------------------------------------------- -%.o: %.c - @echo $(notdir $<) - $(CC) -MMD -MP -MF $(DEPSDIR)/$*.d $(CFLAGS) -c $< -o $@ - -#--------------------------------------------------------------------------------- -%.iwram.o: %.iwram.cpp - @echo $(notdir $<) - $(CXX) -MMD -MP -MF $(DEPSDIR)/$*.d $(CXXFLAGS) -marm-c $< -o $@ - -#--------------------------------------------------------------------------------- -%.iwram.o: %.iwram.c - @echo $(notdir $<) - $(CC) -MMD -MP -MF $(DEPSDIR)/$*.d $(CFLAGS) -marm -c $< -o $@ - -#--------------------------------------------------------------------------------- -%.itcm.o: %.itcm.cpp - @echo $(notdir $<) - $(CXX) -MMD -MP -MF $(DEPSDIR)/$*.d $(CXXFLAGS) -marm-c $< -o $@ - -#--------------------------------------------------------------------------------- -%.itcm.o: %.itcm.c - @echo $(notdir $<) - $(CC) -MMD -MP -MF $(DEPSDIR)/$*.d $(CFLAGS) -marm -c $< -o $@ - -#--------------------------------------------------------------------------------- -%.o: %.s - @echo $(notdir $<) - $(CC) -MMD -MP -MF $(DEPSDIR)/$*.d -x assembler-with-cpp $(ASFLAGS) -c $< -o $@ - -#--------------------------------------------------------------------------------- -%.o: %.S - @echo $(notdir $<) - $(CC) -MMD -MP -MF $(DEPSDIR)/$*.d -x assembler-with-cpp $(ASFLAGS) -c $< -o $@ - -#--------------------------------------------------------------------------------- -# canned command sequence for binary data -#--------------------------------------------------------------------------------- -define bin2o - bin2s $< | $(AS) $(ARCH) -o $(@) - echo "extern const u8" `(echo $( `(echo $(> `(echo $(> `(echo $(devkitPro) -endif - -include $(DEVKITARM)/base_rules - -LIBNDS := $(DEVKITPRO)/libnds - -#--------------------------------------------------------------------------------- -%.ds.gba: %.nds - @dsbuild $< - @echo built ... $(notdir $@) - -#--------------------------------------------------------------------------------- -%.nds: %.arm9 - @ndstool -c $@ -9 $< - @echo built ... $(notdir $@) - -#--------------------------------------------------------------------------------- -%.arm9: %.elf - @$(OBJCOPY) -O binary $< $@ - @echo built ... $(notdir $@) - -#--------------------------------------------------------------------------------- -%.arm7: %.elf - @$(OBJCOPY) -O binary $< $@ - @echo built ... $(notdir $@) - -#--------------------------------------------------------------------------------- -%.elf: - @echo linking $(notdir $@) - @$(LD) $(LDFLAGS) $(OFILES) $(LIBPATHS) $(LIBS) -o $@ diff --git a/dkarm/rules/gba_rules b/dkarm/rules/gba_rules deleted file mode 100644 index 8b6ae3c..0000000 --- a/dkarm/rules/gba_rules +++ /dev/null @@ -1,23 +0,0 @@ -ifeq ($(strip $(DEVKITPRO)),) -$(error "Please set DEVKITPRO in your environment. export DEVKITPRO=devkitPro) -endif - -include $(DEVKITARM)/base_rules - -LIBGBA := $(DEVKITPRO)/libgba - -#--------------------------------------------------------------------------------- -%.gba: %.elf - @$(OBJCOPY) -O binary $< $@ - @echo built ... $(notdir $@) - @gbafix $@ - -#--------------------------------------------------------------------------------- -%_mb.elf: - @echo linking multiboot - @$(LD) -specs=gba_mb.specs $(LDFLAGS) $(OFILES) $(LIBPATHS) $(LIBS) -o $@ - -#--------------------------------------------------------------------------------- -%.elf: - @echo linking cartridge - @$(LD) $(LDFLAGS) -specs=gba.specs $(OFILES) $(LIBPATHS) $(LIBS) -o $@ diff --git a/dkarm/rules/gp32_rules b/dkarm/rules/gp32_rules deleted file mode 100644 index d4e3918..0000000 --- a/dkarm/rules/gp32_rules +++ /dev/null @@ -1,18 +0,0 @@ --include $(DEVKITARM)/base_rules - -LIBMIRKO := $(DEVKITPRO)/libmirko - -#--------------------------------------------------------------------------------- -%.fxe: %.bin - @b2fxec -a "$(AUTHOR)" -t "$(TITLE)" $< $@ - @echo built ... $(notdir $@) - -#--------------------------------------------------------------------------------- -%.bin: %.elf - @$(OBJCOPY) -O binary $< $@ - @echo built ... $(notdir $@) - -#--------------------------------------------------------------------------------- -%.elf: - @echo linking binary - @$(LD) $(LDFLAGS) -specs=gp32.specs $(OFILES) $(LIBPATHS) $(LIBS) -o $@ diff --git a/dkarm/scripts/build-crtls.sh b/dkarm/scripts/build-crtls.sh deleted file mode 100644 index b685bbb..0000000 --- a/dkarm/scripts/build-crtls.sh +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/sh - -export DEVKITARM=$TOOLPATH/devkitARM -export DEVKITPRO=$TOOLPATH - -#--------------------------------------------------------------------------------- -# Install and build the gba crt -#--------------------------------------------------------------------------------- - -cp $(pwd)/dkarm/crtls/* $DEVKITARM/arm-elf/lib/ -cd $DEVKITARM/arm-elf/lib/ -$MAKE CRT=gba -$MAKE CRT=gp32 -$MAKE CRT=er -$MAKE CRT=gp32_gpsdk -$MAKE CRT=ds_arm7 -$MAKE CRT=ds_arm9 -$MAKE CRT=ds_cart - -cd $BUILDSCRIPTDIR - -$MAKE -C tools/general -$MAKE -C tools/general install PREFIX=$DEVKITARM/bin - -#--------------------------------------------------------------------------------- -# copy base rulesets -#--------------------------------------------------------------------------------- -cp dkarm/rules/* $DEVKITARM - -cd $LIBNDS_SRCDIR -echo "building libnds ..." -$MAKE install INSTALLDIR=$TOOLPATH - -echo "building libgba ..." -cd $BUILDSCRIPTDIR -cd $LIBGBA_SRCDIR -$MAKE install INSTALLDIR=$TOOLPATH -cd $BUILDSCRIPTDIR - -echo "building libmirko ..." -cd $LIBMIRKO_SRCDIR -$MAKE install INSTALLDIR=$TOOLPATH -cd $BUILDSCRIPTDIR diff --git a/dkarm/scripts/build-gcc.sh b/dkarm/scripts/build-gcc.sh deleted file mode 100644 index 19b48d8..0000000 --- a/dkarm/scripts/build-gcc.sh +++ /dev/null @@ -1,117 +0,0 @@ -#!/bin/sh -#--------------------------------------------------------------------------------- -# Check Parameters -#--------------------------------------------------------------------------------- - -prefix=$INSTALLDIR/devkitARM - -#--------------------------------------------------------------------------------- -# build and install binutils -#--------------------------------------------------------------------------------- - -mkdir -p $target/binutils -cd $target/binutils - -../../$BINUTILS_SRCDIR/configure \ - --prefix=$prefix --target=$target --disable-nls --disable-shared --disable-debug \ - --disable-threads --with-gcc --with-gnu-as --with-gnu-ld \ - || { echo "Error configuring binutils"; exit 1; } - -$MAKE || { echo "Error building binutils"; exit 1; } -$MAKE install || { echo "Error installing binutils"; exit 1; } - -cd $BUILDSCRIPTDIR - -#--------------------------------------------------------------------------------- -# build and install elf2flt -#--------------------------------------------------------------------------------- -mkdir -p $target/elf2flt -cd $target/elf2flt - -../../elf2flt/configure \ - --prefix=$prefix --target=$target \ - --with-libbfd=../binutils/bfd/libbfd.a \ - --with-libiberty=../binutils/libiberty/libiberty.a \ - --with-bfd-include-dir=../binutils/bfd/ \ - --with-binutils-include-dir=../../$BINUTILS_SRCDIR/include/ \ - || { echo "Error configuring elf2flt"; exit 1; } - $MAKE || { echo "Error building elf2flt"; exit 1; } - $MAKE install || { echo "Error installing elf2flt"; exit 1; } - - -cd $BUILDSCRIPTDIR - -#--------------------------------------------------------------------------------- -# remove temp stuff to conserve disc space -#--------------------------------------------------------------------------------- -rm -fr $target/binutils -rm -fr $BINUTILS_SRCDIR -rm -fr $target/elf2flt -rm -fr elf2flt - -#--------------------------------------------------------------------------------- -# build and install just the c compiler -#--------------------------------------------------------------------------------- -mkdir -p $target/gcc -cd $target/gcc - - -../../$GCC_SRCDIR/configure \ - --enable-languages=c,c++ \ - --with-cpu=arm7tdmi\ - --enable-interwork --enable-multilib\ - --with-gcc --with-gnu-ld --with-gnu-as \ - --disable-shared --disable-threads --disable-win32-registry --disable-nls --disable-debug\ - --disable-libmudflap --disable-libssp \ - --target=$target \ - --with-newlib \ - --prefix=$prefix\ - || { echo "Error configuring gcc"; exit 1; } - -mkdir -p libiberty libcpp fixincludes - -$MAKE all-gcc || { echo "Error building gcc"; exit 1; } -$MAKE install-gcc || { echo "Error installing gcc"; exit 1; } - -cd $BUILDSCRIPTDIR - -#--------------------------------------------------------------------------------- -# build and install newlib -#--------------------------------------------------------------------------------- -mkdir -p $target/newlib -cd $target/newlib -mkdir -p etc - -$BUILDSCRIPTDIR/$NEWLIB_SRCDIR/configure \ - --disable-newlib-supplied-syscalls \ - --disable-debug \ - --target=$target \ - --prefix=$prefix \ - || { echo "Error configuring newlib"; exit 1; } - -$MAKE || { echo "Error building newlib"; exit 1; } -$MAKE install || { echo "Error installing newlib"; exit 1; } - -#--------------------------------------------------------------------------------- -# remove temp stuff to conserve disc space -#--------------------------------------------------------------------------------- -rm -fr $target/newlib -rm -fr $NEWLIB_SRCDIR - -#--------------------------------------------------------------------------------- -# build and install the final compiler -#--------------------------------------------------------------------------------- - -cd $BUILDSCRIPTDIR -cd $target/gcc - -$MAKE || { echo "Error building g++"; exit 1; } -$MAKE install || { echo "Error installing g++"; exit 1; } - -cd $BUILDSCRIPTDIR - -#--------------------------------------------------------------------------------- -# remove temp stuff to conserve disc space -#--------------------------------------------------------------------------------- -rm -fr $target/gcc -rm -fr $GCC_SRCDIR diff --git a/dkarm/scripts/build-tools.sh b/dkarm/scripts/build-tools.sh deleted file mode 100644 index dfa4d86..0000000 --- a/dkarm/scripts/build-tools.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/sh - - -export DEVKITARM=$TOOLPATH/devkitARM -export DEVKITPRO=$TOOLPATH - -$MAKE -C tools/gba -$MAKE -C tools/gba install PREFIX=$DEVKITARM/bin - -$MAKE -C tools/gp32 -$MAKE -C tools/gp32 install PREFIX=$DEVKITARM/bin - -$MAKE -C tools/nds/ -$MAKE -C tools/nds/ install PREFIX=$DEVKITARM/bin - -$MAKE -C tools clean