-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 10/27/2010 10:08 PM, Bernhard Reutner-Fischer wrote: > On Tue, Sep 21, 2010 at 01:09:27PM +0200, Carmelo AMOROSO wrote: > >Due to aliasing issue on SH-4 and SH-3 7705 the SHMLBA was set to be > >4 * pagesize, that is misleading for those SH core variants that are not > >affected by this issue. > > > >Starting from kernel 2.6.25-rc1 for SH cpu, the L1D cache shape info > >is passed to the user space through the auxiliary vector.From the cache > shape > >it is possible to decode the dcache way size and compute accurately the > value > >for shared memory alignment constraint SHMLBA. > > > >Within the dynamic linker, we don't need to access to the extra entries of > the > >auxvect, we do this only into __uClibc_main for those architectures that > define > >to have extra entries. When initialising the auxvt, the cache shape is read > and > >decoded, through an arch specific macro DL_PLATFORM_AUXV. > > > >Signed-off-by: Salvatore Cro <[email protected]> > >Signed-off-by: Carmelo Amoroso <[email protected]> > >--- > > Makefile.in | 4 +- > > include/auxvect.h | 18 ++++++++ > > ldso/ldso/dl-startup.c | 5 +- > > libc/misc/elf/Makefile.in | 4 ++ > > libc/misc/elf/dl-support.c | 23 ++++++++++ > > libc/misc/internals/__uClibc_main.c | 30 ++++++------ > > libc/sysdeps/linux/common/bits/auxvect.h | 5 ++ > > libc/sysdeps/linux/common/bits/kernel-features.h | 5 ++- > > libc/sysdeps/linux/sh/Makefile.arch | 7 +++ > > libc/sysdeps/linux/sh/bits/auxvect.h | 6 +++ > > libc/sysdeps/linux/sh/bits/shm.h | 12 +++++ > > libc/sysdeps/linux/sh/dl-support.c | 52 ++++++++++++++++++++++ > > test/Makefile | 1 + > > 13 files changed, 153 insertions(+), 19 deletions(-) > > create mode 100644 include/auxvect.h > > create mode 100644 libc/sysdeps/linux/common/bits/auxvect.h > > create mode 100644 libc/sysdeps/linux/sh/bits/auxvect.h > > create mode 100644 libc/sysdeps/linux/sh/dl-support.c > > > >diff --git a/Makefile.in b/Makefile.in > >index 348bc0c..cedd99b 100644 > >--- a/Makefile.in > >+++ b/Makefile.in > >@@ -219,7 +219,9 @@ HEADERS_RM- := \ > > tls.h \ > > rpc/des_crypt.h \ > > rpc/key_prot.h \ > >- rpc/rpc_des.h > >+ rpc/rpc_des.h \ > >+ auxvect.h \ > >+ bits/auxvect.h \ > > HEADERS_RM-$(UCLIBC_HAS_UTMPX) += \ > > bits/utmpx.h \ > > utmpx.h > >diff --git a/include/auxvect.h b/include/auxvect.h > >new file mode 100644 > >index 0000000..5e54a1b > >--- /dev/null > >+++ b/include/auxvect.h > >@@ -0,0 +1,18 @@ > >+#include <bits/auxvect.h> > >+ > >+/* Check for any broken settings, default value are fine anyway */ >
Hi Bernhard, thanks for feedback (and fixing a lot of English errors :-P ) ..... [SNIP] .... > >diff --git a/libc/misc/elf/Makefile.in b/libc/misc/elf/Makefile.in > >index 1b4bd8b..e803894 100644 > >--- a/libc/misc/elf/Makefile.in > >+++ b/libc/misc/elf/Makefile.in > >@@ -10,6 +10,10 @@ libc_a_CSRC = dl-support.c dl-core.c dl-iterate-phdr.c > > CFLAGS-dl-iterate-phdr.c=-D_GNU_SOURCE > -I$(top_srcdir)ldso/ldso/$(TARGET_ARCH) -I$(top_srcdir)ldso/include > > CFLAGS-dl-core.c=-I$(top_srcdir)ldso/ldso/$(TARGET_ARCH) > -I$(top_srcdir)ldso/include > > > >+ifeq ($(TARGET_ARCH),sh) > >+libc_a_CSRC := $(filter-out dl-support.c,$(libc_a_CSRC)) > >+endif > > I don't like that conceptionally. I understand... > Don't we already prefer arch-specific impls over the common ones, even > in misc/elf? > I don't thin so... I'll check and propose a new patch. > >+ > > MISC_ELF_OUT:=$(top_builddir)libc/misc/elf > > MISC_ELF_OBJ:=$(patsubst %.c,$(MISC_ELF_OUT)/%.o,$(libc_a_CSRC)) > > > > [] > > >diff --git a/libc/sysdeps/linux/common/bits/auxvect.h > b/libc/sysdeps/linux/common/bits/auxvect.h > >new file mode 100644 > >index 0000000..b027e69 > >--- /dev/null > >+++ b/libc/sysdeps/linux/common/bits/auxvect.h > >@@ -0,0 +1,5 @@ > >+#include <elf.h> > >+ > >+/* Minimum number of AT entries from auxiliar vector */ > >+#define AT_BASE_NUM (AT_EGID + 1) > >+#define AT_ARCH_EXTRAS 0 > > missing copyright info. > ok > >diff --git a/test/Makefile b/test/Makefile > >index 857ac8a..e416e12 100644 > >--- a/test/Makefile > >+++ b/test/Makefile > >@@ -42,6 +42,7 @@ ifeq ($(HAS_NO_THREADS),y) > > DIRS := $(filter-out pthread,$(DIRS)) > > endif > > > >+DIRS := $(filter-out math,$(DIRS)) > > unrelated. > my apologies... garbage in my commit :( Cheers, Carmelo -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAkzzm2IACgkQoRq/3BrK1s+BNACg1dJ6LsUzAajabB8u9ZzL4UNP UiwAn1+Cttbvsz8+lb+p5LlQZrwR/kNi =nvbT -----END PGP SIGNATURE----- _______________________________________________ uClibc mailing list [email protected] http://lists.busybox.net/mailman/listinfo/uclibc
