summaryrefslogtreecommitdiff
path: root/05/diffs.txt
diff options
context:
space:
mode:
Diffstat (limited to '05/diffs.txt')
-rw-r--r--05/diffs.txt647
1 files changed, 647 insertions, 0 deletions
diff --git a/05/diffs.txt b/05/diffs.txt
new file mode 100644
index 0000000..869d9bb
--- /dev/null
+++ b/05/diffs.txt
@@ -0,0 +1,647 @@
+---- arm-asm.c ----
+---- arm-gen.c ----
+---- arm-link.c ----
+---- arm64-gen.c ----
+---- arm64-link.c ----
+---- c67-gen.c ----
+---- c67-link.c ----
+---- conftest.c ----
+---- i386-asm.c ----
+209c209
+< 0x0f, /* g */
+---
+> 0x0f /* g */
+238c238
+< { 0, },
+---
+> { 0 }
+252a253,254
+> /* last operation */
+> 0
+1576,1578d1577
+< default:
+< reg = TOK_ASM_eax + reg;
+< break;
+1583a1583,1585
+> default:
+> reg = TOK_ASM_eax + reg;
+> break;
+---- i386-gen.c ----
+---- i386-link.c ----
+---- il-gen.c ----
+---- libtcc.c ----
+27c27
+< ST_DATA int gnu_ext = 1;
+---
+> //ST_DATA int gnu_ext = 1;
+30c30
+< ST_DATA int tcc_ext = 1;
+---
+> //ST_DATA int tcc_ext = 1;
+33c33
+< ST_DATA struct TCCState *tcc_state;
+---
+> //ST_DATA struct TCCState *tcc_state;
+820c820
+< # if defined(__linux__)
+---
+> //# if defined(__linux__)
+823c823
+< # endif
+---
+> //# endif
+1177c1177
+< ELFW(ST_INFO)(STB_GLOBAL, STT_NOTYPE), 0,
+---
+> ELF64_ST_INFO(STB_GLOBAL, STT_NOTYPE), 0,
+1552c1552
+< { NULL, 0, 0 },
+---
+> { NULL, 0, 0 }
+1555c1555
+< static const FlagDef options_W[] = {
+---
+> static FlagDef options_W[] = {
+1557,1562c1557,1561
+< { offsetof(TCCState, warn_unsupported), 0, "unsupported" },
+< { offsetof(TCCState, warn_write_strings), 0, "write-strings" },
+< { offsetof(TCCState, warn_error), 0, "error" },
+< { offsetof(TCCState, warn_gcc_compat), 0, "gcc-compat" },
+< { offsetof(TCCState, warn_implicit_function_declaration), WD_ALL,
+< "implicit-function-declaration" },
+---
+> { 0, 0, "unsupported" },
+> { 0, 0, "write-strings" },
+> { 0, 0, "error" },
+> { 0, 0, "gcc-compat" },
+> { 0, WD_ALL, "implicit-function-declaration" },
+1566,1572c1565,1571
+< static const FlagDef options_f[] = {
+< { offsetof(TCCState, char_is_unsigned), 0, "unsigned-char" },
+< { offsetof(TCCState, char_is_unsigned), FD_INVERT, "signed-char" },
+< { offsetof(TCCState, nocommon), FD_INVERT, "common" },
+< { offsetof(TCCState, leading_underscore), 0, "leading-underscore" },
+< { offsetof(TCCState, ms_extensions), 0, "ms-extensions" },
+< { offsetof(TCCState, dollars_in_identifiers), 0, "dollars-in-identifiers" },
+---
+> static FlagDef options_f[] = {
+> { 0, 0, "unsigned-char" },
+> { 0, FD_INVERT, "signed-char" },
+> { 0, FD_INVERT, "common" },
+> { 0, 0, "leading-underscore" },
+> { 0, 0, "ms-extensions" },
+> { 0, 0, "dollars-in-identifiers" },
+1576,1577c1575,1576
+< static const FlagDef options_m[] = {
+< { offsetof(TCCState, ms_bitfields), 0, "ms-bitfields" },
+---
+> static FlagDef options_m[] = {
+> { 0, 0, "ms-bitfields" },
+1579c1578
+< { offsetof(TCCState, nosse), FD_INVERT, "sse" },
+---
+> { 0, FD_INVERT, "sse" },
+1582a1582,1599
+>
+> void _init_options(void) {
+> options_W[1].offset = offsetof(TCCState, warn_unsupported);
+> options_W[2].offset = offsetof(TCCState, warn_write_strings);
+> options_W[3].offset = offsetof(TCCState, warn_error);
+> options_W[4].offset = offsetof(TCCState, warn_gcc_compat);
+> options_W[5].offset = offsetof(TCCState, warn_implicit_function_declaration);
+> options_f[0].offset = offsetof(TCCState, char_is_unsigned);
+> options_f[1].offset = offsetof(TCCState, char_is_unsigned);
+> options_f[2].offset = offsetof(TCCState, nocommon);
+> options_f[3].offset = offsetof(TCCState, leading_underscore);
+> options_f[4].offset = offsetof(TCCState, ms_extensions);
+> options_f[5].offset = offsetof(TCCState, dollars_in_identifiers);
+> options_m[0].offset = offsetof(TCCState, ms_bitfields);
+> #ifdef TCC_TARGET_X86_64
+> options_m[1].offset = offsetof(TCCState, nosse);
+> #endif
+> }
+---- tcc.c ----
+239c239
+< #else
+---
+> #elif 0
+242a243,244
+> #else
+> return 0;
+254c256
+<
+---
+> _init_options();
+---- tccasm.c ----
+222d221
+< default:
+223a223
+> default:
+251d250
+< default:
+252a252
+> default:
+---- tcccoff.c ----
+---- tccelf.c ----
+28a29
+> #if 0
+43a45
+> #endif
+171,172c173,174
+< && ELFW(ST_BIND)(sym->st_info) == STB_LOCAL)
+< sym->st_info = ELFW(ST_INFO)(STB_GLOBAL, ELFW(ST_TYPE)(sym->st_info));
+---
+> && ELF64_ST_BIND(sym->st_info) == STB_LOCAL)
+> sym->st_info = ELF64_ST_INFO(STB_GLOBAL, ELF64_ST_TYPE(sym->st_info));
+183c185
+< int n = ELFW(R_SYM)(rel->r_info) - first_sym;
+---
+> int n = ELF64_R_SYM(rel->r_info) - first_sym;
+185c187
+< rel->r_info = ELFW(R_INFO)(tr[n], ELFW(R_TYPE)(rel->r_info));
+---
+> rel->r_info = ELF64_R_INFO(tr[n], ELF64_R_TYPE(rel->r_info));
+375c377
+< if (ELFW(ST_BIND)(sym->st_info) != STB_LOCAL) {
+---
+> if (ELF64_ST_BIND(sym->st_info) != STB_LOCAL) {
+415c417
+< if (ELFW(ST_BIND)(info) != STB_LOCAL) {
+---
+> if (ELF64_ST_BIND(info) != STB_LOCAL) {
+497,499c499,501
+< sym_bind = ELFW(ST_BIND)(info);
+< sym_type = ELFW(ST_TYPE)(info);
+< sym_vis = ELFW(ST_VISIBILITY)(other);
+---
+> sym_bind = ELF64_ST_BIND(info);
+> sym_type = ELF64_ST_TYPE(info);
+> sym_vis = ELF64_ST_VISIBILITY(other);
+511c513
+< esym_bind = ELFW(ST_BIND)(esym->st_info);
+---
+> esym_bind = ELF64_ST_BIND(esym->st_info);
+514c516
+< esym_vis = ELFW(ST_VISIBILITY)(esym->st_other);
+---
+> esym_vis = ELF64_ST_VISIBILITY(esym->st_other);
+522c524
+< esym->st_other = (esym->st_other & ~ELFW(ST_VISIBILITY)(-1))
+---
+> esym->st_other = (esym->st_other & ~ELF64_ST_VISIBILITY(-1))
+560c562
+< esym->st_info = ELFW(ST_INFO)(sym_bind, sym_type);
+---
+> esym->st_info = ELF64_ST_INFO(sym_bind, sym_type);
+570c572
+< ELFW(ST_INFO)(sym_bind, sym_type), other,
+---
+> ELF64_ST_INFO(sym_bind, sym_type), other,
+598c600
+< rel->r_info = ELFW(R_INFO)(symbol, type);
+---
+> rel->r_info = ELF64_R_INFO(symbol, type);
+737c739
+< if (ELFW(ST_BIND)(p->st_info) == STB_LOCAL) {
+---
+> if (ELF64_ST_BIND(p->st_info) == STB_LOCAL) {
+750c752
+< if (ELFW(ST_BIND)(p->st_info) != STB_LOCAL) {
+---
+> if (ELF64_ST_BIND(p->st_info) != STB_LOCAL) {
+766,767c768,769
+< sym_index = ELFW(R_SYM)(rel->r_info);
+< type = ELFW(R_TYPE)(rel->r_info);
+---
+> sym_index = ELF64_R_SYM(rel->r_info);
+> type = ELF64_R_TYPE(rel->r_info);
+769c771
+< rel->r_info = ELFW(R_INFO)(sym_index, type);
+---
+> rel->r_info = ELF64_R_INFO(sym_index, type);
+810c812
+< sym_bind = ELFW(ST_BIND)(sym->st_info);
+---
+> sym_bind = ELF64_ST_BIND(sym->st_info);
+838c840
+< sym_index = ELFW(R_SYM)(rel->r_info);
+---
+> sym_index = ELF64_R_SYM(rel->r_info);
+840c842
+< type = ELFW(R_TYPE)(rel->r_info);
+---
+> type = ELF64_R_TYPE(rel->r_info);
+873,874c875,876
+< sym_index = ELFW(R_SYM)(rel->r_info);
+< type = ELFW(R_TYPE)(rel->r_info);
+---
+> sym_index = ELF64_R_SYM(rel->r_info);
+> type = ELF64_R_TYPE(rel->r_info);
+881c883
+< rel->r_info = ELFW(R_INFO)(sym_index, R_386_RELATIVE);
+---
+> rel->r_info = ELF64_R_INFO(sym_index, R_386_RELATIVE);
+916c918
+< set_elf_sym(symtab_section, 0, 4, ELFW(ST_INFO)(STB_GLOBAL, STT_OBJECT),
+---
+> set_elf_sym(symtab_section, 0, 4, ELF64_ST_INFO(STB_GLOBAL, STT_OBJECT),
+963c965
+< if (ELFW(ST_BIND)(sym->st_info) == STB_LOCAL) {
+---
+> if (ELF64_ST_BIND(sym->st_info) == STB_LOCAL) {
+1008c1010
+< ELFW(ST_INFO)(STB_GLOBAL, STT_FUNC), 0, s1->plt->sh_num, plt_name);
+---
+> ELF64_ST_INFO(STB_GLOBAL, STT_FUNC), 0, s1->plt->sh_num, plt_name);
+1034c1036
+< type = ELFW(R_TYPE)(rel->r_info);
+---
+> type = ELF64_R_TYPE(rel->r_info);
+1036c1038
+< sym_index = ELFW(R_SYM)(rel->r_info);
+---
+> sym_index = ELF64_R_SYM(rel->r_info);
+1068,1070c1070,1072
+< && (ELFW(ST_TYPE)(esym->st_info) == STT_FUNC
+< || (ELFW(ST_TYPE)(esym->st_info) == STT_NOTYPE
+< && ELFW(ST_TYPE)(sym->st_info) == STT_FUNC)))
+---
+> && (ELF64_ST_TYPE(esym->st_info) == STT_FUNC
+> || (ELF64_ST_TYPE(esym->st_info) == STT_NOTYPE
+> && ELF64_ST_TYPE(sym->st_info) == STT_FUNC)))
+1083,1085c1085,1087
+< (ELFW(ST_VISIBILITY)(sym->st_other) != STV_DEFAULT ||
+< ELFW(ST_BIND)(sym->st_info) == STB_LOCAL)) {
+< rel->r_info = ELFW(R_INFO)(sym_index, R_X86_64_PC32);
+---
+> (ELF64_ST_VISIBILITY(sym->st_other) != STV_DEFAULT ||
+> ELF64_ST_BIND(sym->st_info) == STB_LOCAL)) {
+> rel->r_info = ELF64_R_INFO(sym_index, R_X86_64_PC32);
+1105c1107
+< rel->r_info = ELFW(R_INFO)(attr->plt_sym, type);
+---
+> rel->r_info = ELF64_R_INFO(attr->plt_sym, type);
+1140c1142
+< ELFW(ST_INFO)(STB_GLOBAL, STT_NOTYPE), 0,
+---
+> ELF64_ST_INFO(STB_GLOBAL, STT_NOTYPE), 0,
+1144c1146
+< ELFW(ST_INFO)(STB_GLOBAL, STT_NOTYPE), 0,
+---
+> ELF64_ST_INFO(STB_GLOBAL, STT_NOTYPE), 0,
+1168c1170
+< ELFW(ST_INFO)(STB_GLOBAL, STT_NOTYPE), 0,
+---
+> ELF64_ST_INFO(STB_GLOBAL, STT_NOTYPE), 0,
+1172c1174
+< ELFW(ST_INFO)(STB_GLOBAL, STT_NOTYPE), 0,
+---
+> ELF64_ST_INFO(STB_GLOBAL, STT_NOTYPE), 0,
+1221c1223
+< ELFW(ST_INFO)(STB_GLOBAL, STT_NOTYPE), 0,
+---
+> ELF64_ST_INFO(STB_GLOBAL, STT_NOTYPE), 0,
+1225c1227
+< ELFW(ST_INFO)(STB_GLOBAL, STT_NOTYPE), 0,
+---
+> ELF64_ST_INFO(STB_GLOBAL, STT_NOTYPE), 0,
+1229c1231
+< ELFW(ST_INFO)(STB_GLOBAL, STT_NOTYPE), 0,
+---
+> ELF64_ST_INFO(STB_GLOBAL, STT_NOTYPE), 0,
+1260c1262
+< ELFW(ST_INFO)(STB_GLOBAL, STT_NOTYPE), 0,
+---
+> ELF64_ST_INFO(STB_GLOBAL, STT_NOTYPE), 0,
+1265c1267
+< ELFW(ST_INFO)(STB_GLOBAL, STT_NOTYPE), 0,
+---
+> ELF64_ST_INFO(STB_GLOBAL, STT_NOTYPE), 0,
+1314c1316
+< int sym_index = ELFW(R_SYM) (rel->r_info);
+---
+> int sym_index = ELF64_R_SYM (rel->r_info);
+1344c1346
+< switch (ELFW(R_TYPE) (rel->r_info)) {
+---
+> switch (ELF64_R_TYPE (rel->r_info)) {
+1363,1364c1365,1366
+< if (ELFW(R_TYPE)(rel->r_info) == R_RELATIVE) {
+< int sym_index = ELFW(R_SYM) (rel->r_info);
+---
+> if (ELF64_R_TYPE(rel->r_info) == R_RELATIVE) {
+> int sym_index = ELF64_R_SYM (rel->r_info);
+1370c1372
+< rel->r_info = ELFW(R_INFO)(0, R_RELATIVE);
+---
+> rel->r_info = ELF64_R_INFO(0, R_RELATIVE);
+1400c1402
+< type = ELFW(ST_TYPE)(esym->st_info);
+---
+> type = ELF64_ST_TYPE(esym->st_info);
+1411c1413
+< ELFW(ST_INFO)(STB_GLOBAL,STT_FUNC), 0, 0,
+---
+> ELF64_ST_INFO(STB_GLOBAL,STT_FUNC), 0, 0,
+1428c1430
+< if (ELFW(ST_BIND)(esym->st_info) == STB_WEAK) {
+---
+> if (ELF64_ST_BIND(esym->st_info) == STB_WEAK) {
+1431c1433
+< && (ELFW(ST_BIND)(dynsym->st_info) == STB_GLOBAL)) {
+---
+> && (ELF64_ST_BIND(dynsym->st_info) == STB_GLOBAL)) {
+1450c1452
+< if (ELFW(ST_BIND)(sym->st_info) == STB_WEAK ||
+---
+> if (ELF64_ST_BIND(sym->st_info) == STB_WEAK ||
+1456c1458
+< } else if (s1->rdynamic && ELFW(ST_BIND)(sym->st_info) != STB_LOCAL) {
+---
+> } else if (s1->rdynamic && ELF64_ST_BIND(sym->st_info) != STB_LOCAL) {
+1481c1483
+< && ELFW(ST_BIND)(sym->st_info) != STB_LOCAL) {
+---
+> && ELF64_ST_BIND(sym->st_info) != STB_LOCAL) {
+1486c1488
+< if (ELFW(ST_BIND)(esym->st_info) != STB_WEAK)
+---
+> if (ELF64_ST_BIND(esym->st_info) != STB_WEAK)
+1503c1505
+< if (ELFW(ST_BIND)(sym->st_info) != STB_LOCAL) {
+---
+> if (ELF64_ST_BIND(sym->st_info) != STB_LOCAL) {
+1909,1913d1910
+< default:
+< case TCC_OUTPUT_EXE:
+< ehdr.e_type = ET_EXEC;
+< ehdr.e_entry = get_elf_sym_addr(s1, "_start", 1);
+< break;
+1920a1918,1922
+> case TCC_OUTPUT_EXE:
+> default:
+> ehdr.e_type = ET_EXEC;
+> ehdr.e_entry = get_elf_sym_addr(s1, "_start", 1);
+> break;
+2481c2483
+< if (ELFW(ST_BIND)(sym->st_info) != STB_LOCAL) {
+---
+> if (ELF64_ST_BIND(sym->st_info) != STB_LOCAL) {
+2520,2521c2522,2523
+< type = ELFW(R_TYPE)(rel->r_info);
+< sym_index = ELFW(R_SYM)(rel->r_info);
+---
+> type = ELF64_R_TYPE(rel->r_info);
+> sym_index = ELF64_R_SYM(rel->r_info);
+2537c2539
+< rel->r_info = ELFW(R_INFO)(sym_index, type);
+---
+> rel->r_info = ELF64_R_INFO(sym_index, type);
+2766c2768
+< sym_bind = ELFW(ST_BIND)(sym->st_info);
+---
+> sym_bind = ELF64_ST_BIND(sym->st_info);
+---- tccgen.c ----
+24a25,26
+> #define NODATA_WANTED (nocode_wanted > 0) /* no static data output wanted either */
+> #define STATIC_DATA_WANTED (nocode_wanted & 0xC0000000) /* only static data output */
+31c33,39
+< ST_DATA int rsym, anon_sym, ind, loc;
+---
+> static int local_scope;
+> static int in_sizeof;
+> static int section_sym;
+>
+> ST_DATA int vlas_in_scope; /* number of VLAs that are currently in scope */
+> ST_DATA int vla_sp_root_loc; /* vla_sp_loc for SP before any VLAs were pushed */
+> ST_DATA int vla_sp_loc; /* Pointer to variable holding location to store stack pointer on the stack when modifying stack pointer */
+32a41,42
+> #if 0
+> ST_DATA int rsym, anon_sym, ind, loc;
+42,48d51
+< static int local_scope;
+< static int in_sizeof;
+< static int section_sym;
+<
+< ST_DATA int vlas_in_scope; /* number of VLAs that are currently in scope */
+< ST_DATA int vla_sp_root_loc; /* vla_sp_loc for SP before any VLAs were pushed */
+< ST_DATA int vla_sp_loc; /* Pointer to variable holding location to store stack pointer on the stack when modifying stack pointer */
+54,55d56
+< #define NODATA_WANTED (nocode_wanted > 0) /* no static data output wanted either */
+< #define STATIC_DATA_WANTED (nocode_wanted & 0xC0000000) /* only static data output */
+63,64c64,66
+<
+< ST_DATA CType char_pointer_type, func_old_type, int_type, size_type, ptrdiff_type;
+---
+> ST_DATA CType char_pointer_type, func_old_type, int_type, size_type;
+> #endif
+> ST_DATA CType ptrdiff_type;
+161c163
+< ELFW(ST_INFO)(STB_LOCAL, STT_SECTION), 0,
+---
+> ELF64_ST_INFO(STB_LOCAL, STT_SECTION), 0,
+179c181
+< ELFW(ST_INFO)(STB_LOCAL, STT_FILE), 0,
+---
+> ELF64_ST_INFO(STB_LOCAL, STT_FILE), 0,
+302c304
+< esym->st_other = (esym->st_other & ~ELFW(ST_VISIBILITY)(-1))
+---
+> esym->st_other = (esym->st_other & ~ELF64_ST_VISIBILITY(-1))
+311c313
+< old_sym_bind = ELFW(ST_BIND)(esym->st_info);
+---
+> old_sym_bind = ELF64_ST_BIND(esym->st_info);
+313c315
+< esym->st_info = ELFW(ST_INFO)(sym_bind, ELFW(ST_TYPE)(esym->st_info));
+---
+> esym->st_info = ELF64_ST_INFO(sym_bind, ELF64_ST_TYPE(esym->st_info));
+410c412
+< info = ELFW(ST_INFO)(sym_bind, sym_type);
+---
+> info = ELF64_ST_INFO(sym_bind, sym_type);
+1904d1905
+< default: l1 = gen_opic_sdiv(l1, l2); break;
+1907a1909
+> default: l1 = gen_opic_sdiv(l1, l2); break;
+2458a2461,2470
+> static long double negate_ld(long double d) {
+> #if LDBL_MANT_DIG == 64
+> register unsigned long long *p = (unsigned long long *)&d;
+> p[1] ^= 1ul<<15;
+> return *(long double *)p;
+> #else
+> return -d;
+> #endif
+> }
+>
+2500c2512
+< vtop->c.ld = -(long double)-vtop->c.i;
+---
+> vtop->c.ld = negate_ld((long double)-vtop->c.i);
+2505c2517
+< vtop->c.ld = -(long double)-(uint32_t)vtop->c.i;
+---
+> vtop->c.ld = negate_ld((long double)-(uint32_t)vtop->c.i);
+6517,6518c6529,6530
+< ELFW(R_TYPE)(rel->r_info),
+< ELFW(R_SYM)(rel->r_info),
+---
+> ELF64_R_TYPE(rel->r_info),
+> ELF64_R_SYM(rel->r_info),
+---- tccpe.c ----
+---- tccpp.c ----
+25a26
+> #if 0
+39a41
+> #endif
+62c64
+< #define DEF(id, str) str "\0"
+---
+> #define DEF(id, str) str "\n"
+1506c1508
+< if (varg < TOK_IDENT)
+---
+> if (varg < TOK_IDENT) {
+1508a1511
+> }
+1554c1557
+< if (3 == spc)
+---
+> if (3 == spc) {
+1556a1560
+> }
+3671c3675
+< if (c == '\0')
+---
+> if (c == '\n')
+---- tccrun.c ----
+---- tcctools.c ----
+---- x86_64-gen.c ----
+111,141d110
+< ST_DATA const int reg_classes[NB_REGS] = {
+< /* eax */ RC_INT | RC_RAX,
+< /* ecx */ RC_INT | RC_RCX,
+< /* edx */ RC_INT | RC_RDX,
+< 0,
+< 0,
+< 0,
+< 0,
+< 0,
+< RC_R8,
+< RC_R9,
+< RC_R10,
+< RC_R11,
+< 0,
+< 0,
+< 0,
+< 0,
+< /* xmm0 */ RC_FLOAT | RC_XMM0,
+< /* xmm1 */ RC_FLOAT | RC_XMM1,
+< /* xmm2 */ RC_FLOAT | RC_XMM2,
+< /* xmm3 */ RC_FLOAT | RC_XMM3,
+< /* xmm4 */ RC_FLOAT | RC_XMM4,
+< /* xmm5 */ RC_FLOAT | RC_XMM5,
+< /* xmm6 an xmm7 are included so gv() can be used on them,
+< but they are not tagged with RC_FLOAT because they are
+< callee saved on Windows */
+< RC_XMM6,
+< RC_XMM7,
+< /* st0 */ RC_ST0
+< };
+<
+633c602
+< greloca(cur_text_section, vtop->sym, ind + 1, R_X86_64_PLT32, (int)(vtop->c.i-4));
+---
+> greloca(cur_text_section, vtop->sym, ind + 1, R_X86_64_PC32, (int)(vtop->c.i-4)); // tcc's PLT code doesn't seem to work with static builds
+1194a1164,1166
+> enum __va_arg_type {
+> __va_gen_reg, __va_float_reg, __va_stack
+> };
+1198,1200d1169
+< enum __va_arg_type {
+< __va_gen_reg, __va_float_reg, __va_stack
+< };
+1204d1172
+< default: return __va_stack;
+1206a1175
+> default: return __va_stack;
+1244c1213
+< char _onstack[nb_args], *onstack = _onstack;
+---
+> char _onstack[/*nb_args*/1000/*fucking vlas*/], *onstack = _onstack;
+1461,1465d1429
+< default:
+< stack_arg:
+< seen_stack_size = ((seen_stack_size + align - 1) & -align) + size;
+< break;
+<
+1476a1441,1445
+> default:
+> stack_arg:
+> seen_stack_size = ((seen_stack_size + align - 1) & -align) + size;
+> break;
+>
+1940,1943d1908
+< default:
+< case '+':
+< a = 0;
+< break;
+1956a1922,1925
+> case '+':
+> default:
+> a = 0;
+> break;
+2016,2019d1984
+< default:
+< case '+':
+< a = 0;
+< break;
+2027a1993,1996
+> break;
+> case '+':
+> default:
+> a = 0;
+---- x86_64-link.c ----
+177c177
+< sym_index = ELFW(R_SYM)(rel->r_info);
+---
+> sym_index = ELF64_R_SYM(rel->r_info);
+185c185
+< qrel->r_info = ELFW(R_INFO)(esym_index, R_X86_64_64);
+---
+> qrel->r_info = ELF64_R_INFO(esym_index, R_X86_64_64);
+190c190
+< qrel->r_info = ELFW(R_INFO)(0, R_X86_64_RELATIVE);
+---
+> qrel->r_info = ELF64_R_INFO(0, R_X86_64_RELATIVE);
+202c202
+< qrel->r_info = ELFW(R_INFO)(0, R_X86_64_RELATIVE);
+---
+> qrel->r_info = ELF64_R_INFO(0, R_X86_64_RELATIVE);
+216c216
+< qrel->r_info = ELFW(R_INFO)(esym_index, R_X86_64_PC32);
+---
+> qrel->r_info = ELF64_R_INFO(esym_index, R_X86_64_PC32);
+249c249
+< qrel->r_info = ELFW(R_INFO)(esym_index, R_X86_64_PC64);
+---
+> qrel->r_info = ELF64_R_INFO(esym_index, R_X86_64_PC64);
+---- lib/armeabi.c ----
+---- lib/armflush.c ----
+---- lib/bcheck.c ----
+---- lib/lib-arm64.c ----
+---- lib/libtcc1.c ----
+615a616,622
+>
+> static long double negate_ld(long double d) {
+> register unsigned long long *p = (unsigned long long *)&d;
+> p[1] ^= 1ul<<15;
+> return *(long double *)p;
+> }
+>
+619c626
+< ret = __fixunsxfdi((s = a1 >= 0) ? a1 : -a1);
+---
+> ret = __fixunsxfdi((s = a1 >= 0) ? a1 : negate_ld(a1));
+---- lib/va_list.c ----