First of all thank you very much for sharing your project.
I am on Ubuntu 14.04 32 bit platform. I compiled the source code but make test fails with lots of errors.
make test all
./8cc -DBUILD_DIR='"/home/kenn/Desktop/8cc"' -c test/main/testmain.c
/tmp/8cc3MYo82.s: Assembler messages:
/tmp/8cc3MYo82.s:4: Error: bad register name `%rbp'
/tmp/8cc3MYo82.s:5: Error: bad register name `%rsp'
/tmp/8cc3MYo82.s:6: Error: bad register name `%rdi'
/tmp/8cc3MYo82.s:10: Error: `movswq' is only supported in 64-bit mode
/tmp/8cc3MYo82.s:11: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:12: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:13: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:14: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:16: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:17: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:18: Error: bad register name `%rcx'
/tmp/8cc3MYo82.s:19: Error: bad register name `%rcx'
/tmp/8cc3MYo82.s:20: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:21: Error: `movswq' is only supported in 64-bit mode
/tmp/8cc3MYo82.s:22: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:23: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:24: Error: bad register name `%rcx'
/tmp/8cc3MYo82.s:25: Error: bad register name `%rcx'
/tmp/8cc3MYo82.s:26: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:27: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:28: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:29: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:31: Error: bad register name `%rcx'
/tmp/8cc3MYo82.s:32: Error: bad register name `%rcx'
/tmp/8cc3MYo82.s:40: Error: bad register name `%rbp'
/tmp/8cc3MYo82.s:41: Error: bad register name `%rsp'
/tmp/8cc3MYo82.s:42: Error: bad register name `%rdi'
/tmp/8cc3MYo82.s:48: Error: `movslq' is only supported in 64-bit mode
/tmp/8cc3MYo82.s:49: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:52: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:53: Error: bad register name `%rcx'
/tmp/8cc3MYo82.s:54: Error: bad register name `%rcx'
/tmp/8cc3MYo82.s:55: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:56: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:57: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:58: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:60: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:63: Error: `movslq' is only supported in 64-bit mode
/tmp/8cc3MYo82.s:64: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:67: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:68: Error: bad register name `%rcx'
/tmp/8cc3MYo82.s:69: Error: bad register name `%rcx'
/tmp/8cc3MYo82.s:70: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:71: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:72: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:73: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:75: Error: bad register name `%rcx'
/tmp/8cc3MYo82.s:76: Error: bad register name `%rcx'
/tmp/8cc3MYo82.s:77: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:80: Error: `movslq' is only supported in 64-bit mode
/tmp/8cc3MYo82.s:81: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:84: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:85: Error: bad register name `%rcx'
/tmp/8cc3MYo82.s:86: Error: bad register name `%rcx'
/tmp/8cc3MYo82.s:87: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:88: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:89: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:90: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:92: Error: bad register name `%rcx'
/tmp/8cc3MYo82.s:93: Error: bad register name `%rcx'
/tmp/8cc3MYo82.s:94: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:97: Error: `movslq' is only supported in 64-bit mode
/tmp/8cc3MYo82.s:98: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:101: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:102: Error: bad register name `%rcx'
/tmp/8cc3MYo82.s:103: Error: bad register name `%rcx'
/tmp/8cc3MYo82.s:104: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:105: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:106: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:107: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:109: Error: bad register name `%rcx'
/tmp/8cc3MYo82.s:110: Error: bad register name `%rcx'
/tmp/8cc3MYo82.s:118: Error: bad register name `%rbp'
/tmp/8cc3MYo82.s:119: Error: bad register name `%rsp'
/tmp/8cc3MYo82.s:120: Error: bad register name `%rdi'
/tmp/8cc3MYo82.s:125: Error: bad register name `%rbp)'
/tmp/8cc3MYo82.s:126: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:129: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:130: Error: bad register name `%rcx'
/tmp/8cc3MYo82.s:131: Error: bad register name `%rcx'
/tmp/8cc3MYo82.s:132: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:133: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:134: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:135: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:136: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:137: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:140: Error: bad register name `%rbp)'
/tmp/8cc3MYo82.s:141: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:144: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:145: Error: bad register name `%rcx'
/tmp/8cc3MYo82.s:146: Error: bad register name `%rcx'
/tmp/8cc3MYo82.s:147: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:148: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:149: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:150: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:151: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:152: Error: bad register name `%rcx'
/tmp/8cc3MYo82.s:153: Error: bad register name `%rcx'
/tmp/8cc3MYo82.s:154: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:157: Error: bad register name `%rbp)'
/tmp/8cc3MYo82.s:158: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:161: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:162: Error: bad register name `%rcx'
/tmp/8cc3MYo82.s:163: Error: bad register name `%rcx'
/tmp/8cc3MYo82.s:164: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:165: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:166: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:167: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:168: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:169: Error: bad register name `%rcx'
/tmp/8cc3MYo82.s:170: Error: bad register name `%rcx'
/tmp/8cc3MYo82.s:171: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:174: Error: bad register name `%rbp)'
/tmp/8cc3MYo82.s:175: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:178: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:179: Error: bad register name `%rcx'
/tmp/8cc3MYo82.s:180: Error: bad register name `%rcx'
/tmp/8cc3MYo82.s:181: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:182: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:183: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:184: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:185: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:186: Error: bad register name `%rcx'
/tmp/8cc3MYo82.s:187: Error: bad register name `%rcx'
/tmp/8cc3MYo82.s:188: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:191: Error: bad register name `%rbp)'
/tmp/8cc3MYo82.s:192: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:195: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:196: Error: bad register name `%rcx'
/tmp/8cc3MYo82.s:197: Error: bad register name `%rcx'
/tmp/8cc3MYo82.s:198: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:199: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:200: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:201: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:202: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:203: Error: bad register name `%rcx'
/tmp/8cc3MYo82.s:204: Error: bad register name `%rcx'
/tmp/8cc3MYo82.s:205: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:208: Error: bad register name `%rbp)'
/tmp/8cc3MYo82.s:209: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:212: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:213: Error: bad register name `%rcx'
/tmp/8cc3MYo82.s:214: Error: bad register name `%rcx'
/tmp/8cc3MYo82.s:215: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:216: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:217: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:218: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:219: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:220: Error: bad register name `%rcx'
/tmp/8cc3MYo82.s:221: Error: bad register name `%rcx'
/tmp/8cc3MYo82.s:222: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:225: Error: bad register name `%rbp)'
/tmp/8cc3MYo82.s:226: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:229: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:230: Error: bad register name `%rcx'
/tmp/8cc3MYo82.s:231: Error: bad register name `%rcx'
/tmp/8cc3MYo82.s:232: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:233: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:234: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:235: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:236: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:237: Error: bad register name `%rcx'
/tmp/8cc3MYo82.s:238: Error: bad register name `%rcx'
/tmp/8cc3MYo82.s:239: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:242: Error: bad register name `%rbp)'
/tmp/8cc3MYo82.s:243: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:246: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:247: Error: bad register name `%rcx'
/tmp/8cc3MYo82.s:248: Error: bad register name `%rcx'
/tmp/8cc3MYo82.s:249: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:250: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:251: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:252: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:253: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:254: Error: bad register name `%rcx'
/tmp/8cc3MYo82.s:255: Error: bad register name `%rcx'
/tmp/8cc3MYo82.s:272: Error: bad register name `%rbp'
/tmp/8cc3MYo82.s:273: Error: bad register name `%rsp'
/tmp/8cc3MYo82.s:274: Error: bad register name `%dil'
/tmp/8cc3MYo82.s:275: Error: bad register name `%rdi'
/tmp/8cc3MYo82.s:281: Error: `movsbq' is only supported in 64-bit mode
/tmp/8cc3MYo82.s:290: Error: bad register name `%rbp'
/tmp/8cc3MYo82.s:291: Error: bad register name `%rsp'
/tmp/8cc3MYo82.s:292: Error: bad register name `%rdi'
/tmp/8cc3MYo82.s:297: Error: bad register name `%rdi'
/tmp/8cc3MYo82.s:298: Error: bad register name `%rsi'
/tmp/8cc3MYo82.s:299: Error: bad register name `%rsp'
/tmp/8cc3MYo82.s:304: Error: bad register name `%rip)'
/tmp/8cc3MYo82.s:305: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:308: Error: bad register name `%rbp)'
/tmp/8cc3MYo82.s:309: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:310: Error: bad register name `%rsi'
/tmp/8cc3MYo82.s:311: Error: bad register name `%rdi'
/tmp/8cc3MYo82.s:314: Error: bad register name `%rsp'
/tmp/8cc3MYo82.s:315: Error: bad register name `%rsi'
/tmp/8cc3MYo82.s:316: Error: bad register name `%rdi'
/tmp/8cc3MYo82.s:319: Error: bad register name `%rdi'
/tmp/8cc3MYo82.s:320: Error: bad register name `%rip)'
/tmp/8cc3MYo82.s:321: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:322: Error: bad register name `%rdi'
/tmp/8cc3MYo82.s:324: Error: bad register name `%rdi'
/tmp/8cc3MYo82.s:331: Error: bad register name `%rbp'
/tmp/8cc3MYo82.s:332: Error: bad register name `%rsp'
/tmp/8cc3MYo82.s:335: Error: bad register name `%rdi'
/tmp/8cc3MYo82.s:336: Error: bad register name `%rsp'
/tmp/8cc3MYo82.s:337: Error: bad register name `%rdi'
/tmp/8cc3MYo82.s:338: Error: bad register name `%rsp'
/tmp/8cc3MYo82.s:339: Error: bad register name `%rdi'
/tmp/8cc3MYo82.s:340: Error: bad register name `%rsp'
/tmp/8cc3MYo82.s:341: Error: bad register name `%rip)'
/tmp/8cc3MYo82.s:342: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:343: Error: bad register name `%rdi'
/tmp/8cc3MYo82.s:345: Error: bad register name `%rsp'
/tmp/8cc3MYo82.s:346: Error: bad register name `%rdi'
/tmp/8cc3MYo82.s:347: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:348: Error: bad register name `%rdi'
/tmp/8cc3MYo82.s:350: Error: bad register name `%rsp'
/tmp/8cc3MYo82.s:351: Error: bad register name `%rdi'
/tmp/8cc3MYo82.s:352: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:358: Error: bad register name `%rip)'
/tmp/8cc3MYo82.s:365: Error: bad register name `%rip)'
/tmp/8cc3MYo82.s:367: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:368: Error: bad register name `%rdi'
/tmp/8cc3MYo82.s:371: Error: bad register name `%rsp'
/tmp/8cc3MYo82.s:372: Error: bad register name `%rdi'
/tmp/8cc3MYo82.s:379: Error: bad register name `%rbp'
/tmp/8cc3MYo82.s:380: Error: bad register name `%rsp'
/tmp/8cc3MYo82.s:381: Error: bad register name `%rdi'
/tmp/8cc3MYo82.s:386: Error: bad register name `%rsp'
/tmp/8cc3MYo82.s:388: Error: bad register name `%rsp'
/tmp/8cc3MYo82.s:391: Error: bad register name `%rdi'
/tmp/8cc3MYo82.s:392: Error: bad register name `%rsi'
/tmp/8cc3MYo82.s:393: Error: bad register name `%rsp'
/tmp/8cc3MYo82.s:398: Error: bad register name `%rip)'
/tmp/8cc3MYo82.s:399: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:402: Error: bad register name `%rbp)'
/tmp/8cc3MYo82.s:403: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:404: Error: bad register name `%rsi'
/tmp/8cc3MYo82.s:405: Error: bad register name `%rdi'
/tmp/8cc3MYo82.s:408: Error: bad register name `%rsp'
/tmp/8cc3MYo82.s:409: Error: bad register name `%rsi'
/tmp/8cc3MYo82.s:410: Error: bad register name `%rdi'
/tmp/8cc3MYo82.s:413: Error: bad register name `%rdi'
/tmp/8cc3MYo82.s:414: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:415: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:416: Error: bad register name `%rdi'
/tmp/8cc3MYo82.s:418: Error: bad register name `%rdi'
/tmp/8cc3MYo82.s:425: Error: bad register name `%rbp'
/tmp/8cc3MYo82.s:426: Error: bad register name `%rsp'
/tmp/8cc3MYo82.s:427: Error: bad register name `%rdi'
/tmp/8cc3MYo82.s:428: Error: bad register name `%rsi'
/tmp/8cc3MYo82.s:435: Error: `movslq' is only supported in 64-bit mode
/tmp/8cc3MYo82.s:436: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:437: Error: `movslq' is only supported in 64-bit mode
/tmp/8cc3MYo82.s:438: Error: bad register name `%rcx'
/tmp/8cc3MYo82.s:442: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:445: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:454: Error: bad register name `%rdi'
/tmp/8cc3MYo82.s:455: Error: bad register name `%rsi'
/tmp/8cc3MYo82.s:456: Error: bad register name `%rdx'
/tmp/8cc3MYo82.s:457: Error: bad register name `%rsp'
/tmp/8cc3MYo82.s:462: Error: bad register name `%rip)'
/tmp/8cc3MYo82.s:463: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:466: Error: `movslq' is only supported in 64-bit mode
/tmp/8cc3MYo82.s:467: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:468: Error: `movslq' is only supported in 64-bit mode
/tmp/8cc3MYo82.s:469: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:470: Error: bad register name `%rdx'
/tmp/8cc3MYo82.s:471: Error: bad register name `%rsi'
/tmp/8cc3MYo82.s:472: Error: bad register name `%rdi'
/tmp/8cc3MYo82.s:475: Error: bad register name `%rsp'
/tmp/8cc3MYo82.s:476: Error: bad register name `%rdx'
/tmp/8cc3MYo82.s:477: Error: bad register name `%rsi'
/tmp/8cc3MYo82.s:478: Error: bad register name `%rdi'
/tmp/8cc3MYo82.s:481: Error: bad register name `%rdi'
/tmp/8cc3MYo82.s:482: Error: bad register name `%rsp'
/tmp/8cc3MYo82.s:483: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:484: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:485: Error: bad register name `%rdi'
/tmp/8cc3MYo82.s:487: Error: bad register name `%rsp'
/tmp/8cc3MYo82.s:488: Error: bad register name `%rdi'
/tmp/8cc3MYo82.s:496: Error: bad register name `%rbp'
/tmp/8cc3MYo82.s:497: Error: bad register name `%rsp'
/tmp/8cc3MYo82.s:498: Error: bad register name `%rdi'
/tmp/8cc3MYo82.s:499: Error: bad register name `%rsi'
/tmp/8cc3MYo82.s:504: Error: bad register name `%rdi'
/tmp/8cc3MYo82.s:505: Error: bad register name `%rsi'
/tmp/8cc3MYo82.s:508: Error: bad register name `%rbp)'
/tmp/8cc3MYo82.s:509: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:510: Error: bad register name `%rbp)'
/tmp/8cc3MYo82.s:511: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:512: Error: bad register name `%rsi'
/tmp/8cc3MYo82.s:513: Error: bad register name `%rdi'
/tmp/8cc3MYo82.s:515: Error: bad register name `%rsi'
/tmp/8cc3MYo82.s:516: Error: bad register name `%rdi'
/tmp/8cc3MYo82.s:517: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:526: Error: bad register name `%rdi'
/tmp/8cc3MYo82.s:527: Error: bad register name `%rsi'
/tmp/8cc3MYo82.s:528: Error: bad register name `%rdx'
/tmp/8cc3MYo82.s:529: Error: bad register name `%rsp'
/tmp/8cc3MYo82.s:534: Error: bad register name `%rip)'
/tmp/8cc3MYo82.s:535: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:538: Error: bad register name `%rbp)'
/tmp/8cc3MYo82.s:539: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:540: Error: bad register name `%rbp)'
/tmp/8cc3MYo82.s:541: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:542: Error: bad register name `%rdx'
/tmp/8cc3MYo82.s:543: Error: bad register name `%rsi'
/tmp/8cc3MYo82.s:544: Error: bad register name `%rdi'
/tmp/8cc3MYo82.s:547: Error: bad register name `%rsp'
/tmp/8cc3MYo82.s:548: Error: bad register name `%rdx'
/tmp/8cc3MYo82.s:549: Error: bad register name `%rsi'
/tmp/8cc3MYo82.s:550: Error: bad register name `%rdi'
/tmp/8cc3MYo82.s:553: Error: bad register name `%rdi'
/tmp/8cc3MYo82.s:554: Error: bad register name `%rsp'
/tmp/8cc3MYo82.s:555: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:556: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:557: Error: bad register name `%rdi'
/tmp/8cc3MYo82.s:559: Error: bad register name `%rsp'
/tmp/8cc3MYo82.s:560: Error: bad register name `%rdi'
/tmp/8cc3MYo82.s:568: Error: bad register name `%rbp'
/tmp/8cc3MYo82.s:569: Error: bad register name `%rsp'
/tmp/8cc3MYo82.s:570: Error: bad register name `%rsp'
/tmp/8cc3MYo82.s:571: Error: bad register name `%rsp)'
/tmp/8cc3MYo82.s:572: Error: bad register name `%rsp'
/tmp/8cc3MYo82.s:573: Error: bad register name `%rsp)'
/tmp/8cc3MYo82.s:580: Error: bad register name `%rbp)'
/tmp/8cc3MYo82.s:581: Error: bad register name `%rsp'
/tmp/8cc3MYo82.s:582: Error: bad register name `%rsp)'
/tmp/8cc3MYo82.s:583: Error: bad register name `%rbp)'
/tmp/8cc3MYo82.s:584: Error: bad register name `%rsp)'
/tmp/8cc3MYo82.s:585: Error: bad register name `%rsp'
/tmp/8cc3MYo82.s:589: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:592: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:601: Error: bad register name `%rdi'
/tmp/8cc3MYo82.s:602: Error: bad register name `%rsp'
/tmp/8cc3MYo82.s:603: Error: bad register name `%rsp)'
/tmp/8cc3MYo82.s:608: Error: bad register name `%rip)'
/tmp/8cc3MYo82.s:609: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:612: Error: bad register name `%rbp)'
/tmp/8cc3MYo82.s:614: Error: bad register name `%rsp'
/tmp/8cc3MYo82.s:615: Error: bad register name `%rsp)'
/tmp/8cc3MYo82.s:620: Error: bad register name `%rbp)'
/tmp/8cc3MYo82.s:622: Error: bad register name `%rsp'
/tmp/8cc3MYo82.s:623: Error: bad register name `%rsp)'
/tmp/8cc3MYo82.s:624: Error: bad register name `%rsp)'
/tmp/8cc3MYo82.s:625: Error: bad register name `%rsp'
/tmp/8cc3MYo82.s:626: Error: bad register name `%rsp)'
/tmp/8cc3MYo82.s:627: Error: bad register name `%rsp'
/tmp/8cc3MYo82.s:628: Error: bad register name `%rdi'
/tmp/8cc3MYo82.s:631: Error: bad register name `%rsp)'
/tmp/8cc3MYo82.s:632: Error: bad register name `%rsp'
/tmp/8cc3MYo82.s:633: Error: bad register name `%rdi'
/tmp/8cc3MYo82.s:636: Error: bad register name `%rdi'
/tmp/8cc3MYo82.s:637: Error: bad register name `%rsp'
/tmp/8cc3MYo82.s:638: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:639: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:640: Error: bad register name `%rdi'
/tmp/8cc3MYo82.s:642: Error: bad register name `%rsp'
/tmp/8cc3MYo82.s:643: Error: bad register name `%rdi'
/tmp/8cc3MYo82.s:651: Error: bad register name `%rbp'
/tmp/8cc3MYo82.s:652: Error: bad register name `%rsp'
/tmp/8cc3MYo82.s:653: Error: bad register name `%rsp'
/tmp/8cc3MYo82.s:654: Error: bad register name `%rsp)'
/tmp/8cc3MYo82.s:655: Error: bad register name `%rsp'
/tmp/8cc3MYo82.s:656: Error: bad register name `%rsp)'
/tmp/8cc3MYo82.s:663: Error: bad register name `%rbp)'
/tmp/8cc3MYo82.s:664: Error: bad register name `%rsp'
/tmp/8cc3MYo82.s:665: Error: bad register name `%rsp)'
/tmp/8cc3MYo82.s:666: Error: bad register name `%rbp)'
/tmp/8cc3MYo82.s:667: Error: bad register name `%rsp)'
/tmp/8cc3MYo82.s:668: Error: bad register name `%rsp'
/tmp/8cc3MYo82.s:672: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:675: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:684: Error: bad register name `%rdi'
/tmp/8cc3MYo82.s:685: Error: bad register name `%rsp'
/tmp/8cc3MYo82.s:686: Error: bad register name `%rsp)'
/tmp/8cc3MYo82.s:691: Error: bad register name `%rip)'
/tmp/8cc3MYo82.s:692: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:695: Error: bad register name `%rbp)'
/tmp/8cc3MYo82.s:696: Error: bad register name `%rsp'
/tmp/8cc3MYo82.s:697: Error: bad register name `%rsp)'
/tmp/8cc3MYo82.s:698: Error: bad register name `%rbp)'
/tmp/8cc3MYo82.s:699: Error: bad register name `%rsp'
/tmp/8cc3MYo82.s:700: Error: bad register name `%rsp)'
/tmp/8cc3MYo82.s:701: Error: bad register name `%rsp)'
/tmp/8cc3MYo82.s:702: Error: bad register name `%rsp'
/tmp/8cc3MYo82.s:703: Error: bad register name `%rsp)'
/tmp/8cc3MYo82.s:704: Error: bad register name `%rsp'
/tmp/8cc3MYo82.s:705: Error: bad register name `%rdi'
/tmp/8cc3MYo82.s:708: Error: bad register name `%rsp)'
/tmp/8cc3MYo82.s:709: Error: bad register name `%rsp'
/tmp/8cc3MYo82.s:710: Error: bad register name `%rdi'
/tmp/8cc3MYo82.s:713: Error: bad register name `%rdi'
/tmp/8cc3MYo82.s:714: Error: bad register name `%rsp'
/tmp/8cc3MYo82.s:715: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:716: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:717: Error: bad register name `%rdi'
/tmp/8cc3MYo82.s:719: Error: bad register name `%rsp'
/tmp/8cc3MYo82.s:720: Error: bad register name `%rdi'
/tmp/8cc3MYo82.s:728: Error: bad register name `%rbp'
/tmp/8cc3MYo82.s:729: Error: bad register name `%rsp'
/tmp/8cc3MYo82.s:730: Error: bad register name `%rdi'
/tmp/8cc3MYo82.s:731: Error: bad register name `%rsi'
/tmp/8cc3MYo82.s:738: Error: bad register name `%rbp)'
/tmp/8cc3MYo82.s:739: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:740: Error: bad register name `%rbp)'
/tmp/8cc3MYo82.s:741: Error: bad register name `%rcx'
/tmp/8cc3MYo82.s:742: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:745: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:748: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:757: Error: bad register name `%rdi'
/tmp/8cc3MYo82.s:758: Error: bad register name `%rsi'
/tmp/8cc3MYo82.s:759: Error: bad register name `%rdx'
/tmp/8cc3MYo82.s:760: Error: bad register name `%rsp'
/tmp/8cc3MYo82.s:765: Error: bad register name `%rip)'
/tmp/8cc3MYo82.s:766: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:769: Error: bad register name `%rbp)'
/tmp/8cc3MYo82.s:770: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:775: Error: bad register name `%rbp)'
/tmp/8cc3MYo82.s:776: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:777: Error: bad register name `%rdx'
/tmp/8cc3MYo82.s:778: Error: bad register name `%rsi'
/tmp/8cc3MYo82.s:779: Error: bad register name `%rdi'
/tmp/8cc3MYo82.s:782: Error: bad register name `%rsp'
/tmp/8cc3MYo82.s:783: Error: bad register name `%rdx'
/tmp/8cc3MYo82.s:784: Error: bad register name `%rsi'
/tmp/8cc3MYo82.s:785: Error: bad register name `%rdi'
/tmp/8cc3MYo82.s:788: Error: bad register name `%rdi'
/tmp/8cc3MYo82.s:789: Error: bad register name `%rsp'
/tmp/8cc3MYo82.s:790: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:791: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:792: Error: bad register name `%rdi'
/tmp/8cc3MYo82.s:794: Error: bad register name `%rsp'
/tmp/8cc3MYo82.s:795: Error: bad register name `%rdi'
/tmp/8cc3MYo82.s:803: Error: bad register name `%rbp'
/tmp/8cc3MYo82.s:804: Error: bad register name `%rsp'
/tmp/8cc3MYo82.s:805: Error: bad register name `%rdi'
/tmp/8cc3MYo82.s:806: Error: bad register name `%rsi'
/tmp/8cc3MYo82.s:807: Error: bad register name `%rdx'
/tmp/8cc3MYo82.s:808: Error: bad register name `%rcx'
/tmp/8cc3MYo82.s:809: Error: bad register name `%r8'
/tmp/8cc3MYo82.s:810: Error: bad register name `%r9'
/tmp/8cc3MYo82.s:813: Error: bad register name `%rsp)'
/tmp/8cc3MYo82.s:817: Error: bad register name `%rsp)'
/tmp/8cc3MYo82.s:821: Error: bad register name `%rsp)'
/tmp/8cc3MYo82.s:825: Error: bad register name `%rsp)'
/tmp/8cc3MYo82.s:829: Error: bad register name `%rsp)'
/tmp/8cc3MYo82.s:833: Error: bad register name `%rsp)'
/tmp/8cc3MYo82.s:837: Error: bad register name `%rsp)'
/tmp/8cc3MYo82.s:841: Error: bad register name `%rsp)'
/tmp/8cc3MYo82.s:845: Error: bad register name `%xmm8'
/tmp/8cc3MYo82.s:849: Error: bad register name `%xmm9'
/tmp/8cc3MYo82.s:853: Error: bad register name `%xmm10'
/tmp/8cc3MYo82.s:857: Error: bad register name `%xmm11'
/tmp/8cc3MYo82.s:861: Error: bad register name `%xmm12'
/tmp/8cc3MYo82.s:865: Error: bad register name `%xmm13'
/tmp/8cc3MYo82.s:869: Error: bad register name `%xmm14'
/tmp/8cc3MYo82.s:873: Error: bad register name `%xmm15'
/tmp/8cc3MYo82.s:876: Error: bad register name `%rsp'
/tmp/8cc3MYo82.s:884: Error: bad register name `%rdi'
/tmp/8cc3MYo82.s:885: Error: bad register name `%rsp'
/tmp/8cc3MYo82.s:886: Error: bad register name `%rdi'
/tmp/8cc3MYo82.s:887: Error: bad register name `%rsp'
/tmp/8cc3MYo82.s:888: Error: bad register name `%rdi'
/tmp/8cc3MYo82.s:889: Error: bad register name `%rsp'
/tmp/8cc3MYo82.s:890: Error: bad register name `%rip)'
/tmp/8cc3MYo82.s:891: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:892: Error: bad register name `%rdi'
/tmp/8cc3MYo82.s:894: Error: bad register name `%rsp'
/tmp/8cc3MYo82.s:895: Error: bad register name `%rdi'
/tmp/8cc3MYo82.s:896: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:897: Error: bad register name `%rdi'
/tmp/8cc3MYo82.s:899: Error: bad register name `%rsp'
/tmp/8cc3MYo82.s:900: Error: bad register name `%rdi'
/tmp/8cc3MYo82.s:901: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:907: Error: bad register name `%rip)'
/tmp/8cc3MYo82.s:914: Error: bad register name `%rip)'
/tmp/8cc3MYo82.s:916: Error: bad register name `%rax'
/tmp/8cc3MYo82.s:917: Error: bad register name `%rdi'
/tmp/8cc3MYo82.s:920: Error: bad register name `%rsp'
/tmp/8cc3MYo82.s:921: Error: bad register name `%rdi'
/tmp/8cc3MYo82.s:924: Error: bad register name `%rax'
./8cc -DBUILD_DIR='"/home/kenn/Desktop/8cc"' -c test/align.c
/tmp/8cchhZlCW.s: Assembler messages:
/tmp/8cchhZlCW.s:4: Error: bad register name `%rbp'
/tmp/8cchhZlCW.s:5: Error: bad register name `%rsp'
/tmp/8cchhZlCW.s:11: Error: bad register name `%rdi'
/tmp/8cchhZlCW.s:12: Error: bad register name `%rsi'
/tmp/8cchhZlCW.s:13: Error: bad register name `%rax'
/tmp/8cchhZlCW.s:14: Error: bad register name `%rax'
/tmp/8cchhZlCW.s:15: Error: bad register name `%rax'
/tmp/8cchhZlCW.s:16: Error: bad register name `%rax'
/tmp/8cchhZlCW.s:17: Error: bad register name `%rsi'
/tmp/8cchhZlCW.s:18: Error: bad register name `%rdi'
/tmp/8cchhZlCW.s:20: Error: bad register name `%rsi'
/tmp/8cchhZlCW.s:21: Error: bad register name `%rdi'
/tmp/8cchhZlCW.s:24: Error: bad register name `%rdi'
/tmp/8cchhZlCW.s:25: Error: bad register name `%rsi'
/tmp/8cchhZlCW.s:26: Error: bad register name `%rax'
/tmp/8cchhZlCW.s:27: Error: bad register name `%rax'
/tmp/8cchhZlCW.s:28: Error: bad register name `%rax'
/tmp/8cchhZlCW.s:29: Error: bad register name `%rax'
/tmp/8cchhZlCW.s:30: Error: bad register name `%rsi'
/tmp/8cchhZlCW.s:31: Error: bad register name `%rdi'
/tmp/8cchhZlCW.s:33: Error: bad register name `%rsi'
/tmp/8cchhZlCW.s:34: Error: bad register name `%rdi'
/tmp/8cchhZlCW.s:37: Error: bad register name `%rdi'
/tmp/8cchhZlCW.s:38: Error: bad register name `%rsi'
/tmp/8cchhZlCW.s:39: Error: bad register name `%rax'
/tmp/8cchhZlCW.s:40: Error: bad register name `%rax'
/tmp/8cchhZlCW.s:41: Error: bad register name `%rax'
/tmp/8cchhZlCW.s:42: Error: bad register name `%rax'
/tmp/8cchhZlCW.s:43: Error: bad register name `%rsi'
/tmp/8cchhZlCW.s:44: Error: bad register name `%rdi'
/tmp/8cchhZlCW.s:46: Error: bad register name `%rsi'
/tmp/8cchhZlCW.s:47: Error: bad register name `%rdi'
/tmp/8cchhZlCW.s:50: Error: bad register name `%rdi'
/tmp/8cchhZlCW.s:51: Error: bad register name `%rsi'
/tmp/8cchhZlCW.s:52: Error: bad register name `%rax'
/tmp/8cchhZlCW.s:53: Error: bad register name `%rax'
/tmp/8cchhZlCW.s:54: Error: bad register name `%rax'
/tmp/8cchhZlCW.s:55: Error: bad register name `%rax'
/tmp/8cchhZlCW.s:56: Error: bad register name `%rsi'
/tmp/8cchhZlCW.s:57: Error: bad register name `%rdi'
/tmp/8cchhZlCW.s:59: Error: bad register name `%rsi'
/tmp/8cchhZlCW.s:60: Error: bad register name `%rdi'
/tmp/8cchhZlCW.s:63: Error: bad register name `%rdi'
/tmp/8cchhZlCW.s:64: Error: bad register name `%rsi'
/tmp/8cchhZlCW.s:65: Error: bad register name `%rax'
/tmp/8cchhZlCW.s:66: Error: bad register name `%rax'
/tmp/8cchhZlCW.s:67: Error: bad register name `%rax'
/tmp/8cchhZlCW.s:68: Error: bad register name `%rax'
/tmp/8cchhZlCW.s:69: Error: bad register name `%rsi'
/tmp/8cchhZlCW.s:70: Error: bad register name `%rdi'
/tmp/8cchhZlCW.s:72: Error: bad register name `%rsi'
/tmp/8cchhZlCW.s:73: Error: bad register name `%rdi'
/tmp/8cchhZlCW.s:76: Error: bad register name `%rdi'
/tmp/8cchhZlCW.s:77: Error: bad register name `%rsi'
/tmp/8cchhZlCW.s:78: Error: bad register name `%rax'
/tmp/8cchhZlCW.s:79: Error: bad register name `%rax'
/tmp/8cchhZlCW.s:80: Error: bad register name `%rax'
/tmp/8cchhZlCW.s:81: Error: bad register name `%rax'
/tmp/8cchhZlCW.s:82: Error: bad register name `%rsi'
/tmp/8cchhZlCW.s:83: Error: bad register name `%rdi'
/tmp/8cchhZlCW.s:85: Error: bad register name `%rsi'
/tmp/8cchhZlCW.s:86: Error: bad register name `%rdi'
/tmp/8cchhZlCW.s:93: Error: bad register name `%rbp'
/tmp/8cchhZlCW.s:94: Error: bad register name `%rsp'
/tmp/8cchhZlCW.s:99: Error: bad register name `%rdi'
/tmp/8cchhZlCW.s:100: Error: bad register name `%rsp'
/tmp/8cchhZlCW.s:105: Error: bad register name `%rip)'
/tmp/8cchhZlCW.s:106: Error: bad register name `%rax'
/tmp/8cchhZlCW.s:107: Error: bad register name `%rdi'
/tmp/8cchhZlCW.s:109: Error: bad register name `%rsp'
/tmp/8cchhZlCW.s:110: Error: bad register name `%rdi'
cc -o test/align.bin test/align.o test/main/testmain.o
cc: error: test/align.o: No such file or directory
cc: error: test/main/testmain.o: No such file or directory
cc: fatal error: no input files
compilation terminated.
make: *** [test/align.bin] Error 4
I also tried to compile simple helloworld.c without success.
8cc only supports 64 bit x86. Rxx are new registers introduced with 64 bit, so 32 bit assembler does not know about it, resulting "bad register name" error.
First of all thank you very much for sharing your project. I am on Ubuntu 14.04 32 bit platform. I compiled the source code but
make test
fails with lots of errors.I also tried to compile simple
helloworld.c
without success.What might be problem?
Regards. Kenn