um: Use char[] for linker script address declarations
The linker script defines some variables which are declared either with type char[] in include/asm-generic/sections.h or with a meaningless integer type in arch/um/include/asm/sections.h. Fix this inconsistency by declaring every variable char[]. Signed-off-by: Nicolas Iooss <nicolas.iooss_linux@m4x.org> Signed-off-by: Richard Weinberger <richard@nod.at>
This commit is contained in:
parent
d5f20be7ca
commit
05eacfd00c
|
@ -3,7 +3,7 @@
|
|||
|
||||
#include <asm-generic/sections.h>
|
||||
|
||||
extern char __binary_start;
|
||||
extern int __syscall_stub_start, __syscall_stub_end;
|
||||
extern char __binary_start[];
|
||||
extern char __syscall_stub_start[], __syscall_stub_end[];
|
||||
|
||||
#endif
|
||||
|
|
|
@ -109,8 +109,8 @@ void __init setup_physmem(unsigned long start, unsigned long reserve_end,
|
|||
* Special kludge - This page will be mapped in to userspace processes
|
||||
* from physmem_fd, so it needs to be written out there.
|
||||
*/
|
||||
os_seek_file(physmem_fd, __pa(&__syscall_stub_start));
|
||||
os_write_file(physmem_fd, &__syscall_stub_start, PAGE_SIZE);
|
||||
os_seek_file(physmem_fd, __pa(__syscall_stub_start));
|
||||
os_write_file(physmem_fd, __syscall_stub_start, PAGE_SIZE);
|
||||
os_fsync_file(physmem_fd);
|
||||
|
||||
bootmap_size = init_bootmem(pfn, pfn + delta);
|
||||
|
|
|
@ -92,7 +92,7 @@ void uml_setup_stubs(struct mm_struct *mm)
|
|||
int err, ret;
|
||||
|
||||
ret = init_stub_pte(mm, STUB_CODE,
|
||||
(unsigned long) &__syscall_stub_start);
|
||||
(unsigned long) __syscall_stub_start);
|
||||
if (ret)
|
||||
goto out;
|
||||
|
||||
|
@ -100,7 +100,7 @@ void uml_setup_stubs(struct mm_struct *mm)
|
|||
if (ret)
|
||||
goto out;
|
||||
|
||||
mm->context.stub_pages[0] = virt_to_page(&__syscall_stub_start);
|
||||
mm->context.stub_pages[0] = virt_to_page(__syscall_stub_start);
|
||||
mm->context.stub_pages[1] = virt_to_page(mm->context.id.stack);
|
||||
|
||||
/* dup_mmap already holds mmap_sem */
|
||||
|
|
|
@ -292,7 +292,7 @@ int __init linux_main(int argc, char **argv)
|
|||
physmem_size += UML_ROUND_UP(brk_start) - UML_ROUND_UP(&_end);
|
||||
}
|
||||
|
||||
uml_physmem = (unsigned long) &__binary_start & PAGE_MASK;
|
||||
uml_physmem = (unsigned long) __binary_start & PAGE_MASK;
|
||||
|
||||
/* Reserve up to 4M after the current brk */
|
||||
uml_reserved = ROUND_4M(brk_start) + (1 << 22);
|
||||
|
|
Loading…
Reference in New Issue