diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-10-03 18:34:07 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-10-03 18:34:07 -0400 |
commit | 66b1f1a982bf4dbad9fa0de25b8d95c4936f05c4 (patch) | |
tree | 277fd9f6ae0ea7aaf34dbbcb5439bc8391068f4e /fs | |
parent | bda0233b89c10ae46ccecb78bffdaf0fd7833d17 (diff) | |
parent | cda6a20b68c1f21f4b4bc9cd3ee08494e7ebf0d5 (diff) |
Merge branch 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/cooloney/blackfin-2.6
* 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/cooloney/blackfin-2.6:
Blackfin arch: fix PORT_J BUG for BF537/6 EMAC driver reported by Kalle Pokki <kalle.pokki@iki.fi>
Blackfin arch: gpio pinmux and resource allocation API required by BF537 on chip ethernet mac driver
Blackfin arch: add some missing syscall
binfmt_flat: checkpatch fixing minimum support for the blackfin relocations
Binfmt_flat: Add minimum support for the Blackfin relocations
Diffstat (limited to 'fs')
-rw-r--r-- | fs/binfmt_flat.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/fs/binfmt_flat.c b/fs/binfmt_flat.c index 861141b4f6d6..fcb3405bb14e 100644 --- a/fs/binfmt_flat.c +++ b/fs/binfmt_flat.c | |||
@@ -742,6 +742,7 @@ static int load_flat_file(struct linux_binprm * bprm, | |||
742 | * __start to address 4 so that is okay). | 742 | * __start to address 4 so that is okay). |
743 | */ | 743 | */ |
744 | if (rev > OLD_FLAT_VERSION) { | 744 | if (rev > OLD_FLAT_VERSION) { |
745 | unsigned long persistent = 0; | ||
745 | for (i=0; i < relocs; i++) { | 746 | for (i=0; i < relocs; i++) { |
746 | unsigned long addr, relval; | 747 | unsigned long addr, relval; |
747 | 748 | ||
@@ -749,6 +750,8 @@ static int load_flat_file(struct linux_binprm * bprm, | |||
749 | relocated (of course, the address has to be | 750 | relocated (of course, the address has to be |
750 | relocated first). */ | 751 | relocated first). */ |
751 | relval = ntohl(reloc[i]); | 752 | relval = ntohl(reloc[i]); |
753 | if (flat_set_persistent (relval, &persistent)) | ||
754 | continue; | ||
752 | addr = flat_get_relocate_addr(relval); | 755 | addr = flat_get_relocate_addr(relval); |
753 | rp = (unsigned long *) calc_reloc(addr, libinfo, id, 1); | 756 | rp = (unsigned long *) calc_reloc(addr, libinfo, id, 1); |
754 | if (rp == (unsigned long *)RELOC_FAILED) { | 757 | if (rp == (unsigned long *)RELOC_FAILED) { |
@@ -757,7 +760,8 @@ static int load_flat_file(struct linux_binprm * bprm, | |||
757 | } | 760 | } |
758 | 761 | ||
759 | /* Get the pointer's value. */ | 762 | /* Get the pointer's value. */ |
760 | addr = flat_get_addr_from_rp(rp, relval, flags); | 763 | addr = flat_get_addr_from_rp(rp, relval, flags, |
764 | &persistent); | ||
761 | if (addr != 0) { | 765 | if (addr != 0) { |
762 | /* | 766 | /* |
763 | * Do the relocation. PIC relocs in the data section are | 767 | * Do the relocation. PIC relocs in the data section are |