summaryrefslogtreecommitdiff
path: root/ldso/ldso/frv/dl-sysdep.h
diff options
context:
space:
mode:
authorEric Andersen <andersen@codepoet.org>2004-05-14 10:59:09 +0000
committerEric Andersen <andersen@codepoet.org>2004-05-14 10:59:09 +0000
commit297b6bb585320c9ee650258fb3d3e7e812cdc5a8 (patch)
tree5f2ef14066df9438b6fae31b949a03b5f82cf356 /ldso/ldso/frv/dl-sysdep.h
parentcd411309b5af27b1a02f324174d1caad98bc0927 (diff)
Alexandre Oliva writes:
Here are a number of minor changes to FR-V-specific bits of the uClibc port: - I've adjusted the definition of _dl_mmap to cope with the fact that there will be a definition for an mmap2-only system. - We don't have COPY relocs, so optimize the copy reloc-related code away. - Change the page size to 16KiB, to match the ABI spec, and not a stale value I'd copied from a linker config file. Oops. - Fix error handling in clone and vfork; parts of the changes by David Howells <dhowells@redhat.com> - Rearrange includes in crtreloc.c. - Change the API of __syscall_error, to reduce code size. - Improve __syscall_return in terms of code size, so as to enable tail-calling of __syscall_error, at least within libc. Ideally, __syscall_error should be hidden within libc.so, but this didn't work because of libdl. I haven't looked into why, and figured I'd leave it visible for now. - Rename enumerators and macros in sys/ucontext.h to reduce namespace pollution.
Diffstat (limited to 'ldso/ldso/frv/dl-sysdep.h')
-rw-r--r--ldso/ldso/frv/dl-sysdep.h11
1 files changed, 7 insertions, 4 deletions
diff --git a/ldso/ldso/frv/dl-sysdep.h b/ldso/ldso/frv/dl-sysdep.h
index e0faf89ed..46f8461f7 100644
--- a/ldso/ldso/frv/dl-sysdep.h
+++ b/ldso/ldso/frv/dl-sysdep.h
@@ -29,6 +29,8 @@ USA. */
*/
#undef ELF_USES_RELOCA
+#define DL_NO_COPY_RELOCS
+
/*
* Initialization sequence for a GOT. Copy the resolver function
* descriptor and the pointer to the elf_resolve/link_map data
@@ -62,10 +64,11 @@ extern int _dl_linux_resolve(void) __attribute__((__visibility__("hidden")));
#define do_rem(result, n, base) result = (n % base)
-/* 4096 bytes alignment */
-#define PAGE_ALIGN 0xfffff000
-#define ADDR_ALIGN 0xfff
-#define OFFS_ALIGN 0x7ffff000
+/* 16KiB page alignment. Should perhaps be made dynamic using
+ getpagesize(), based on AT_PAGESZ from auxvt? */
+#define PAGE_ALIGN 0xffffc000
+#define ADDR_ALIGN 0x3fff
+#define OFFS_ALIGN 0x7fffc000
struct funcdesc_ht;