1. 09 2月, 2009 1 次提交
    • D
      sparc64: Kill .fixup section bloat. · 40bdac7d
      David S. Miller 提交于
      This is an implementation of a suggestion made by Chris Torek:
      --------------------
      Something else I noticed in passing: the EX and EX_LD/EX_ST macros
      scattered throughout the various .S files make a fair bit of .fixup
      code, all of which does the same thing.  At the cost of one symbol
      in copy_in_user.S, you could just have one common two-instruction
      retl-and-mov-1 fixup that they all share.
      --------------------
      
      The following is with a defconfig build:
      
         text	   data	    bss	    dec	    hex	filename
      3972767	 344024	 584449	4901240	 4ac978	vmlinux.orig
      39688877	 344024	 584449	4897360	 4aba50	vmlinux
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      40bdac7d
  2. 05 12月, 2008 1 次提交
  3. 01 2月, 2008 1 次提交
    • S
      [SPARC64]: Fix inconsistent .section usage in lib/ · 4787083f
      Sam Ravnborg 提交于
      A few places missed the "a" specifier for the __ex_table section. Add
      these so we avoid generation an additional section at link time.
      
      Latest modpost would otherwise complain like this:
      
      WARNING: vmlinux.o (__ex_table.2): section name inconsistency.
      (.[number]+) following section name.
      Did you forget to use "ax"/"aw" in a .S file?
      Note that for example <linux/init.h> contains
      section definitions for use in .S files.
      WARNING: vmlinux.o (__ex_table.4): section name inconsistency.
      (.[number]+) following section name.
      Did you forget to use "ax"/"aw" in a .S file?
      Note that for example <linux/init.h> contains
      section definitions for use in .S files.
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      4787083f
  4. 20 3月, 2007 1 次提交
    • D
      [SPARC64]: store-init needs trailing membar. · 24d559ca
      David S. Miller 提交于
      The manual says that it is required and we actually have crash reports
      where loads see stale data due to not having membars here.
      
      In one case the networking does:
      
      	memset(skb, 0, offsetof(struct sk_buff, truesize));
      
      and then some code later checks skb->nohdr for zero, but it's still
      the value that was there before the memset().
      
      Note that arch/sparc64/lib/xor.S already got this right.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      24d559ca
  5. 20 3月, 2006 2 次提交