Skip to content

Commit

Permalink
ARM: 7705/1: use optimized do_div only for EABI
Browse files Browse the repository at this point in the history
In OABI configurations, some uses of the do_div function
cause gcc to run out of registers. To work around that,
we can force the use of the out-of-line version for
configurations that build a OABI kernel.

Without this patch, building netx_defconfig results in:

net/core/pktgen.c: In function 'pktgen_if_show':
net/core/pktgen.c:682:2775: error: can't find a register in class 'GENERAL_REGS' while reloading 'asm'
net/core/pktgen.c:682:3153: error: can't find a register in class 'GENERAL_REGS' while reloading 'asm'
net/core/pktgen.c:682:2775: error: 'asm' operand has impossible constraints
net/core/pktgen.c:682:3153: error: 'asm' operand has impossible constraints

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
  • Loading branch information
Arnd Bergmann authored and Russell King committed May 15, 2013
1 parent 9394c1c commit 049f3e8
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion arch/arm/include/asm/div64.h
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@
__rem; \
})

#if __GNUC__ < 4
#if __GNUC__ < 4 || !defined(CONFIG_AEABI)

/*
* gcc versions earlier than 4.0 are simply too problematic for the
Expand Down

0 comments on commit 049f3e8

Please sign in to comment.