On Monday 21 November 2011 13:25:36 David Daney wrote: > On 11/20/2011 03:22 PM, Mike Frysinger wrote: > > On Friday 18 November 2011 14:37:44 David Daney wrote: > >> + switch (w2(ehdr->e_machine)) { > >> + default: > >> + fprintf(stderr, "unrecognized e_machine %d %s\n", > >> + w2(ehdr->e_machine), fname); > >> + fail_file(); > >> + break; > >> + case EM_386: > >> + case EM_MIPS: > >> + case EM_X86_64: > >> + break; > >> + } /* end switch */ > > > > unlike recordmcount, this file doesn't do anything arch specific. so > > let's just delete this and be done. > > Not really true at this point. We don't know the size or layout of the > architecture specific exception table entries, likewise for > CONFIG_ARCH_HAS_SORT_EXTABLE, we don't even know how to do the comparison. all of your code that i could see is based on "is it 32bit or is it 64bit". there is no code that says "if it's x86, we need to do XXX". when i look in the kernel, we have common code behind ARCH_HAS_SORT_EXTABLE. so you could easily do the same thing: scripts/sortextable.c: #ifdef ARCH_HAS_SORT_EXTABLE switch (w2(ehdr->e_machine)) { default: fprintf(stderr, "unrecognized e_machine %d %s\n", w2(ehdr->e_machine), fname); ... return a unique exit code like 77 ... break; /* add arch sorting info here */ } /* end switch */ #endif kernel/extable.c: #if defined(ARCH_HAS_SORT_EXTABLE) && !defined(ARCH_HAS_SORTED_EXTABLE) void __init sort_main_extable(void) { sort_extable(__start___ex_table, __stop___ex_table); } #endif this way all the people not doing unique stuff work out of the box. only the people who are doing funky stuff need to extend things. -mike
Attachment:
signature.asc
Description: This is a digitally signed message part.