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.

Reply via email to