• Jeremy Fitzhardinge's avatar
    [PATCH] Generic BUG implementation · 7664c5a1
    Jeremy Fitzhardinge authored
    This patch adds common handling for kernel BUGs, for use by architectures as
    they wish.  The code is derived from arch/powerpc.
    
    The advantages of having common BUG handling are:
     - consistent BUG reporting across architectures
     - shared implementation of out-of-line file/line data
     - implement CONFIG_DEBUG_BUGVERBOSE consistently
    
    This means that in inline impact of BUG is just the illegal instruction
    itself, which is an improvement for i386 and x86-64.
    
    A BUG is represented in the instruction stream as an illegal instruction,
    which has file/line information associated with it.  This extra information is
    stored in the __bug_table section in the ELF file.
    
    When the kernel gets an illegal instruction, it first confirms it might
    possibly be from a BUG (ie, in kernel mode, the right illegal instruction).
    It then calls report_bug().  This searches __bug_table for a matching
    instruction pointer, and if found, prints the corresponding file/line
    information.  If report_bug() de...
    7664c5a1
bug.c 4.03 KB