Force emulator to quit if it's built w/o global register variable support

Clang and llvm-gcc don't support global register variable (GRV) crucial
to emulator (where a register is reserved to point to target architecture
state for better code-gen).  Clang and llvm-gcc are provided in recent
Xcode to replace the original gcc with GRV support.  MacOSX developers
may accidentally install newer Xcode and break emulator.

This CL allows emulator (and the rest of Android tree) to build but forces
emulator to quit if it's built w/o GRV support.  Developers build
Android tree with clang or llvm-gcc can still get good system image,
but they have to use emulators built the other way or from SDKs to run it.

Related CL & bug entry:
  https://android-review.googlesource.com/#/c/33011
  http://code.google.com/p/android/issues/detail?id=32577

Change-Id: Ia585dd7bf9783e2ff4c114b4f0ec20b89684ab57
5 files changed
tree: edb8492d6181a99db7a38337ee2239c06d97661e
  1. android/
  2. audio/
  3. block/
  4. distrib/
  5. docs/
  6. elff/
  7. fpu/
  8. gdb-xml/
  9. hw/
  10. images/
  11. memcheck/
  12. pc-bios/
  13. proxy/
  14. slirp/
  15. slirp-android/
  16. target-arm/
  17. target-i386/
  18. target-mips/
  19. tcg/
  20. telephony/
  21. .gitignore
  22. a.out.h
  23. acl.c
  24. acl.h
  25. aes.c
  26. aes.h
  27. aio-android.c
  28. aio.c
  29. alpha.ld
  30. android-configure.sh
  31. android-rebuild.sh
  32. android-trace.h
  33. android-trace_common.h
  34. Android.mk
  35. arch_init.c
  36. arch_init.h
  37. arm-dis.c
  38. arm-semi.c
  39. arm.ld
  40. async.c
  41. balloon.h
  42. block.c
  43. block.h
  44. block_int.h
  45. blockdev.c
  46. blockdev.h
  47. bswap.h
  48. bt-host.c
  49. bt-host.h
  50. bt-vhci.c
  51. buffered_file.c
  52. buffered_file.h
  53. cache-utils.c
  54. cache-utils.h
  55. cbuffer.c
  56. cbuffer.h
  57. Changelog
  58. CHANGES.TXT
  59. charpipe.c
  60. charpipe.h
  61. CleanSpec.mk
  62. compatfd.c
  63. compatfd.h
  64. console.c
  65. console.h
  66. COPYING
  67. COPYING.LIB
  68. cpu-all.h
  69. cpu-common.h
  70. cpu-defs.h
  71. cpu-exec.c
  72. cpus.c
  73. cpus.h
  74. curses.c
  75. curses_keys.h
  76. cutils.c
  77. d3des.c
  78. d3des.h
  79. def-helper.h
  80. device_tree.c
  81. device_tree.h
  82. dis-asm.h
  83. disas.c
  84. disas.h
  85. dma-helpers.c
  86. dma.h
  87. dyngen-exec.h
  88. dynlink-static.c
  89. dynlink.h
  90. elf.h
  91. elf_ops.h
  92. envlist.c
  93. envlist.h
  94. exec-all.h
  95. exec.c
  96. feature_to_c.sh
  97. gdbstub.c
  98. gdbstub.h
  99. gen-charmap.py
  100. gen-icount.h
  101. gen-skin.py
  102. hax.h
  103. host-defs.h
  104. host-utils.c
  105. host-utils.h
  106. hostregs_helper.h
  107. hpet.h
  108. hxtool
  109. i386-dis.c
  110. i386-vl.ld
  111. i386.ld
  112. ia64.ld
  113. input.c
  114. INSTALL
  115. iohandler.c
  116. iolooper-select.c
  117. iolooper.h
  118. ioport-user.c
  119. ioport.c
  120. ioport.h
  121. json-lexer.c
  122. json-lexer.h
  123. json-parser.c
  124. json-parser.h
  125. json-streamer.c
  126. json-streamer.h
  127. keymaps.c
  128. keymaps.h
  129. kqemu.c
  130. kqemu.h
  131. kvm-all.c
  132. kvm-android.c
  133. kvm-android.h
  134. kvm.h
  135. LICENSE
  136. linux_keycodes.h
  137. loader.c
  138. loadpng.c
  139. m68k.ld
  140. Makefile
  141. Makefile.android
  142. Makefile.common
  143. Makefile.target
  144. migration-dummy-android.c
  145. migration-exec.c
  146. migration-tcp-android.c
  147. migration-tcp.c
  148. migration.c
  149. migration.h
  150. mips-dis.c
  151. module.c
  152. module.h
  153. MODULE_LICENSE_GPL
  154. monitor-android.h
  155. monitor.c
  156. monitor.h
  157. net-android.c
  158. net-checksum.c
  159. net.c
  160. net.h
  161. NOTICE
  162. notify.c
  163. notify.h
  164. offset_layout.py
  165. os-posix.c
  166. os-win32.c
  167. osdep.c
  168. osdep.h
  169. oslib-posix.c
  170. oslib-win32.c
  171. path.c
  172. poison.h
  173. posix-aio-compat.c
  174. ppc-dis.c
  175. ppc.ld
  176. qbool.c
  177. qbool.h
  178. qdict.c
  179. qdict.h
  180. qemu-aio.h
  181. qemu-barrier.h
  182. qemu-char.c
  183. qemu-char.h
  184. qemu-common.h
  185. qemu-config.c
  186. qemu-config.h
  187. qemu-error.c
  188. qemu-error.h
  189. qemu-io.c
  190. qemu-lock.h
  191. qemu-log.h
  192. qemu-malloc.c
  193. qemu-monitor.hx
  194. qemu-objects.h
  195. qemu-option.c
  196. qemu-option.h
  197. qemu-options.h
  198. qemu-options.hx
  199. qemu-os-posix.h
  200. qemu-os-win32.h
  201. qemu-queue.h
  202. qemu-sockets-android.c
  203. qemu-sockets.c
  204. qemu-thread.c
  205. qemu-thread.h
  206. qemu-timer-common.c
  207. qemu-timer.c
  208. qemu-timer.h
  209. qemu_debug.h
  210. qemu_file.h
  211. qemu_socket.h
  212. qemu_timers.h
  213. qerror.c
  214. qerror.h
  215. qfloat.c
  216. qfloat.h
  217. qint.c
  218. qint.h
  219. qjson.c
  220. qjson.h
  221. qlist.c
  222. qlist.h
  223. qobject.h
  224. qstring.c
  225. qstring.h
  226. readline.c
  227. readline.h
  228. README
  229. savevm.c
  230. sdl_keysym.h
  231. shaper.c
  232. shaper.h
  233. sockets.c
  234. sockets.h
  235. softmmu-semi.h
  236. softmmu_defs.h
  237. softmmu_exec.h
  238. softmmu_header.h
  239. softmmu_outside_jit.c
  240. softmmu_outside_jit.h
  241. softmmu_template.h
  242. sparc.ld
  243. sys-tree.h
  244. sysemu.h
  245. tap-win32.c
  246. targphys.h
  247. tcpdump.c
  248. tcpdump.h
  249. thunk.c
  250. thunk.h
  251. trace.c
  252. trace.h
  253. trace_common.h
  254. translate-all.c
  255. translate-op.c
  256. translate.make
  257. uboot_image.h
  258. usb-dummy-android.c
  259. usb-linux.c
  260. user-events-qemu.c
  261. user-events.h
  262. varint.c
  263. varint.h
  264. vgafont.h
  265. vl-android-ui.c
  266. vl-android.c
  267. vl.c
  268. vnc-android.c
  269. vnc-tls.h
  270. vnc.c
  271. vnc.h
  272. vnc_keysym.h
  273. vnchextile.h
  274. x86_64.ld