Merged kernel support for ELF executable format from karolina.lindqvist.
Now kernel can directly run executables generated by gcc.
Fixed bug in assembler: incorrect offset in LUI instruction.
*.mk configuration files modified for compatibility with latest version
of Mentor Sourcery CodeBench Lite toolchain
(https://sourcery.mentor.com/GNUToolchain/release2641).
All detected issues fixed.
Smaller C: Improve pointer initialization

The following global/static pointer initialization should now work:

static char* p1 = "abc" + 1;
static char* p2 = "abc" - 1;
static char* p3 = 1 + "abc";
static int a333[3][3][3];
static int* pa333_111 = &a333[1][1][1];

Other seemingly (and in fact actually) functionality preserving changes
are only to reduce code size when self compiling for DOS using -seg16.
Improvements and fixes require space, sigh.
Improved congigsys option parser

Up until now, options have only been able to have one single word
(or string with no spaces) as their value.  This small patch improves
that and includes everything to either the end-of-line or # (for in-line
comments) as the parameter for the option.
Improve configsys option parsing

Up until now all the options in the config system have only been
able to take one word (or one string with no spaces) as a parameter.
This update improves it so it takes everything after the = up until
the end of the line (or the first #) as the parameter.
Merge pull request #19 from alexfru/master

Smaller C: Improve pointer initialization
/bin/cc command modified to use SmallerC compiler by default (not LCC).
For LCC, please use /bin/lcc instead.

I believe SmallerC is mature enough to try to use it as a primary compiler.
System include files might need some changes (ifdefs) to adapt.
Include files modified for compatibility with SmallerC.
Fixed bug in C preprocessor: buffer size reduced to avoid allocation failure.
Added option -v for smlrc.
New example stdarg.c: a demo of function with variable arguments.
Merge branch 'exec-elf' of https://github.com/RetroBSD/retrobsd
Merge branch 'master' into cc-use-smallerc.
Smlrc: option -v moved to target-dependent part.
Fixed bug in simulator: read from incorrect file descriptor when
the second SD card not configured.
Merge branch 'master' into cc-use-smallerc
Assembler: added support for large constants for 2-reg variants (macros)
of 3-reg instructions (add, addu, and, or, slt, sltu, sub, subu, xor).
When mode ".set at" enabled, an additional LI instruction is inserted
sing $1 as a scratch register.
Assembler: mode ".set at" required to enable wide immediates in 2-red macros.
Range check fixed in assembler.
fixes, improvements, __interrupt

Fixes/workarounds:
- octal escape sequence is to be terminated no later than after three
octal digits:
"\1011" is now parsed equivalently to "A1"
- workaround truncation of immediate operands to 16 bits in MIPS
instructions addi[u], subi[u], slti[u], andi, ori, xori in RetroBSD's as
(disabled since as is being fixed).

Improvements:
- warn on string literal truncation when initializing array of char
- generate trap/break-less form of MIPS div[u]

New:
- experimental support for __interrupt functions (x86/huge only)
Fixed bug in assembler, introduced by previos patch.
(Negative offsets in LW/SW not recognized)
Also, modified stdlib.h for compatibility with SmallerC.
Merge remote-tracking branch 'upstream/master'
Merge pull request #21 from RetroBSD/cc-use-smallerc

/bin/cc command modified to use SmallerC compiler by default (not LCC).