Commit 05eacfd0 authored by Nicolas Iooss's avatar Nicolas Iooss Committed by Richard Weinberger

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: default avatarNicolas Iooss <nicolas.iooss_linux@m4x.org>
Signed-off-by: default avatarRichard Weinberger <richard@nod.at>
parent d5f20be7
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
#include <asm-generic/sections.h> #include <asm-generic/sections.h>
extern char __binary_start; extern char __binary_start[];
extern int __syscall_stub_start, __syscall_stub_end; extern char __syscall_stub_start[], __syscall_stub_end[];
#endif #endif
...@@ -109,8 +109,8 @@ void __init setup_physmem(unsigned long start, unsigned long reserve_end, ...@@ -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 * Special kludge - This page will be mapped in to userspace processes
* from physmem_fd, so it needs to be written out there. * from physmem_fd, so it needs to be written out there.
*/ */
os_seek_file(physmem_fd, __pa(&__syscall_stub_start)); os_seek_file(physmem_fd, __pa(__syscall_stub_start));
os_write_file(physmem_fd, &__syscall_stub_start, PAGE_SIZE); os_write_file(physmem_fd, __syscall_stub_start, PAGE_SIZE);
os_fsync_file(physmem_fd); os_fsync_file(physmem_fd);
bootmap_size = init_bootmem(pfn, pfn + delta); bootmap_size = init_bootmem(pfn, pfn + delta);
......
...@@ -92,7 +92,7 @@ void uml_setup_stubs(struct mm_struct *mm) ...@@ -92,7 +92,7 @@ void uml_setup_stubs(struct mm_struct *mm)
int err, ret; int err, ret;
ret = init_stub_pte(mm, STUB_CODE, ret = init_stub_pte(mm, STUB_CODE,
(unsigned long) &__syscall_stub_start); (unsigned long) __syscall_stub_start);
if (ret) if (ret)
goto out; goto out;
...@@ -100,7 +100,7 @@ void uml_setup_stubs(struct mm_struct *mm) ...@@ -100,7 +100,7 @@ void uml_setup_stubs(struct mm_struct *mm)
if (ret) if (ret)
goto out; 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); mm->context.stub_pages[1] = virt_to_page(mm->context.id.stack);
/* dup_mmap already holds mmap_sem */ /* dup_mmap already holds mmap_sem */
......
...@@ -292,7 +292,7 @@ int __init linux_main(int argc, char **argv) ...@@ -292,7 +292,7 @@ int __init linux_main(int argc, char **argv)
physmem_size += UML_ROUND_UP(brk_start) - UML_ROUND_UP(&_end); 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 */ /* Reserve up to 4M after the current brk */
uml_reserved = ROUND_4M(brk_start) + (1 << 22); uml_reserved = ROUND_4M(brk_start) + (1 << 22);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment