|
@@ -1,276 +0,0 @@
|
|
|
-diff -Nur uClibc-0.9.30.1.orig/ldso/include/ldso.h uClibc-0.9.30.1/ldso/include/ldso.h
|
|
|
|
|
|
-+++ uClibc-0.9.30.1/ldso/include/ldso.h 2009-06-21 19:34:42.324963528 +0200
|
|
|
-@@ -39,6 +39,19 @@
|
|
|
- #include <dl-elf.h>
|
|
|
- #include <dl-hash.h>
|
|
|
-
|
|
|
-+/* common align masks, if not specified by sysdep headers */
|
|
|
-+#ifndef ADDR_ALIGN
|
|
|
-+#define ADDR_ALIGN (_dl_pagesize - 1)
|
|
|
-+#endif
|
|
|
-+
|
|
|
-+#ifndef PAGE_ALIGN
|
|
|
-+#define PAGE_ALIGN (~ADDR_ALIGN)
|
|
|
-+#endif
|
|
|
-+
|
|
|
-+#ifndef OFFS_ALIGN
|
|
|
-+#define OFFS_ALIGN (PAGE_ALIGN & ~(1ul << (sizeof(_dl_pagesize) * 8 - 1)))
|
|
|
-+#endif
|
|
|
-+
|
|
|
- /* For INIT/FINI dependency sorting. */
|
|
|
- struct init_fini_list {
|
|
|
- struct init_fini_list *next;
|
|
|
-diff -Nur uClibc-0.9.30.1.orig/ldso/ldso/arm/dl-sysdep.h uClibc-0.9.30.1/ldso/ldso/arm/dl-sysdep.h
|
|
|
|
|
|
-+++ uClibc-0.9.30.1/ldso/ldso/arm/dl-sysdep.h 2009-06-21 19:34:42.324963528 +0200
|
|
|
-@@ -55,11 +55,6 @@
|
|
|
- struct elf_resolve;
|
|
|
- unsigned long _dl_linux_resolver(struct elf_resolve * tpnt, int reloc_entry);
|
|
|
-
|
|
|
--/* 4096 bytes alignment */
|
|
|
--#define PAGE_ALIGN 0xfffff000
|
|
|
--#define ADDR_ALIGN 0xfff
|
|
|
--#define OFFS_ALIGN 0x7ffff000
|
|
|
--
|
|
|
- /* ELF_RTYPE_CLASS_PLT iff TYPE describes relocation of a PLT entry, so
|
|
|
- PLT entries should not be allowed to define the value.
|
|
|
- ELF_RTYPE_CLASS_NOCOPY iff TYPE should not be allowed to resolve to one
|
|
|
-diff -Nur uClibc-0.9.30.1.orig/ldso/ldso/avr32/dl-sysdep.h uClibc-0.9.30.1/ldso/ldso/avr32/dl-sysdep.h
|
|
|
|
|
|
-+++ uClibc-0.9.30.1/ldso/ldso/avr32/dl-sysdep.h 2009-06-21 19:34:42.324963528 +0200
|
|
|
-@@ -46,11 +46,6 @@
|
|
|
-
|
|
|
- unsigned long _dl_linux_resolver(unsigned long got_offset, unsigned long *got);
|
|
|
-
|
|
|
--/* 4096 bytes alignment */
|
|
|
--#define PAGE_ALIGN 0xfffff000
|
|
|
--#define ADDR_ALIGN 0xfff
|
|
|
--#define OFFS_ALIGN 0x7ffff000
|
|
|
--
|
|
|
- #define elf_machine_type_class(type) \
|
|
|
- ((type == R_AVR32_JMP_SLOT) * ELF_RTYPE_CLASS_PLT)
|
|
|
-
|
|
|
-diff -Nur uClibc-0.9.30.1.orig/ldso/ldso/bfin/dl-sysdep.h uClibc-0.9.30.1/ldso/ldso/bfin/dl-sysdep.h
|
|
|
|
|
|
-+++ uClibc-0.9.30.1/ldso/ldso/bfin/dl-sysdep.h 2009-06-21 19:34:42.324963528 +0200
|
|
|
-@@ -67,12 +67,6 @@
|
|
|
-
|
|
|
- extern int _dl_linux_resolve(void) __attribute__((__visibility__("hidden")));
|
|
|
-
|
|
|
--/* 4KiB page alignment. Should perhaps be made dynamic using
|
|
|
-- getpagesize(), based on AT_PAGESZ from auxvt? */
|
|
|
--#define PAGE_ALIGN 0xfffff000
|
|
|
--#define ADDR_ALIGN 0xfff
|
|
|
--#define OFFS_ALIGN 0x7ffff000
|
|
|
--
|
|
|
- struct funcdesc_ht;
|
|
|
-
|
|
|
- #undef SEND_EARLY_STDERR
|
|
|
-diff -Nur uClibc-0.9.30.1.orig/ldso/ldso/cris/dl-sysdep.h uClibc-0.9.30.1/ldso/ldso/cris/dl-sysdep.h
|
|
|
|
|
|
-+++ uClibc-0.9.30.1/ldso/ldso/cris/dl-sysdep.h 2009-06-21 19:34:42.324963528 +0200
|
|
|
-@@ -18,11 +18,6 @@
|
|
|
- struct elf_resolve;
|
|
|
- extern unsigned long _dl_linux_resolver(struct elf_resolve *tpnt, int reloc_entry);
|
|
|
-
|
|
|
--/* 8192 bytes alignment */
|
|
|
--#define PAGE_ALIGN 0xffffe000
|
|
|
--#define ADDR_ALIGN 0x1fff
|
|
|
--#define OFFS_ALIGN 0xffffe000
|
|
|
--
|
|
|
- /* The union of reloc-type-classes where the reloc TYPE is a member.
|
|
|
-
|
|
|
- TYPE is in the class ELF_RTYPE_CLASS_PLT if it can describe a
|
|
|
-diff -Nur uClibc-0.9.30.1.orig/ldso/ldso/frv/dl-sysdep.h uClibc-0.9.30.1/ldso/ldso/frv/dl-sysdep.h
|
|
|
|
|
|
-+++ uClibc-0.9.30.1/ldso/ldso/frv/dl-sysdep.h 2009-06-21 19:34:42.324963528 +0200
|
|
|
-@@ -51,12 +51,6 @@
|
|
|
-
|
|
|
- extern int _dl_linux_resolve(void) __attribute__((__visibility__("hidden")));
|
|
|
-
|
|
|
--/* 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;
|
|
|
-
|
|
|
- /* We must force strings used early in the bootstrap into the data
|
|
|
-diff -Nur uClibc-0.9.30.1.orig/ldso/ldso/i386/dl-sysdep.h uClibc-0.9.30.1/ldso/ldso/i386/dl-sysdep.h
|
|
|
|
|
|
-+++ uClibc-0.9.30.1/ldso/ldso/i386/dl-sysdep.h 2009-06-21 19:34:42.328963480 +0200
|
|
|
-@@ -25,11 +25,6 @@
|
|
|
- struct elf_resolve;
|
|
|
- extern unsigned long _dl_linux_resolver(struct elf_resolve * tpnt, int reloc_entry);
|
|
|
-
|
|
|
--/* 4096 bytes alignment */
|
|
|
--#define PAGE_ALIGN 0xfffff000
|
|
|
--#define ADDR_ALIGN 0xfff
|
|
|
--#define OFFS_ALIGN 0x7ffff000
|
|
|
--
|
|
|
- /* ELF_RTYPE_CLASS_PLT iff TYPE describes relocation of a PLT entry or
|
|
|
- TLS variable, so undefined references should not be allowed to
|
|
|
- define the value.
|
|
|
-diff -Nur uClibc-0.9.30.1.orig/ldso/ldso/m68k/dl-sysdep.h uClibc-0.9.30.1/ldso/ldso/m68k/dl-sysdep.h
|
|
|
|
|
|
-+++ uClibc-0.9.30.1/ldso/ldso/m68k/dl-sysdep.h 2009-06-21 19:34:42.328963480 +0200
|
|
|
-@@ -25,11 +25,6 @@
|
|
|
- struct elf_resolve;
|
|
|
- extern unsigned long _dl_linux_resolver (struct elf_resolve *, int);
|
|
|
-
|
|
|
--/* 4096 bytes alignment */
|
|
|
--#define PAGE_ALIGN 0xfffff000
|
|
|
--#define ADDR_ALIGN 0xfff
|
|
|
--#define OFFS_ALIGN 0x7ffff000
|
|
|
--
|
|
|
- /* ELF_RTYPE_CLASS_PLT iff TYPE describes relocation of a PLT entry, so
|
|
|
- PLT entries should not be allowed to define the value.
|
|
|
- ELF_RTYPE_CLASS_NOCOPY iff TYPE should not be allowed to resolve to one
|
|
|
-diff -Nur uClibc-0.9.30.1.orig/ldso/ldso/mips/dl-sysdep.h uClibc-0.9.30.1/ldso/ldso/mips/dl-sysdep.h
|
|
|
|
|
|
-+++ uClibc-0.9.30.1/ldso/ldso/mips/dl-sysdep.h 2009-06-22 20:51:04.324542339 +0200
|
|
|
-@@ -148,14 +148,9 @@
|
|
|
-
|
|
|
- /* 4096 bytes alignment */
|
|
|
- #if _MIPS_SIM == _MIPS_SIM_ABI64
|
|
|
--#define PAGE_ALIGN (~0xfffUL)
|
|
|
--#define ADDR_ALIGN 0xfffUL
|
|
|
--#define OFFS_ALIGN (0x10000000000UL-0x1000)
|
|
|
--#else /* O32 || N32 */
|
|
|
--#define PAGE_ALIGN 0xfffff000
|
|
|
--#define ADDR_ALIGN 0xfff
|
|
|
--#define OFFS_ALIGN 0x7ffff000
|
|
|
--#endif /* O32 || N32 */
|
|
|
-+#define OFFS_ALIGN (0x10000000000UL-_dl_pagesize)
|
|
|
-+#endif
|
|
|
-+/* O32 || N32 */
|
|
|
-
|
|
|
- #define elf_machine_type_class(type) ELF_RTYPE_CLASS_PLT
|
|
|
- /* MIPS does not have COPY relocs */
|
|
|
-diff -Nur uClibc-0.9.30.1.orig/ldso/ldso/powerpc/dl-sysdep.h uClibc-0.9.30.1/ldso/ldso/powerpc/dl-sysdep.h
|
|
|
|
|
|
-+++ uClibc-0.9.30.1/ldso/ldso/powerpc/dl-sysdep.h 2009-06-21 19:34:42.328963480 +0200
|
|
|
-@@ -67,11 +67,6 @@
|
|
|
- extern unsigned long _dl_linux_resolver(struct elf_resolve * tpnt, int reloc_entry);
|
|
|
- void _dl_init_got(unsigned long *lpnt,struct elf_resolve *tpnt);
|
|
|
-
|
|
|
--/* 4096 bytes alignment */
|
|
|
--#define PAGE_ALIGN 0xfffff000
|
|
|
--#define ADDR_ALIGN 0xfff
|
|
|
--#define OFFS_ALIGN 0x7ffff000
|
|
|
--
|
|
|
- /* ELF_RTYPE_CLASS_PLT iff TYPE describes relocation of a PLT entry, so
|
|
|
- PLT entries should not be allowed to define the value.
|
|
|
- ELF_RTYPE_CLASS_NOCOPY iff TYPE should not be allowed to resolve to one
|
|
|
-diff -Nur uClibc-0.9.30.1.orig/ldso/ldso/sh/dl-sysdep.h uClibc-0.9.30.1/ldso/ldso/sh/dl-sysdep.h
|
|
|
|
|
|
-+++ uClibc-0.9.30.1/ldso/ldso/sh/dl-sysdep.h 2009-06-21 19:34:42.328963480 +0200
|
|
|
-@@ -83,11 +83,6 @@
|
|
|
-
|
|
|
- #define do_rem(result, n, base) ((result) = _dl_urem((n), (base)))
|
|
|
-
|
|
|
--/* 4096 bytes alignment */
|
|
|
--#define PAGE_ALIGN 0xfffff000
|
|
|
--#define ADDR_ALIGN 0xfff
|
|
|
--#define OFFS_ALIGN 0x7ffff000
|
|
|
--
|
|
|
- /* ELF_RTYPE_CLASS_PLT iff TYPE describes relocation of a PLT entry or
|
|
|
- TLS variable, so undefined references should not be allowed to
|
|
|
- define the value.
|
|
|
-diff -Nur uClibc-0.9.30.1.orig/ldso/ldso/sh64/dl-sysdep.h uClibc-0.9.30.1/ldso/ldso/sh64/dl-sysdep.h
|
|
|
|
|
|
-+++ uClibc-0.9.30.1/ldso/ldso/sh64/dl-sysdep.h 2009-06-21 19:34:42.328963480 +0200
|
|
|
-@@ -25,11 +25,6 @@
|
|
|
- struct elf_resolve;
|
|
|
- extern unsigned long _dl_linux_resolver(struct elf_resolve * tpnt, int reloc_entry);
|
|
|
-
|
|
|
--/* 4096 bytes alignment */
|
|
|
--#define PAGE_ALIGN 0xfffff000
|
|
|
--#define ADDR_ALIGN 0xfff
|
|
|
--#define OFFS_ALIGN 0x7ffff000
|
|
|
--
|
|
|
- /* ELF_RTYPE_CLASS_PLT iff TYPE describes relocation of a PLT entry or
|
|
|
- TLS variable, so undefined references should not be allowed to
|
|
|
- define the value.
|
|
|
-diff -Nur uClibc-0.9.30.1.orig/ldso/ldso/sparc/dl-sysdep.h uClibc-0.9.30.1/ldso/ldso/sparc/dl-sysdep.h
|
|
|
|
|
|
-+++ uClibc-0.9.30.1/ldso/ldso/sparc/dl-sysdep.h 2009-06-21 19:34:42.332963990 +0200
|
|
|
-@@ -89,18 +89,6 @@
|
|
|
- #define do_rem(result, n, base) ((result) = sparc_mod(n, base))
|
|
|
- #endif
|
|
|
-
|
|
|
--/* 4096 bytes alignment */
|
|
|
--#if defined(__sparc_v9__)
|
|
|
--/* ...but 8192 is required for mmap() on sparc64 kernel */
|
|
|
--#define PAGE_ALIGN 0xffffe000
|
|
|
--#define ADDR_ALIGN 0x1fff
|
|
|
--#define OFFS_ALIGN 0x7fffe000
|
|
|
--#elif defined(__sparc_v8__)
|
|
|
--#define PAGE_ALIGN 0xfffff000
|
|
|
--#define ADDR_ALIGN 0xfff
|
|
|
--#define OFFS_ALIGN 0x7ffff000
|
|
|
--#endif
|
|
|
--
|
|
|
- /* ELF_RTYPE_CLASS_PLT iff TYPE describes relocation of a PLT entry, so
|
|
|
- PLT entries should not be allowed to define the value.
|
|
|
- ELF_RTYPE_CLASS_NOCOPY iff TYPE should not be allowed to resolve to one
|
|
|
-diff -Nur uClibc-0.9.30.1.orig/ldso/ldso/x86_64/dl-sysdep.h uClibc-0.9.30.1/ldso/ldso/x86_64/dl-sysdep.h
|
|
|
|
|
|
-+++ uClibc-0.9.30.1/ldso/ldso/x86_64/dl-sysdep.h 2009-06-21 19:34:42.332963990 +0200
|
|
|
-@@ -41,11 +41,6 @@
|
|
|
- struct elf_resolve;
|
|
|
- extern unsigned long _dl_linux_resolver(struct elf_resolve * tpnt, int reloc_entry);
|
|
|
-
|
|
|
--/* 4096 bytes alignment */
|
|
|
--#define PAGE_ALIGN 0xfffff000
|
|
|
--#define ADDR_ALIGN 0xfff
|
|
|
--#define OFFS_ALIGN 0x7ffff000
|
|
|
--
|
|
|
- /* ELF_RTYPE_CLASS_PLT iff TYPE describes relocation of a PLT entry or
|
|
|
- TLS variable, so undefined references should not be allowed to
|
|
|
- define the value.
|
|
|
-diff -Nur uClibc-0.9.30.1.orig/ldso/ldso/xtensa/dl-sysdep.h uClibc-0.9.30.1/ldso/ldso/xtensa/dl-sysdep.h
|
|
|
|
|
|
-+++ uClibc-0.9.30.1/ldso/ldso/xtensa/dl-sysdep.h 2009-06-21 19:34:42.332963990 +0200
|
|
|
-@@ -76,11 +76,6 @@
|
|
|
- struct elf_resolve;
|
|
|
- extern unsigned long _dl_linux_resolver (struct elf_resolve *, int);
|
|
|
-
|
|
|
--/* 4096 bytes alignment */
|
|
|
--#define PAGE_ALIGN 0xfffff000
|
|
|
--#define ADDR_ALIGN 0xfff
|
|
|
--#define OFFS_ALIGN 0x7ffff000
|
|
|
--
|
|
|
- /* ELF_RTYPE_CLASS_PLT iff TYPE describes relocation of a PLT entry, so
|
|
|
- undefined references should not be allowed to define the value. */
|
|
|
- #define elf_machine_type_class(type) \
|
|
|
-diff -Nur uClibc-0.9.30.1.orig/libc/sysdeps/linux/mips/bits/uClibc_page.h uClibc-0.9.30.1/libc/sysdeps/linux/mips/bits/uClibc_page.h
|
|
|
|
|
|
-+++ uClibc-0.9.30.1/libc/sysdeps/linux/mips/bits/uClibc_page.h 2009-06-22 21:04:53.505363149 +0200
|
|
|
-@@ -20,15 +20,17 @@
|
|
|
- #ifndef _UCLIBC_PAGE_H
|
|
|
- #define _UCLIBC_PAGE_H
|
|
|
-
|
|
|
--/* PAGE_SIZE of mips is sortof wierd, and depends on how the kernel
|
|
|
-- * happens to have been configured. It might use 4KB, 16K or 64K
|
|
|
-- * pages. To avoid using the current kernel configuration settings,
|
|
|
-- * uClibc will simply use 4KB on mips and call it good. */
|
|
|
--#if 0
|
|
|
--#define PAGE_SHIFT 16
|
|
|
-+/* This approach sucks, one should really use sysconf(_SC_PAGESIZE)
|
|
|
-+ * instead. The current mips64 kernel only seems to boot with a 16K
|
|
|
-+ * page size on a Loongson 2f notebook, so we hardcode it to 16K on
|
|
|
-+ * MIPS64 (matching the kernel developer's default) and 4K otherwise.
|
|
|
-+ */
|
|
|
-+#ifdef __mips64
|
|
|
- #define PAGE_SHIFT 14
|
|
|
--#endif
|
|
|
-+#else
|
|
|
- #define PAGE_SHIFT 12
|
|
|
-+#endif
|
|
|
-+
|
|
|
- #define PAGE_SIZE (1UL << PAGE_SHIFT)
|
|
|
- #define PAGE_MASK (~(PAGE_SIZE-1))
|
|
|
-
|