diff options
author | Bernd Schmidt <bernd.schmidt@analog.com> | 2007-10-03 11:41:43 -0400 |
---|---|---|
committer | Bryan Wu <bryan.wu@analog.com> | 2007-10-03 11:41:43 -0400 |
commit | f9720205d1f847cb59e197e851b5276425363f6b (patch) | |
tree | a90405713cd06f8ead8fff25338a2df5427ac95a /include/asm-v850 | |
parent | f778089cb2445dfc6dfd30a7a567925fd8589f1e (diff) |
Binfmt_flat: Add minimum support for the Blackfin relocations
Add minimum support for the Blackfin relocations, since we don't have
enough space in each reloc. The idea is to store a value with one
relocation so that subsequent ones can access it.
Actually, this patch is required for Blackfin. Currently if BINFMT_FLAT is
enabled, git-tree kernel will fail to compile.
Signed-off-by: Bernd Schmidt <bernd.schmidt@analog.com>
Signed-off-by: Bryan Wu <bryan.wu@analog.com>
Cc: David McCullough <davidm@snapgear.com>
Cc: Greg Ungerer <gerg@snapgear.com>
Cc: Miles Bader <miles.bader@necel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Diffstat (limited to 'include/asm-v850')
-rw-r--r-- | include/asm-v850/flat.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/include/asm-v850/flat.h b/include/asm-v850/flat.h index 3888f59d6881..17f0ea566611 100644 --- a/include/asm-v850/flat.h +++ b/include/asm-v850/flat.h | |||
@@ -25,6 +25,7 @@ | |||
25 | #define flat_stack_align(sp) /* nothing needed */ | 25 | #define flat_stack_align(sp) /* nothing needed */ |
26 | #define flat_argvp_envp_on_stack() 0 | 26 | #define flat_argvp_envp_on_stack() 0 |
27 | #define flat_old_ram_flag(flags) (flags) | 27 | #define flat_old_ram_flag(flags) (flags) |
28 | #define flat_set_persistent(relval, p) 0 | ||
28 | 29 | ||
29 | /* We store the type of relocation in the top 4 bits of the `relval.' */ | 30 | /* We store the type of relocation in the top 4 bits of the `relval.' */ |
30 | 31 | ||
@@ -46,7 +47,8 @@ flat_get_relocate_addr (unsigned long relval) | |||
46 | For the v850, RP should always be half-word aligned. */ | 47 | For the v850, RP should always be half-word aligned. */ |
47 | static inline unsigned long flat_get_addr_from_rp (unsigned long *rp, | 48 | static inline unsigned long flat_get_addr_from_rp (unsigned long *rp, |
48 | unsigned long relval, | 49 | unsigned long relval, |
49 | unsigned long flags) | 50 | unsigned long flags, |
51 | unsigned long *persistent) | ||
50 | { | 52 | { |
51 | short *srp = (short *)rp; | 53 | short *srp = (short *)rp; |
52 | 54 | ||