cvs commit: src/sys/i386/i386 genassym.c src/sys/amd64/amd64 genassym.c

Peter Wemm peter at
Mon Sep 17 14:55:28 PDT 2007

peter       2007-09-17 21:55:28 UTC

  FreeBSD src repository

  Modified files:
    sys/i386/i386        genassym.c 
    sys/amd64/amd64      genassym.c 
  Fix an undefined symbol that as/ld neglected to flag as a problem.  It
  was used in assembler code in such a way that no unresolved relocation
  records were generated, so ld didn't flag the problem.   You can see
  this with an 'nm' of the kernel.  There will be 'U MAXCPU' on SMP systems.
  The impact of this is that the intrcount/intrnames arrays do not have
  the intended amount of space reserved.  This could lead to interesting
  problems due to the arrays being present in the middle of kernel code.
  An overflow would be rather interesting as executable code would be used
  as per-cpu incrementing interrupt counters.
  This fixes it for now by exporting MAXCPU to the assembler.  A better fix
  might be to define these data structures in C - they're only referenced
  in the kernel from C code these days anyway.
  Approved by:  re (kensmith)
  Revision  Changes    Path
  1.165     +1 -0      src/sys/amd64/amd64/genassym.c
  1.160     +1 -0      src/sys/i386/i386/genassym.c

More information about the cvs-src mailing list