Had to modify this file as it references symbols that are undefined in libaudioalsa.so.

Symbol table for libaudioalsa.so from blissc:
readelf -s libaudioalsa.so

Symbol table '.dynsym' contains 50 entries:
   Num:    Value  Size Type    Bind   Vis      Ndx Name
     0: 00000000     0 NOTYPE  LOCAL  DEFAULT  UND
     1: 0000096d    16 FUNC    GLOBAL DEFAULT    7 msm_get_device_count
     2: 00000000     0 FUNC    GLOBAL DEFAULT  UND __aeabi_unwind_cpp_pr0
     3: 0000097d    20 FUNC    GLOBAL DEFAULT    7 msm_get_device_list
     4: 00002134     4 OBJECT  GLOBAL DEFAULT   14 device_names
     5: 00000000     0 FUNC    GLOBAL DEFAULT  UND ioctl
     6: 00000000     0 FUNC    GLOBAL DEFAULT  UND puts
     7: 00000000     0 FUNC    GLOBAL DEFAULT  UND __errno
     8: 00002130     4 OBJECT  GLOBAL DEFAULT   14 control
     9: 000009d5   100 FUNC    GLOBAL DEFAULT    7 msm_set_device_volume
    10: 00000000     0 FUNC    GLOBAL DEFAULT  UND printf
    11: 00000000     0 FUNC    GLOBAL DEFAULT  UND __stack_chk_fail
    12: 00000000     0 OBJECT  GLOBAL DEFAULT  UND __stack_chk_guard
    13: 00000a39    64 FUNC    GLOBAL DEFAULT    7 msm_end_voice
    14: 00000a79    64 FUNC    GLOBAL DEFAULT    7 msm_start_voice
    15: 00000ab9    64 FUNC    GLOBAL DEFAULT    7 msm_set_voice_rx_vol
    16: 00000af9    64 FUNC    GLOBAL DEFAULT    7 msm_set_voice_tx_mute
    17: 00000b39    64 FUNC    GLOBAL DEFAULT    7 msm_set_volume
    18: 00000b79    60 FUNC    GLOBAL DEFAULT    7 msm_route_voice
    19: 00000bb5    92 FUNC    GLOBAL DEFAULT    7 msm_route_stream
    20: 00000c11    80 FUNC    GLOBAL DEFAULT    7 msm_en_device
    21: 00000c99    80 FUNC    GLOBAL DEFAULT    7 msm_get_device_capability
    22: 00000ce9    80 FUNC    GLOBAL DEFAULT    7 msm_get_device_class
    23: 00002138     4 OBJECT  GLOBAL DEFAULT   14 info
    24: 00000dc1    76 FUNC    GLOBAL DEFAULT    7 msm_mixer_count
    25: 0000213c     4 OBJECT  GLOBAL DEFAULT   14 list
    26: 00000e0d    96 FUNC    GLOBAL DEFAULT    7 msm_get_device
    27: 00000000     0 FUNC    GLOBAL DEFAULT  UND strcmp
    28: 00000e6d    88 FUNC    GLOBAL DEFAULT    7 msm_mixer_close
    29: 00000000     0 FUNC    GLOBAL DEFAULT  UND close
    30: 00000000     0 FUNC    GLOBAL DEFAULT  UND free
    31: 00000ec5   424 FUNC    GLOBAL DEFAULT    7 msm_mixer_open
    32: 00000000     0 FUNC    GLOBAL DEFAULT  UND malloc
    33: 00000000     0 FUNC    GLOBAL DEFAULT  UND open
    34: 00000000     0 FUNC    GLOBAL DEFAULT  UND calloc
    35: 00000000     0 FUNC    GLOBAL DEFAULT  UND __cxa_finalize
    36: 00002150     0 NOTYPE  GLOBAL DEFAULT   14 __dso_handle
    37: 00002000     0 NOTYPE  GLOBAL DEFAULT   10 __INIT_ARRAY__
    38: 00002008     0 NOTYPE  GLOBAL DEFAULT   11 __FINI_ARRAY__
    39: 00001220     0 NOTYPE  GLOBAL DEFAULT  ABS __exidx_end
    40: 000011a0     0 NOTYPE  GLOBAL DEFAULT  ABS __exidx_start
    41: 0000212c     0 NOTYPE  GLOBAL DEFAULT  ABS __data_start
    42: 0000212c     0 NOTYPE  GLOBAL DEFAULT  ABS _edata
    43: 0000212c     0 NOTYPE  GLOBAL DEFAULT  ABS __bss_start
    44: 0000212c     0 NOTYPE  GLOBAL DEFAULT  ABS __bss_start__
    45: 00002160     0 NOTYPE  GLOBAL DEFAULT  ABS _bss_end__
    46: 00002160     0 NOTYPE  GLOBAL DEFAULT  ABS __bss_end__
    47: 00002160     0 NOTYPE  GLOBAL DEFAULT  ABS __end__
    48: 00002160     0 NOTYPE  GLOBAL DEFAULT  ABS _end
    49: 00080000     0 NOTYPE  GLOBAL DEFAULT  ABS _stack