Fix various issues for all targets

Signed-off-by: Paul Beeler <pbeeler80@gmail.com>
seperate x86_64 and i686.  i686 is the one used mostly since near all android devices use 32bit

Signed-off-by: Paul Beeler <pbeeler80@gmail.com>
update to gcc 4.8.4

Signed-off-by: Paul Beeler <pbeeler80@gmail.com>
Merge remote-tracking branch 'sm/master' into sm