diff options
author | Nicolás Reynolds <apoyosis@correo.inta.gob.ar> | 2012-04-17 20:37:01 -0300 |
---|---|---|
committer | Nicolás Reynolds <apoyosis@correo.inta.gob.ar> | 2012-04-17 20:37:01 -0300 |
commit | 76480b6b18868754fc95ff41d02885898c54367f (patch) | |
tree | b3c9945f331f2cadd2be8a7dba5b2097c519998f /cross/mips64el-unknown-linux-gnu-glibc/glibc-2.15-vdso.patch | |
parent | 7a97ab610eea972771b91f51cb180f0f195b4da3 (diff) |
Updating the cross toolchain for mips64el
Added patches from upstream and diff'ed with them. Binutils and
linux-libre-api-headers are already built. GCC Core builts but
`mips64el-unknown-linux-gnu-gcc -v dummy.c` fails because of missing -EL on
i686-pc-linux-gnu-as. Exporting mips64el-...-binutils to the PATH solves the
problem but mips64el-...-ld fails with missing crt*.
No idea why target gcc decides to use the host as instead of the target one,
since the PKGBUILD hasn't fundamentally changed.
Diffstat (limited to 'cross/mips64el-unknown-linux-gnu-glibc/glibc-2.15-vdso.patch')
-rw-r--r-- | cross/mips64el-unknown-linux-gnu-glibc/glibc-2.15-vdso.patch | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/cross/mips64el-unknown-linux-gnu-glibc/glibc-2.15-vdso.patch b/cross/mips64el-unknown-linux-gnu-glibc/glibc-2.15-vdso.patch new file mode 100644 index 000000000..7fd394f90 --- /dev/null +++ b/cross/mips64el-unknown-linux-gnu-glibc/glibc-2.15-vdso.patch @@ -0,0 +1,40 @@ +diff --git a/elf/Makefile b/elf/Makefile +index 8234ba7..25ffc57 100644 +--- a/elf/Makefile ++++ b/elf/Makefile +@@ -1203,3 +1203,14 @@ $(objpfx)tst-relsort1mod1.so: $(libm) $(objpfx)tst-relsort1mod2.so + $(objpfx)tst-relsort1mod2.so: $(libm) + $(objpfx)tst-relsort1.out: $(objpfx)tst-relsort1mod1.so \ + $(objpfx)tst-relsort1mod2.so ++ ++tests: $(objpfx)tst-unused-dep.out ++ ++$(objpfx)tst-unused-dep.out: $(objpfx)testobj1.so ++ LD_TRACE_LOADED_OBJECTS=1 \ ++ LD_DEBUG=unused \ ++ LD_PRELOAD= \ ++ $(elf-objpfx)${rtld-installed-name} \ ++ --library-path $(rpath-link)$(patsubst %,:%,$(sysdep-library-path)) \ ++ $< > $@ ++ cmp $@ /dev/null > /dev/null +diff --git a/elf/rtld.c b/elf/rtld.c +index 2e4f97f..3e15447 100644 +--- a/elf/rtld.c ++++ b/elf/rtld.c +@@ -1,5 +1,5 @@ + /* Run time dynamic linker. +- Copyright (C) 1995-2010, 2011 Free Software Foundation, Inc. ++ Copyright (C) 1995-2012 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or +@@ -1375,6 +1375,9 @@ of this helper program; chances are you did not intend to run this program.\n\ + _dl_setup_hash (l); + l->l_relocated = 1; + ++ /* The vDSO is always used. */ ++ l->l_used = 1; ++ + /* Initialize l_local_scope to contain just this map. This allows + the use of dl_lookup_symbol_x to resolve symbols within the vdso. + So we create a single entry list pointing to l_real as its only |