public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
* Re, interworking problem
@ 2005-02-22 16:49 aram bharathi
  2005-02-22 18:22 ` Richard Earnshaw
  0 siblings, 1 reply; 2+ messages in thread
From: aram bharathi @ 2005-02-22 16:49 UTC (permalink / raw)
  To: gcc, binutils, nickc

[-- Attachment #1: Type: text/plain, Size: 3268 bytes --]

hi,
     normally in thumb mode add instruction supports immediate
values in the range of 0-255( same source and destination register)
. i like to increase the range(for architecture analysis as
curriculam project). i have added this instruction in gcc.

i have written a c program as

main()
{
int a;
a=a+320;
printf("%d",a);
}

compiled this with option

arm-elf-gcc -mthumb new.c

gcc emits a file with this new add instruction.

          ......
          mov	r3, r7
	sub	r3, r3, #4
	ldr	r3, [r3]
	addnew	r3, r3, #320
	str	r3, [r2]
	mov	r2, r7
	sub	r2, r2, #12
          ......

after assembling this file with binutils as, it produces a a.out
file(ELF format) with $t mapping information and producing correct
header formation.

when i try to give this a.out file into ld it produces the error

/home/.../arm-elf-ld : /home/../arm-elf/lib/libc.a(printf.o)(printf):
warning : interworking not enabled
first occurance : /tmp/cc00zhyh.o : thumb call to arm
/tmp//cc00zhyh.o(.text+0x4e>: In function 'main'
new.c:internal error: dangerous error

but it produces one a.out file. the resultant a.out file should
have only thumb instructions(compiled with -mthumb option). but
only the main function have thumb instructions and thumb specific
header details. other sections have arm instructions(printf and
other standard functions).

the output header information and the output a.out file is attached
with this email.
thank you


----- Original Message -----
From: "Nick Clifton" <nickc@redhat.com>
To: "aram bharathi" <arambharathi@linuxmail.org>
Subject: Re: interworking problem
Date: Tue, 22 Feb 2005 09:21:40 +0000

>
> Hi Aram,
>
> >    i have gone through the a.out file after this error.
>  > that is producing full of arm instructions other than the main
> > function(which is compiled for -mthumb). where should i change 
> > for this corresponding error.
>
> It is not clear what question you are asking here.
>
> Ian has pointed out that you should be compiling your program 
> with the -mthumb-interwork switch specified on the gcc command 
> line.
>
> >    i have added one new add instruction in thumb mode. based on that
> > i have written one sample program to emit the corresponding new 
> > instruction. gcc works fine. when i assemble the function it 
> emits
>  > correct opcode. but when i give the same function to the ld it
>  > emits full of arm instructions instead of thumb instructions.
>  > which routine checks for this corresponding change.
>
> Again this is not clear.  Do you mean that when the linker is 
> creating the executable that it is inserting some ARM-encoded 
> instructions into the output, or that it is somehow magically 
> transforming your THUMB-encoded instructions into ARM-encoded 
> instructions ?
>
> Perhaps it would help if you could provide a *small* example 
> program and  the command lines you use to compile it, as well as 
> description of what is wrong with the resulting executable.
>
> Cheers
>    Nick

-- 
______________________________________________
Check out the latest SMS services @ http://www.linuxmail.org 
This allows you to send and receive SMS through your mailbox.


Powered by Outblaze

[-- Attachment #2: header.txt --]
[-- Type: text/plain, Size: 26365 bytes --]

ELF Header:
  Magic:   7f 45 4c 46 01 01 01 61 00 00 00 00 00 00 00 00 
  Class:                             ELF32
  Data:                              2's complement, little endian
  Version:                           1 (current)
  OS/ABI:                            ARM
  ABI Version:                       0
  Type:                              EXEC (Executable file)
  Machine:                           ARM
  Version:                           0x1
  Entry point address:               0x8114
  Start of program headers:          52 (bytes into file)
  Start of section headers:          130116 (bytes into file)
  Flags:                             0x402, has entry point, GNU EABI, VFP
  Size of this header:               52 (bytes)
  Size of program headers:           32 (bytes)
  Number of program headers:         1
  Size of section headers:           40 (bytes)
  Number of section headers:         24
  Section header string table index: 21

Section Headers:
  [Nr] Name              Type            Addr     Off    Size   ES Flg Lk Inf Al
  [ 0]                   NULL            00000000 000000 000000 00      0   0  0
  [ 1] .init             PROGBITS        00008000 008000 000020 00  AX  0   0  4
  [ 2] .text             PROGBITS        00008020 008020 002344 00  AX  0   0  4
  [ 3] .fini             PROGBITS        0000a364 00a364 00001c 00  AX  0   0  4
  [ 4] .rodata           PROGBITS        0000a380 00a380 00000c 00   A  0   0  4
  [ 5] .eh_frame         PROGBITS        0000a38c 00a38c 000004 00   A  0   0  4
  [ 6] .ctors            PROGBITS        0000a490 00a490 000008 00  WA  0   0  4
  [ 7] .dtors            PROGBITS        0000a498 00a498 000008 00  WA  0   0  4
  [ 8] .jcr              PROGBITS        0000a4a0 00a4a0 000004 00  WA  0   0  4
  [ 9] .data             PROGBITS        0000a4a4 00a4a4 000934 00  WA  0   0  4
  [10] .bss              NOBITS          0000add8 00add8 00010c 00  WA  0   0  4
  [11] .comment          PROGBITS        00000000 00add8 0005e8 00      0   0  1
  [12] .debug_aranges    PROGBITS        00000000 00b3c0 000340 00      0   0  8
  [13] .debug_pubnames   PROGBITS        00000000 00b700 00060f 00      0   0  1
  [14] .debug_info       PROGBITS        00000000 00bd0f 00ddd9 00      0   0  1
  [15] .debug_abbrev     PROGBITS        00000000 019ae8 002557 00      0   0  1
  [16] .debug_line       PROGBITS        00000000 01c03f 002105 00      0   0  1
  [17] .debug_frame      PROGBITS        00000000 01e144 00098c 00      0   0  4
  [18] .debug_str        PROGBITS        00000000 01ead0 001079 01  MS  0   0  1
  [19] .stack            PROGBITS        00080000 01fb49 000000 00   W  0   0  1
  [20] .debug_ranges     PROGBITS        00000000 01fb49 000020 00      0   0  1
  [21] .shstrtab         STRTAB          00000000 01fb69 0000d8 00      0   0  1
  [22] .symtab           SYMTAB          00000000 020004 0016a0 10     23 258  4
  [23] .strtab           STRTAB          00000000 0216a4 0009b0 00      0   0  1
Key to Flags:
  W (write), A (alloc), X (execute), M (merge), S (strings)
  I (info), L (link order), G (group), x (unknown)
  O (extra OS processing required) o (OS specific), p (processor specific)

Program Headers:
  Type           Offset   VirtAddr   PhysAddr   FileSiz MemSiz  Flg Align
  LOAD           0x008000 0x00008000 0x00008000 0x02dd8 0x02ee4 RWE 0x8000

 Section to Segment mapping:
  Segment Sections...
   00     .init .text .fini .rodata .eh_frame .ctors .dtors .jcr .data .bss 

There is no dynamic section in this file.

There are no relocations in this file.

There are no unwind sections in this file.

Symbol table '.symtab' contains 362 entries:
   Num:    Value  Size Type    Bind   Vis      Ndx Name
     0: 00000000     0 NOTYPE  LOCAL  DEFAULT  UND 
     1: 00008000     0 SECTION LOCAL  DEFAULT    1 
     2: 00008020     0 SECTION LOCAL  DEFAULT    2 
     3: 0000a364     0 SECTION LOCAL  DEFAULT    3 
     4: 0000a380     0 SECTION LOCAL  DEFAULT    4 
     5: 0000a38c     0 SECTION LOCAL  DEFAULT    5 
     6: 0000a490     0 SECTION LOCAL  DEFAULT    6 
     7: 0000a498     0 SECTION LOCAL  DEFAULT    7 
     8: 0000a4a0     0 SECTION LOCAL  DEFAULT    8 
     9: 0000a4a4     0 SECTION LOCAL  DEFAULT    9 
    10: 0000add8     0 SECTION LOCAL  DEFAULT   10 
    11: 00000000     0 SECTION LOCAL  DEFAULT   11 
    12: 00000000     0 SECTION LOCAL  DEFAULT   12 
    13: 00000000     0 SECTION LOCAL  DEFAULT   13 
    14: 00000000     0 SECTION LOCAL  DEFAULT   14 
    15: 00000000     0 SECTION LOCAL  DEFAULT   15 
    16: 00000000     0 SECTION LOCAL  DEFAULT   16 
    17: 00000000     0 SECTION LOCAL  DEFAULT   17 
    18: 00000000     0 SECTION LOCAL  DEFAULT   18 
    19: 00080000     0 SECTION LOCAL  DEFAULT   19 
    20: 00000000     0 SECTION LOCAL  DEFAULT   20 
    21: 00000000     0 SECTION LOCAL  DEFAULT   21 
    22: 00000000     0 SECTION LOCAL  DEFAULT   22 
    23: 00000000     0 SECTION LOCAL  DEFAULT   23 
    24: 00000000     0 FILE    LOCAL  DEFAULT  ABS crti.asm
    25: 00000000     0 FILE    LOCAL  DEFAULT  ABS /home/partha/try/gccj/./g
    26: 00000000     0 FILE    LOCAL  DEFAULT  ABS <command line>
    27: 00000000     0 FILE    LOCAL  DEFAULT  ABS <built-in>
    28: 00000000     0 FILE    LOCAL  DEFAULT  ABS /home/partha/try/gccj/./g
    29: 00008000     0 THUMB_FUNC LOCAL  DEFAULT    1 $t
    30: 00008000     0 FUNC    LOCAL  DEFAULT    1 $a
    31: 0000a364     0 THUMB_FUNC LOCAL  DEFAULT    3 $t
    32: 0000a364     0 FUNC    LOCAL  DEFAULT    3 $a
    33: 00000000     0 FILE    LOCAL  DEFAULT  ABS crtstuff.c
    34: 0000a4a4     0 OBJECT  LOCAL  DEFAULT    9 force_to_data
    35: 0000a490     0 OBJECT  LOCAL  DEFAULT    6 __CTOR_LIST__
    36: 0000a490     0 OBJECT  LOCAL  DEFAULT    6 $d
    37: 0000a498     0 OBJECT  LOCAL  DEFAULT    7 __DTOR_LIST__
    38: 0000a498     0 OBJECT  LOCAL  DEFAULT    7 $d
    39: 0000a38c     0 OBJECT  LOCAL  DEFAULT    5 __EH_FRAME_BEGIN__
    40: 0000a4a0     0 OBJECT  LOCAL  DEFAULT    8 __JCR_LIST__
    41: 0000a4a8     0 OBJECT  LOCAL  DEFAULT    9 $d
    42: 0000a4ac     0 OBJECT  LOCAL  DEFAULT    9 p.0
    43: 0000add8     0 NOTYPE  LOCAL  DEFAULT   10 completed.1
    44: 00008020     0 FUNC    LOCAL  DEFAULT    2 __do_global_dtors_aux
    45: 00008020     0 FUNC    LOCAL  DEFAULT    2 $a
    46: 00008088     0 OBJECT  LOCAL  DEFAULT    2 $d
    47: 00008098     0 FUNC    LOCAL  DEFAULT    2 call___do_global_dtors_au
    48: 00008098     0 FUNC    LOCAL  DEFAULT    2 $a
    49: 0000a370     0 FUNC    LOCAL  DEFAULT    3 $a
    50: 0000add9     0 OBJECT  LOCAL  DEFAULT   10 $d
    51: 0000addc     0 NOTYPE  LOCAL  DEFAULT   10 object.2
    52: 000080a8     0 FUNC    LOCAL  DEFAULT    2 frame_dummy
    53: 000080f0     0 OBJECT  LOCAL  DEFAULT    2 $d
    54: 00008104     0 FUNC    LOCAL  DEFAULT    2 call_frame_dummy
    55: 00008104     0 FUNC    LOCAL  DEFAULT    2 $a
    56: 0000800c     0 FUNC    LOCAL  DEFAULT    1 $a
    57: 00000000     0 FILE    LOCAL  DEFAULT  ABS crtstuff.c
    58: 0000add4     0 OBJECT  LOCAL  DEFAULT    9 force_to_data
    59: 0000a494     0 OBJECT  LOCAL  DEFAULT    6 __CTOR_END__
    60: 0000a494     0 OBJECT  LOCAL  DEFAULT    6 $d
    61: 0000a49c     0 OBJECT  LOCAL  DEFAULT    7 __DTOR_END__
    62: 0000a49c     0 OBJECT  LOCAL  DEFAULT    7 $d
    63: 0000a38c     0 OBJECT  LOCAL  DEFAULT    5 __FRAME_END__
    64: 0000a38c     0 OBJECT  LOCAL  DEFAULT    5 $d
    65: 0000a4a0     0 OBJECT  LOCAL  DEFAULT    8 __JCR_END__
    66: 0000a4a0     0 OBJECT  LOCAL  DEFAULT    8 $d
    67: 0000a308     0 FUNC    LOCAL  DEFAULT    2 __do_global_ctors_aux
    68: 0000a308     0 FUNC    LOCAL  DEFAULT    2 $a
    69: 0000a344     0 OBJECT  LOCAL  DEFAULT    2 $d
    70: 0000a348     0 FUNC    LOCAL  DEFAULT    2 call___do_global_ctors_au
    71: 0000a348     0 FUNC    LOCAL  DEFAULT    2 $a
    72: 00008010     0 FUNC    LOCAL  DEFAULT    1 $a
    73: 00000000     0 FILE    LOCAL  DEFAULT  ABS crtn.asm
    74: 00000000     0 FILE    LOCAL  DEFAULT  ABS /home/partha/try/gccj/./g
    75: 00000000     0 FILE    LOCAL  DEFAULT  ABS <command line>
    76: 00000000     0 FILE    LOCAL  DEFAULT  ABS <built-in>
    77: 00000000     0 FILE    LOCAL  DEFAULT  ABS /home/partha/try/gccj/./g
    78: 00008014     0 THUMB_FUNC LOCAL  DEFAULT    1 $t
    79: 00008014     0 FUNC    LOCAL  DEFAULT    1 $a
    80: 0000a374     0 THUMB_FUNC LOCAL  DEFAULT    3 $t
    81: 0000a374     0 FUNC    LOCAL  DEFAULT    3 $a
    82: 00000000     0 FILE    LOCAL  DEFAULT  ABS /home/partha/src/newlib-2
    83: 00000000     0 FILE    LOCAL  DEFAULT  ABS /home/partha/src/newlib-2
    84: 00000000     0 FILE    LOCAL  DEFAULT  ABS /home/partha/src/newlib-2
    85: 00000000     0 FILE    LOCAL  DEFAULT  ABS <command line>
    86: 00000000     0 FILE    LOCAL  DEFAULT  ABS <built-in>
    87: 00000000     0 FILE    LOCAL  DEFAULT  ABS /home/partha/try/finalgcc
    88: 00000000     0 FILE    LOCAL  DEFAULT  ABS /home/partha/src/newlib-2
    89: 00008114     0 THUMB_FUNC LOCAL  DEFAULT    2 $t
    90: 00008114     0 FUNC    LOCAL  DEFAULT    2 $a
    91: 00008204     0 OBJECT  LOCAL  DEFAULT    2 $d
    92: 0000a4b0     0 NOTYPE  LOCAL  DEFAULT    9 HeapBase
    93: 0000a4c0     0 NOTYPE  LOCAL  DEFAULT    9 CommandLine
    94: 0000a4b0     0 OBJECT  LOCAL  DEFAULT    9 $d
    95: 0000a4b4     0 NOTYPE  LOCAL  DEFAULT    9 HeapLimit
    96: 0000a4bc     0 NOTYPE  LOCAL  DEFAULT    9 StackLimit
    97: 00000000     0 FILE    LOCAL  DEFAULT  ABS new.c
    98: 0000821c     0 THUMB_FUNC LOCAL  DEFAULT    2 $t
    99: 00008288     0 OBJECT  LOCAL  DEFAULT    2 $d
   100: 00000000     0 FILE    LOCAL  DEFAULT  ABS atexit.c
   101: 00008294     0 FUNC    LOCAL  DEFAULT    2 $a
   102: 00000000     0 FILE    LOCAL  DEFAULT  ABS exit.c
   103: 000082a8     0 FUNC    LOCAL  DEFAULT    2 $a
   104: 000082e8     0 OBJECT  LOCAL  DEFAULT    2 $d
   105: 00000000     0 FILE    LOCAL  DEFAULT  ABS impure.c
   106: 0000a380     0 OBJECT  LOCAL  DEFAULT    4 $d
   107: 0000a5c0  1024 OBJECT  LOCAL  DEFAULT    9 impure_data
   108: 0000a5c0     0 OBJECT  LOCAL  DEFAULT    9 $d
   109: 00000000     0 FILE    LOCAL  DEFAULT  ABS memset.c
   110: 000082ec     0 FUNC    LOCAL  DEFAULT    2 $a
   111: 00000000     0 FILE    LOCAL  DEFAULT  ABS syscalls.c
   112: 00008364    44 FUNC    LOCAL  DEFAULT    2 findslot
   113: 00008364     0 FUNC    LOCAL  DEFAULT    2 $a
   114: 0000838c     0 OBJECT  LOCAL  DEFAULT    2 $d
   115: 0000ae08     0 NOTYPE  LOCAL  DEFAULT   10 openfiles
   116: 00008390   268 FUNC    LOCAL  DEFAULT    2 remap_handle
   117: 00008390     0 FUNC    LOCAL  DEFAULT    2 $a
   118: 00008488     0 OBJECT  LOCAL  DEFAULT    2 $d
   119: 0000adf8     0 NOTYPE  LOCAL  DEFAULT   10 std_files_checked
   120: 0000adfc     0 NOTYPE  LOCAL  DEFAULT   10 monitor_stdin
   121: 0000ae04     0 NOTYPE  LOCAL  DEFAULT   10 monitor_stderr
   122: 0000ae00     0 NOTYPE  LOCAL  DEFAULT   10 monitor_stdout
   123: 0000849c     0 FUNC    LOCAL  DEFAULT    2 $a
   124: 00008548     0 OBJECT  LOCAL  DEFAULT    2 $d
   125: 0000855c    60 FUNC    LOCAL  DEFAULT    2 error
   126: 0000855c     0 FUNC    LOCAL  DEFAULT    2 $a
   127: 00008598    12 FUNC    LOCAL  DEFAULT    2 wrap
   128: 0000865c     0 OBJECT  LOCAL  DEFAULT    2 $d
   129: 00008660     0 FUNC    LOCAL  DEFAULT    2 $a
   130: 0000873c     0 OBJECT  LOCAL  DEFAULT    2 $d
   131: 00008740     0 FUNC    LOCAL  DEFAULT    2 $a
   132: 00008818     0 OBJECT  LOCAL  DEFAULT    2 $d
   133: 0000881c     0 FUNC    LOCAL  DEFAULT    2 $a
   134: 000088cc     0 OBJECT  LOCAL  DEFAULT    2 $d
   135: 000088d0     0 FUNC    LOCAL  DEFAULT    2 $a
   136: 00008940     0 OBJECT  LOCAL  DEFAULT    2 $d
   137: 00008944     0 FUNC    LOCAL  DEFAULT    2 $a
   138: 0000adf4     0 OBJECT  LOCAL  DEFAULT   10 $d
   139: 0000adf4     0 NOTYPE  LOCAL  DEFAULT   10 heap_end.0
   140: 00008a00     0 OBJECT  LOCAL  DEFAULT    2 $d
   141: 00008a08     0 FUNC    LOCAL  DEFAULT    2 $a
   142: 0000adf8     0 OBJECT  LOCAL  DEFAULT   10 $d
   143: 00000000     0 FILE    LOCAL  DEFAULT  ABS __atexit.c
   144: 0000aea8     0 OBJECT  LOCAL  DEFAULT   10 $d
   145: 0000aea8     0 NOTYPE  LOCAL  DEFAULT   10 lock.0
   146: 00008b80     0 FUNC    LOCAL  DEFAULT    2 $a
   147: 00008c44     0 OBJECT  LOCAL  DEFAULT    2 $d
   148: 00000000     0 FILE    LOCAL  DEFAULT  ABS __call_atexit.c
   149: 00008c48     0 FUNC    LOCAL  DEFAULT    2 $a
   150: 00008d84     0 OBJECT  LOCAL  DEFAULT    2 $d
   151: 00000000     0 FILE    LOCAL  DEFAULT  ABS errno.c
   152: 00008d88     0 FUNC    LOCAL  DEFAULT    2 $a
   153: 00008d94     0 OBJECT  LOCAL  DEFAULT    2 $d
   154: 00000000     0 FILE    LOCAL  DEFAULT  ABS findfp.c
   155: 00008d98    92 FUNC    LOCAL  DEFAULT    2 std
   156: 00008d98     0 FUNC    LOCAL  DEFAULT    2 $a
   157: 00008de4     0 OBJECT  LOCAL  DEFAULT    2 $d
   158: 00008df4     0 FUNC    LOCAL  DEFAULT    2 $a
   159: 00008ed0     0 OBJECT  LOCAL  DEFAULT    2 $d
   160: 00008ed4     0 FUNC    LOCAL  DEFAULT    2 $a
   161: 00008fac     0 OBJECT  LOCAL  DEFAULT    2 $d
   162: 00008fb0     0 FUNC    LOCAL  DEFAULT    2 $a
   163: 00008fb8     0 OBJECT  LOCAL  DEFAULT    2 $d
   164: 00008fbc     0 FUNC    LOCAL  DEFAULT    2 $a
   165: 00008fc8     0 OBJECT  LOCAL  DEFAULT    2 $d
   166: 00008fcc     8 FUNC    LOCAL  DEFAULT    2 __fp_lock
   167: 00008fcc     0 FUNC    LOCAL  DEFAULT    2 $a
   168: 00008fd4     8 FUNC    LOCAL  DEFAULT    2 __fp_unlock
   169: 00008fec     0 OBJECT  LOCAL  DEFAULT    2 $d
   170: 00008ff4     0 FUNC    LOCAL  DEFAULT    2 $a
   171: 00009004     0 OBJECT  LOCAL  DEFAULT    2 $d
   172: 00000000     0 FILE    LOCAL  DEFAULT  ABS fwalk.c
   173: 0000900c     0 FUNC    LOCAL  DEFAULT    2 $a
   174: 00000000     0 FILE    LOCAL  DEFAULT  ABS malloc.c
   175: 00009110     0 FUNC    LOCAL  DEFAULT    2 $a
   176: 00009120     0 OBJECT  LOCAL  DEFAULT    2 $d
   177: 00009124     0 FUNC    LOCAL  DEFAULT    2 $a
   178: 00009134     0 OBJECT  LOCAL  DEFAULT    2 $d
   179: 00000000     0 FILE    LOCAL  DEFAULT  ABS mallocr.c
   180: 0000aeac     0 OBJECT  LOCAL  DEFAULT   10 $d
   181: 0000a9c4     0 OBJECT  LOCAL  DEFAULT    9 $d
   182: 00009138     0 FUNC    LOCAL  DEFAULT    2 $a
   183: 000097d0     0 OBJECT  LOCAL  DEFAULT    2 $d
   184: 00000000     0 FILE    LOCAL  DEFAULT  ABS mlock.c
   185: 000097ec     0 FUNC    LOCAL  DEFAULT    2 $a
   186: 00000000     0 FILE    LOCAL  DEFAULT  ABS sbrkr.c
   187: 000097f4     0 FUNC    LOCAL  DEFAULT    2 $a
   188: 00009830     0 OBJECT  LOCAL  DEFAULT    2 $d
   189: 00000000     0 FILE    LOCAL  DEFAULT  ABS stdio.c
   190: 00009834     0 FUNC    LOCAL  DEFAULT    2 $a
   191: 0000987c     0 OBJECT  LOCAL  DEFAULT    2 $d
   192: 00009880     0 FUNC    LOCAL  DEFAULT    2 $a
   193: 000098e8     0 OBJECT  LOCAL  DEFAULT    2 $d
   194: 000098ec     0 FUNC    LOCAL  DEFAULT    2 $a
   195: 00009938     0 OBJECT  LOCAL  DEFAULT    2 $d
   196: 0000993c     0 FUNC    LOCAL  DEFAULT    2 $a
   197: 0000994c     0 OBJECT  LOCAL  DEFAULT    2 $d
   198: 00000000     0 FILE    LOCAL  DEFAULT  ABS strlen.c
   199: 00009950     0 FUNC    LOCAL  DEFAULT    2 $a
   200: 00000000     0 FILE    LOCAL  DEFAULT  ABS writer.c
   201: 000099b0     0 FUNC    LOCAL  DEFAULT    2 $a
   202: 000099f4     0 OBJECT  LOCAL  DEFAULT    2 $d
   203: 00000000     0 FILE    LOCAL  DEFAULT  ABS closer.c
   204: 000099f8     0 FUNC    LOCAL  DEFAULT    2 $a
   205: 00009a34     0 OBJECT  LOCAL  DEFAULT    2 $d
   206: 00000000     0 FILE    LOCAL  DEFAULT  ABS fclose.c
   207: 00009a38     0 FUNC    LOCAL  DEFAULT    2 $a
   208: 00009b5c     0 OBJECT  LOCAL  DEFAULT    2 $d
   209: 00009b60     0 FUNC    LOCAL  DEFAULT    2 $a
   210: 00009b70     0 OBJECT  LOCAL  DEFAULT    2 $d
   211: 00000000     0 FILE    LOCAL  DEFAULT  ABS fflush.c
   212: 00009b74     0 FUNC    LOCAL  DEFAULT    2 $a
   213: 00009c64     0 OBJECT  LOCAL  DEFAULT    2 $d
   214: 00000000     0 FILE    LOCAL  DEFAULT  ABS mallocr.c
   215: 00009c70     0 FUNC    LOCAL  DEFAULT    2 $a
   216: 00009d68     0 OBJECT  LOCAL  DEFAULT    2 $d
   217: 00009d74     0 FUNC    LOCAL  DEFAULT    2 $a
   218: 00009fa8     0 OBJECT  LOCAL  DEFAULT    2 $d
   219: 00000000     0 FILE    LOCAL  DEFAULT  ABS lseekr.c
   220: 00009fb8     0 FUNC    LOCAL  DEFAULT    2 $a
   221: 00009ffc     0 OBJECT  LOCAL  DEFAULT    2 $d
   222: 00000000     0 FILE    LOCAL  DEFAULT  ABS readr.c
   223: 0000a000     0 FUNC    LOCAL  DEFAULT    2 $a
   224: 0000a044     0 OBJECT  LOCAL  DEFAULT    2 $d
   225: 00000000     0 FILE    LOCAL  DEFAULT  ABS reent.c
   226: 0000a048     0 FUNC    LOCAL  DEFAULT    2 $a
   227: 0000a17c     0 OBJECT  LOCAL  DEFAULT    2 $d
   228: 0000a180     0 FUNC    LOCAL  DEFAULT    2 $a
   229: 0000a1f0     0 OBJECT  LOCAL  DEFAULT    2 $d
   230: 00000000     0 FILE    LOCAL  DEFAULT  ABS /home/partha/try/gccj/./g
   231: 00000000     0 FILE    LOCAL  DEFAULT  ABS /home/partha/try/gccj/./g
   232: 00000000     0 FILE    LOCAL  DEFAULT  ABS /home/partha/try/gccj/./g
   233: 00000000     0 FILE    LOCAL  DEFAULT  ABS /home/partha/try/gccj/./g
   234: 00000000     0 FILE    LOCAL  DEFAULT  ABS /home/partha/try/gccj/./g
   235: 00000000     0 FILE    LOCAL  DEFAULT  ABS /home/partha/try/gccj/./g
   236: 00000000     0 FILE    LOCAL  DEFAULT  ABS /home/partha/try/gccj/./g
   237: 00000000     0 FILE    LOCAL  DEFAULT  ABS /home/partha/try/gccj/./g
   238: 00000000     0 FILE    LOCAL  DEFAULT  ABS /home/partha/try/gccj/./g
   239: 00000000     0 FILE    LOCAL  DEFAULT  ABS <command line>
   240: 00000000     0 FILE    LOCAL  DEFAULT  ABS <built-in>
   241: 00000000     0 FILE    LOCAL  DEFAULT  ABS /home/partha/try/finalgcc
   242: 00000000     0 FILE    LOCAL  DEFAULT  ABS /home/partha/try/gccj/./g
   243: 0000a1f4     0 FUNC    LOCAL  DEFAULT    2 $a
   244: 00000000     0 FILE    LOCAL  DEFAULT  ABS /home/partha/try/gccj/./g
   245: 00000000     0 FILE    LOCAL  DEFAULT  ABS /home/partha/try/gccj/./g
   246: 00000000     0 FILE    LOCAL  DEFAULT  ABS /home/partha/try/gccj/./g
   247: 00000000     0 FILE    LOCAL  DEFAULT  ABS /home/partha/try/gccj/./g
   248: 00000000     0 FILE    LOCAL  DEFAULT  ABS /home/partha/try/gccj/./g
   249: 00000000     0 FILE    LOCAL  DEFAULT  ABS /home/partha/try/gccj/./g
   250: 00000000     0 FILE    LOCAL  DEFAULT  ABS /home/partha/try/gccj/./g
   251: 00000000     0 FILE    LOCAL  DEFAULT  ABS /home/partha/try/gccj/./g
   252: 00000000     0 FILE    LOCAL  DEFAULT  ABS /home/partha/try/gccj/./g
   253: 00000000     0 FILE    LOCAL  DEFAULT  ABS <command line>
   254: 00000000     0 FILE    LOCAL  DEFAULT  ABS <built-in>
   255: 00000000     0 FILE    LOCAL  DEFAULT  ABS /home/partha/try/finalgcc
   256: 00000000     0 FILE    LOCAL  DEFAULT  ABS /home/partha/try/gccj/./g
   257: 0000a304     0 FUNC    LOCAL  DEFAULT    2 $a
   258: 0000a048    56 FUNC    GLOBAL DEFAULT    2 cleanup_glue
   259: 000089a4     8 FUNC    GLOBAL DEFAULT    2 _getpid
   260: 00009fb8    72 FUNC    GLOBAL DEFAULT    2 _lseek_r
   261: 000098ec    80 FUNC    GLOBAL DEFAULT    2 __sseek
   262: 00008e58   124 FUNC    GLOBAL DEFAULT    2 __sinit
   263: 00008df4    96 FUNC    GLOBAL DEFAULT    2 __sfmoreglue
   264: 000097f0     4 FUNC    GLOBAL DEFAULT    2 __malloc_unlock
   265: 0000849c   192 FUNC    GLOBAL DEFAULT    2 initialise_monitor_handle
   266: 00008fbc    16 FUNC    GLOBAL DEFAULT    2 _cleanup
   267: 0000a38c     0 NOTYPE  GLOBAL DEFAULT  ABS __exidx_end
   268: 00008d88    16 FUNC    GLOBAL DEFAULT    2 __errno
   269: 0000aee4     0 NOTYPE  GLOBAL DEFAULT  ABS _bss_end__
   270: 0000aee0     4 OBJECT  GLOBAL DEFAULT   10 errno
   271: 0000a358     0 NOTYPE  GLOBAL DEFAULT    2 __main_from_arm
   272: 00008fb0    12 FUNC    GLOBAL DEFAULT    2 _cleanup_r
   273: 00009110    20 FUNC    GLOBAL DEFAULT    2 malloc
   274: 0000a1f4   248 FUNC    GLOBAL DEFAULT    2 __udivsi3
   275: 00008b30     8 FUNC    GLOBAL DEFAULT    2 isatty
   276: 00008a08    56 FUNC    GLOBAL DEFAULT    2 _fstat
   277: 0000aedc     4 OBJECT  GLOBAL DEFAULT   10 __malloc_top_pad
   278: 0000add8     0 NOTYPE  GLOBAL DEFAULT  ABS __bss_start__
   279: 0000a4a8     0 OBJECT  GLOBAL HIDDEN    9 __dso_handle
   280: 000097f4    64 FUNC    GLOBAL DEFAULT    2 _sbrk_r
   281: 0000a000    72 FUNC    GLOBAL DEFAULT    2 _read_r
   282: 00009a38   296 FUNC    GLOBAL DEFAULT    2 _fclose_r
   283: 00009b74   252 FUNC    GLOBAL DEFAULT    2 fflush
   284: 0000aed8     4 OBJECT  GLOBAL DEFAULT   10 __malloc_max_sbrked_mem
   285: 0000a38c     0 NOTYPE  GLOBAL DEFAULT  ABS __exidx_start
   286: 0000a380     4 OBJECT  GLOBAL DEFAULT    4 _global_impure_ptr
   287: 00008114     0 NOTYPE  GLOBAL DEFAULT    2 _mainCRTStartup
   288: 000088d0    36 FUNC    GLOBAL DEFAULT    2 _open
   289: 000089ac    92 FUNC    GLOBAL DEFAULT    2 _sbrk
   290: 00008fdc    24 FUNC    GLOBAL DEFAULT    2 __fp_lock_all
   291: 00008000     0 FUNC    GLOBAL DEFAULT    1 _init
   292: 00008aa8     4 FUNC    GLOBAL DEFAULT    2 _raise
   293: 00008af4    60 FUNC    GLOBAL DEFAULT    2 _times
   294: 0000a080   256 FUNC    GLOBAL DEFAULT    2 _reclaim_reent
   295: 00008a40    88 FUNC    GLOBAL DEFAULT    2 _stat
   296: 0000a180   116 FUNC    GLOBAL DEFAULT    2 _wrapup_reent
   297: 00000000     0 NOTYPE  WEAK   DEFAULT  UND __deregister_frame_info
   298: 0000aee4     0 NOTYPE  GLOBAL DEFAULT  ABS end
   299: 0000a4b8     0 NOTYPE  GLOBAL DEFAULT    9 __stack_base__
   300: 00008e54     4 FUNC    GLOBAL DEFAULT    2 __sfp_lock_acquire
   301: 0000aee4     0 NOTYPE  GLOBAL DEFAULT  ABS __bss_end__
   302: 00009d74   580 FUNC    GLOBAL DEFAULT    2 _free_r
   303: 00008c48   320 FUNC    GLOBAL DEFAULT    2 __call_exitprocs
   304: 0000a9c4     4 OBJECT  GLOBAL DEFAULT    9 __malloc_sbrk_base
   305: 00008114     0 NOTYPE  GLOBAL DEFAULT    2 _start
   306: 00008740    24 FUNC    GLOBAL DEFAULT    2 _lseek
   307: 00008b80   200 FUNC    GLOBAL DEFAULT    2 __register_exitproc
   308: 0000aeac    40 OBJECT  GLOBAL DEFAULT   10 __malloc_current_mallinfo
   309: 000099f8    64 FUNC    GLOBAL DEFAULT    2 _close_r
   310: 0000a304     4 FUNC    GLOBAL DEFAULT    2 __aeabi_ldiv0
   311: 00008ed8   216 FUNC    GLOBAL DEFAULT    2 __sfp
   312: 0000a9cc  1032 OBJECT  GLOBAL DEFAULT    9 __malloc_av_
   313: 00009834    76 FUNC    GLOBAL DEFAULT    2 __sread
   314: 000097ec     4 FUNC    GLOBAL DEFAULT    2 __malloc_lock
   315: 0000add8     0 NOTYPE  GLOBAL DEFAULT  ABS __bss_start
   316: 000082ec   120 FUNC    GLOBAL DEFAULT    2 memset
   317: 0000821c   120 THUMB_FUNC GLOBAL DEFAULT    2 main
   318: 00008a98     8 FUNC    GLOBAL DEFAULT    2 _link
   319: 0000aed4     4 OBJECT  GLOBAL DEFAULT   10 __malloc_max_total_mem
   320: 0000a304     4 FUNC    GLOBAL DEFAULT    2 __div0
   321: 0000993c    20 FUNC    GLOBAL DEFAULT    2 __sclose
   322: 00009b60    20 FUNC    GLOBAL DEFAULT    2 fclose
   323: 00009138  1716 FUNC    GLOBAL DEFAULT    2 _malloc_r
   324: 0000900c   128 FUNC    GLOBAL DEFAULT    2 _fwalk
   325: 0000aee4     0 NOTYPE  GLOBAL DEFAULT  ABS __end__
   326: 00008758    76 FUNC    GLOBAL DEFAULT    2 _swiwrite
   327: 00008b60    32 FUNC    GLOBAL DEFAULT    2 _rename
   328: 00009c70   260 FUNC    GLOBAL DEFAULT    2 _malloc_trim_r
   329: 0000a364     0 FUNC    GLOBAL DEFAULT    3 _fini
   330: 00008660   224 FUNC    GLOBAL DEFAULT    2 _swilseek
   331: 00008294    20 FUNC    GLOBAL DEFAULT    2 atexit
   332: 000099b0    72 FUNC    GLOBAL DEFAULT    2 _write_r
   333: 0000a9c0     4 OBJECT  GLOBAL DEFAULT    9 _impure_ptr
   334: 000088f4    80 FUNC    GLOBAL DEFAULT    2 _swiclose
   335: 0000881c   180 FUNC    GLOBAL DEFAULT    2 _swiopen
   336: 00008ff4    24 FUNC    GLOBAL DEFAULT    2 __fp_unlock_all
   337: 00008aa0     8 FUNC    GLOBAL DEFAULT    2 _unlink
   338: 0000a2ec    24 FUNC    GLOBAL DEFAULT    2 __aeabi_uidivmod
   339: 000087a4   120 FUNC    GLOBAL DEFAULT    2 _write
   340: 0000add8     0 NOTYPE  GLOBAL DEFAULT  ABS _edata
   341: 0000aee4     0 NOTYPE  GLOBAL DEFAULT  ABS _end
   342: 00009880   108 FUNC    GLOBAL DEFAULT    2 __swrite
   343: 0000a9c8     4 OBJECT  GLOBAL DEFAULT    9 __malloc_trim_threshold
   344: 000082a8    68 FUNC    GLOBAL DEFAULT    2 exit
   345: 0000908c   132 FUNC    GLOBAL DEFAULT    2 _fwalk_reent
   346: 0000897c    40 FUNC    GLOBAL DEFAULT    2 _kill
   347: 00008ed4     4 FUNC    GLOBAL DEFAULT    2 __sfp_lock_release
   348: 00008114     0 NOTYPE  GLOBAL DEFAULT    2 start
   349: 00008aac    72 FUNC    GLOBAL DEFAULT    2 _gettimeofday
   350: 000085f0   112 FUNC    GLOBAL DEFAULT    2 _read
   351: 0000a304     4 FUNC    GLOBAL DEFAULT    2 __aeabi_idiv0
   352: 0000895c    32 FUNC    GLOBAL DEFAULT    2 _exit
   353: 00009950    96 FUNC    GLOBAL DEFAULT    2 strlen
   354: 00080000     0 NOTYPE  GLOBAL DEFAULT   19 _stack
   355: 0000a4a4     0 NOTYPE  GLOBAL DEFAULT    9 __data_start
   356: 00000000     0 NOTYPE  WEAK   DEFAULT  UND _Jv_RegisterClasses
   357: 00000000     0 NOTYPE  WEAK   DEFAULT  UND __register_frame_info
   358: 00008b38    40 FUNC    GLOBAL DEFAULT    2 _system
   359: 000085a4    76 FUNC    GLOBAL DEFAULT    2 _swiread
   360: 00008944    24 FUNC    GLOBAL DEFAULT    2 _close
   361: 00009124    20 FUNC    GLOBAL DEFAULT    2 free

No version information found in this file.

[-- Attachment #3: d.txt --]
[-- Type: text/plain, Size: 98237 bytes --]


a.out:     file format elf32-littlearm

Disassembly of section .init:

00008000 <_init>:
    8000:	e1a0c00d 	mov	ip, sp
    8004:	e92ddff8 	stmdb	sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, ip, lr, pc}
    8008:	e24cb004 	sub	fp, ip, #4	; 0x4
    800c:	eb000025 	bl	80a8 <frame_dummy>
    8010:	eb0008a5 	bl	a2ac <__do_global_ctors_aux>
    8014:	e24bd028 	sub	sp, fp, #40	; 0x28
    8018:	e89d6ff0 	ldmia	sp, {r4, r5, r6, r7, r8, r9, sl, fp, sp, lr}
    801c:	e1a0f00e 	mov	pc, lr
Disassembly of section .text:

00008020 <__do_global_dtors_aux>:
    8020:	e1a0c00d 	mov	ip, sp
    8024:	e92dd830 	stmdb	sp!, {r4, r5, fp, ip, lr, pc}
    8028:	e59f5058 	ldr	r5, [pc, #88]	; 8088 <.text+0x68>
    802c:	e5d53000 	ldrb	r3, [r5]
    8030:	e3530000 	cmp	r3, #0	; 0x0
    8034:	e24cb004 	sub	fp, ip, #4	; 0x4
    8038:	189da830 	ldmneia	sp, {r4, r5, fp, sp, pc}
    803c:	e59f4048 	ldr	r4, [pc, #72]	; 808c <.text+0x6c>
    8040:	ea000004 	b	8058 <__do_global_dtors_aux+0x38>
    8044:	e5943000 	ldr	r3, [r4]
    8048:	e2833004 	add	r3, r3, #4	; 0x4
    804c:	e5843000 	str	r3, [r4]
    8050:	e1a0e00f 	mov	lr, pc
    8054:	e12fff12 	bx	r2
    8058:	e5943000 	ldr	r3, [r4]
    805c:	e5932000 	ldr	r2, [r3]
    8060:	e3520000 	cmp	r2, #0	; 0x0
    8064:	1afffff6 	bne	8044 <__do_global_dtors_aux+0x24>
    8068:	e59f3020 	ldr	r3, [pc, #32]	; 8090 <.text+0x70>
    806c:	e3530000 	cmp	r3, #0	; 0x0
    8070:	159f001c 	ldrne	r0, [pc, #28]	; 8094 <.text+0x74>
    8074:	11a0e00f 	movne	lr, pc
    8078:	112fff13 	bxne	r3
    807c:	e3a03001 	mov	r3, #1	; 0x1
    8080:	e5c53000 	strb	r3, [r5]
    8084:	e89da830 	ldmia	sp, {r4, r5, fp, sp, pc}
    8088:	0000ad7c 	andeq	sl, r0, ip, ror sp
    808c:	0000a450 	andeq	sl, r0, r0, asr r4
    8090:	00000000 	andeq	r0, r0, r0
    8094:	0000a330 	andeq	sl, r0, r0, lsr r3

00008098 <call___do_global_dtors_aux>:
    8098:	e1a0c00d 	mov	ip, sp
    809c:	e92dd800 	stmdb	sp!, {fp, ip, lr, pc}
    80a0:	e24cb004 	sub	fp, ip, #4	; 0x4
    80a4:	e89da800 	ldmia	sp, {fp, sp, pc}

000080a8 <frame_dummy>:
    80a8:	e59f3040 	ldr	r3, [pc, #64]	; 80f0 <.text+0xd0>
    80ac:	e1a0c00d 	mov	ip, sp
    80b0:	e3530000 	cmp	r3, #0	; 0x0
    80b4:	e92dd800 	stmdb	sp!, {fp, ip, lr, pc}
    80b8:	e59f0034 	ldr	r0, [pc, #52]	; 80f4 <.text+0xd4>
    80bc:	e24cb004 	sub	fp, ip, #4	; 0x4
    80c0:	e59f1030 	ldr	r1, [pc, #48]	; 80f8 <.text+0xd8>
    80c4:	11a0e00f 	movne	lr, pc
    80c8:	112fff13 	bxne	r3
    80cc:	e59f0028 	ldr	r0, [pc, #40]	; 80fc <.text+0xdc>
    80d0:	e5903000 	ldr	r3, [r0]
    80d4:	e3530000 	cmp	r3, #0	; 0x0
    80d8:	089da800 	ldmeqia	sp, {fp, sp, pc}
    80dc:	e59f301c 	ldr	r3, [pc, #28]	; 8100 <.text+0xe0>
    80e0:	e3530000 	cmp	r3, #0	; 0x0
    80e4:	089da800 	ldmeqia	sp, {fp, sp, pc}
    80e8:	e89d6800 	ldmia	sp, {fp, sp, lr}
    80ec:	eaffdfc3 	b	0 <_init-0x8000>
    80f0:	00000000 	andeq	r0, r0, r0
    80f4:	0000a330 	andeq	sl, r0, r0, lsr r3
    80f8:	0000ad80 	andeq	sl, r0, r0, lsl #27
    80fc:	0000a444 	andeq	sl, r0, r4, asr #8
    8100:	00000000 	andeq	r0, r0, r0

00008104 <call_frame_dummy>:
    8104:	e1a0c00d 	mov	ip, sp
    8108:	e92dd800 	stmdb	sp!, {fp, ip, lr, pc}
    810c:	e24cb004 	sub	fp, ip, #4	; 0x4
    8110:	e89da800 	ldmia	sp, {fp, sp, pc}

00008114 <_mainCRTStartup>:
    8114:	e3a00016 	mov	r0, #22	; 0x16
    8118:	e28f10e4 	add	r1, pc, #228	; 0xe4
    811c:	ef123456 	swi	0x00123456
    8120:	e59f00dc 	ldr	r0, [pc, #220]	; 8204 <.text+0x1e4>
    8124:	e590d008 	ldr	sp, [r0, #8]
    8128:	e590a00c 	ldr	sl, [r0, #12]
    812c:	e28aac01 	add	sl, sl, #256	; 0x100
    8130:	e3a01000 	mov	r1, #0	; 0x0
    8134:	e1a0b001 	mov	fp, r1
    8138:	e1a07001 	mov	r7, r1
    813c:	e59f00c4 	ldr	r0, [pc, #196]	; 8208 <.text+0x1e8>
    8140:	e59f20c4 	ldr	r2, [pc, #196]	; 820c <.text+0x1ec>
    8144:	e0422000 	sub	r2, r2, r0
    8148:	eb000050 	bl	8290 <memset>
    814c:	eb0000bb 	bl	8440 <initialise_monitor_handles>
    8150:	e3a00015 	mov	r0, #21	; 0x15
    8154:	e28f10b8 	add	r1, pc, #184	; 0xb8
    8158:	ef123456 	swi	0x00123456
    815c:	e59f10b0 	ldr	r1, [pc, #176]	; 8214 <.text+0x1f4>
    8160:	e3a00000 	mov	r0, #0	; 0x0
    8164:	e92d0001 	stmdb	sp!, {r0}
    8168:	e4d13001 	ldrb	r3, [r1], #1
    816c:	e3530000 	cmp	r3, #0	; 0x0
    8170:	0a000011 	beq	81bc <_mainCRTStartup+0xa8>
    8174:	e3530020 	cmp	r3, #32	; 0x20
    8178:	0afffffa 	beq	8168 <_mainCRTStartup+0x54>
    817c:	e3530022 	cmp	r3, #34	; 0x22
    8180:	13530027 	cmpne	r3, #39	; 0x27
    8184:	01a02003 	moveq	r2, r3
    8188:	13a02020 	movne	r2, #32	; 0x20
    818c:	12411001 	subne	r1, r1, #1	; 0x1
    8190:	e92d0002 	stmdb	sp!, {r1}
    8194:	e2800001 	add	r0, r0, #1	; 0x1
    8198:	e4d13001 	ldrb	r3, [r1], #1
    819c:	e3530000 	cmp	r3, #0	; 0x0
    81a0:	0a000005 	beq	81bc <_mainCRTStartup+0xa8>
    81a4:	e1520003 	cmp	r2, r3
    81a8:	1afffffa 	bne	8198 <_mainCRTStartup+0x84>
    81ac:	e3a02000 	mov	r2, #0	; 0x0
    81b0:	e2413001 	sub	r3, r1, #1	; 0x1
    81b4:	e5c32000 	strb	r2, [r3]
    81b8:	eaffffea 	b	8168 <_mainCRTStartup+0x54>
    81bc:	e1a0100d 	mov	r1, sp
    81c0:	e08d2100 	add	r2, sp, r0, lsl #2
    81c4:	e1a0300d 	mov	r3, sp
    81c8:	e1520003 	cmp	r2, r3
    81cc:	85124004 	ldrhi	r4, [r2, #-4]
    81d0:	85935000 	ldrhi	r5, [r3]
    81d4:	85225004 	strhi	r5, [r2, #-4]!
    81d8:	84834004 	strhi	r4, [r3], #4
    81dc:	8afffff9 	bhi	81c8 <_mainCRTStartup+0xb4>
    81e0:	e1a04000 	mov	r4, r0
    81e4:	e1a05001 	mov	r5, r1
    81e8:	e59f0020 	ldr	r0, [pc, #32]	; 8210 <.text+0x1f0>
    81ec:	eb000011 	bl	8238 <atexit>
    81f0:	ebffff82 	bl	8000 <_init>
    81f4:	e1a00004 	mov	r0, r4
    81f8:	e1a01005 	mov	r1, r5
    81fc:	eb00083e 	bl	a2fc <__main_from_arm>
    8200:	eb000011 	bl	824c <exit>
    8204:	0000a454 	andeq	sl, r0, r4, asr r4
    8208:	0000ad7c 	andeq	sl, r0, ip, ror sp
    820c:	0000ae88 	andeq	sl, r0, r8, lsl #29
    8210:	0000a308 	andeq	sl, r0, r8, lsl #6
    8214:	0000a464 	andeq	sl, r0, r4, ror #8
    8218:	000000ff 	streqd	r0, [r0], -pc

0000821c <main>:
    821c:	b580      	push	{r7, lr}
    821e:	466f      	mov	r7, sp
    8220:	b081      	sub	sp, #4
    8222:	1c3a      	mov	r2, r7		(add r2, r7, #0)
    8224:	3a04      	sub	r2, #4
    8226:	1c3b      	mov	r3, r7		(add r3, r7, #0)
    8228:	3b04      	sub	r3, #4
    822a:	681b      	ldr	r3, [r3, #0]
    822c:	f1031340 	addnew	r3, r3, #320	; 0x140
    8230:	6013      	str	r3, [r2, #0]
    8232:	1c18      	mov	r0, r3		(add r0, r3, #0)
    8234:	46bd      	mov	sp, r7
    8236:	bd80      	pop	{r7, pc}

00008238 <atexit>:
    8238:	e1a01000 	mov	r1, r0
    823c:	e3a00000 	mov	r0, #0	; 0x0
    8240:	e1a02000 	mov	r2, r0
    8244:	e1a03000 	mov	r3, r0
    8248:	ea000235 	b	8b24 <__register_exitproc>

0000824c <exit>:
    824c:	e1a0c00d 	mov	ip, sp
    8250:	e92dd810 	stmdb	sp!, {r4, fp, ip, lr, pc}
    8254:	e3a01000 	mov	r1, #0	; 0x0
    8258:	e24cb004 	sub	fp, ip, #4	; 0x4
    825c:	e1a04000 	mov	r4, r0
    8260:	eb000261 	bl	8bec <__call_exitprocs>
    8264:	e59f3020 	ldr	r3, [pc, #32]	; 828c <.text+0x26c>
    8268:	e5930000 	ldr	r0, [r3]
    826c:	e590303c 	ldr	r3, [r0, #60]
    8270:	e3530000 	cmp	r3, #0	; 0x0
    8274:	1a000001 	bne	8280 <exit+0x34>
    8278:	e1a00004 	mov	r0, r4
    827c:	eb00019f 	bl	8900 <_exit>
    8280:	e1a0e00f 	mov	lr, pc
    8284:	e12fff13 	bx	r3
    8288:	eafffffa 	b	8278 <exit+0x2c>
    828c:	0000a324 	andeq	sl, r0, r4, lsr #6

00008290 <memset>:
    8290:	e3520003 	cmp	r2, #3	; 0x3
    8294:	e20110ff 	and	r1, r1, #255	; 0xff
    8298:	e1a03000 	mov	r3, r0
    829c:	9a000001 	bls	82a8 <memset+0x18>
    82a0:	e3100003 	tst	r0, #3	; 0x3
    82a4:	0a000006 	beq	82c4 <memset+0x34>
    82a8:	e2522001 	subs	r2, r2, #1	; 0x1
    82ac:	312fff1e 	bxcc	lr
    82b0:	e2422001 	sub	r2, r2, #1	; 0x1
    82b4:	e3720001 	cmn	r2, #1	; 0x1
    82b8:	e4c31001 	strb	r1, [r3], #1
    82bc:	1afffffb 	bne	82b0 <memset+0x20>
    82c0:	e12fff1e 	bx	lr
    82c4:	e181c401 	orr	ip, r1, r1, lsl #8
    82c8:	e18cc80c 	orr	ip, ip, ip, lsl #16
    82cc:	e352000f 	cmp	r2, #15	; 0xf
    82d0:	9a000006 	bls	82f0 <memset+0x60>
    82d4:	e483c004 	str	ip, [r3], #4
    82d8:	e483c004 	str	ip, [r3], #4
    82dc:	e483c004 	str	ip, [r3], #4
    82e0:	e2422010 	sub	r2, r2, #16	; 0x10
    82e4:	e352000f 	cmp	r2, #15	; 0xf
    82e8:	e483c004 	str	ip, [r3], #4
    82ec:	8afffff8 	bhi	82d4 <memset+0x44>
    82f0:	e3520003 	cmp	r2, #3	; 0x3
    82f4:	9affffeb 	bls	82a8 <memset+0x18>
    82f8:	e2422004 	sub	r2, r2, #4	; 0x4
    82fc:	e483c004 	str	ip, [r3], #4
    8300:	e3520003 	cmp	r2, #3	; 0x3
    8304:	eafffffa 	b	82f4 <memset+0x64>

00008308 <findslot>:
    8308:	e59f1020 	ldr	r1, [pc, #32]	; 8330 <.text+0x310>
    830c:	e1a02000 	mov	r2, r0
    8310:	e3a00000 	mov	r0, #0	; 0x0
    8314:	e7913180 	ldr	r3, [r1, r0, lsl #3]
    8318:	e1530002 	cmp	r3, r2
    831c:	012fff1e 	bxeq	lr
    8320:	e2800001 	add	r0, r0, #1	; 0x1
    8324:	e3500013 	cmp	r0, #19	; 0x13
    8328:	dafffff9 	ble	8314 <findslot+0xc>
    832c:	e12fff1e 	bx	lr
    8330:	0000adac 	andeq	sl, r0, ip, lsr #27

00008334 <remap_handle>:
    8334:	e1a0c00d 	mov	ip, sp
    8338:	e92dd870 	stmdb	sp!, {r4, r5, r6, fp, ip, lr, pc}
    833c:	e59f60e8 	ldr	r6, [pc, #232]	; 842c <.text+0x40c>
    8340:	e5963000 	ldr	r3, [r6]
    8344:	e3530000 	cmp	r3, #0	; 0x0
    8348:	e24cb004 	sub	fp, ip, #4	; 0x4
    834c:	e1a04000 	mov	r4, r0
    8350:	1a000020 	bne	83d8 <remap_handle+0xa4>
    8354:	e59f50d4 	ldr	r5, [pc, #212]	; 8430 <.text+0x410>
    8358:	e5951000 	ldr	r1, [r5]
    835c:	e5912004 	ldr	r2, [r1, #4]
    8360:	e5923054 	ldr	r3, [r2, #84]
    8364:	e3530000 	cmp	r3, #0	; 0x0
    8368:	05821054 	streq	r1, [r2, #84]
    836c:	e5913004 	ldr	r3, [r1, #4]
    8370:	e5930054 	ldr	r0, [r3, #84]
    8374:	e5902038 	ldr	r2, [r0, #56]
    8378:	e3520000 	cmp	r2, #0	; 0x0
    837c:	0a000022 	beq	840c <remap_handle+0xd8>
    8380:	e5912008 	ldr	r2, [r1, #8]
    8384:	e5923054 	ldr	r3, [r2, #84]
    8388:	e3530000 	cmp	r3, #0	; 0x0
    838c:	05821054 	streq	r1, [r2, #84]
    8390:	05951000 	ldreq	r1, [r5]
    8394:	e5913008 	ldr	r3, [r1, #8]
    8398:	e5930054 	ldr	r0, [r3, #84]
    839c:	e5902038 	ldr	r2, [r0, #56]
    83a0:	e3520000 	cmp	r2, #0	; 0x0
    83a4:	0a00001d 	beq	8420 <remap_handle+0xec>
    83a8:	e591200c 	ldr	r2, [r1, #12]
    83ac:	e5923054 	ldr	r3, [r2, #84]
    83b0:	e3530000 	cmp	r3, #0	; 0x0
    83b4:	05821054 	streq	r1, [r2, #84]
    83b8:	05951000 	ldreq	r1, [r5]
    83bc:	e591300c 	ldr	r3, [r1, #12]
    83c0:	e5930054 	ldr	r0, [r3, #84]
    83c4:	e5902038 	ldr	r2, [r0, #56]
    83c8:	e3520000 	cmp	r2, #0	; 0x0
    83cc:	0a000011 	beq	8418 <remap_handle+0xe4>
    83d0:	e3a03001 	mov	r3, #1	; 0x1
    83d4:	e5863000 	str	r3, [r6]
    83d8:	e3540000 	cmp	r4, #0	; 0x0
    83dc:	059f3050 	ldreq	r3, [pc, #80]	; 8434 <.text+0x414>
    83e0:	0a000007 	beq	8404 <remap_handle+0xd0>
    83e4:	e3540001 	cmp	r4, #1	; 0x1
    83e8:	0a000004 	beq	8400 <remap_handle+0xcc>
    83ec:	e3540002 	cmp	r4, #2	; 0x2
    83f0:	059f3040 	ldreq	r3, [pc, #64]	; 8438 <.text+0x418>
    83f4:	0a000002 	beq	8404 <remap_handle+0xd0>
    83f8:	e2440020 	sub	r0, r4, #32	; 0x20
    83fc:	e89da870 	ldmia	sp, {r4, r5, r6, fp, sp, pc}
    8400:	e59f3034 	ldr	r3, [pc, #52]	; 843c <.text+0x41c>
    8404:	e5930000 	ldr	r0, [r3]
    8408:	e89da870 	ldmia	sp, {r4, r5, r6, fp, sp, pc}
    840c:	eb00027a 	bl	8dfc <__sinit>
    8410:	e5951000 	ldr	r1, [r5]
    8414:	eaffffd9 	b	8380 <remap_handle+0x4c>
    8418:	eb000277 	bl	8dfc <__sinit>
    841c:	eaffffeb 	b	83d0 <remap_handle+0x9c>
    8420:	eb000275 	bl	8dfc <__sinit>
    8424:	e5951000 	ldr	r1, [r5]
    8428:	eaffffde 	b	83a8 <remap_handle+0x74>
    842c:	0000ad9c 	muleq	r0, ip, sp
    8430:	0000a964 	andeq	sl, r0, r4, ror #18
    8434:	0000ada0 	andeq	sl, r0, r0, lsr #27
    8438:	0000ada8 	andeq	sl, r0, r8, lsr #27
    843c:	0000ada4 	andeq	sl, r0, r4, lsr #27

00008440 <initialise_monitor_handles>:
    8440:	e92d47f0 	stmdb	sp!, {r4, r5, r6, r7, r8, r9, sl, lr}
    8444:	e59f70a0 	ldr	r7, [pc, #160]	; 84ec <.text+0x4cc>
    8448:	e24dd00c 	sub	sp, sp, #12	; 0xc
    844c:	e3a08003 	mov	r8, #3	; 0x3
    8450:	e3a0a000 	mov	sl, #0	; 0x0
    8454:	e58d7000 	str	r7, [sp]
    8458:	e59f9090 	ldr	r9, [pc, #144]	; 84f0 <.text+0x4d0>
    845c:	e58d8008 	str	r8, [sp, #8]
    8460:	e3a04001 	mov	r4, #1	; 0x1
    8464:	e58da004 	str	sl, [sp, #4]
    8468:	e1a0600d 	mov	r6, sp
    846c:	e1a00004 	mov	r0, r4
    8470:	e1a0100d 	mov	r1, sp
    8474:	ef123456 	swi	0x00123456
    8478:	e1a05000 	mov	r5, r0
    847c:	e3a03004 	mov	r3, #4	; 0x4
    8480:	e58d7000 	str	r7, [sp]
    8484:	e5895000 	str	r5, [r9]
    8488:	e58d8008 	str	r8, [sp, #8]
    848c:	e59f7060 	ldr	r7, [pc, #96]	; 84f4 <.text+0x4d4>
    8490:	e58d3004 	str	r3, [sp, #4]
    8494:	e1a00004 	mov	r0, r4
    8498:	e1a0100d 	mov	r1, sp
    849c:	ef123456 	swi	0x00123456
    84a0:	e1a04000 	mov	r4, r0
    84a4:	e59f504c 	ldr	r5, [pc, #76]	; 84f8 <.text+0x4d8>
    84a8:	e5874000 	str	r4, [r7]
    84ac:	e5854000 	str	r4, [r5]
    84b0:	e59f0044 	ldr	r0, [pc, #68]	; 84fc <.text+0x4dc>
    84b4:	e3e03000 	mvn	r3, #0	; 0x0
    84b8:	e780318a 	str	r3, [r0, sl, lsl #3]
    84bc:	e28aa001 	add	sl, sl, #1	; 0x1
    84c0:	e35a0013 	cmp	sl, #19	; 0x13
    84c4:	dafffffb 	ble	84b8 <initialise_monitor_handles+0x78>
    84c8:	e5971000 	ldr	r1, [r7]
    84cc:	e5993000 	ldr	r3, [r9]
    84d0:	e3a02000 	mov	r2, #0	; 0x0
    84d4:	e580200c 	str	r2, [r0, #12]
    84d8:	e5803000 	str	r3, [r0]
    84dc:	e5801008 	str	r1, [r0, #8]
    84e0:	e5802004 	str	r2, [r0, #4]
    84e4:	e28dd00c 	add	sp, sp, #12	; 0xc
    84e8:	e8bd87f0 	ldmia	sp!, {r4, r5, r6, r7, r8, r9, sl, pc}
    84ec:	0000a32c 	andeq	sl, r0, ip, lsr #6
    84f0:	0000ada0 	andeq	sl, r0, r0, lsr #27
    84f4:	0000ada4 	andeq	sl, r0, r4, lsr #27
    84f8:	0000ada8 	andeq	sl, r0, r8, lsr #27
    84fc:	0000adac 	andeq	sl, r0, ip, lsr #27

00008500 <error>:
    8500:	e1a0c00d 	mov	ip, sp
    8504:	e92dd8f0 	stmdb	sp!, {r4, r5, r6, r7, fp, ip, lr, pc}
    8508:	e24cb004 	sub	fp, ip, #4	; 0x4
    850c:	e1a07000 	mov	r7, r0
    8510:	eb000205 	bl	8d2c <__errno>
    8514:	e3a04013 	mov	r4, #19	; 0x13
    8518:	e1a06000 	mov	r6, r0
    851c:	e3a05000 	mov	r5, #0	; 0x0
    8520:	e1a00004 	mov	r0, r4
    8524:	e1a01005 	mov	r1, r5
    8528:	ef123456 	swi	0x00123456
    852c:	e1a04000 	mov	r4, r0
    8530:	e1a00007 	mov	r0, r7
    8534:	e5864000 	str	r4, [r6]
    8538:	e89da8f0 	ldmia	sp, {r4, r5, r6, r7, fp, sp, pc}

0000853c <wrap>:
    853c:	e3700001 	cmn	r0, #1	; 0x1
    8540:	112fff1e 	bxne	lr
    8544:	eaffffed 	b	8500 <error>

00008548 <_swiread>:
    8548:	e1a0c00d 	mov	ip, sp
    854c:	e92dd830 	stmdb	sp!, {r4, r5, fp, ip, lr, pc}
    8550:	e24cb004 	sub	fp, ip, #4	; 0x4
    8554:	e24dd00c 	sub	sp, sp, #12	; 0xc
    8558:	e1a04001 	mov	r4, r1
    855c:	e1a05002 	mov	r5, r2
    8560:	ebffff73 	bl	8334 <remap_handle>
    8564:	e50b401c 	str	r4, [fp, #-28]
    8568:	e50b5018 	str	r5, [fp, #-24]
    856c:	e50b0020 	str	r0, [fp, #-32]
    8570:	e3a04006 	mov	r4, #6	; 0x6
    8574:	e24b5020 	sub	r5, fp, #32	; 0x20
    8578:	e1a00004 	mov	r0, r4
    857c:	e1a01005 	mov	r1, r5
    8580:	ef123456 	swi	0x00123456
    8584:	e1a04000 	mov	r4, r0
    8588:	e1a00004 	mov	r0, r4
    858c:	e24bd014 	sub	sp, fp, #20	; 0x14
    8590:	e89da830 	ldmia	sp, {r4, r5, fp, sp, pc}

00008594 <_read>:
    8594:	e1a0c00d 	mov	ip, sp
    8598:	e92dd8f0 	stmdb	sp!, {r4, r5, r6, r7, fp, ip, lr, pc}
    859c:	e24cb004 	sub	fp, ip, #4	; 0x4
    85a0:	e1a06002 	mov	r6, r2
    85a4:	e1a05001 	mov	r5, r1
    85a8:	e1a04000 	mov	r4, r0
    85ac:	ebffff60 	bl	8334 <remap_handle>
    85b0:	ebffff54 	bl	8308 <findslot>
    85b4:	e1a01005 	mov	r1, r5
    85b8:	e1a07000 	mov	r7, r0
    85bc:	e1a02006 	mov	r2, r6
    85c0:	e1a00004 	mov	r0, r4
    85c4:	ebffffdf 	bl	8548 <_swiread>
    85c8:	e2501000 	subs	r1, r0, #0	; 0x0
    85cc:	e3e00000 	mvn	r0, #0	; 0x0
    85d0:	ba000008 	blt	85f8 <_read+0x64>
    85d4:	e59f3024 	ldr	r3, [pc, #36]	; 8600 <.text+0x5e0>
    85d8:	e3570014 	cmp	r7, #20	; 0x14
    85dc:	e0832187 	add	r2, r3, r7, lsl #3
    85e0:	15923004 	ldrne	r3, [r2, #4]
    85e4:	e0610006 	rsb	r0, r1, r6
    85e8:	10833000 	addne	r3, r3, r0
    85ec:	00610006 	rsbeq	r0, r1, r6
    85f0:	15823004 	strne	r3, [r2, #4]
    85f4:	e89da8f0 	ldmia	sp, {r4, r5, r6, r7, fp, sp, pc}
    85f8:	e89d68f0 	ldmia	sp, {r4, r5, r6, r7, fp, sp, lr}
    85fc:	eaffffbf 	b	8500 <error>
    8600:	0000adac 	andeq	sl, r0, ip, lsr #27

00008604 <_swilseek>:
    8604:	e1a0c00d 	mov	ip, sp
    8608:	e92dd9f0 	stmdb	sp!, {r4, r5, r6, r7, r8, fp, ip, lr, pc}
    860c:	e24cb004 	sub	fp, ip, #4	; 0x4
    8610:	e24dd008 	sub	sp, sp, #8	; 0x8
    8614:	e1a04002 	mov	r4, r2
    8618:	e1a06001 	mov	r6, r1
    861c:	e1a08000 	mov	r8, r0
    8620:	ebffff43 	bl	8334 <remap_handle>
    8624:	e1a05000 	mov	r5, r0
    8628:	ebffff36 	bl	8308 <findslot>
    862c:	e3540001 	cmp	r4, #1	; 0x1
    8630:	e1a07000 	mov	r7, r0
    8634:	0a000021 	beq	86c0 <_swilseek+0xbc>
    8638:	e3540002 	cmp	r4, #2	; 0x2
    863c:	0a000016 	beq	869c <_swilseek+0x98>
    8640:	e24b5028 	sub	r5, fp, #40	; 0x28
    8644:	e1a00008 	mov	r0, r8
    8648:	ebffff39 	bl	8334 <remap_handle>
    864c:	e3a0400a 	mov	r4, #10	; 0xa
    8650:	e50b0028 	str	r0, [fp, #-40]
    8654:	e5856004 	str	r6, [r5, #4]
    8658:	e1a00004 	mov	r0, r4
    865c:	e1a01005 	mov	r1, r5
    8660:	ef123456 	swi	0x00123456
    8664:	e1a04000 	mov	r4, r0
    8668:	e2575014 	subs	r5, r7, #20	; 0x14
    866c:	13a05001 	movne	r5, #1	; 0x1
    8670:	e3540000 	cmp	r4, #0	; 0x0
    8674:	13a05000 	movne	r5, #0	; 0x0
    8678:	e3550000 	cmp	r5, #0	; 0x0
    867c:	159f305c 	ldrne	r3, [pc, #92]	; 86e0 <.text+0x6c0>
    8680:	10833187 	addne	r3, r3, r7, lsl #3
    8684:	15836004 	strne	r6, [r3, #4]
    8688:	e3540000 	cmp	r4, #0	; 0x0
    868c:	01a00006 	moveq	r0, r6
    8690:	13e00000 	mvnne	r0, #0	; 0x0
    8694:	e24bd020 	sub	sp, fp, #32	; 0x20
    8698:	e89da9f0 	ldmia	sp, {r4, r5, r6, r7, r8, fp, sp, pc}
    869c:	e50b5028 	str	r5, [fp, #-40]
    86a0:	e284400a 	add	r4, r4, #10	; 0xa
    86a4:	e24b5028 	sub	r5, fp, #40	; 0x28
    86a8:	e1a00004 	mov	r0, r4
    86ac:	e1a01005 	mov	r1, r5
    86b0:	ef123456 	swi	0x00123456
    86b4:	e1a04000 	mov	r4, r0
    86b8:	e0866004 	add	r6, r6, r4
    86bc:	eaffffe0 	b	8644 <_swilseek+0x40>
    86c0:	e3500014 	cmp	r0, #20	; 0x14
    86c4:	03e00000 	mvneq	r0, #0	; 0x0
    86c8:	0afffff1 	beq	8694 <_swilseek+0x90>
    86cc:	e59f300c 	ldr	r3, [pc, #12]	; 86e0 <.text+0x6c0>
    86d0:	e0833187 	add	r3, r3, r7, lsl #3
    86d4:	e5932004 	ldr	r2, [r3, #4]
    86d8:	e0866002 	add	r6, r6, r2
    86dc:	eaffffd7 	b	8640 <_swilseek+0x3c>
    86e0:	0000adac 	andeq	sl, r0, ip, lsr #27

000086e4 <_lseek>:
    86e4:	e1a0c00d 	mov	ip, sp
    86e8:	e92dd800 	stmdb	sp!, {fp, ip, lr, pc}
    86ec:	e24cb004 	sub	fp, ip, #4	; 0x4
    86f0:	ebffffc3 	bl	8604 <_swilseek>
    86f4:	e89d6800 	ldmia	sp, {fp, sp, lr}
    86f8:	eaffff8f 	b	853c <wrap>

000086fc <_swiwrite>:
    86fc:	e1a0c00d 	mov	ip, sp
    8700:	e92dd830 	stmdb	sp!, {r4, r5, fp, ip, lr, pc}
    8704:	e24cb004 	sub	fp, ip, #4	; 0x4
    8708:	e24dd00c 	sub	sp, sp, #12	; 0xc
    870c:	e1a04001 	mov	r4, r1
    8710:	e1a05002 	mov	r5, r2
    8714:	ebffff06 	bl	8334 <remap_handle>
    8718:	e50b401c 	str	r4, [fp, #-28]
    871c:	e50b5018 	str	r5, [fp, #-24]
    8720:	e50b0020 	str	r0, [fp, #-32]
    8724:	e3a04005 	mov	r4, #5	; 0x5
    8728:	e24b5020 	sub	r5, fp, #32	; 0x20
    872c:	e1a00004 	mov	r0, r4
    8730:	e1a01005 	mov	r1, r5
    8734:	ef123456 	swi	0x00123456
    8738:	e1a04000 	mov	r4, r0
    873c:	e1a00004 	mov	r0, r4
    8740:	e24bd014 	sub	sp, fp, #20	; 0x14
    8744:	e89da830 	ldmia	sp, {r4, r5, fp, sp, pc}

00008748 <_write>:
    8748:	e1a0c00d 	mov	ip, sp
    874c:	e92dd8f0 	stmdb	sp!, {r4, r5, r6, r7, fp, ip, lr, pc}
    8750:	e24cb004 	sub	fp, ip, #4	; 0x4
    8754:	e1a06002 	mov	r6, r2
    8758:	e1a05001 	mov	r5, r1
    875c:	e1a04000 	mov	r4, r0
    8760:	ebfffef3 	bl	8334 <remap_handle>
    8764:	ebfffee7 	bl	8308 <findslot>
    8768:	e1a02006 	mov	r2, r6
    876c:	e1a07000 	mov	r7, r0
    8770:	e1a01005 	mov	r1, r5
    8774:	e1a00004 	mov	r0, r4
    8778:	ebffffdf 	bl	86fc <_swiwrite>
    877c:	e1a02000 	mov	r2, r0
    8780:	e3e00000 	mvn	r0, #0	; 0x0
    8784:	e1520000 	cmp	r2, r0
    8788:	11520006 	cmpne	r2, r6
    878c:	0a000008 	beq	87b4 <_write+0x6c>
    8790:	e59f3024 	ldr	r3, [pc, #36]	; 87bc <.text+0x79c>
    8794:	e3570014 	cmp	r7, #20	; 0x14
    8798:	e0831187 	add	r1, r3, r7, lsl #3
    879c:	15913004 	ldrne	r3, [r1, #4]
    87a0:	e0620006 	rsb	r0, r2, r6
    87a4:	10833000 	addne	r3, r3, r0
    87a8:	00620006 	rsbeq	r0, r2, r6
    87ac:	15813004 	strne	r3, [r1, #4]
    87b0:	e89da8f0 	ldmia	sp, {r4, r5, r6, r7, fp, sp, pc}
    87b4:	e89d68f0 	ldmia	sp, {r4, r5, r6, r7, fp, sp, lr}
    87b8:	eaffff50 	b	8500 <error>
    87bc:	0000adac 	andeq	sl, r0, ip, lsr #27

000087c0 <_swiopen>:
    87c0:	e1a0c00d 	mov	ip, sp
    87c4:	e92dd8f0 	stmdb	sp!, {r4, r5, r6, r7, fp, ip, lr, pc}
    87c8:	e24cb004 	sub	fp, ip, #4	; 0x4
    87cc:	e24dd00c 	sub	sp, sp, #12	; 0xc
    87d0:	e1a07000 	mov	r7, r0
    87d4:	e3e00000 	mvn	r0, #0	; 0x0
    87d8:	e1a05001 	mov	r5, r1
    87dc:	ebfffec9 	bl	8308 <findslot>
    87e0:	e3500014 	cmp	r0, #20	; 0x14
    87e4:	e1a06000 	mov	r6, r0
    87e8:	03e00000 	mvneq	r0, #0	; 0x0
    87ec:	0a00001a 	beq	885c <_swiopen+0x9c>
    87f0:	e2054002 	and	r4, r5, #2	; 0x2
    87f4:	e3150c02 	tst	r5, #512	; 0x200
    87f8:	13844004 	orrne	r4, r4, #4	; 0x4
    87fc:	e3150b01 	tst	r5, #1024	; 0x400
    8800:	13844004 	orrne	r4, r4, #4	; 0x4
    8804:	e3150008 	tst	r5, #8	; 0x8
    8808:	13c44004 	bicne	r4, r4, #4	; 0x4
    880c:	e1a00007 	mov	r0, r7
    8810:	13844008 	orrne	r4, r4, #8	; 0x8
    8814:	e50b7028 	str	r7, [fp, #-40]
    8818:	eb000435 	bl	98f4 <strlen>
    881c:	e3a05001 	mov	r5, #1	; 0x1
    8820:	e50b4024 	str	r4, [fp, #-36]
    8824:	e50b0020 	str	r0, [fp, #-32]
    8828:	e24b4028 	sub	r4, fp, #40	; 0x28
    882c:	e1a00005 	mov	r0, r5
    8830:	e1a01004 	mov	r1, r4
    8834:	ef123456 	swi	0x00123456
    8838:	e1a04000 	mov	r4, r0
    883c:	e3540000 	cmp	r4, #0	; 0x0
    8840:	ba000007 	blt	8864 <_swiopen+0xa4>
    8844:	e59f1024 	ldr	r1, [pc, #36]	; 8870 <.text+0x850>
    8848:	e3a03000 	mov	r3, #0	; 0x0
    884c:	e0812186 	add	r2, r1, r6, lsl #3
    8850:	e5823004 	str	r3, [r2, #4]
    8854:	e7814186 	str	r4, [r1, r6, lsl #3]
    8858:	e2840020 	add	r0, r4, #32	; 0x20
    885c:	e24bd01c 	sub	sp, fp, #28	; 0x1c
    8860:	e89da8f0 	ldmia	sp, {r4, r5, r6, r7, fp, sp, pc}
    8864:	e1a00004 	mov	r0, r4
    8868:	ebffff24 	bl	8500 <error>
    886c:	eafffffa 	b	885c <_swiopen+0x9c>
    8870:	0000adac 	andeq	sl, r0, ip, lsr #27

00008874 <_open>:
    8874:	e1a0c00d 	mov	ip, sp
    8878:	e92d000e 	stmdb	sp!, {r1, r2, r3}
    887c:	e92dd800 	stmdb	sp!, {fp, ip, lr, pc}
    8880:	e24cb010 	sub	fp, ip, #16	; 0x10
    8884:	e59b1004 	ldr	r1, [fp, #4]
    8888:	ebffffcc 	bl	87c0 <_swiopen>
    888c:	ebffff2a 	bl	853c <wrap>
    8890:	e24bd00c 	sub	sp, fp, #12	; 0xc
    8894:	e89da800 	ldmia	sp, {fp, sp, pc}

00008898 <_swiclose>:
    8898:	e1a0c00d 	mov	ip, sp
    889c:	e92dd830 	stmdb	sp!, {r4, r5, fp, ip, lr, pc}
    88a0:	e24cb004 	sub	fp, ip, #4	; 0x4
    88a4:	e24dd004 	sub	sp, sp, #4	; 0x4
    88a8:	ebfffea1 	bl	8334 <remap_handle>
    88ac:	e50b0018 	str	r0, [fp, #-24]
    88b0:	ebfffe94 	bl	8308 <findslot>
    88b4:	e3500014 	cmp	r0, #20	; 0x14
    88b8:	159f3024 	ldrne	r3, [pc, #36]	; 88e4 <.text+0x8c4>
    88bc:	13e02000 	mvnne	r2, #0	; 0x0
    88c0:	17832180 	strne	r2, [r3, r0, lsl #3]
    88c4:	e3a04002 	mov	r4, #2	; 0x2
    88c8:	e24b5018 	sub	r5, fp, #24	; 0x18
    88cc:	e1a00004 	mov	r0, r4
    88d0:	e1a01005 	mov	r1, r5
    88d4:	ef123456 	swi	0x00123456
    88d8:	e1a04000 	mov	r4, r0
    88dc:	e1a00004 	mov	r0, r4
    88e0:	e89da838 	ldmia	sp, {r3, r4, r5, fp, sp, pc}
    88e4:	0000adac 	andeq	sl, r0, ip, lsr #27

000088e8 <_close>:
    88e8:	e1a0c00d 	mov	ip, sp
    88ec:	e92dd800 	stmdb	sp!, {fp, ip, lr, pc}
    88f0:	e24cb004 	sub	fp, ip, #4	; 0x4
    88f4:	ebffffe7 	bl	8898 <_swiclose>
    88f8:	e89d6800 	ldmia	sp, {fp, sp, lr}
    88fc:	eaffff0e 	b	853c <wrap>

00008900 <_exit>:
    8900:	e3a05802 	mov	r5, #131072	; 0x20000
    8904:	e2855026 	add	r5, r5, #38	; 0x26
    8908:	e3a04018 	mov	r4, #24	; 0x18
    890c:	e1a00004 	mov	r0, r4
    8910:	e1a01005 	mov	r1, r5
    8914:	ef123456 	swi	0x00123456
    8918:	e1a04000 	mov	r4, r0
    891c:	e12fff1e 	bx	lr

00008920 <_kill>:
    8920:	e92d4030 	stmdb	sp!, {r4, r5, lr}
    8924:	e3a05802 	mov	r5, #131072	; 0x20000
    8928:	e2855026 	add	r5, r5, #38	; 0x26
    892c:	e3a04018 	mov	r4, #24	; 0x18
    8930:	e1a00004 	mov	r0, r4
    8934:	e1a01005 	mov	r1, r5
    8938:	ef123456 	swi	0x00123456
    893c:	e1a04000 	mov	r4, r0
    8940:	e1a00004 	mov	r0, r4
    8944:	e8bd8030 	ldmia	sp!, {r4, r5, pc}

00008948 <_getpid>:
    8948:	e3a00001 	mov	r0, #1	; 0x1
    894c:	e12fff1e 	bx	lr

00008950 <_sbrk>:
    8950:	e1a0c00d 	mov	ip, sp
    8954:	e92dd800 	stmdb	sp!, {fp, ip, lr, pc}
    8958:	e59f1044 	ldr	r1, [pc, #68]	; 89a4 <.text+0x984>
    895c:	e5913000 	ldr	r3, [r1]
    8960:	e3530000 	cmp	r3, #0	; 0x0
    8964:	059f303c 	ldreq	r3, [pc, #60]	; 89a8 <.text+0x988>
    8968:	e0830000 	add	r0, r3, r0
    896c:	05813000 	streq	r3, [r1]
    8970:	e150000d 	cmp	r0, sp
    8974:	e24cb004 	sub	fp, ip, #4	; 0x4
    8978:	e1a02003 	mov	r2, r3
    897c:	95810000 	strls	r0, [r1]
    8980:	8a000001 	bhi	898c <_sbrk+0x3c>
    8984:	e1a00002 	mov	r0, r2
    8988:	e89da800 	ldmia	sp, {fp, sp, pc}
    898c:	eb0000e6 	bl	8d2c <__errno>
    8990:	e3e02000 	mvn	r2, #0	; 0x0
    8994:	e3a0300c 	mov	r3, #12	; 0xc
    8998:	e5803000 	str	r3, [r0]
    899c:	e1a00002 	mov	r0, r2
    89a0:	e89da800 	ldmia	sp, {fp, sp, pc}
    89a4:	0000ad98 	muleq	r0, r8, sp
    89a8:	0000ae88 	andeq	sl, r0, r8, lsl #29

000089ac <_fstat>:
    89ac:	e1a0c00d 	mov	ip, sp
    89b0:	e92dd810 	stmdb	sp!, {r4, fp, ip, lr, pc}
    89b4:	e1a00001 	mov	r0, r1
    89b8:	e1a04001 	mov	r4, r1
    89bc:	e24cb004 	sub	fp, ip, #4	; 0x4
    89c0:	e3a01000 	mov	r1, #0	; 0x0
    89c4:	e3a0203c 	mov	r2, #60	; 0x3c
    89c8:	ebfffe30 	bl	8290 <memset>
    89cc:	e3a03b01 	mov	r3, #1024	; 0x400
    89d0:	e3a02a02 	mov	r2, #8192	; 0x2000
    89d4:	e3a00000 	mov	r0, #0	; 0x0
    89d8:	e584302c 	str	r3, [r4, #44]
    89dc:	e5842004 	str	r2, [r4, #4]
    89e0:	e89da810 	ldmia	sp, {r4, fp, sp, pc}

000089e4 <_stat>:
    89e4:	e1a0c00d 	mov	ip, sp
    89e8:	e92dd830 	stmdb	sp!, {r4, r5, fp, ip, lr, pc}
    89ec:	e1a04001 	mov	r4, r1
    89f0:	e24cb004 	sub	fp, ip, #4	; 0x4
    89f4:	e3a01000 	mov	r1, #0	; 0x0
    89f8:	ebffff9d 	bl	8874 <_open>
    89fc:	e2505000 	subs	r5, r0, #0	; 0x0
    8a00:	e3a01000 	mov	r1, #0	; 0x0
    8a04:	e3a0203c 	mov	r2, #60	; 0x3c
    8a08:	e1a00004 	mov	r0, r4
    8a0c:	e3e03000 	mvn	r3, #0	; 0x0
    8a10:	ba000007 	blt	8a34 <_stat+0x50>
    8a14:	ebfffe1d 	bl	8290 <memset>
    8a18:	e3a03b01 	mov	r3, #1024	; 0x400
    8a1c:	e3a02c81 	mov	r2, #33024	; 0x8100
    8a20:	e584302c 	str	r3, [r4, #44]
    8a24:	e5842004 	str	r2, [r4, #4]
    8a28:	e1a00005 	mov	r0, r5
    8a2c:	ebffff99 	bl	8898 <_swiclose>
    8a30:	e3a03000 	mov	r3, #0	; 0x0
    8a34:	e1a00003 	mov	r0, r3
    8a38:	e89da830 	ldmia	sp, {r4, r5, fp, sp, pc}

00008a3c <_link>:
    8a3c:	e3e00000 	mvn	r0, #0	; 0x0
    8a40:	e12fff1e 	bx	lr

00008a44 <_unlink>:
    8a44:	e3e00000 	mvn	r0, #0	; 0x0
    8a48:	e12fff1e 	bx	lr

00008a4c <_raise>:
    8a4c:	e12fff1e 	bx	lr

00008a50 <_gettimeofday>:
    8a50:	e92d40f0 	stmdb	sp!, {r4, r5, r6, r7, lr}
    8a54:	e2507000 	subs	r7, r0, #0	; 0x0
    8a58:	e1a06001 	mov	r6, r1
    8a5c:	0a000007 	beq	8a80 <_gettimeofday+0x30>
    8a60:	e3a05011 	mov	r5, #17	; 0x11
    8a64:	e3a04000 	mov	r4, #0	; 0x0
    8a68:	e1a00005 	mov	r0, r5
    8a6c:	e1a01004 	mov	r1, r4
    8a70:	ef123456 	swi	0x00123456
    8a74:	e1a05000 	mov	r5, r0
    8a78:	e5874004 	str	r4, [r7, #4]
    8a7c:	e5875000 	str	r5, [r7]
    8a80:	e3a03000 	mov	r3, #0	; 0x0
    8a84:	e1560003 	cmp	r6, r3
    8a88:	e3a00000 	mov	r0, #0	; 0x0
    8a8c:	15863004 	strne	r3, [r6, #4]
    8a90:	15863000 	strne	r3, [r6]
    8a94:	e8bd80f0 	ldmia	sp!, {r4, r5, r6, r7, pc}

00008a98 <_times>:
    8a98:	e92d4070 	stmdb	sp!, {r4, r5, r6, lr}
    8a9c:	e1a05000 	mov	r5, r0
    8aa0:	e3a04010 	mov	r4, #16	; 0x10
    8aa4:	e3a06000 	mov	r6, #0	; 0x0
    8aa8:	e1a00004 	mov	r0, r4
    8aac:	e1a01006 	mov	r1, r6
    8ab0:	ef123456 	swi	0x00123456
    8ab4:	e1a04000 	mov	r4, r0
    8ab8:	e1550006 	cmp	r5, r6
    8abc:	e1a00004 	mov	r0, r4
    8ac0:	1585600c 	strne	r6, [r5, #12]
    8ac4:	15854000 	strne	r4, [r5]
    8ac8:	15856004 	strne	r6, [r5, #4]
    8acc:	15856008 	strne	r6, [r5, #8]
    8ad0:	e8bd8070 	ldmia	sp!, {r4, r5, r6, pc}

00008ad4 <isatty>:
    8ad4:	e3a00001 	mov	r0, #1	; 0x1
    8ad8:	e12fff1e 	bx	lr

00008adc <_system>:
    8adc:	e1a0c00d 	mov	ip, sp
    8ae0:	e3500000 	cmp	r0, #0	; 0x0
    8ae4:	e92dd800 	stmdb	sp!, {fp, ip, lr, pc}
    8ae8:	e24cb004 	sub	fp, ip, #4	; 0x4
    8aec:	089da800 	ldmeqia	sp, {fp, sp, pc}
    8af0:	eb00008d 	bl	8d2c <__errno>
    8af4:	e3a03058 	mov	r3, #88	; 0x58
    8af8:	e5803000 	str	r3, [r0]
    8afc:	e3e00000 	mvn	r0, #0	; 0x0
    8b00:	e89da800 	ldmia	sp, {fp, sp, pc}

00008b04 <_rename>:
    8b04:	e1a0c00d 	mov	ip, sp
    8b08:	e92dd800 	stmdb	sp!, {fp, ip, lr, pc}
    8b0c:	e24cb004 	sub	fp, ip, #4	; 0x4
    8b10:	eb000085 	bl	8d2c <__errno>
    8b14:	e3a03058 	mov	r3, #88	; 0x58
    8b18:	e5803000 	str	r3, [r0]
    8b1c:	e3e00000 	mvn	r0, #0	; 0x0
    8b20:	e89da800 	ldmia	sp, {fp, sp, pc}

00008b24 <__register_exitproc>:
    8b24:	e1a0c00d 	mov	ip, sp
    8b28:	e92dd9f0 	stmdb	sp!, {r4, r5, r6, r7, r8, fp, ip, lr, pc}
    8b2c:	e24cb004 	sub	fp, ip, #4	; 0x4
    8b30:	e59fc0b0 	ldr	ip, [pc, #176]	; 8be8 <.text+0xbc8>
    8b34:	e59c4000 	ldr	r4, [ip]
    8b38:	e594c148 	ldr	ip, [r4, #328]
    8b3c:	e35c0000 	cmp	ip, #0	; 0x0
    8b40:	0284cf53 	addeq	ip, r4, #332	; 0x14c
    8b44:	e1a07001 	mov	r7, r1
    8b48:	e59c1004 	ldr	r1, [ip, #4]
    8b4c:	0584c148 	streq	ip, [r4, #328]
    8b50:	e351001f 	cmp	r1, #31	; 0x1f
    8b54:	e1a05000 	mov	r5, r0
    8b58:	e1a08002 	mov	r8, r2
    8b5c:	e1a06003 	mov	r6, r3
    8b60:	ca000014 	bgt	8bb8 <__register_exitproc+0x94>
    8b64:	e3550000 	cmp	r5, #0	; 0x0
    8b68:	0a00000c 	beq	8ba0 <__register_exitproc+0x7c>
    8b6c:	e3a03001 	mov	r3, #1	; 0x1
    8b70:	e1a0e113 	mov	lr, r3, lsl r1
    8b74:	e28c0088 	add	r0, ip, #136	; 0x88
    8b78:	e0803101 	add	r3, r0, r1, lsl #2
    8b7c:	e3550002 	cmp	r5, #2	; 0x2
    8b80:	e5902100 	ldr	r2, [r0, #256]
    8b84:	e5836080 	str	r6, [r3, #128]
    8b88:	05903104 	ldreq	r3, [r0, #260]
    8b8c:	e182200e 	orr	r2, r2, lr
    8b90:	0183300e 	orreq	r3, r3, lr
    8b94:	e7808101 	str	r8, [r0, r1, lsl #2]
    8b98:	e5802100 	str	r2, [r0, #256]
    8b9c:	05803104 	streq	r3, [r0, #260]
    8ba0:	e2812001 	add	r2, r1, #1	; 0x1
    8ba4:	e08c3101 	add	r3, ip, r1, lsl #2
    8ba8:	e3a00000 	mov	r0, #0	; 0x0
    8bac:	e5837008 	str	r7, [r3, #8]
    8bb0:	e58c2004 	str	r2, [ip, #4]
    8bb4:	e89da9f0 	ldmia	sp, {r4, r5, r6, r7, r8, fp, sp, pc}
    8bb8:	e3a00e19 	mov	r0, #400	; 0x190
    8bbc:	eb00013c 	bl	90b4 <malloc>
    8bc0:	e250c000 	subs	ip, r0, #0	; 0x0
    8bc4:	02400001 	subeq	r0, r0, #1	; 0x1
    8bc8:	089da9f0 	ldmeqia	sp, {r4, r5, r6, r7, r8, fp, sp, pc}
    8bcc:	e5943148 	ldr	r3, [r4, #328]
    8bd0:	e3a01000 	mov	r1, #0	; 0x0
    8bd4:	e58c3000 	str	r3, [ip]
    8bd8:	e58c1188 	str	r1, [ip, #392]
    8bdc:	e584c148 	str	ip, [r4, #328]
    8be0:	e58c118c 	str	r1, [ip, #396]
    8be4:	eaffffde 	b	8b64 <__register_exitproc+0x40>
    8be8:	0000a324 	andeq	sl, r0, r4, lsr #6

00008bec <__call_exitprocs>:
    8bec:	e1a0c00d 	mov	ip, sp
    8bf0:	e92dddf0 	stmdb	sp!, {r4, r5, r6, r7, r8, sl, fp, ip, lr, pc}
    8bf4:	e59f312c 	ldr	r3, [pc, #300]	; 8d28 <.text+0xd08>
    8bf8:	e5932000 	ldr	r2, [r3]
    8bfc:	e5b26148 	ldr	r6, [r2, #328]!
    8c00:	e3560000 	cmp	r6, #0	; 0x0
    8c04:	e24cb004 	sub	fp, ip, #4	; 0x4
    8c08:	e1a0a000 	mov	sl, r0
    8c0c:	e1a07001 	mov	r7, r1
    8c10:	e1a08002 	mov	r8, r2
    8c14:	089dadf0 	ldmeqia	sp, {r4, r5, r6, r7, r8, sl, fp, sp, pc}
    8c18:	e5960004 	ldr	r0, [r6, #4]
    8c1c:	e2504001 	subs	r4, r0, #1	; 0x1
    8c20:	e2865088 	add	r5, r6, #136	; 0x88
    8c24:	4a00000c 	bmi	8c5c <__call_exitprocs+0x70>
    8c28:	e3a03001 	mov	r3, #1	; 0x1
    8c2c:	e3570000 	cmp	r7, #0	; 0x0
    8c30:	e1a0e413 	mov	lr, r3, lsl r4
    8c34:	0a000013 	beq	8c88 <__call_exitprocs+0x9c>
    8c38:	e3550000 	cmp	r5, #0	; 0x0
    8c3c:	0a000004 	beq	8c54 <__call_exitprocs+0x68>
    8c40:	e1a01104 	mov	r1, r4, lsl #2
    8c44:	e0813005 	add	r3, r1, r5
    8c48:	e5932080 	ldr	r2, [r3, #128]
    8c4c:	e1520007 	cmp	r2, r7
    8c50:	0a00000d 	beq	8c8c <__call_exitprocs+0xa0>
    8c54:	e2544001 	subs	r4, r4, #1	; 0x1
    8c58:	5afffff2 	bpl	8c28 <__call_exitprocs+0x3c>
    8c5c:	e3500000 	cmp	r0, #0	; 0x0
    8c60:	15963000 	ldrne	r3, [r6]
    8c64:	1a000002 	bne	8c74 <__call_exitprocs+0x88>
    8c68:	e5963000 	ldr	r3, [r6]
    8c6c:	e3530000 	cmp	r3, #0	; 0x0
    8c70:	1a000027 	bne	8d14 <__call_exitprocs+0x128>
    8c74:	e1a08006 	mov	r8, r6
    8c78:	e1a06003 	mov	r6, r3
    8c7c:	e3560000 	cmp	r6, #0	; 0x0
    8c80:	1affffe4 	bne	8c18 <__call_exitprocs+0x2c>
    8c84:	e89dadf0 	ldmia	sp, {r4, r5, r6, r7, r8, sl, fp, sp, pc}
    8c88:	e1a01104 	mov	r1, r4, lsl #2
    8c8c:	e2403001 	sub	r3, r0, #1	; 0x1
    8c90:	e0812006 	add	r2, r1, r6
    8c94:	e1530004 	cmp	r3, r4
    8c98:	e592c008 	ldr	ip, [r2, #8]
    8c9c:	01a00004 	moveq	r0, r4
    8ca0:	13a03000 	movne	r3, #0	; 0x0
    8ca4:	05860004 	streq	r0, [r6, #4]
    8ca8:	15823008 	strne	r3, [r2, #8]
    8cac:	e35c0000 	cmp	ip, #0	; 0x0
    8cb0:	0affffe7 	beq	8c54 <__call_exitprocs+0x68>
    8cb4:	e3550000 	cmp	r5, #0	; 0x0
    8cb8:	0a000002 	beq	8cc8 <__call_exitprocs+0xdc>
    8cbc:	e5953100 	ldr	r3, [r5, #256]
    8cc0:	e113000e 	tst	r3, lr
    8cc4:	1a000004 	bne	8cdc <__call_exitprocs+0xf0>
    8cc8:	e1a0e00f 	mov	lr, pc
    8ccc:	e12fff1c 	bx	ip
    8cd0:	e5960004 	ldr	r0, [r6, #4]
    8cd4:	e2544001 	subs	r4, r4, #1	; 0x1
    8cd8:	eaffffde 	b	8c58 <__call_exitprocs+0x6c>
    8cdc:	e5953104 	ldr	r3, [r5, #260]
    8ce0:	e113000e 	tst	r3, lr
    8ce4:	1a000005 	bne	8d00 <__call_exitprocs+0x114>
    8ce8:	e1a0000a 	mov	r0, sl
    8cec:	e7951104 	ldr	r1, [r5, r4, lsl #2]
    8cf0:	e1a0e00f 	mov	lr, pc
    8cf4:	e12fff1c 	bx	ip
    8cf8:	e5960004 	ldr	r0, [r6, #4]
    8cfc:	eafffff4 	b	8cd4 <__call_exitprocs+0xe8>
    8d00:	e7950104 	ldr	r0, [r5, r4, lsl #2]
    8d04:	e1a0e00f 	mov	lr, pc
    8d08:	e12fff1c 	bx	ip
    8d0c:	e5960004 	ldr	r0, [r6, #4]
    8d10:	eaffffef 	b	8cd4 <__call_exitprocs+0xe8>
    8d14:	e1a00006 	mov	r0, r6
    8d18:	e5883000 	str	r3, [r8]
    8d1c:	eb0000e9 	bl	90c8 <free>
    8d20:	e5986000 	ldr	r6, [r8]
    8d24:	eaffffd4 	b	8c7c <__call_exitprocs+0x90>
    8d28:	0000a324 	andeq	sl, r0, r4, lsr #6

00008d2c <__errno>:
    8d2c:	e59f3004 	ldr	r3, [pc, #4]	; 8d38 <.text+0xd18>
    8d30:	e5930000 	ldr	r0, [r3]
    8d34:	e12fff1e 	bx	lr
    8d38:	0000a964 	andeq	sl, r0, r4, ror #18

00008d3c <std>:
    8d3c:	e59f3044 	ldr	r3, [pc, #68]	; 8d88 <.text+0xd68>
    8d40:	e580302c 	str	r3, [r0, #44]
    8d44:	e59f3040 	ldr	r3, [pc, #64]	; 8d8c <.text+0xd6c>
    8d48:	e1c020be 	strh	r2, [r0, #14]
    8d4c:	e5803020 	str	r3, [r0, #32]
    8d50:	e59f2038 	ldr	r2, [pc, #56]	; 8d90 <.text+0xd70>
    8d54:	e59f3038 	ldr	r3, [pc, #56]	; 8d94 <.text+0xd74>
    8d58:	e3a0c000 	mov	ip, #0	; 0x0
    8d5c:	e1c010bc 	strh	r1, [r0, #12]
    8d60:	e580c018 	str	ip, [r0, #24]
    8d64:	e5802024 	str	r2, [r0, #36]
    8d68:	e5803028 	str	r3, [r0, #40]
    8d6c:	e580c000 	str	ip, [r0]
    8d70:	e580c004 	str	ip, [r0, #4]
    8d74:	e580c008 	str	ip, [r0, #8]
    8d78:	e580c010 	str	ip, [r0, #16]
    8d7c:	e580c014 	str	ip, [r0, #20]
    8d80:	e580001c 	str	r0, [r0, #28]
    8d84:	e12fff1e 	bx	lr
    8d88:	000098e0 	andeq	r9, r0, r0, ror #17
    8d8c:	000097d8 	ldreqd	r9, [r0], -r8
    8d90:	00009824 	andeq	r9, r0, r4, lsr #16
    8d94:	00009890 	muleq	r0, r0, r8

00008d98 <__sfmoreglue>:
    8d98:	e1a0c00d 	mov	ip, sp
    8d9c:	e92dd870 	stmdb	sp!, {r4, r5, r6, fp, ip, lr, pc}
    8da0:	e0814081 	add	r4, r1, r1, lsl #1
    8da4:	e0614184 	rsb	r4, r1, r4, lsl #3
    8da8:	e1a04104 	mov	r4, r4, lsl #2
    8dac:	e24cb004 	sub	fp, ip, #4	; 0x4
    8db0:	e1a06001 	mov	r6, r1
    8db4:	e284100c 	add	r1, r4, #12	; 0xc
    8db8:	eb0000c7 	bl	90dc <_malloc_r>
    8dbc:	e2505000 	subs	r5, r0, #0	; 0x0
    8dc0:	e3a0e000 	mov	lr, #0	; 0x0
    8dc4:	e285300c 	add	r3, r5, #12	; 0xc
    8dc8:	e1a0c005 	mov	ip, r5
    8dcc:	e1a00003 	mov	r0, r3
    8dd0:	e1a0100e 	mov	r1, lr
    8dd4:	e1a02004 	mov	r2, r4
    8dd8:	0a000004 	beq	8df0 <__sfmoreglue+0x58>
    8ddc:	e5856004 	str	r6, [r5, #4]
    8de0:	e585e000 	str	lr, [r5]
    8de4:	e5853008 	str	r3, [r5, #8]
    8de8:	ebfffd28 	bl	8290 <memset>
    8dec:	e1a0c005 	mov	ip, r5
    8df0:	e1a0000c 	mov	r0, ip
    8df4:	e89da870 	ldmia	sp, {r4, r5, r6, fp, sp, pc}

00008df8 <__sfp_lock_acquire>:
    8df8:	e12fff1e 	bx	lr

00008dfc <__sinit>:
    8dfc:	e1a0c00d 	mov	ip, sp
    8e00:	e92dd830 	stmdb	sp!, {r4, r5, fp, ip, lr, pc}
    8e04:	e59f3068 	ldr	r3, [pc, #104]	; 8e74 <.text+0xe54>
    8e08:	e1a04000 	mov	r4, r0
    8e0c:	e3a05001 	mov	r5, #1	; 0x1
    8e10:	e3a00000 	mov	r0, #0	; 0x0
    8e14:	e2841fbb 	add	r1, r4, #748	; 0x2ec
    8e18:	e3a02003 	mov	r2, #3	; 0x3
    8e1c:	e24cb004 	sub	fp, ip, #4	; 0x4
    8e20:	e584303c 	str	r3, [r4, #60]
    8e24:	e58422e4 	str	r2, [r4, #740]
    8e28:	e58412e8 	str	r1, [r4, #744]
    8e2c:	e1a02000 	mov	r2, r0
    8e30:	e58402e0 	str	r0, [r4, #736]
    8e34:	e1a03004 	mov	r3, r4
    8e38:	e5940004 	ldr	r0, [r4, #4]
    8e3c:	e5845038 	str	r5, [r4, #56]
    8e40:	e3a01004 	mov	r1, #4	; 0x4
    8e44:	ebffffbc 	bl	8d3c <std>
    8e48:	e1a02005 	mov	r2, r5
    8e4c:	e5940008 	ldr	r0, [r4, #8]
    8e50:	e1a03004 	mov	r3, r4
    8e54:	e3a01009 	mov	r1, #9	; 0x9
    8e58:	ebffffb7 	bl	8d3c <std>
    8e5c:	e594000c 	ldr	r0, [r4, #12]
    8e60:	e1a03004 	mov	r3, r4
    8e64:	e3a0100a 	mov	r1, #10	; 0xa
    8e68:	e3a02002 	mov	r2, #2	; 0x2
    8e6c:	e89d6830 	ldmia	sp, {r4, r5, fp, sp, lr}
    8e70:	eaffffb1 	b	8d3c <std>
    8e74:	00008f54 	andeq	r8, r0, r4, asr pc

00008e78 <__sfp_lock_release>:
    8e78:	e12fff1e 	bx	lr

00008e7c <__sfp>:
    8e7c:	e1a0c00d 	mov	ip, sp
    8e80:	e92dd830 	stmdb	sp!, {r4, r5, fp, ip, lr, pc}
    8e84:	e59f30c4 	ldr	r3, [pc, #196]	; 8f50 <.text+0xf30>
    8e88:	e5934000 	ldr	r4, [r3]
    8e8c:	e5942038 	ldr	r2, [r4, #56]
    8e90:	e3520000 	cmp	r2, #0	; 0x0
    8e94:	e24cb004 	sub	fp, ip, #4	; 0x4
    8e98:	e1a05000 	mov	r5, r0
    8e9c:	0a00000f 	beq	8ee0 <__sfp+0x64>
    8ea0:	e2844e2e 	add	r4, r4, #736	; 0x2e0
    8ea4:	e5943004 	ldr	r3, [r4, #4]
    8ea8:	e2533001 	subs	r3, r3, #1	; 0x1
    8eac:	e5940008 	ldr	r0, [r4, #8]
    8eb0:	4a000005 	bmi	8ecc <__sfp+0x50>
    8eb4:	e1d020fc 	ldrsh	r2, [r0, #12]
    8eb8:	e3520000 	cmp	r2, #0	; 0x0
    8ebc:	0a000014 	beq	8f14 <__sfp+0x98>
    8ec0:	e2533001 	subs	r3, r3, #1	; 0x1
    8ec4:	e280005c 	add	r0, r0, #92	; 0x5c
    8ec8:	5afffff9 	bpl	8eb4 <__sfp+0x38>
    8ecc:	e5940000 	ldr	r0, [r4]
    8ed0:	e3500000 	cmp	r0, #0	; 0x0
    8ed4:	0a000004 	beq	8eec <__sfp+0x70>
    8ed8:	e1a04000 	mov	r4, r0
    8edc:	eafffff0 	b	8ea4 <__sfp+0x28>
    8ee0:	e1a00004 	mov	r0, r4
    8ee4:	ebffffc4 	bl	8dfc <__sinit>
    8ee8:	eaffffec 	b	8ea0 <__sfp+0x24>
    8eec:	e1a00005 	mov	r0, r5
    8ef0:	e3a01004 	mov	r1, #4	; 0x4
    8ef4:	ebffffa7 	bl	8d98 <__sfmoreglue>
    8ef8:	e3500000 	cmp	r0, #0	; 0x0
    8efc:	e5840000 	str	r0, [r4]
    8f00:	1afffff4 	bne	8ed8 <__sfp+0x5c>
    8f04:	e3a0300c 	mov	r3, #12	; 0xc
    8f08:	e3a00000 	mov	r0, #0	; 0x0
    8f0c:	e5853000 	str	r3, [r5]
    8f10:	e89da830 	ldmia	sp, {r4, r5, fp, sp, pc}
    8f14:	e3e03000 	mvn	r3, #0	; 0x0
    8f18:	e1c030be 	strh	r3, [r0, #14]
    8f1c:	e3a03001 	mov	r3, #1	; 0x1
    8f20:	e5802048 	str	r2, [r0, #72]
    8f24:	e5802000 	str	r2, [r0]
    8f28:	e5802008 	str	r2, [r0, #8]
    8f2c:	e5802004 	str	r2, [r0, #4]
    8f30:	e5802010 	str	r2, [r0, #16]
    8f34:	e5802014 	str	r2, [r0, #20]
    8f38:	e5802018 	str	r2, [r0, #24]
    8f3c:	e5802030 	str	r2, [r0, #48]
    8f40:	e5802034 	str	r2, [r0, #52]
    8f44:	e5802044 	str	r2, [r0, #68]
    8f48:	e1c030bc 	strh	r3, [r0, #12]
    8f4c:	e89da830 	ldmia	sp, {r4, r5, fp, sp, pc}
    8f50:	0000a324 	andeq	sl, r0, r4, lsr #6

00008f54 <_cleanup_r>:
    8f54:	e59f1000 	ldr	r1, [pc, #0]	; 8f5c <.text+0xf3c>
    8f58:	ea000014 	b	8fb0 <_fwalk>
    8f5c:	00009b04 	andeq	r9, r0, r4, lsl #22

00008f60 <_cleanup>:
    8f60:	e59f3004 	ldr	r3, [pc, #4]	; 8f6c <.text+0xf4c>
    8f64:	e5930000 	ldr	r0, [r3]
    8f68:	eafffff9 	b	8f54 <_cleanup_r>
    8f6c:	0000a324 	andeq	sl, r0, r4, lsr #6

00008f70 <__fp_lock>:
    8f70:	e3a00000 	mov	r0, #0	; 0x0
    8f74:	e12fff1e 	bx	lr

00008f78 <__fp_unlock>:
    8f78:	e3a00000 	mov	r0, #0	; 0x0
    8f7c:	e12fff1e 	bx	lr

00008f80 <__fp_lock_all>:
    8f80:	e59f3008 	ldr	r3, [pc, #8]	; 8f90 <.text+0xf70>
    8f84:	e59f1008 	ldr	r1, [pc, #8]	; 8f94 <.text+0xf74>
    8f88:	e5930000 	ldr	r0, [r3]
    8f8c:	ea000007 	b	8fb0 <_fwalk>
    8f90:	0000a964 	andeq	sl, r0, r4, ror #18
    8f94:	00008f70 	andeq	r8, r0, r0, ror pc

00008f98 <__fp_unlock_all>:
    8f98:	e59f3008 	ldr	r3, [pc, #8]	; 8fa8 <.text+0xf88>
    8f9c:	e59f1008 	ldr	r1, [pc, #8]	; 8fac <.text+0xf8c>
    8fa0:	e5930000 	ldr	r0, [r3]
    8fa4:	ea000001 	b	8fb0 <_fwalk>
    8fa8:	0000a964 	andeq	sl, r0, r4, ror #18
    8fac:	00008f78 	andeq	r8, r0, r8, ror pc

00008fb0 <_fwalk>:
    8fb0:	e1a0c00d 	mov	ip, sp
    8fb4:	e92dd9f0 	stmdb	sp!, {r4, r5, r6, r7, r8, fp, ip, lr, pc}
    8fb8:	e1a04000 	mov	r4, r0
    8fbc:	e24cb004 	sub	fp, ip, #4	; 0x4
    8fc0:	e1a08001 	mov	r8, r1
    8fc4:	ebffff8b 	bl	8df8 <__sfp_lock_acquire>
    8fc8:	e2946e2e 	adds	r6, r4, #736	; 0x2e0
    8fcc:	e3a07000 	mov	r7, #0	; 0x0
    8fd0:	0a000013 	beq	9024 <_fwalk+0x74>
    8fd4:	e5965004 	ldr	r5, [r6, #4]
    8fd8:	e2555001 	subs	r5, r5, #1	; 0x1
    8fdc:	e5964008 	ldr	r4, [r6, #8]
    8fe0:	4a00000c 	bmi	9018 <_fwalk+0x68>
    8fe4:	e1d430fc 	ldrsh	r3, [r4, #12]
    8fe8:	e3530000 	cmp	r3, #0	; 0x0
    8fec:	0a000006 	beq	900c <_fwalk+0x5c>
    8ff0:	e1d430fe 	ldrsh	r3, [r4, #14]
    8ff4:	e3730001 	cmn	r3, #1	; 0x1
    8ff8:	e1a00004 	mov	r0, r4
    8ffc:	0a000002 	beq	900c <_fwalk+0x5c>
    9000:	e1a0e00f 	mov	lr, pc
    9004:	e12fff18 	bx	r8
    9008:	e1877000 	orr	r7, r7, r0
    900c:	e2555001 	subs	r5, r5, #1	; 0x1
    9010:	e284405c 	add	r4, r4, #92	; 0x5c
    9014:	5afffff2 	bpl	8fe4 <_fwalk+0x34>
    9018:	e5966000 	ldr	r6, [r6]
    901c:	e3560000 	cmp	r6, #0	; 0x0
    9020:	1affffeb 	bne	8fd4 <_fwalk+0x24>
    9024:	ebffff93 	bl	8e78 <__sfp_lock_release>
    9028:	e1a00007 	mov	r0, r7
    902c:	e89da9f0 	ldmia	sp, {r4, r5, r6, r7, r8, fp, sp, pc}

00009030 <_fwalk_reent>:
    9030:	e1a0c00d 	mov	ip, sp
    9034:	e92dddf0 	stmdb	sp!, {r4, r5, r6, r7, r8, sl, fp, ip, lr, pc}
    9038:	e1a07000 	mov	r7, r0
    903c:	e24cb004 	sub	fp, ip, #4	; 0x4
    9040:	e1a0a001 	mov	sl, r1
    9044:	ebffff6b 	bl	8df8 <__sfp_lock_acquire>
    9048:	e2976e2e 	adds	r6, r7, #736	; 0x2e0
    904c:	e3a08000 	mov	r8, #0	; 0x0
    9050:	0a000014 	beq	90a8 <_fwalk_reent+0x78>
    9054:	e5965004 	ldr	r5, [r6, #4]
    9058:	e2555001 	subs	r5, r5, #1	; 0x1
    905c:	e5964008 	ldr	r4, [r6, #8]
    9060:	4a00000d 	bmi	909c <_fwalk_reent+0x6c>
    9064:	e1d430fc 	ldrsh	r3, [r4, #12]
    9068:	e3530000 	cmp	r3, #0	; 0x0
    906c:	0a000007 	beq	9090 <_fwalk_reent+0x60>
    9070:	e1d430fe 	ldrsh	r3, [r4, #14]
    9074:	e3730001 	cmn	r3, #1	; 0x1
    9078:	e1a01004 	mov	r1, r4
    907c:	e1a00007 	mov	r0, r7
    9080:	0a000002 	beq	9090 <_fwalk_reent+0x60>
    9084:	e1a0e00f 	mov	lr, pc
    9088:	e12fff1a 	bx	sl
    908c:	e1888000 	orr	r8, r8, r0
    9090:	e2555001 	subs	r5, r5, #1	; 0x1
    9094:	e284405c 	add	r4, r4, #92	; 0x5c
    9098:	5afffff1 	bpl	9064 <_fwalk_reent+0x34>
    909c:	e5966000 	ldr	r6, [r6]
    90a0:	e3560000 	cmp	r6, #0	; 0x0
    90a4:	1affffea 	bne	9054 <_fwalk_reent+0x24>
    90a8:	ebffff72 	bl	8e78 <__sfp_lock_release>
    90ac:	e1a00008 	mov	r0, r8
    90b0:	e89dadf0 	ldmia	sp, {r4, r5, r6, r7, r8, sl, fp, sp, pc}

000090b4 <malloc>:
    90b4:	e59f3008 	ldr	r3, [pc, #8]	; 90c4 <.text+0x10a4>
    90b8:	e1a01000 	mov	r1, r0
    90bc:	e5930000 	ldr	r0, [r3]
    90c0:	ea000005 	b	90dc <_malloc_r>
    90c4:	0000a964 	andeq	sl, r0, r4, ror #18

000090c8 <free>:
    90c8:	e59f3008 	ldr	r3, [pc, #8]	; 90d8 <.text+0x10b8>
    90cc:	e1a01000 	mov	r1, r0
    90d0:	e5930000 	ldr	r0, [r3]
    90d4:	ea00030f 	b	9d18 <_free_r>
    90d8:	0000a964 	andeq	sl, r0, r4, ror #18

000090dc <_malloc_r>:
    90dc:	e1a0c00d 	mov	ip, sp
    90e0:	e92ddff0 	stmdb	sp!, {r4, r5, r6, r7, r8, r9, sl, fp, ip, lr, pc}
    90e4:	e1a03001 	mov	r3, r1
    90e8:	e281100b 	add	r1, r1, #11	; 0xb
    90ec:	e3510016 	cmp	r1, #22	; 0x16
    90f0:	83c15007 	bichi	r5, r1, #7	; 0x7
    90f4:	93a05010 	movls	r5, #16	; 0x10
    90f8:	e1550003 	cmp	r5, r3
    90fc:	23a03000 	movcs	r3, #0	; 0x0
    9100:	33a03001 	movcc	r3, #1	; 0x1
    9104:	e24cb004 	sub	fp, ip, #4	; 0x4
    9108:	e24dd004 	sub	sp, sp, #4	; 0x4
    910c:	e1933fa5 	orrs	r3, r3, r5, lsr #31
    9110:	e1a0a000 	mov	sl, r0
    9114:	1a000063 	bne	92a8 <_malloc_r+0x1cc>
    9118:	eb00019c 	bl	9790 <__malloc_lock>
    911c:	e3550f7e 	cmp	r5, #504	; 0x1f8
    9120:	2a000013 	bcs	9174 <_malloc_r+0x98>
    9124:	e59f1648 	ldr	r1, [pc, #1608]	; 9774 <.text+0x1754>
    9128:	e1a061a5 	mov	r6, r5, lsr #3
    912c:	e081e186 	add	lr, r1, r6, lsl #3
    9130:	e59e400c 	ldr	r4, [lr, #12]
    9134:	e154000e 	cmp	r4, lr
    9138:	0a000094 	beq	9390 <_malloc_r+0x2b4>
    913c:	e5943004 	ldr	r3, [r4, #4]
    9140:	e3c3c003 	bic	ip, r3, #3	; 0x3
    9144:	e084200c 	add	r2, r4, ip
    9148:	e5923004 	ldr	r3, [r2, #4]
    914c:	e2840008 	add	r0, r4, #8	; 0x8
    9150:	e8904001 	ldmia	r0, {r0, lr}
    9154:	e3833001 	orr	r3, r3, #1	; 0x1
    9158:	e58e0008 	str	r0, [lr, #8]
    915c:	e5823004 	str	r3, [r2, #4]
    9160:	e580e00c 	str	lr, [r0, #12]
    9164:	e1a0000a 	mov	r0, sl
    9168:	eb000189 	bl	9794 <__malloc_unlock>
    916c:	e2840008 	add	r0, r4, #8	; 0x8
    9170:	e89daff8 	ldmia	sp, {r3, r4, r5, r6, r7, r8, r9, sl, fp, sp, pc}
    9174:	e1b024a5 	movs	r2, r5, lsr #9
    9178:	01a061a5 	moveq	r6, r5, lsr #3
    917c:	1a00004b 	bne	92b0 <_malloc_r+0x1d4>
    9180:	e59f25ec 	ldr	r2, [pc, #1516]	; 9774 <.text+0x1754>
    9184:	e0820186 	add	r0, r2, r6, lsl #3
    9188:	e590400c 	ldr	r4, [r0, #12]
    918c:	ea000007 	b	91b0 <_malloc_r+0xd4>
    9190:	e5943004 	ldr	r3, [r4, #4]
    9194:	e3c3c003 	bic	ip, r3, #3	; 0x3
    9198:	e065100c 	rsb	r1, r5, ip
    919c:	e351000f 	cmp	r1, #15	; 0xf
    91a0:	ca0000f1 	bgt	956c <_malloc_r+0x490>
    91a4:	e3510000 	cmp	r1, #0	; 0x0
    91a8:	aaffffe5 	bge	9144 <_malloc_r+0x68>
    91ac:	e594400c 	ldr	r4, [r4, #12]
    91b0:	e1540000 	cmp	r4, r0
    91b4:	1afffff5 	bne	9190 <_malloc_r+0xb4>
    91b8:	e2866001 	add	r6, r6, #1	; 0x1
    91bc:	e59f85b4 	ldr	r8, [pc, #1460]	; 9778 <.text+0x1758>
    91c0:	e5984008 	ldr	r4, [r8, #8]
    91c4:	e1540008 	cmp	r4, r8
    91c8:	0a00005c 	beq	9340 <_malloc_r+0x264>
    91cc:	e5943004 	ldr	r3, [r4, #4]
    91d0:	e3c3c003 	bic	ip, r3, #3	; 0x3
    91d4:	e065100c 	rsb	r1, r5, ip
    91d8:	e351000f 	cmp	r1, #15	; 0xf
    91dc:	ca000071 	bgt	93a8 <_malloc_r+0x2cc>
    91e0:	e3510000 	cmp	r1, #0	; 0x0
    91e4:	a084200c 	addge	r2, r4, ip
    91e8:	a5923004 	ldrge	r3, [r2, #4]
    91ec:	a3833001 	orrge	r3, r3, #1	; 0x1
    91f0:	e588800c 	str	r8, [r8, #12]
    91f4:	e5888008 	str	r8, [r8, #8]
    91f8:	a5823004 	strge	r3, [r2, #4]
    91fc:	aaffffd8 	bge	9164 <_malloc_r+0x88>
    9200:	e35c0c02 	cmp	ip, #512	; 0x200
    9204:	3a00003f 	bcc	9308 <_malloc_r+0x22c>
    9208:	e1b014ac 	movs	r1, ip, lsr #9
    920c:	01a071ac 	moveq	r7, ip, lsr #3
    9210:	0a000014 	beq	9268 <_malloc_r+0x18c>
    9214:	e3510004 	cmp	r1, #4	; 0x4
    9218:	91a0332c 	movls	r3, ip, lsr #6
    921c:	92837038 	addls	r7, r3, #56	; 0x38
    9220:	9a000010 	bls	9268 <_malloc_r+0x18c>
    9224:	e3510014 	cmp	r1, #20	; 0x14
    9228:	9281705b 	addls	r7, r1, #91	; 0x5b
    922c:	9a00000d 	bls	9268 <_malloc_r+0x18c>
    9230:	e3510054 	cmp	r1, #84	; 0x54
    9234:	91a0362c 	movls	r3, ip, lsr #12
    9238:	9283706e 	addls	r7, r3, #110	; 0x6e
    923c:	9a000009 	bls	9268 <_malloc_r+0x18c>
    9240:	e3510f55 	cmp	r1, #340	; 0x154
    9244:	91a037ac 	movls	r3, ip, lsr #15
    9248:	92837077 	addls	r7, r3, #119	; 0x77
    924c:	9a000005 	bls	9268 <_malloc_r+0x18c>
    9250:	e3a03e55 	mov	r3, #1360	; 0x550
    9254:	e2833004 	add	r3, r3, #4	; 0x4
    9258:	e1510003 	cmp	r1, r3
    925c:	91a0392c 	movls	r3, ip, lsr #18
    9260:	9283707c 	addls	r7, r3, #124	; 0x7c
    9264:	83a0707e 	movhi	r7, #126	; 0x7e
    9268:	e59f3504 	ldr	r3, [pc, #1284]	; 9774 <.text+0x1754>
    926c:	e083e187 	add	lr, r3, r7, lsl #3
    9270:	e59e0008 	ldr	r0, [lr, #8]
    9274:	e150000e 	cmp	r0, lr
    9278:	0a000121 	beq	9704 <_malloc_r+0x628>
    927c:	e5903004 	ldr	r3, [r0, #4]
    9280:	e3c33003 	bic	r3, r3, #3	; 0x3
    9284:	e153000c 	cmp	r3, ip
    9288:	9a000002 	bls	9298 <_malloc_r+0x1bc>
    928c:	e5900008 	ldr	r0, [r0, #8]
    9290:	e150000e 	cmp	r0, lr
    9294:	1afffff8 	bne	927c <_malloc_r+0x1a0>
    9298:	e590e00c 	ldr	lr, [r0, #12]
    929c:	ea000023 	b	9330 <_malloc_r+0x254>
    92a0:	e1a0000a 	mov	r0, sl
    92a4:	eb00013a 	bl	9794 <__malloc_unlock>
    92a8:	e3a00000 	mov	r0, #0	; 0x0
    92ac:	e89daff8 	ldmia	sp, {r3, r4, r5, r6, r7, r8, r9, sl, fp, sp, pc}
    92b0:	e3520004 	cmp	r2, #4	; 0x4
    92b4:	91a03325 	movls	r3, r5, lsr #6
    92b8:	92836038 	addls	r6, r3, #56	; 0x38
    92bc:	9affffaf 	bls	9180 <_malloc_r+0xa4>
    92c0:	e3520014 	cmp	r2, #20	; 0x14
    92c4:	9282605b 	addls	r6, r2, #91	; 0x5b
    92c8:	9affffac 	bls	9180 <_malloc_r+0xa4>
    92cc:	e3520054 	cmp	r2, #84	; 0x54
    92d0:	91a03625 	movls	r3, r5, lsr #12
    92d4:	9283606e 	addls	r6, r3, #110	; 0x6e
    92d8:	9affffa8 	bls	9180 <_malloc_r+0xa4>
    92dc:	e3520f55 	cmp	r2, #340	; 0x154
    92e0:	91a037a5 	movls	r3, r5, lsr #15
    92e4:	92836077 	addls	r6, r3, #119	; 0x77
    92e8:	9affffa4 	bls	9180 <_malloc_r+0xa4>
    92ec:	e3a03e55 	mov	r3, #1360	; 0x550
    92f0:	e2833004 	add	r3, r3, #4	; 0x4
    92f4:	e1520003 	cmp	r2, r3
    92f8:	91a03925 	movls	r3, r5, lsr #18
    92fc:	9283607c 	addls	r6, r3, #124	; 0x7c
    9300:	83a0607e 	movhi	r6, #126	; 0x7e
    9304:	eaffff9d 	b	9180 <_malloc_r+0xa4>
    9308:	e59f1464 	ldr	r1, [pc, #1124]	; 9774 <.text+0x1754>
    930c:	e1a071ac 	mov	r7, ip, lsr #3
    9310:	e5913004 	ldr	r3, [r1, #4]
    9314:	e3a02001 	mov	r2, #1	; 0x1
    9318:	e1a01127 	mov	r1, r7, lsr #2
    931c:	e1833112 	orr	r3, r3, r2, lsl r1
    9320:	e59f244c 	ldr	r2, [pc, #1100]	; 9774 <.text+0x1754>
    9324:	e082e187 	add	lr, r2, r7, lsl #3
    9328:	e59e0008 	ldr	r0, [lr, #8]
    932c:	e5823004 	str	r3, [r2, #4]
    9330:	e584e00c 	str	lr, [r4, #12]
    9334:	e5840008 	str	r0, [r4, #8]
    9338:	e580400c 	str	r4, [r0, #12]
    933c:	e58e4008 	str	r4, [lr, #8]
    9340:	e1a03fc6 	mov	r3, r6, asr #31
    9344:	e0863f23 	add	r3, r6, r3, lsr #30
    9348:	e1a03143 	mov	r3, r3, asr #2
    934c:	e3a02001 	mov	r2, #1	; 0x1
    9350:	e1a02312 	mov	r2, r2, lsl r3
    9354:	e59f3418 	ldr	r3, [pc, #1048]	; 9774 <.text+0x1754>
    9358:	e5931004 	ldr	r1, [r3, #4]
    935c:	e1520001 	cmp	r2, r1
    9360:	8a00001a 	bhi	93d0 <_malloc_r+0x2f4>
    9364:	e1110002 	tst	r1, r2
    9368:	1a000057 	bne	94cc <_malloc_r+0x3f0>
    936c:	e1a02082 	mov	r2, r2, lsl #1
    9370:	e3c63003 	bic	r3, r6, #3	; 0x3
    9374:	e1110002 	tst	r1, r2
    9378:	e2836004 	add	r6, r3, #4	; 0x4
    937c:	1a000052 	bne	94cc <_malloc_r+0x3f0>
    9380:	e1a02082 	mov	r2, r2, lsl #1
    9384:	e1110002 	tst	r1, r2
    9388:	e2866004 	add	r6, r6, #4	; 0x4
    938c:	eafffffa 	b	937c <_malloc_r+0x2a0>
    9390:	e284e008 	add	lr, r4, #8	; 0x8
    9394:	e59e400c 	ldr	r4, [lr, #12]
    9398:	e154000e 	cmp	r4, lr
    939c:	1affff66 	bne	913c <_malloc_r+0x60>
    93a0:	e2866002 	add	r6, r6, #2	; 0x2
    93a4:	eaffff84 	b	91bc <_malloc_r+0xe0>
    93a8:	e084c005 	add	ip, r4, r5
    93ac:	e3852001 	orr	r2, r5, #1	; 0x1
    93b0:	e3813001 	orr	r3, r1, #1	; 0x1
    93b4:	e5842004 	str	r2, [r4, #4]
    93b8:	e588c00c 	str	ip, [r8, #12]
    93bc:	e588c008 	str	ip, [r8, #8]
    93c0:	e78c1001 	str	r1, [ip, r1]
    93c4:	e98c0108 	stmib	ip, {r3, r8}
    93c8:	e58c800c 	str	r8, [ip, #12]
    93cc:	eaffff64 	b	9164 <_malloc_r+0x88>
    93d0:	e59f239c 	ldr	r2, [pc, #924]	; 9774 <.text+0x1754>
    93d4:	e5928008 	ldr	r8, [r2, #8]
    93d8:	e5983004 	ldr	r3, [r8, #4]
    93dc:	e3c33003 	bic	r3, r3, #3	; 0x3
    93e0:	e50b302c 	str	r3, [fp, #-44]
    93e4:	e0651003 	rsb	r1, r5, r3
    93e8:	e51b202c 	ldr	r2, [fp, #-44]
    93ec:	e351000f 	cmp	r1, #15	; 0xf
    93f0:	c3a03000 	movgt	r3, #0	; 0x0
    93f4:	d3a03001 	movle	r3, #1	; 0x1
    93f8:	e1520005 	cmp	r2, r5
    93fc:	33833001 	orrcc	r3, r3, #1	; 0x1
    9400:	e3530000 	cmp	r3, #0	; 0x0
    9404:	0a000023 	beq	9498 <_malloc_r+0x3bc>
    9408:	e59f336c 	ldr	r3, [pc, #876]	; 977c <.text+0x175c>
    940c:	e5931000 	ldr	r1, [r3]
    9410:	e59f3368 	ldr	r3, [pc, #872]	; 9780 <.text+0x1760>
    9414:	e5932000 	ldr	r2, [r3]
    9418:	e0851001 	add	r1, r5, r1
    941c:	e3720001 	cmn	r2, #1	; 0x1
    9420:	e2816010 	add	r6, r1, #16	; 0x10
    9424:	12863eff 	addne	r3, r6, #4080	; 0xff0
    9428:	1283300f 	addne	r3, r3, #15	; 0xf
    942c:	13c36eff 	bicne	r6, r3, #4080	; 0xff0
    9430:	13c6600f 	bicne	r6, r6, #15	; 0xf
    9434:	e1a0000a 	mov	r0, sl
    9438:	e1a01006 	mov	r1, r6
    943c:	e51b902c 	ldr	r9, [fp, #-44]
    9440:	eb0000d4 	bl	9798 <_sbrk_r>
    9444:	e3700001 	cmn	r0, #1	; 0x1
    9448:	e0887009 	add	r7, r8, r9
    944c:	e1a04000 	mov	r4, r0
    9450:	0a000004 	beq	9468 <_malloc_r+0x38c>
    9454:	e1500007 	cmp	r0, r7
    9458:	2a000060 	bcs	95e0 <_malloc_r+0x504>
    945c:	e59f1310 	ldr	r1, [pc, #784]	; 9774 <.text+0x1754>
    9460:	e1580001 	cmp	r8, r1
    9464:	0a00005d 	beq	95e0 <_malloc_r+0x504>
    9468:	e59f1304 	ldr	r1, [pc, #772]	; 9774 <.text+0x1754>
    946c:	e5913008 	ldr	r3, [r1, #8]
    9470:	e5932004 	ldr	r2, [r3, #4]
    9474:	e3c22003 	bic	r2, r2, #3	; 0x3
    9478:	e0651002 	rsb	r1, r5, r2
    947c:	e351000f 	cmp	r1, #15	; 0xf
    9480:	c3a03000 	movgt	r3, #0	; 0x0
    9484:	d3a03001 	movle	r3, #1	; 0x1
    9488:	e1520005 	cmp	r2, r5
    948c:	33833001 	orrcc	r3, r3, #1	; 0x1
    9490:	e3530000 	cmp	r3, #0	; 0x0
    9494:	1affff81 	bne	92a0 <_malloc_r+0x1c4>
    9498:	e59f22d4 	ldr	r2, [pc, #724]	; 9774 <.text+0x1754>
    949c:	e5924008 	ldr	r4, [r2, #8]
    94a0:	e3853001 	orr	r3, r5, #1	; 0x1
    94a4:	e5843004 	str	r3, [r4, #4]
    94a8:	e59f32c4 	ldr	r3, [pc, #708]	; 9774 <.text+0x1754>
    94ac:	e0842005 	add	r2, r4, r5
    94b0:	e3811001 	orr	r1, r1, #1	; 0x1
    94b4:	e1a0000a 	mov	r0, sl
    94b8:	e5821004 	str	r1, [r2, #4]
    94bc:	e5832008 	str	r2, [r3, #8]
    94c0:	eb0000b3 	bl	9794 <__malloc_unlock>
    94c4:	e2840008 	add	r0, r4, #8	; 0x8
    94c8:	e89daff8 	ldmia	sp, {r3, r4, r5, r6, r7, r8, r9, sl, fp, sp, pc}
    94cc:	e59f12a0 	ldr	r1, [pc, #672]	; 9774 <.text+0x1754>
    94d0:	e081e186 	add	lr, r1, r6, lsl #3
    94d4:	e1a07006 	mov	r7, r6
    94d8:	e1a0000e 	mov	r0, lr
    94dc:	e590400c 	ldr	r4, [r0, #12]
    94e0:	ea000007 	b	9504 <_malloc_r+0x428>
    94e4:	e5943004 	ldr	r3, [r4, #4]
    94e8:	e3c3c003 	bic	ip, r3, #3	; 0x3
    94ec:	e065100c 	rsb	r1, r5, ip
    94f0:	e351000f 	cmp	r1, #15	; 0xf
    94f4:	ca00001e 	bgt	9574 <_malloc_r+0x498>
    94f8:	e3510000 	cmp	r1, #0	; 0x0
    94fc:	aa00002d 	bge	95b8 <_malloc_r+0x4dc>
    9500:	e594400c 	ldr	r4, [r4, #12]
    9504:	e1540000 	cmp	r4, r0
    9508:	1afffff5 	bne	94e4 <_malloc_r+0x408>
    950c:	e2866001 	add	r6, r6, #1	; 0x1
    9510:	e3160003 	tst	r6, #3	; 0x3
    9514:	e2800008 	add	r0, r0, #8	; 0x8
    9518:	1affffef 	bne	94dc <_malloc_r+0x400>
    951c:	e3170003 	tst	r7, #3	; 0x3
    9520:	e24ee008 	sub	lr, lr, #8	; 0x8
    9524:	e2477001 	sub	r7, r7, #1	; 0x1
    9528:	0a00007c 	beq	9720 <_malloc_r+0x644>
    952c:	e59e3008 	ldr	r3, [lr, #8]
    9530:	e153000e 	cmp	r3, lr
    9534:	0afffff8 	beq	951c <_malloc_r+0x440>
    9538:	e59f1234 	ldr	r1, [pc, #564]	; 9774 <.text+0x1754>
    953c:	e5913004 	ldr	r3, [r1, #4]
    9540:	e1a02082 	mov	r2, r2, lsl #1
    9544:	e1520003 	cmp	r2, r3
    9548:	8affffa0 	bhi	93d0 <_malloc_r+0x2f4>
    954c:	e3520000 	cmp	r2, #0	; 0x0
    9550:	0affff9e 	beq	93d0 <_malloc_r+0x2f4>
    9554:	e1130002 	tst	r3, r2
    9558:	1affffdb 	bne	94cc <_malloc_r+0x3f0>
    955c:	e1a02082 	mov	r2, r2, lsl #1
    9560:	e1130002 	tst	r3, r2
    9564:	e2866004 	add	r6, r6, #4	; 0x4
    9568:	eafffffa 	b	9558 <_malloc_r+0x47c>
    956c:	e2466001 	sub	r6, r6, #1	; 0x1
    9570:	eaffff10 	b	91b8 <_malloc_r+0xdc>
    9574:	e3853001 	orr	r3, r5, #1	; 0x1
    9578:	e084c005 	add	ip, r4, r5
    957c:	e594e00c 	ldr	lr, [r4, #12]
    9580:	e5843004 	str	r3, [r4, #4]
    9584:	e5b40008 	ldr	r0, [r4, #8]!
    9588:	e3813001 	orr	r3, r1, #1	; 0x1
    958c:	e58e0008 	str	r0, [lr, #8]
    9590:	e580e00c 	str	lr, [r0, #12]
    9594:	e588c008 	str	ip, [r8, #8]
    9598:	e588c00c 	str	ip, [r8, #12]
    959c:	e78c1001 	str	r1, [ip, r1]
    95a0:	e98c0108 	stmib	ip, {r3, r8}
    95a4:	e58c800c 	str	r8, [ip, #12]
    95a8:	e1a0000a 	mov	r0, sl
    95ac:	eb000078 	bl	9794 <__malloc_unlock>
    95b0:	e1a00004 	mov	r0, r4
    95b4:	e89daff8 	ldmia	sp, {r3, r4, r5, r6, r7, r8, r9, sl, fp, sp, pc}
    95b8:	e084200c 	add	r2, r4, ip
    95bc:	e594e00c 	ldr	lr, [r4, #12]
    95c0:	e5923004 	ldr	r3, [r2, #4]
    95c4:	e5b40008 	ldr	r0, [r4, #8]!
    95c8:	e3833001 	orr	r3, r3, #1	; 0x1
    95cc:	e58e0008 	str	r0, [lr, #8]
    95d0:	e580e00c 	str	lr, [r0, #12]
    95d4:	e1a0000a 	mov	r0, sl
    95d8:	e5823004 	str	r3, [r2, #4]
    95dc:	eafffff2 	b	95ac <_malloc_r+0x4d0>
    95e0:	e59f219c 	ldr	r2, [pc, #412]	; 9784 <.text+0x1764>
    95e4:	e5923000 	ldr	r3, [r2]
    95e8:	e1540007 	cmp	r4, r7
    95ec:	e0833006 	add	r3, r3, r6
    95f0:	e5823000 	str	r3, [r2]
    95f4:	0a00004e 	beq	9734 <_malloc_r+0x658>
    95f8:	e59f1180 	ldr	r1, [pc, #384]	; 9780 <.text+0x1760>
    95fc:	e5913000 	ldr	r3, [r1]
    9600:	e3730001 	cmn	r3, #1	; 0x1
    9604:	159f2178 	ldrne	r2, [pc, #376]	; 9784 <.text+0x1764>
    9608:	15923000 	ldrne	r3, [r2]
    960c:	159f1170 	ldrne	r1, [pc, #368]	; 9784 <.text+0x1764>
    9610:	10672004 	rsbne	r2, r7, r4
    9614:	10833002 	addne	r3, r3, r2
    9618:	05814000 	streq	r4, [r1]
    961c:	15813000 	strne	r3, [r1]
    9620:	e2141007 	ands	r1, r4, #7	; 0x7
    9624:	12617008 	rsbne	r7, r1, #8	; 0x8
    9628:	10844007 	addne	r4, r4, r7
    962c:	e0843006 	add	r3, r4, r6
    9630:	e1a03a03 	mov	r3, r3, lsl #20
    9634:	e1a03a23 	mov	r3, r3, lsr #20
    9638:	01a07001 	moveq	r7, r1
    963c:	e2633a01 	rsb	r3, r3, #4096	; 0x1000
    9640:	e0877003 	add	r7, r7, r3
    9644:	e1a01007 	mov	r1, r7
    9648:	e1a0000a 	mov	r0, sl
    964c:	eb000051 	bl	9798 <_sbrk_r>
    9650:	e59f312c 	ldr	r3, [pc, #300]	; 9784 <.text+0x1764>
    9654:	e3700001 	cmn	r0, #1	; 0x1
    9658:	01a00004 	moveq	r0, r4
    965c:	03a07000 	moveq	r7, #0	; 0x0
    9660:	e5932000 	ldr	r2, [r3]
    9664:	e59f1108 	ldr	r1, [pc, #264]	; 9774 <.text+0x1754>
    9668:	e0643000 	rsb	r3, r4, r0
    966c:	e0830007 	add	r0, r3, r7
    9670:	e59f310c 	ldr	r3, [pc, #268]	; 9784 <.text+0x1764>
    9674:	e0822007 	add	r2, r2, r7
    9678:	e1580001 	cmp	r8, r1
    967c:	e5832000 	str	r2, [r3]
    9680:	e5814008 	str	r4, [r1, #8]
    9684:	e3800001 	orr	r0, r0, #1	; 0x1
    9688:	0a000033 	beq	975c <_malloc_r+0x680>
    968c:	e51b102c 	ldr	r1, [fp, #-44]
    9690:	e351000f 	cmp	r1, #15	; 0xf
    9694:	93a03001 	movls	r3, #1	; 0x1
    9698:	95843004 	strls	r3, [r4, #4]
    969c:	9affff71 	bls	9468 <_malloc_r+0x38c>
    96a0:	e5840004 	str	r0, [r4, #4]
    96a4:	e51b102c 	ldr	r1, [fp, #-44]
    96a8:	e5982004 	ldr	r2, [r8, #4]
    96ac:	e241300c 	sub	r3, r1, #12	; 0xc
    96b0:	e3c39007 	bic	r9, r3, #7	; 0x7
    96b4:	e2022001 	and	r2, r2, #1	; 0x1
    96b8:	e0881009 	add	r1, r8, r9
    96bc:	e3a03005 	mov	r3, #5	; 0x5
    96c0:	e1822009 	orr	r2, r2, r9
    96c4:	e359000f 	cmp	r9, #15	; 0xf
    96c8:	e5882004 	str	r2, [r8, #4]
    96cc:	e5813008 	str	r3, [r1, #8]
    96d0:	e5813004 	str	r3, [r1, #4]
    96d4:	8a000022 	bhi	9764 <_malloc_r+0x688>
    96d8:	e59f10a8 	ldr	r1, [pc, #168]	; 9788 <.text+0x1768>
    96dc:	e59f30a0 	ldr	r3, [pc, #160]	; 9784 <.text+0x1764>
    96e0:	e5932000 	ldr	r2, [r3]
    96e4:	e5913000 	ldr	r3, [r1]
    96e8:	e1520003 	cmp	r2, r3
    96ec:	85812000 	strhi	r2, [r1]
    96f0:	e59f1094 	ldr	r1, [pc, #148]	; 978c <.text+0x176c>
    96f4:	e5913000 	ldr	r3, [r1]
    96f8:	e1520003 	cmp	r2, r3
    96fc:	85812000 	strhi	r2, [r1]
    9700:	eaffff58 	b	9468 <_malloc_r+0x38c>
    9704:	e5933004 	ldr	r3, [r3, #4]
    9708:	e1a01127 	mov	r1, r7, lsr #2
    970c:	e3a02001 	mov	r2, #1	; 0x1
    9710:	e1833112 	orr	r3, r3, r2, lsl r1
    9714:	e59f1058 	ldr	r1, [pc, #88]	; 9774 <.text+0x1754>
    9718:	e5813004 	str	r3, [r1, #4]
    971c:	eaffff03 	b	9330 <_malloc_r+0x254>
    9720:	e59f104c 	ldr	r1, [pc, #76]	; 9774 <.text+0x1754>
    9724:	e5913004 	ldr	r3, [r1, #4]
    9728:	e1c33002 	bic	r3, r3, r2
    972c:	e5813004 	str	r3, [r1, #4]
    9730:	eaffff80 	b	9538 <_malloc_r+0x45c>
    9734:	e1a03a04 	mov	r3, r4, lsl #20
    9738:	e1a03a23 	mov	r3, r3, lsr #20
    973c:	e3530000 	cmp	r3, #0	; 0x0
    9740:	1affffac 	bne	95f8 <_malloc_r+0x51c>
    9744:	e59f3028 	ldr	r3, [pc, #40]	; 9774 <.text+0x1754>
    9748:	e0860009 	add	r0, r6, r9
    974c:	e5932008 	ldr	r2, [r3, #8]
    9750:	e3803001 	orr	r3, r0, #1	; 0x1
    9754:	e5823004 	str	r3, [r2, #4]
    9758:	eaffffde 	b	96d8 <_malloc_r+0x5fc>
    975c:	e5840004 	str	r0, [r4, #4]
    9760:	eaffffdc 	b	96d8 <_malloc_r+0x5fc>
    9764:	e2881008 	add	r1, r8, #8	; 0x8
    9768:	e1a0000a 	mov	r0, sl
    976c:	eb000169 	bl	9d18 <_free_r>
    9770:	eaffffd8 	b	96d8 <_malloc_r+0x5fc>
    9774:	0000a970 	andeq	sl, r0, r0, ror r9
    9778:	0000a978 	andeq	sl, r0, r8, ror r9
    977c:	0000ae80 	andeq	sl, r0, r0, lsl #29
    9780:	0000a968 	andeq	sl, r0, r8, ror #18
    9784:	0000ae50 	andeq	sl, r0, r0, asr lr
    9788:	0000ae7c 	andeq	sl, r0, ip, ror lr
    978c:	0000ae78 	andeq	sl, r0, r8, ror lr

00009790 <__malloc_lock>:
    9790:	e12fff1e 	bx	lr

00009794 <__malloc_unlock>:
    9794:	e12fff1e 	bx	lr

00009798 <_sbrk_r>:
    9798:	e1a0c00d 	mov	ip, sp
    979c:	e92dd830 	stmdb	sp!, {r4, r5, fp, ip, lr, pc}
    97a0:	e59f402c 	ldr	r4, [pc, #44]	; 97d4 <.text+0x17b4>
    97a4:	e3a03000 	mov	r3, #0	; 0x0
    97a8:	e24cb004 	sub	fp, ip, #4	; 0x4
    97ac:	e1a05000 	mov	r5, r0
    97b0:	e1a00001 	mov	r0, r1
    97b4:	e5843000 	str	r3, [r4]
    97b8:	ebfffc64 	bl	8950 <_sbrk>
    97bc:	e3700001 	cmn	r0, #1	; 0x1
    97c0:	189da830 	ldmneia	sp, {r4, r5, fp, sp, pc}
    97c4:	e5943000 	ldr	r3, [r4]
    97c8:	e3530000 	cmp	r3, #0	; 0x0
    97cc:	15853000 	strne	r3, [r5]
    97d0:	e89da830 	ldmia	sp, {r4, r5, fp, sp, pc}
    97d4:	0000ae84 	andeq	sl, r0, r4, lsl #29

000097d8 <__sread>:
    97d8:	e1a0c00d 	mov	ip, sp
    97dc:	e92dd810 	stmdb	sp!, {r4, fp, ip, lr, pc}
    97e0:	e1a03002 	mov	r3, r2
    97e4:	e59f2034 	ldr	r2, [pc, #52]	; 9820 <.text+0x1800>
    97e8:	e1a04000 	mov	r4, r0
    97ec:	e24cb004 	sub	fp, ip, #4	; 0x4
    97f0:	e5920000 	ldr	r0, [r2]
    97f4:	e1a02001 	mov	r2, r1
    97f8:	e1d410fe 	ldrsh	r1, [r4, #14]
    97fc:	eb0001e8 	bl	9fa4 <_read_r>
    9800:	e3500000 	cmp	r0, #0	; 0x0
    9804:	a5943050 	ldrge	r3, [r4, #80]
    9808:	b1d430bc 	ldrlth	r3, [r4, #12]
    980c:	a0833000 	addge	r3, r3, r0
    9810:	b3c33a01 	biclt	r3, r3, #4096	; 0x1000
    9814:	a5843050 	strge	r3, [r4, #80]
    9818:	b1c430bc 	strlth	r3, [r4, #12]
    981c:	e89da810 	ldmia	sp, {r4, fp, sp, pc}
    9820:	0000a964 	andeq	sl, r0, r4, ror #18

00009824 <__swrite>:
    9824:	e1a0c00d 	mov	ip, sp
    9828:	e92dd8f0 	stmdb	sp!, {r4, r5, r6, r7, fp, ip, lr, pc}
    982c:	e24cb004 	sub	fp, ip, #4	; 0x4
    9830:	e1d0c0bc 	ldrh	ip, [r0, #12]
    9834:	e31c0c01 	tst	ip, #256	; 0x100
    9838:	e59f704c 	ldr	r7, [pc, #76]	; 988c <.text+0x186c>
    983c:	e1a06002 	mov	r6, r2
    9840:	e3a03002 	mov	r3, #2	; 0x2
    9844:	e1a04000 	mov	r4, r0
    9848:	e1a05001 	mov	r5, r1
    984c:	e3a02000 	mov	r2, #0	; 0x0
    9850:	059f7034 	ldreq	r7, [pc, #52]	; 988c <.text+0x186c>
    9854:	1a000007 	bne	9878 <__swrite+0x54>
    9858:	e5970000 	ldr	r0, [r7]
    985c:	e1d410fe 	ldrsh	r1, [r4, #14]
    9860:	e3ccca01 	bic	ip, ip, #4096	; 0x1000
    9864:	e1a02005 	mov	r2, r5
    9868:	e1a03006 	mov	r3, r6
    986c:	e1c4c0bc 	strh	ip, [r4, #12]
    9870:	e89d68f0 	ldmia	sp, {r4, r5, r6, r7, fp, sp, lr}
    9874:	ea000036 	b	9954 <_write_r>
    9878:	e5970000 	ldr	r0, [r7]
    987c:	e1d410fe 	ldrsh	r1, [r4, #14]
    9880:	eb0001b5 	bl	9f5c <_lseek_r>
    9884:	e1d4c0bc 	ldrh	ip, [r4, #12]
    9888:	eafffff2 	b	9858 <__swrite+0x34>
    988c:	0000a964 	andeq	sl, r0, r4, ror #18

00009890 <__sseek>:
    9890:	e1a0c00d 	mov	ip, sp
    9894:	e92dd810 	stmdb	sp!, {r4, fp, ip, lr, pc}
    9898:	e1a03002 	mov	r3, r2
    989c:	e59f2038 	ldr	r2, [pc, #56]	; 98dc <.text+0x18bc>
    98a0:	e1a04000 	mov	r4, r0
    98a4:	e24cb004 	sub	fp, ip, #4	; 0x4
    98a8:	e5920000 	ldr	r0, [r2]
    98ac:	e1a02001 	mov	r2, r1
    98b0:	e1d410fe 	ldrsh	r1, [r4, #14]
    98b4:	eb0001a8 	bl	9f5c <_lseek_r>
    98b8:	e3700001 	cmn	r0, #1	; 0x1
    98bc:	01d430bc 	ldreqh	r3, [r4, #12]
    98c0:	11d430bc 	ldrneh	r3, [r4, #12]
    98c4:	03c33a01 	biceq	r3, r3, #4096	; 0x1000
    98c8:	13833a01 	orrne	r3, r3, #4096	; 0x1000
    98cc:	01c430bc 	streqh	r3, [r4, #12]
    98d0:	11c430bc 	strneh	r3, [r4, #12]
    98d4:	15840050 	strne	r0, [r4, #80]
    98d8:	e89da810 	ldmia	sp, {r4, fp, sp, pc}
    98dc:	0000a964 	andeq	sl, r0, r4, ror #18

000098e0 <__sclose>:
    98e0:	e59f3008 	ldr	r3, [pc, #8]	; 98f0 <.text+0x18d0>
    98e4:	e1d010fe 	ldrsh	r1, [r0, #14]
    98e8:	e5930000 	ldr	r0, [r3]
    98ec:	ea00002a 	b	999c <_close_r>
    98f0:	0000a964 	andeq	sl, r0, r4, ror #18

000098f4 <strlen>:
    98f4:	e3100003 	tst	r0, #3	; 0x3
    98f8:	e1a01000 	mov	r1, r0
    98fc:	1a00000d 	bne	9938 <strlen+0x44>
    9900:	e5902000 	ldr	r2, [r0]
    9904:	ea000000 	b	990c <strlen+0x18>
    9908:	e5b02004 	ldr	r2, [r0, #4]!
    990c:	e28234ff 	add	r3, r2, #-16777216	; 0xff000000
    9910:	e2433801 	sub	r3, r3, #65536	; 0x10000
    9914:	e2433c01 	sub	r3, r3, #256	; 0x100
    9918:	e2433001 	sub	r3, r3, #1	; 0x1
    991c:	e1c33002 	bic	r3, r3, r2
    9920:	e3c3347f 	bic	r3, r3, #2130706432	; 0x7f000000
    9924:	e3c3387f 	bic	r3, r3, #8323072	; 0x7f0000
    9928:	e3c33c7f 	bic	r3, r3, #32512	; 0x7f00
    992c:	e3c3307f 	bic	r3, r3, #127	; 0x7f
    9930:	e3530000 	cmp	r3, #0	; 0x0
    9934:	0afffff3 	beq	9908 <strlen+0x14>
    9938:	e5d03000 	ldrb	r3, [r0]
    993c:	ea000000 	b	9944 <strlen+0x50>
    9940:	e5f03001 	ldrb	r3, [r0, #1]!
    9944:	e3530000 	cmp	r3, #0	; 0x0
    9948:	1afffffc 	bne	9940 <strlen+0x4c>
    994c:	e0610000 	rsb	r0, r1, r0
    9950:	e12fff1e 	bx	lr

00009954 <_write_r>:
    9954:	e1a0c00d 	mov	ip, sp
    9958:	e92dd830 	stmdb	sp!, {r4, r5, fp, ip, lr, pc}
    995c:	e59f4034 	ldr	r4, [pc, #52]	; 9998 <.text+0x1978>
    9960:	e24cb004 	sub	fp, ip, #4	; 0x4
    9964:	e1a05000 	mov	r5, r0
    9968:	e1a00001 	mov	r0, r1
    996c:	e1a01002 	mov	r1, r2
    9970:	e1a02003 	mov	r2, r3
    9974:	e3a03000 	mov	r3, #0	; 0x0
    9978:	e5843000 	str	r3, [r4]
    997c:	ebfffb71 	bl	8748 <_write>
    9980:	e3700001 	cmn	r0, #1	; 0x1
    9984:	189da830 	ldmneia	sp, {r4, r5, fp, sp, pc}
    9988:	e5943000 	ldr	r3, [r4]
    998c:	e3530000 	cmp	r3, #0	; 0x0
    9990:	15853000 	strne	r3, [r5]
    9994:	e89da830 	ldmia	sp, {r4, r5, fp, sp, pc}
    9998:	0000ae84 	andeq	sl, r0, r4, lsl #29

0000999c <_close_r>:
    999c:	e1a0c00d 	mov	ip, sp
    99a0:	e92dd830 	stmdb	sp!, {r4, r5, fp, ip, lr, pc}
    99a4:	e59f402c 	ldr	r4, [pc, #44]	; 99d8 <.text+0x19b8>
    99a8:	e3a03000 	mov	r3, #0	; 0x0
    99ac:	e24cb004 	sub	fp, ip, #4	; 0x4
    99b0:	e1a05000 	mov	r5, r0
    99b4:	e1a00001 	mov	r0, r1
    99b8:	e5843000 	str	r3, [r4]
    99bc:	ebfffbc9 	bl	88e8 <_close>
    99c0:	e3700001 	cmn	r0, #1	; 0x1
    99c4:	189da830 	ldmneia	sp, {r4, r5, fp, sp, pc}
    99c8:	e5943000 	ldr	r3, [r4]
    99cc:	e3530000 	cmp	r3, #0	; 0x0
    99d0:	15853000 	strne	r3, [r5]
    99d4:	e89da830 	ldmia	sp, {r4, r5, fp, sp, pc}
    99d8:	0000ae84 	andeq	sl, r0, r4, lsl #29

000099dc <_fclose_r>:
    99dc:	e1a0c00d 	mov	ip, sp
    99e0:	e92dd8f0 	stmdb	sp!, {r4, r5, r6, r7, fp, ip, lr, pc}
    99e4:	e2514000 	subs	r4, r1, #0	; 0x0
    99e8:	e1a06000 	mov	r6, r0
    99ec:	e24cb004 	sub	fp, ip, #4	; 0x4
    99f0:	01a00004 	moveq	r0, r4
    99f4:	089da8f0 	ldmeqia	sp, {r4, r5, r6, r7, fp, sp, pc}
    99f8:	e59f7100 	ldr	r7, [pc, #256]	; 9b00 <.text+0x1ae0>
    99fc:	ebfffcfd 	bl	8df8 <__sfp_lock_acquire>
    9a00:	e5970000 	ldr	r0, [r7]
    9a04:	e3500000 	cmp	r0, #0	; 0x0
    9a08:	1a00001e 	bne	9a88 <_fclose_r+0xac>
    9a0c:	e1d430bc 	ldrh	r3, [r4, #12]
    9a10:	e1a03803 	mov	r3, r3, lsl #16
    9a14:	e1b05843 	movs	r5, r3, asr #16
    9a18:	0a00001f 	beq	9a9c <_fclose_r+0xc0>
    9a1c:	e1a039a3 	mov	r3, r3, lsr #19
    9a20:	e2130001 	ands	r0, r3, #1	; 0x1
    9a24:	1a000032 	bne	9af4 <_fclose_r+0x118>
    9a28:	e594302c 	ldr	r3, [r4, #44]
    9a2c:	e3530000 	cmp	r3, #0	; 0x0
    9a30:	e1a05000 	mov	r5, r0
    9a34:	1a000028 	bne	9adc <_fclose_r+0x100>
    9a38:	e1d430bc 	ldrh	r3, [r4, #12]
    9a3c:	e3130080 	tst	r3, #128	; 0x80
    9a40:	1a000018 	bne	9aa8 <_fclose_r+0xcc>
    9a44:	e5941030 	ldr	r1, [r4, #48]
    9a48:	e3510000 	cmp	r1, #0	; 0x0
    9a4c:	0a000005 	beq	9a68 <_fclose_r+0x8c>
    9a50:	e2843040 	add	r3, r4, #64	; 0x40
    9a54:	e1510003 	cmp	r1, r3
    9a58:	15970000 	ldrne	r0, [r7]
    9a5c:	1b0000ad 	blne	9d18 <_free_r>
    9a60:	e3a03000 	mov	r3, #0	; 0x0
    9a64:	e5843030 	str	r3, [r4, #48]
    9a68:	e5941044 	ldr	r1, [r4, #68]
    9a6c:	e3510000 	cmp	r1, #0	; 0x0
    9a70:	1a000010 	bne	9ab8 <_fclose_r+0xdc>
    9a74:	e3a03000 	mov	r3, #0	; 0x0
    9a78:	e1c430bc 	strh	r3, [r4, #12]
    9a7c:	ebfffcfd 	bl	8e78 <__sfp_lock_release>
    9a80:	e1a00005 	mov	r0, r5
    9a84:	e89da8f0 	ldmia	sp, {r4, r5, r6, r7, fp, sp, pc}
    9a88:	e5903038 	ldr	r3, [r0, #56]
    9a8c:	e3530000 	cmp	r3, #0	; 0x0
    9a90:	1affffdd 	bne	9a0c <_fclose_r+0x30>
    9a94:	ebfffcd8 	bl	8dfc <__sinit>
    9a98:	eaffffdb 	b	9a0c <_fclose_r+0x30>
    9a9c:	ebfffcf5 	bl	8e78 <__sfp_lock_release>
    9aa0:	e1a00005 	mov	r0, r5
    9aa4:	e89da8f0 	ldmia	sp, {r4, r5, r6, r7, fp, sp, pc}
    9aa8:	e1a00006 	mov	r0, r6
    9aac:	e5941010 	ldr	r1, [r4, #16]
    9ab0:	eb000098 	bl	9d18 <_free_r>
    9ab4:	eaffffe2 	b	9a44 <_fclose_r+0x68>
    9ab8:	e5970000 	ldr	r0, [r7]
    9abc:	eb000095 	bl	9d18 <_free_r>
    9ac0:	e3a03000 	mov	r3, #0	; 0x0
    9ac4:	e5843044 	str	r3, [r4, #68]
    9ac8:	e3a03000 	mov	r3, #0	; 0x0
    9acc:	e1c430bc 	strh	r3, [r4, #12]
    9ad0:	ebfffce8 	bl	8e78 <__sfp_lock_release>
    9ad4:	e1a00005 	mov	r0, r5
    9ad8:	e89da8f0 	ldmia	sp, {r4, r5, r6, r7, fp, sp, pc}
    9adc:	e594001c 	ldr	r0, [r4, #28]
    9ae0:	e1a0e00f 	mov	lr, pc
    9ae4:	e12fff13 	bx	r3
    9ae8:	e3500000 	cmp	r0, #0	; 0x0
    9aec:	b3e05000 	mvnlt	r5, #0	; 0x0
    9af0:	eaffffd0 	b	9a38 <_fclose_r+0x5c>
    9af4:	e1a00004 	mov	r0, r4
    9af8:	eb000006 	bl	9b18 <fflush>
    9afc:	eaffffc9 	b	9a28 <_fclose_r+0x4c>
    9b00:	0000a964 	andeq	sl, r0, r4, ror #18

00009b04 <fclose>:
    9b04:	e59f3008 	ldr	r3, [pc, #8]	; 9b14 <.text+0x1af4>
    9b08:	e1a01000 	mov	r1, r0
    9b0c:	e5930000 	ldr	r0, [r3]
    9b10:	eaffffb1 	b	99dc <_fclose_r>
    9b14:	0000a964 	andeq	sl, r0, r4, ror #18

00009b18 <fflush>:
    9b18:	e1a0c00d 	mov	ip, sp
    9b1c:	e92dd870 	stmdb	sp!, {r4, r5, r6, fp, ip, lr, pc}
    9b20:	e2506000 	subs	r6, r0, #0	; 0x0
    9b24:	e24cb004 	sub	fp, ip, #4	; 0x4
    9b28:	0a00002c 	beq	9be0 <fflush+0xc8>
    9b2c:	e59f30d4 	ldr	r3, [pc, #212]	; 9c08 <.text+0x1be8>
    9b30:	e5930000 	ldr	r0, [r3]
    9b34:	e3500000 	cmp	r0, #0	; 0x0
    9b38:	1a00001d 	bne	9bb4 <fflush+0x9c>
    9b3c:	e1d600fc 	ldrsh	r0, [r6, #12]
    9b40:	e1a031a0 	mov	r3, r0, lsr #3
    9b44:	e2233001 	eor	r3, r3, #1	; 0x1
    9b48:	e2132001 	ands	r2, r3, #1	; 0x1
    9b4c:	1a000021 	bne	9bd8 <fflush+0xc0>
    9b50:	e5965010 	ldr	r5, [r6, #16]
    9b54:	e3550000 	cmp	r5, #0	; 0x0
    9b58:	0a00001e 	beq	9bd8 <fflush+0xc0>
    9b5c:	e5963000 	ldr	r3, [r6]
    9b60:	e3100003 	tst	r0, #3	; 0x3
    9b64:	e0654003 	rsb	r4, r5, r3
    9b68:	e5865000 	str	r5, [r6]
    9b6c:	05963014 	ldreq	r3, [r6, #20]
    9b70:	11a03002 	movne	r3, r2
    9b74:	e3540000 	cmp	r4, #0	; 0x0
    9b78:	e5863008 	str	r3, [r6, #8]
    9b7c:	da00000a 	ble	9bac <fflush+0x94>
    9b80:	e1a01005 	mov	r1, r5
    9b84:	e1a02004 	mov	r2, r4
    9b88:	e596001c 	ldr	r0, [r6, #28]
    9b8c:	e1a0e00f 	mov	lr, pc
    9b90:	e596f024 	ldr	pc, [r6, #36]
    9b94:	e3500000 	cmp	r0, #0	; 0x0
    9b98:	e0604004 	rsb	r4, r0, r4
    9b9c:	e0855000 	add	r5, r5, r0
    9ba0:	da000013 	ble	9bf4 <fflush+0xdc>
    9ba4:	e3540000 	cmp	r4, #0	; 0x0
    9ba8:	cafffff4 	bgt	9b80 <fflush+0x68>
    9bac:	e3a00000 	mov	r0, #0	; 0x0
    9bb0:	e89da870 	ldmia	sp, {r4, r5, r6, fp, sp, pc}
    9bb4:	e5903038 	ldr	r3, [r0, #56]
    9bb8:	e3530000 	cmp	r3, #0	; 0x0
    9bbc:	1affffde 	bne	9b3c <fflush+0x24>
    9bc0:	ebfffc8d 	bl	8dfc <__sinit>
    9bc4:	e1d600fc 	ldrsh	r0, [r6, #12]
    9bc8:	e1a031a0 	mov	r3, r0, lsr #3
    9bcc:	e2233001 	eor	r3, r3, #1	; 0x1
    9bd0:	e2132001 	ands	r2, r3, #1	; 0x1
    9bd4:	0affffdd 	beq	9b50 <fflush+0x38>
    9bd8:	e3a00000 	mov	r0, #0	; 0x0
    9bdc:	e89da870 	ldmia	sp, {r4, r5, r6, fp, sp, pc}
    9be0:	e59f3024 	ldr	r3, [pc, #36]	; 9c0c <.text+0x1bec>
    9be4:	e59f1024 	ldr	r1, [pc, #36]	; 9c10 <.text+0x1bf0>
    9be8:	e5930000 	ldr	r0, [r3]
    9bec:	e89d6870 	ldmia	sp, {r4, r5, r6, fp, sp, lr}
    9bf0:	eafffcee 	b	8fb0 <_fwalk>
    9bf4:	e1d630bc 	ldrh	r3, [r6, #12]
    9bf8:	e3e00000 	mvn	r0, #0	; 0x0
    9bfc:	e3833040 	orr	r3, r3, #64	; 0x40
    9c00:	e1c630bc 	strh	r3, [r6, #12]
    9c04:	e89da870 	ldmia	sp, {r4, r5, r6, fp, sp, pc}
    9c08:	0000a964 	andeq	sl, r0, r4, ror #18
    9c0c:	0000a324 	andeq	sl, r0, r4, lsr #6
    9c10:	00009b18 	andeq	r9, r0, r8, lsl fp

00009c14 <_malloc_trim_r>:
    9c14:	e1a0c00d 	mov	ip, sp
    9c18:	e92dd8f0 	stmdb	sp!, {r4, r5, r6, r7, fp, ip, lr, pc}
    9c1c:	e59f70e8 	ldr	r7, [pc, #232]	; 9d0c <.text+0x1cec>
    9c20:	e24cb004 	sub	fp, ip, #4	; 0x4
    9c24:	e1a04001 	mov	r4, r1
    9c28:	e1a05000 	mov	r5, r0
    9c2c:	ebfffed7 	bl	9790 <__malloc_lock>
    9c30:	e5973008 	ldr	r3, [r7, #8]
    9c34:	e5932004 	ldr	r2, [r3, #4]
    9c38:	e3c26003 	bic	r6, r2, #3	; 0x3
    9c3c:	e0644006 	rsb	r4, r4, r6
    9c40:	e2844efe 	add	r4, r4, #4064	; 0xfe0
    9c44:	e284400f 	add	r4, r4, #15	; 0xf
    9c48:	e3c44eff 	bic	r4, r4, #4080	; 0xff0
    9c4c:	e3c4400f 	bic	r4, r4, #15	; 0xf
    9c50:	e2444a01 	sub	r4, r4, #4096	; 0x1000
    9c54:	e3540a01 	cmp	r4, #4096	; 0x1000
    9c58:	e3a01000 	mov	r1, #0	; 0x0
    9c5c:	e1a00005 	mov	r0, r5
    9c60:	ba000006 	blt	9c80 <_malloc_trim_r+0x6c>
    9c64:	ebfffecb 	bl	9798 <_sbrk_r>
    9c68:	e5973008 	ldr	r3, [r7, #8]
    9c6c:	e0833006 	add	r3, r3, r6
    9c70:	e1530000 	cmp	r3, r0
    9c74:	e2641000 	rsb	r1, r4, #0	; 0x0
    9c78:	e1a00005 	mov	r0, r5
    9c7c:	0a000002 	beq	9c8c <_malloc_trim_r+0x78>
    9c80:	ebfffec3 	bl	9794 <__malloc_unlock>
    9c84:	e3a00000 	mov	r0, #0	; 0x0
    9c88:	e89da8f0 	ldmia	sp, {r4, r5, r6, r7, fp, sp, pc}
    9c8c:	ebfffec1 	bl	9798 <_sbrk_r>
    9c90:	e0643006 	rsb	r3, r4, r6
    9c94:	e3700001 	cmn	r0, #1	; 0x1
    9c98:	e3a01000 	mov	r1, #0	; 0x0
    9c9c:	e59fe06c 	ldr	lr, [pc, #108]	; 9d10 <.text+0x1cf0>
    9ca0:	e383c001 	orr	ip, r3, #1	; 0x1
    9ca4:	e1a00005 	mov	r0, r5
    9ca8:	0a000008 	beq	9cd0 <_malloc_trim_r+0xbc>
    9cac:	e59e3000 	ldr	r3, [lr]
    9cb0:	e5972008 	ldr	r2, [r7, #8]
    9cb4:	e0643003 	rsb	r3, r4, r3
    9cb8:	e1a00005 	mov	r0, r5
    9cbc:	e582c004 	str	ip, [r2, #4]
    9cc0:	e58e3000 	str	r3, [lr]
    9cc4:	ebfffeb2 	bl	9794 <__malloc_unlock>
    9cc8:	e3a00001 	mov	r0, #1	; 0x1
    9ccc:	e89da8f0 	ldmia	sp, {r4, r5, r6, r7, fp, sp, pc}
    9cd0:	ebfffeb0 	bl	9798 <_sbrk_r>
    9cd4:	e5971008 	ldr	r1, [r7, #8]
    9cd8:	e1a0c000 	mov	ip, r0
    9cdc:	e061600c 	rsb	r6, r1, ip
    9ce0:	e356000f 	cmp	r6, #15	; 0xf
    9ce4:	e1a00005 	mov	r0, r5
    9ce8:	e3864001 	orr	r4, r6, #1	; 0x1
    9cec:	daffffe3 	ble	9c80 <_malloc_trim_r+0x6c>
    9cf0:	e59f301c 	ldr	r3, [pc, #28]	; 9d14 <.text+0x1cf4>
    9cf4:	e5932000 	ldr	r2, [r3]
    9cf8:	e59f3010 	ldr	r3, [pc, #16]	; 9d10 <.text+0x1cf0>
    9cfc:	e062200c 	rsb	r2, r2, ip
    9d00:	e5832000 	str	r2, [r3]
    9d04:	e5814004 	str	r4, [r1, #4]
    9d08:	eaffffdc 	b	9c80 <_malloc_trim_r+0x6c>
    9d0c:	0000a970 	andeq	sl, r0, r0, ror r9
    9d10:	0000ae50 	andeq	sl, r0, r0, asr lr
    9d14:	0000a968 	andeq	sl, r0, r8, ror #18

00009d18 <_free_r>:
    9d18:	e1a0c00d 	mov	ip, sp
    9d1c:	e92ddff0 	stmdb	sp!, {r4, r5, r6, r7, r8, r9, sl, fp, ip, lr, pc}
    9d20:	e2515000 	subs	r5, r1, #0	; 0x0
    9d24:	e24cb004 	sub	fp, ip, #4	; 0x4
    9d28:	e1a09000 	mov	r9, r0
    9d2c:	089daff0 	ldmeqia	sp, {r4, r5, r6, r7, r8, r9, sl, fp, sp, pc}
    9d30:	e2457008 	sub	r7, r5, #8	; 0x8
    9d34:	ebfffe95 	bl	9790 <__malloc_lock>
    9d38:	e5971004 	ldr	r1, [r7, #4]
    9d3c:	e59fa208 	ldr	sl, [pc, #520]	; 9f4c <.text+0x1f2c>
    9d40:	e3c14001 	bic	r4, r1, #1	; 0x1
    9d44:	e087c004 	add	ip, r7, r4
    9d48:	e59a3008 	ldr	r3, [sl, #8]
    9d4c:	e59c2004 	ldr	r2, [ip, #4]
    9d50:	e153000c 	cmp	r3, ip
    9d54:	e3c26003 	bic	r6, r2, #3	; 0x3
    9d58:	0a000035 	beq	9e34 <_free_r+0x11c>
    9d5c:	e3110001 	tst	r1, #1	; 0x1
    9d60:	e58c6004 	str	r6, [ip, #4]
    9d64:	e3a08000 	mov	r8, #0	; 0x0
    9d68:	0a000016 	beq	9dc8 <_free_r+0xb0>
    9d6c:	e08c3006 	add	r3, ip, r6
    9d70:	e5932004 	ldr	r2, [r3, #4]
    9d74:	e3120001 	tst	r2, #1	; 0x1
    9d78:	1a00000a 	bne	9da8 <_free_r+0x90>
    9d7c:	e3580000 	cmp	r8, #0	; 0x0
    9d80:	e0844006 	add	r4, r4, r6
    9d84:	159c2008 	ldrne	r2, [ip, #8]
    9d88:	1a000003 	bne	9d9c <_free_r+0x84>
    9d8c:	e59c2008 	ldr	r2, [ip, #8]
    9d90:	e59f31b8 	ldr	r3, [pc, #440]	; 9f50 <.text+0x1f30>
    9d94:	e1520003 	cmp	r2, r3
    9d98:	0a000060 	beq	9f20 <_free_r+0x208>
    9d9c:	e59ce00c 	ldr	lr, [ip, #12]
    9da0:	e58e2008 	str	r2, [lr, #8]
    9da4:	e582e00c 	str	lr, [r2, #12]
    9da8:	e3843001 	orr	r3, r4, #1	; 0x1
    9dac:	e3580000 	cmp	r8, #0	; 0x0
    9db0:	e5873004 	str	r3, [r7, #4]
    9db4:	e7874004 	str	r4, [r7, r4]
    9db8:	0a00000e 	beq	9df8 <_free_r+0xe0>
    9dbc:	e1a00009 	mov	r0, r9
    9dc0:	e89d6ff0 	ldmia	sp, {r4, r5, r6, r7, r8, r9, sl, fp, sp, lr}
    9dc4:	eafffe72 	b	9794 <__malloc_unlock>
    9dc8:	e5151008 	ldr	r1, [r5, #-8]
    9dcc:	e0617007 	rsb	r7, r1, r7
    9dd0:	e5972008 	ldr	r2, [r7, #8]
    9dd4:	e28a3008 	add	r3, sl, #8	; 0x8
    9dd8:	e1520003 	cmp	r2, r3
    9ddc:	1597e00c 	ldrne	lr, [r7, #12]
    9de0:	11a00002 	movne	r0, r2
    9de4:	e0844001 	add	r4, r4, r1
    9de8:	02888001 	addeq	r8, r8, #1	; 0x1
    9dec:	158e0008 	strne	r0, [lr, #8]
    9df0:	1580e00c 	strne	lr, [r0, #12]
    9df4:	eaffffdc 	b	9d6c <_free_r+0x54>
    9df8:	e3540c02 	cmp	r4, #512	; 0x200
    9dfc:	2a000022 	bcs	9e8c <_free_r+0x174>
    9e00:	e1a0c1a4 	mov	ip, r4, lsr #3
    9e04:	e59a3004 	ldr	r3, [sl, #4]
    9e08:	e1a0112c 	mov	r1, ip, lsr #2
    9e0c:	e3a02001 	mov	r2, #1	; 0x1
    9e10:	e1833112 	orr	r3, r3, r2, lsl r1
    9e14:	e08ae18c 	add	lr, sl, ip, lsl #3
    9e18:	e59e0008 	ldr	r0, [lr, #8]
    9e1c:	e58a3004 	str	r3, [sl, #4]
    9e20:	e587e00c 	str	lr, [r7, #12]
    9e24:	e5870008 	str	r0, [r7, #8]
    9e28:	e580700c 	str	r7, [r0, #12]
    9e2c:	e58e7008 	str	r7, [lr, #8]
    9e30:	eaffffe1 	b	9dbc <_free_r+0xa4>
    9e34:	e3110001 	tst	r1, #1	; 0x1
    9e38:	e0844006 	add	r4, r4, r6
    9e3c:	1a000006 	bne	9e5c <_free_r+0x144>
    9e40:	e5151008 	ldr	r1, [r5, #-8]
    9e44:	e0617007 	rsb	r7, r1, r7
    9e48:	e2870008 	add	r0, r7, #8	; 0x8
    9e4c:	e8904001 	ldmia	r0, {r0, lr}
    9e50:	e58e0008 	str	r0, [lr, #8]
    9e54:	e580e00c 	str	lr, [r0, #12]
    9e58:	e0844001 	add	r4, r4, r1
    9e5c:	e59f30f0 	ldr	r3, [pc, #240]	; 9f54 <.text+0x1f34>
    9e60:	e5932000 	ldr	r2, [r3]
    9e64:	e3843001 	orr	r3, r4, #1	; 0x1
    9e68:	e1540002 	cmp	r4, r2
    9e6c:	e58a7008 	str	r7, [sl, #8]
    9e70:	e5873004 	str	r3, [r7, #4]
    9e74:	3affffd0 	bcc	9dbc <_free_r+0xa4>
    9e78:	e59f30d8 	ldr	r3, [pc, #216]	; 9f58 <.text+0x1f38>
    9e7c:	e1a00009 	mov	r0, r9
    9e80:	e5931000 	ldr	r1, [r3]
    9e84:	ebffff62 	bl	9c14 <_malloc_trim_r>
    9e88:	eaffffcb 	b	9dbc <_free_r+0xa4>
    9e8c:	e1b014a4 	movs	r1, r4, lsr #9
    9e90:	01a0c1a4 	moveq	ip, r4, lsr #3
    9e94:	0a000014 	beq	9eec <_free_r+0x1d4>
    9e98:	e3510004 	cmp	r1, #4	; 0x4
    9e9c:	91a03324 	movls	r3, r4, lsr #6
    9ea0:	9283c038 	addls	ip, r3, #56	; 0x38
    9ea4:	9a000010 	bls	9eec <_free_r+0x1d4>
    9ea8:	e3510014 	cmp	r1, #20	; 0x14
    9eac:	9281c05b 	addls	ip, r1, #91	; 0x5b
    9eb0:	9a00000d 	bls	9eec <_free_r+0x1d4>
    9eb4:	e3510054 	cmp	r1, #84	; 0x54
    9eb8:	91a03624 	movls	r3, r4, lsr #12
    9ebc:	9283c06e 	addls	ip, r3, #110	; 0x6e
    9ec0:	9a000009 	bls	9eec <_free_r+0x1d4>
    9ec4:	e3510f55 	cmp	r1, #340	; 0x154
    9ec8:	91a037a4 	movls	r3, r4, lsr #15
    9ecc:	9283c077 	addls	ip, r3, #119	; 0x77
    9ed0:	9a000005 	bls	9eec <_free_r+0x1d4>
    9ed4:	e3a03e55 	mov	r3, #1360	; 0x550
    9ed8:	e2833004 	add	r3, r3, #4	; 0x4
    9edc:	e1510003 	cmp	r1, r3
    9ee0:	91a03924 	movls	r3, r4, lsr #18
    9ee4:	9283c07c 	addls	ip, r3, #124	; 0x7c
    9ee8:	83a0c07e 	movhi	ip, #126	; 0x7e
    9eec:	e08ae18c 	add	lr, sl, ip, lsl #3
    9ef0:	e59e0008 	ldr	r0, [lr, #8]
    9ef4:	e150000e 	cmp	r0, lr
    9ef8:	0a00000e 	beq	9f38 <_free_r+0x220>
    9efc:	e5903004 	ldr	r3, [r0, #4]
    9f00:	e3c33003 	bic	r3, r3, #3	; 0x3
    9f04:	e1530004 	cmp	r3, r4
    9f08:	9a000002 	bls	9f18 <_free_r+0x200>
    9f0c:	e5900008 	ldr	r0, [r0, #8]
    9f10:	e150000e 	cmp	r0, lr
    9f14:	1afffff8 	bne	9efc <_free_r+0x1e4>
    9f18:	e590e00c 	ldr	lr, [r0, #12]
    9f1c:	eaffffbf 	b	9e20 <_free_r+0x108>
    9f20:	e2888001 	add	r8, r8, #1	; 0x1
    9f24:	e582700c 	str	r7, [r2, #12]
    9f28:	e5827008 	str	r7, [r2, #8]
    9f2c:	e587200c 	str	r2, [r7, #12]
    9f30:	e5872008 	str	r2, [r7, #8]
    9f34:	eaffff9b 	b	9da8 <_free_r+0x90>
    9f38:	e59a3004 	ldr	r3, [sl, #4]
    9f3c:	e1a0112c 	mov	r1, ip, lsr #2
    9f40:	e3a02001 	mov	r2, #1	; 0x1
    9f44:	e1833112 	orr	r3, r3, r2, lsl r1
    9f48:	eaffffb3 	b	9e1c <_free_r+0x104>
    9f4c:	0000a970 	andeq	sl, r0, r0, ror r9
    9f50:	0000a978 	andeq	sl, r0, r8, ror r9
    9f54:	0000a96c 	andeq	sl, r0, ip, ror #18
    9f58:	0000ae80 	andeq	sl, r0, r0, lsl #29

00009f5c <_lseek_r>:
    9f5c:	e1a0c00d 	mov	ip, sp
    9f60:	e92dd830 	stmdb	sp!, {r4, r5, fp, ip, lr, pc}
    9f64:	e59f4034 	ldr	r4, [pc, #52]	; 9fa0 <.text+0x1f80>
    9f68:	e24cb004 	sub	fp, ip, #4	; 0x4
    9f6c:	e1a05000 	mov	r5, r0
    9f70:	e1a00001 	mov	r0, r1
    9f74:	e1a01002 	mov	r1, r2
    9f78:	e1a02003 	mov	r2, r3
    9f7c:	e3a03000 	mov	r3, #0	; 0x0
    9f80:	e5843000 	str	r3, [r4]
    9f84:	ebfff9d6 	bl	86e4 <_lseek>
    9f88:	e3700001 	cmn	r0, #1	; 0x1
    9f8c:	189da830 	ldmneia	sp, {r4, r5, fp, sp, pc}
    9f90:	e5943000 	ldr	r3, [r4]
    9f94:	e3530000 	cmp	r3, #0	; 0x0
    9f98:	15853000 	strne	r3, [r5]
    9f9c:	e89da830 	ldmia	sp, {r4, r5, fp, sp, pc}
    9fa0:	0000ae84 	andeq	sl, r0, r4, lsl #29

00009fa4 <_read_r>:
    9fa4:	e1a0c00d 	mov	ip, sp
    9fa8:	e92dd830 	stmdb	sp!, {r4, r5, fp, ip, lr, pc}
    9fac:	e59f4034 	ldr	r4, [pc, #52]	; 9fe8 <.text+0x1fc8>
    9fb0:	e24cb004 	sub	fp, ip, #4	; 0x4
    9fb4:	e1a05000 	mov	r5, r0
    9fb8:	e1a00001 	mov	r0, r1
    9fbc:	e1a01002 	mov	r1, r2
    9fc0:	e1a02003 	mov	r2, r3
    9fc4:	e3a03000 	mov	r3, #0	; 0x0
    9fc8:	e5843000 	str	r3, [r4]
    9fcc:	ebfff970 	bl	8594 <_read>
    9fd0:	e3700001 	cmn	r0, #1	; 0x1
    9fd4:	189da830 	ldmneia	sp, {r4, r5, fp, sp, pc}
    9fd8:	e5943000 	ldr	r3, [r4]
    9fdc:	e3530000 	cmp	r3, #0	; 0x0
    9fe0:	15853000 	strne	r3, [r5]
    9fe4:	e89da830 	ldmia	sp, {r4, r5, fp, sp, pc}
    9fe8:	0000ae84 	andeq	sl, r0, r4, lsl #29

00009fec <cleanup_glue>:
    9fec:	e1a0c00d 	mov	ip, sp
    9ff0:	e92dd830 	stmdb	sp!, {r4, r5, fp, ip, lr, pc}
    9ff4:	e1a05001 	mov	r5, r1
    9ff8:	e5911000 	ldr	r1, [r1]
    9ffc:	e3510000 	cmp	r1, #0	; 0x0
    a000:	e24cb004 	sub	fp, ip, #4	; 0x4
    a004:	e1a04000 	mov	r4, r0
    a008:	1a000003 	bne	a01c <cleanup_glue+0x30>
    a00c:	e1a00004 	mov	r0, r4
    a010:	e1a01005 	mov	r1, r5
    a014:	e89d6830 	ldmia	sp, {r4, r5, fp, sp, lr}
    a018:	eaffff3e 	b	9d18 <_free_r>
    a01c:	ebfffff2 	bl	9fec <cleanup_glue>
    a020:	eafffff9 	b	a00c <cleanup_glue+0x20>

0000a024 <_reclaim_reent>:
    a024:	e1a0c00d 	mov	ip, sp
    a028:	e92dd870 	stmdb	sp!, {r4, r5, r6, fp, ip, lr, pc}
    a02c:	e59f30ec 	ldr	r3, [pc, #236]	; a120 <.text+0x2100>
    a030:	e5932000 	ldr	r2, [r3]
    a034:	e1500002 	cmp	r0, r2
    a038:	e24cb004 	sub	fp, ip, #4	; 0x4
    a03c:	e1a05000 	mov	r5, r0
    a040:	089da870 	ldmeqia	sp, {r4, r5, r6, fp, sp, pc}
    a044:	e590104c 	ldr	r1, [r0, #76]
    a048:	e3510000 	cmp	r1, #0	; 0x0
    a04c:	1a00001c 	bne	a0c4 <_reclaim_reent+0xa0>
    a050:	e5951148 	ldr	r1, [r5, #328]
    a054:	e3510000 	cmp	r1, #0	; 0x0
    a058:	0a00000a 	beq	a088 <_reclaim_reent+0x64>
    a05c:	e2856f53 	add	r6, r5, #332	; 0x14c
    a060:	e1510006 	cmp	r1, r6
    a064:	0a000007 	beq	a088 <_reclaim_reent+0x64>
    a068:	e1a04001 	mov	r4, r1
    a06c:	ea000003 	b	a080 <_reclaim_reent+0x5c>
    a070:	e1a01004 	mov	r1, r4
    a074:	e1a00005 	mov	r0, r5
    a078:	e5944000 	ldr	r4, [r4]
    a07c:	ebffff25 	bl	9d18 <_free_r>
    a080:	e1560004 	cmp	r6, r4
    a084:	1afffff9 	bne	a070 <_reclaim_reent+0x4c>
    a088:	e5951054 	ldr	r1, [r5, #84]
    a08c:	e3510000 	cmp	r1, #0	; 0x0
    a090:	1a00001c 	bne	a108 <_reclaim_reent+0xe4>
    a094:	e5953038 	ldr	r3, [r5, #56]
    a098:	e3530000 	cmp	r3, #0	; 0x0
    a09c:	089da870 	ldmeqia	sp, {r4, r5, r6, fp, sp, pc}
    a0a0:	e1a00005 	mov	r0, r5
    a0a4:	e1a0e00f 	mov	lr, pc
    a0a8:	e595f03c 	ldr	pc, [r5, #60]
    a0ac:	e59512e0 	ldr	r1, [r5, #736]
    a0b0:	e3510000 	cmp	r1, #0	; 0x0
    a0b4:	089da870 	ldmeqia	sp, {r4, r5, r6, fp, sp, pc}
    a0b8:	e1a00005 	mov	r0, r5
    a0bc:	e89d6870 	ldmia	sp, {r4, r5, r6, fp, sp, lr}
    a0c0:	eaffffc9 	b	9fec <cleanup_glue>
    a0c4:	e3a06000 	mov	r6, #0	; 0x0
    a0c8:	e7914106 	ldr	r4, [r1, r6, lsl #2]
    a0cc:	e3540000 	cmp	r4, #0	; 0x0
    a0d0:	0a000006 	beq	a0f0 <_reclaim_reent+0xcc>
    a0d4:	e1a01004 	mov	r1, r4
    a0d8:	e5944000 	ldr	r4, [r4]
    a0dc:	e1a00005 	mov	r0, r5
    a0e0:	ebffff0c 	bl	9d18 <_free_r>
    a0e4:	e3540000 	cmp	r4, #0	; 0x0
    a0e8:	1afffff9 	bne	a0d4 <_reclaim_reent+0xb0>
    a0ec:	e595104c 	ldr	r1, [r5, #76]
    a0f0:	e2866001 	add	r6, r6, #1	; 0x1
    a0f4:	e356000e 	cmp	r6, #14	; 0xe
    a0f8:	dafffff2 	ble	a0c8 <_reclaim_reent+0xa4>
    a0fc:	e1a00005 	mov	r0, r5
    a100:	ebffff04 	bl	9d18 <_free_r>
    a104:	eaffffd1 	b	a050 <_reclaim_reent+0x2c>
    a108:	e1a00005 	mov	r0, r5
    a10c:	ebffff01 	bl	9d18 <_free_r>
    a110:	e5953038 	ldr	r3, [r5, #56]
    a114:	e3530000 	cmp	r3, #0	; 0x0
    a118:	089da870 	ldmeqia	sp, {r4, r5, r6, fp, sp, pc}
    a11c:	eaffffdf 	b	a0a0 <_reclaim_reent+0x7c>
    a120:	0000a964 	andeq	sl, r0, r4, ror #18

0000a124 <_wrapup_reent>:
    a124:	e1a0c00d 	mov	ip, sp
    a128:	e92dd8f0 	stmdb	sp!, {r4, r5, r6, r7, fp, ip, lr, pc}
    a12c:	e2507000 	subs	r7, r0, #0	; 0x0
    a130:	059f305c 	ldreq	r3, [pc, #92]	; a194 <.text+0x2174>
    a134:	05937000 	ldreq	r7, [r3]
    a138:	e5976148 	ldr	r6, [r7, #328]
    a13c:	e3560000 	cmp	r6, #0	; 0x0
    a140:	e24cb004 	sub	fp, ip, #4	; 0x4
    a144:	0a00000b 	beq	a178 <_wrapup_reent+0x54>
    a148:	e5964004 	ldr	r4, [r6, #4]
    a14c:	e2544001 	subs	r4, r4, #1	; 0x1
    a150:	4a000005 	bmi	a16c <_wrapup_reent+0x48>
    a154:	e0865104 	add	r5, r6, r4, lsl #2
    a158:	e1a0e00f 	mov	lr, pc
    a15c:	e595f008 	ldr	pc, [r5, #8]
    a160:	e2544001 	subs	r4, r4, #1	; 0x1
    a164:	e2455004 	sub	r5, r5, #4	; 0x4
    a168:	5afffffa 	bpl	a158 <_wrapup_reent+0x34>
    a16c:	e5966000 	ldr	r6, [r6]
    a170:	e3560000 	cmp	r6, #0	; 0x0
    a174:	1afffff3 	bne	a148 <_wrapup_reent+0x24>
    a178:	e597303c 	ldr	r3, [r7, #60]
    a17c:	e3530000 	cmp	r3, #0	; 0x0
    a180:	089da8f0 	ldmeqia	sp, {r4, r5, r6, r7, fp, sp, pc}
    a184:	e1a00007 	mov	r0, r7
    a188:	e1a0e00f 	mov	lr, pc
    a18c:	e12fff13 	bx	r3
    a190:	e89da8f0 	ldmia	sp, {r4, r5, r6, r7, fp, sp, pc}
    a194:	0000a964 	andeq	sl, r0, r4, ror #18

0000a198 <__udivsi3>:
    a198:	e2512001 	subs	r2, r1, #1	; 0x1
    a19c:	012fff1e 	bxeq	lr
    a1a0:	3a000036 	bcc	a280 <__udivsi3+0xe8>
    a1a4:	e1500001 	cmp	r0, r1
    a1a8:	9a000022 	bls	a238 <__udivsi3+0xa0>
    a1ac:	e1110002 	tst	r1, r2
    a1b0:	0a000023 	beq	a244 <__udivsi3+0xac>
    a1b4:	e311020e 	tst	r1, #-536870912	; 0xe0000000
    a1b8:	01a01181 	moveq	r1, r1, lsl #3
    a1bc:	03a03008 	moveq	r3, #8	; 0x8
    a1c0:	13a03001 	movne	r3, #1	; 0x1
    a1c4:	e3510201 	cmp	r1, #268435456	; 0x10000000
    a1c8:	31510000 	cmpcc	r1, r0
    a1cc:	31a01201 	movcc	r1, r1, lsl #4
    a1d0:	31a03203 	movcc	r3, r3, lsl #4
    a1d4:	3afffffa 	bcc	a1c4 <__udivsi3+0x2c>
    a1d8:	e3510102 	cmp	r1, #-2147483648	; 0x80000000
    a1dc:	31510000 	cmpcc	r1, r0
    a1e0:	31a01081 	movcc	r1, r1, lsl #1
    a1e4:	31a03083 	movcc	r3, r3, lsl #1
    a1e8:	3afffffa 	bcc	a1d8 <__udivsi3+0x40>
    a1ec:	e3a02000 	mov	r2, #0	; 0x0
    a1f0:	e1500001 	cmp	r0, r1
    a1f4:	20400001 	subcs	r0, r0, r1
    a1f8:	21822003 	orrcs	r2, r2, r3
    a1fc:	e15000a1 	cmp	r0, r1, lsr #1
    a200:	204000a1 	subcs	r0, r0, r1, lsr #1
    a204:	218220a3 	orrcs	r2, r2, r3, lsr #1
    a208:	e1500121 	cmp	r0, r1, lsr #2
    a20c:	20400121 	subcs	r0, r0, r1, lsr #2
    a210:	21822123 	orrcs	r2, r2, r3, lsr #2
    a214:	e15001a1 	cmp	r0, r1, lsr #3
    a218:	204001a1 	subcs	r0, r0, r1, lsr #3
    a21c:	218221a3 	orrcs	r2, r2, r3, lsr #3
    a220:	e3500000 	cmp	r0, #0	; 0x0
    a224:	11b03223 	movnes	r3, r3, lsr #4
    a228:	11a01221 	movne	r1, r1, lsr #4
    a22c:	1affffef 	bne	a1f0 <__udivsi3+0x58>
    a230:	e1a00002 	mov	r0, r2
    a234:	e12fff1e 	bx	lr
    a238:	03a00001 	moveq	r0, #1	; 0x1
    a23c:	13a00000 	movne	r0, #0	; 0x0
    a240:	e12fff1e 	bx	lr
    a244:	e3510801 	cmp	r1, #65536	; 0x10000
    a248:	21a01821 	movcs	r1, r1, lsr #16
    a24c:	23a02010 	movcs	r2, #16	; 0x10
    a250:	33a02000 	movcc	r2, #0	; 0x0
    a254:	e3510c01 	cmp	r1, #256	; 0x100
    a258:	21a01421 	movcs	r1, r1, lsr #8
    a25c:	22822008 	addcs	r2, r2, #8	; 0x8
    a260:	e3510010 	cmp	r1, #16	; 0x10
    a264:	21a01221 	movcs	r1, r1, lsr #4
    a268:	22822004 	addcs	r2, r2, #4	; 0x4
    a26c:	e3510004 	cmp	r1, #4	; 0x4
    a270:	82822003 	addhi	r2, r2, #3	; 0x3
    a274:	908220a1 	addls	r2, r2, r1, lsr #1
    a278:	e1a00230 	mov	r0, r0, lsr r2
    a27c:	e12fff1e 	bx	lr
    a280:	e52de004 	str	lr, [sp, #-4]!
    a284:	eb000007 	bl	a2a8 <__aeabi_idiv0>
    a288:	e3a00000 	mov	r0, #0	; 0x0
    a28c:	e49df004 	ldr	pc, [sp], #4

0000a290 <__aeabi_uidivmod>:
    a290:	e92d4003 	stmdb	sp!, {r0, r1, lr}
    a294:	ebffffbf 	bl	a198 <__udivsi3>
    a298:	e8bd4006 	ldmia	sp!, {r1, r2, lr}
    a29c:	e0030092 	mul	r3, r2, r0
    a2a0:	e0411003 	sub	r1, r1, r3
    a2a4:	e12fff1e 	bx	lr

0000a2a8 <__aeabi_idiv0>:
    a2a8:	e12fff1e 	bx	lr

0000a2ac <__do_global_ctors_aux>:
    a2ac:	e1a0c00d 	mov	ip, sp
    a2b0:	e92dd810 	stmdb	sp!, {r4, fp, ip, lr, pc}
    a2b4:	e59f302c 	ldr	r3, [pc, #44]	; a2e8 <.text+0x22c8>
    a2b8:	e5132004 	ldr	r2, [r3, #-4]
    a2bc:	e3720001 	cmn	r2, #1	; 0x1
    a2c0:	e24cb004 	sub	fp, ip, #4	; 0x4
    a2c4:	e2434004 	sub	r4, r3, #4	; 0x4
    a2c8:	089da810 	ldmeqia	sp, {r4, fp, sp, pc}
    a2cc:	e1a03002 	mov	r3, r2
    a2d0:	e1a0e00f 	mov	lr, pc
    a2d4:	e12fff13 	bx	r3
    a2d8:	e5343004 	ldr	r3, [r4, #-4]!
    a2dc:	e3730001 	cmn	r3, #1	; 0x1
    a2e0:	1afffffa 	bne	a2d0 <__do_global_ctors_aux+0x24>
    a2e4:	e89da810 	ldmia	sp, {r4, fp, sp, pc}
    a2e8:	0000a438 	andeq	sl, r0, r8, lsr r4

0000a2ec <call___do_global_ctors_aux>:
    a2ec:	e1a0c00d 	mov	ip, sp
    a2f0:	e92dd800 	stmdb	sp!, {fp, ip, lr, pc}
    a2f4:	e24cb004 	sub	fp, ip, #4	; 0x4
    a2f8:	e89da800 	ldmia	sp, {fp, sp, pc}

0000a2fc <__main_from_arm>:
    a2fc:	e59fc000 	ldr	ip, [pc, #0]	; a304 <__main_from_arm+0x8>
    a300:	e12fff1c 	bx	ip
    a304:	0000821d 	andeq	r8, r0, sp, lsl r2
Disassembly of section .fini:

0000a308 <_fini>:
    a308:	e1a0c00d 	mov	ip, sp
    a30c:	e92ddff8 	stmdb	sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, ip, lr, pc}
    a310:	e24cb004 	sub	fp, ip, #4	; 0x4
    a314:	ebfff741 	bl	8020 <__do_global_dtors_aux>
    a318:	e24bd028 	sub	sp, fp, #40	; 0x28
    a31c:	e89d6ff0 	ldmia	sp, {r4, r5, r6, r7, r8, r9, sl, fp, sp, lr}
    a320:	e1a0f00e 	mov	pc, lr

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Re, interworking problem
  2005-02-22 16:49 Re, interworking problem aram bharathi
@ 2005-02-22 18:22 ` Richard Earnshaw
  0 siblings, 0 replies; 2+ messages in thread
From: Richard Earnshaw @ 2005-02-22 18:22 UTC (permalink / raw)
  To: aram bharathi; +Cc: gcc, binutils, nickc

On Tue, 2005-02-22 at 10:09, aram bharathi wrote:
> hi,
>      normally in thumb mode add instruction supports immediate
> values in the range of 0-255( same source and destination register)
> . i like to increase the range(for architecture analysis as
> curriculam project). i have added this instruction in gcc.
> 
> i have written a c program as
> 
> main()
> {
> int a;
> a=a+320;
> printf("%d",a);
> }
> 

Your testcase is ill-formed.  If you turn the optimizer on, then you
might not get what you expect (a has an undefined initial value). 
However, that's not important here...

> compiled this with option
> 
> arm-elf-gcc -mthumb new.c
> 
> gcc emits a file with this new add instruction.
> 
>           ......
>           mov	r3, r7
> 	sub	r3, r3, #4
> 	ldr	r3, [r3]
> 	addnew	r3, r3, #320
> 	str	r3, [r2]
> 	mov	r2, r7
> 	sub	r2, r2, #12
>           ......
> 
> after assembling this file with binutils as, it produces a a.out
> file(ELF format) with $t mapping information and producing correct
> header formation.
> 
> when i try to give this a.out file into ld it produces the error
> 
> /home/.../arm-elf-ld : /home/../arm-elf/lib/libc.a(printf.o)(printf):
> warning : interworking not enabled
> first occurance : /tmp/cc00zhyh.o : thumb call to arm
> /tmp//cc00zhyh.o(.text+0x4e>: In function 'main'
> new.c:internal error: dangerous error
> 
> but it produces one a.out file. the resultant a.out file should
> have only thumb instructions(compiled with -mthumb option). but
> only the main function have thumb instructions and thumb specific
> header details. other sections have arm instructions(printf and
> other standard functions).
> 
> the output header information and the output a.out file is attached
> with this email.
> thank you

You are trying to link in the ARM version of the library.  If you are
invoking the linker using gcc, then add -mthumb again.  It will then
select the Thumb libraries for you.

If you are invoking ld by hand, then you will need to adjust your
library specifications to find the Thumb start-up code and libraries. 
Most likely this will mean inserting /thumb/ before each final filename
in the library list:

/home/../arm-elf/lib/thumb/libc.a

R.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2005-02-22 10:28 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-02-22 16:49 Re, interworking problem aram bharathi
2005-02-22 18:22 ` Richard Earnshaw

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).