diff options
Diffstat (limited to '05/diffs.txt')
-rw-r--r-- | 05/diffs.txt | 647 |
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 ---- |