From 4ba7e5dc5a7dcc91b8c02132c2304be0b6a8e5b4 Mon Sep 17 00:00:00 2001 From: seyko Date: Tue, 10 Mar 2015 14:21:14 +0300 Subject: [PATCH] A correction for the commit: revert a grischka patch: gdb refused to know "main" keep revert (check SHF_ALLOC) only for x86 target and keep a grishka patch for other targets --- tccelf.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/tccelf.c b/tccelf.c index ff3ee89..ae4e2db 100644 --- a/tccelf.c +++ b/tccelf.c @@ -2317,7 +2317,14 @@ static int final_sections_reloc(TCCState *s1) /* XXX: ignore sections with allocated relocations ? */ for(i = 1; i < s1->nb_sections; i++) { s = s1->sections[i]; +#ifdef TCC_TARGET_I386 if (s->reloc && s != s1->got && (s->sh_flags & SHF_ALLOC)) //gr + /* On X86 gdb 7.3 works in any case but gdb 6.6 will crash if SHF_ALLOC + checking is removed */ +#else + if (s->reloc && s != s1->got) + /* On X86_64 gdb 7.3 will crash if SHF_ALLOC checking is present */ +#endif relocate_section(s1, s); }