Skip to content
  1. Jun 24, 2011
  2. Jun 21, 2011
  3. Jun 17, 2011
    • Dave Martin's avatar
      ARM: 6963/1: Thumb-2: Relax relocation requirements for non-function symbols · 9a00318e
      Dave Martin authored
      
      
      The "Thumb bit" of a symbol is only really meaningful for function
      symbols (STT_FUNC).
      
      However, sometimes a branch is relocated against a non-function
      symbol; for example, PC-relative branches to anonymous assembler
      local symbols are typically fixed up against the start-of-section
      symbol, which is not a function symbol.  Some inline assembler
      generates references of this type, such as fixup code generated by
      macros in <asm/uaccess.h>.
      
      The existing relocation code for R_ARM_THM_CALL/R_ARM_THM_JUMP24
      interprets this case as an error, because the target symbol appears
      to be an ARM symbol; but this is really not the case, since the
      target symbol is just a base in these cases.  The addend defines
      the precise offset to the target location, but since the addend is
      encoded in a non-interworking Thumb branch instruction, there is no
      explicit Thumb bit in the addend.  Because these instructions never
      interwork, the implied Thumb bit in the addend is 1, and the
      destination is Thumb by definition.
      
      This patch removes the extraneous Thumb bit check for non-function
      symbols, enabling modules containing the affected relocation types
      to be loaded.  No modification to the actual relocation code is
      required, since this code does not take bit[0] of the
      location->destination offset into account in any case.
      
      Function symbols are always checked for interworking conflicts, as
      before.
      
      Signed-off-by: default avatarDave Martin <dave.martin@linaro.org>
      Acked-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      9a00318e
    • Linus Walleij's avatar
      ARM: 6962/1: mach-h720x: fix build error · 343fda59
      Linus Walleij authored
      
      
      The h7201/h7202 machines did not build since they define
      ARM_DMA_ZONE_OFFSET but do not select ZONE_DMA. Fix it up by
      selecting ZONE_DMA in their Kconfig.
      
      Cc: Sascha Hauer <s.hauer@pengutronix.de>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      343fda59
    • Magnus Damm's avatar
      ARM: 6959/1: SMP build fix for entry-macro-multi.S · 2bc58a6f
      Magnus Damm authored
      
      
      The assembly code in entry-macro-multi.S does not build without
      the include asm/assembler.h in the case of CONFIG_SMP=y.
      
      Fixes the rather theoretical SMP build of mach-shmobile/entry-intc.c:
      
      arch/arm/include/asm/entry-macro-multi.S: Assembler messages:
      arch/arm/include/asm/entry-macro-multi.S:20: Error: bad instruction `alt_smp(test_for_ipi r0,r6,r5,lr)'
      arch/arm/include/asm/entry-macro-multi.S:20: Error: bad instruction `alt_up_b(9997f)'
      make[1]: *** [arch/arm/mach-shmobile/entry-intc.o] Error 1
      make: *** [arch/arm/mach-shmobile] Error 2
      make: *** Waiting for unfinished jobs....
      
      Signed-off-by: default avatarMagnus Damm <damm@opensource.se>
      Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      2bc58a6f
  4. Jun 16, 2011
  5. Jun 15, 2011
  6. Jun 14, 2011
Loading