armbot is an irc bot written in armv6-linux-gnueabi assembler.
- connect to a non-ssl irc server
- join a channel
- respond to "armbot: source"
requirements to run on x86_64
ldwith armv6 target
gdbwith armv6 target for debugging
It may be necessary to change the XPREFIX variable in the Makefile to match the local cross-compilation binaries.
# you can conveniently change the server, port, name, nick, channel info # in the connect.s and handle_ident.s configuration files. make run # to run with arguments, copy the output and append desired arguments
make debug gdb armbot # in another terminal, you have to use a gdb with arm targeting (gdb) target remote localhost:9000 (gdb) disas
- command line options
- modules in C
- ssl connectivity
- there's a heisenbug in handle_ident.s, and that branch is skipped and replaced by a hack.
ARM Reference: http://ozark.hendrix.edu/~burch/cs/230/arm-ref.pdf
ARM EABI: new syscall entry convention: http://www.arm.linux.org.uk/developer/patches/viewpatch.php?id=3105/4
syscall numbers (for me) found in: /usr/armv6j-hardfloat-linux-gnueabi/usr/include/asm/unistd.h