diff --git a/src/linker/lnk.c b/src/linker/lnk.c index d3f1564a..1b86064f 100644 --- a/src/linker/lnk.c +++ b/src/linker/lnk.c @@ -2885,7 +2885,7 @@ lnk_init_section_table(LNK_SymbolTable *symtab, U64 section_virt_off, U64 sect_a { ".edata", LNK_EDATA_SYMBOL_NAME, LNK_EDATA_SECTION_FLAGS }, { ".rsrc", LNK_RSRC_SYMBOL_NAME, LNK_RSRC_SECTION_FLAGS }, { ".debug", LNK_DEBUG_SYMBOL_NAME, LNK_DEBUG_SECTION_FLAGS }, - { ".tls", LNK_TLS_SYMBOL_NAME, LNK_TLS_SECTION_FLAGS }, + { ".tls", LNK_TLS_SYMBOL_NAME, LNK_DATA_SECTION_FLAGS }, }; LNK_SectionTable *st = lnk_section_table_alloc(section_virt_off, sect_align, file_align); @@ -4012,7 +4012,7 @@ l.count += 1; \ LNK_Section **sect_id_map = lnk_sect_id_map_from_section_table(scratch.arena, st); - LNK_Symbol *tls_used_symbol = lnk_symbol_table_searchf(symtab, LNK_SymbolScopeFlag_Main, "_tls_used"); + LNK_Symbol *tls_used_symbol = lnk_symbol_table_searchf(symtab, LNK_SymbolScopeFlag_Main, LNK_TLS_SYMBOL_NAME); if (tls_used_symbol) { ProfBegin("Patch TLS Align"); diff --git a/src/linker/lnk_directive.c b/src/linker/lnk_directive.c index 6ce82983..c0d7e408 100644 --- a/src/linker/lnk_directive.c +++ b/src/linker/lnk_directive.c @@ -70,12 +70,9 @@ lnk_parse_directives(Arena *arena, LNK_DirectiveInfo *directive_info, String8 bu for (U64 i = 0; i < ArrayCount(directive_table); ++i) { if (str8_match(directive_table[i].name, opt->string, StringMatchFlag_CaseInsensitive)) { kind = directive_table[i].kind; -<<<<<<< HEAD -======= if (kind == LNK_Directive_Merge) { String8 v = str8_list_join(scratch.arena, &opt->value_strings, &(StringJoin){ .sep = str8_lit_comp(" ")}); } ->>>>>>> 9e2d09f (switch to thread safe hash trie map) break; } } diff --git a/src/linker/lnk_error.h b/src/linker/lnk_error.h index 89ed588d..8d39de95 100644 --- a/src/linker/lnk_error.h +++ b/src/linker/lnk_error.h @@ -76,6 +76,7 @@ typedef enum LNK_Warning_UnusedDelayLoadDll, LNK_Warning_LongSectionName, LNK_Warning_UnknownSwitch, + LNK_Warning_TLSAlign, LNK_Warning_Last, LNK_Error_Count