eglibc: removed eglibc.
This commit is contained in:
parent
722d66e44f
commit
5b78d1f5b5
@ -1,57 +0,0 @@
|
||||
version=\
|
||||
(
|
||||
'2.15.17955'
|
||||
)
|
||||
|
||||
url=\
|
||||
(
|
||||
"http://www.lsts.pt/glued/eglibc-$version.tar.bz2"
|
||||
)
|
||||
|
||||
md5=\
|
||||
(
|
||||
'0694f304863e3c97562857388137a83e'
|
||||
)
|
||||
|
||||
maintainer=\
|
||||
(
|
||||
'Ricardo Martins <rasm@fe.up.pt>'
|
||||
)
|
||||
|
||||
build_dir=$pkg_var
|
||||
|
||||
post_unpack()
|
||||
{
|
||||
ln -fs ../ports ../eglibc-$version/libc/ports
|
||||
|
||||
patches=$(ls "$pkg_dir"/patches/*.patch)
|
||||
|
||||
cd ../eglibc-$version
|
||||
if [ -n "$patches" ]; then
|
||||
cat $patches | patch -p1
|
||||
fi
|
||||
}
|
||||
|
||||
configure()
|
||||
{
|
||||
export libc_cv_slibdir='/lib'
|
||||
BUILD_CC=$cmd_host_cc \
|
||||
AR="$cfg_dir_toolchain/bin/$cfg_target_canonical-ar" \
|
||||
RANLIB="$cfg_dir_toolchain/bin/$cfg_target_canonical-ranlib" \
|
||||
CC="$cfg_dir_toolchain/bin/$cfg_target_canonical-gcc" \
|
||||
CXX="$cfg_dir_toolchain/bin/$cfg_target_canonical-g++" \
|
||||
CFLAGS=$cfg_target_gcc_flags \
|
||||
"../eglibc-$version/libc/configure" \
|
||||
$cfg_target_eglibc_configure_flags \
|
||||
--prefix=/usr \
|
||||
--with-headers="$cfg_dir_toolchain_sysroot/usr/include" \
|
||||
--build="$cfg_host_canonical" \
|
||||
--host="$cfg_target_canonical" \
|
||||
--disable-profile \
|
||||
--without-gd \
|
||||
--without-cvs \
|
||||
--enable-add-ons \
|
||||
--with-tls \
|
||||
--enable-kernel=2.6.32 \
|
||||
--disable-nls
|
||||
}
|
@ -1,37 +0,0 @@
|
||||
source $pkg_common
|
||||
|
||||
requires=\
|
||||
(
|
||||
'gcc/cross_stage2'
|
||||
)
|
||||
|
||||
build()
|
||||
{
|
||||
$cmd_make -j1
|
||||
}
|
||||
|
||||
host_install()
|
||||
{
|
||||
$cmd_make install_root="$cfg_dir_toolchain_sysroot" -j1 install &&
|
||||
cp "$pkg_dir"/files/timepps.h "$cfg_dir_toolchain_sysroot/usr/include"
|
||||
}
|
||||
|
||||
target_install()
|
||||
{
|
||||
$cmd_mkdir \
|
||||
"$cfg_dir_rootfs/sbin" \
|
||||
"$cfg_dir_rootfs/usr/lib" &&
|
||||
|
||||
for f in "$cfg_dir_toolchain_sysroot/lib"/*; do
|
||||
base="$(basename $f)"
|
||||
if [ -L "$f" ]; then
|
||||
cp -vd "$f" "$cfg_dir_rootfs/usr/lib/$base"
|
||||
elif [ -f "$f" ]; then
|
||||
$cmd_target_strip -v --strip-unneeded -o "$cfg_dir_rootfs/usr/lib/$base" "$f"
|
||||
fi
|
||||
done
|
||||
|
||||
$cmd_target_strip -v --strip-unneeded "elf/ldconfig" \
|
||||
-o "$cfg_dir_rootfs/sbin/ldconfig" &&
|
||||
tar -C "$pkg_dir/fs" --exclude .svn -c -f - . | tar -C "$cfg_dir_rootfs" -x -v -f -
|
||||
}
|
@ -1,199 +0,0 @@
|
||||
/*
|
||||
* timepps.h -- PPS API main header
|
||||
*
|
||||
* Copyright (C) 2005-2007 Rodolfo Giometti <giometti@linux.it>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
#ifndef _SYS_TIMEPPS_H_
|
||||
#define _SYS_TIMEPPS_H_
|
||||
|
||||
#include <unistd.h>
|
||||
#include <errno.h>
|
||||
#include <sys/time.h>
|
||||
#include <sys/ioctl.h>
|
||||
#include <linux/types.h>
|
||||
#include <linux/pps.h>
|
||||
|
||||
#define LINUXPPS 1 /* signal we are using LinuxPPS */
|
||||
|
||||
/*
|
||||
* New data structures
|
||||
*/
|
||||
|
||||
struct ntp_fp {
|
||||
unsigned int integral;
|
||||
unsigned int fractional;
|
||||
};
|
||||
|
||||
union pps_timeu {
|
||||
struct timespec tspec;
|
||||
struct ntp_fp ntpfp;
|
||||
unsigned long longpad[3];
|
||||
};
|
||||
|
||||
struct pps_info {
|
||||
unsigned long assert_sequence; /* seq. num. of assert event */
|
||||
unsigned long clear_sequence; /* seq. num. of clear event */
|
||||
union pps_timeu assert_tu; /* time of assert event */
|
||||
union pps_timeu clear_tu; /* time of clear event */
|
||||
int current_mode; /* current mode bits */
|
||||
};
|
||||
|
||||
struct pps_params {
|
||||
int api_version; /* API version # */
|
||||
int mode; /* mode bits */
|
||||
union pps_timeu assert_off_tu; /* offset compensation for assert */
|
||||
union pps_timeu clear_off_tu; /* offset compensation for clear */
|
||||
};
|
||||
|
||||
typedef int pps_handle_t; /* represents a PPS source */
|
||||
typedef unsigned long pps_seq_t; /* sequence number */
|
||||
typedef struct ntp_fp ntp_fp_t; /* NTP-compatible time stamp */
|
||||
typedef union pps_timeu pps_timeu_t; /* generic data type for time stamps */
|
||||
typedef struct pps_info pps_info_t;
|
||||
typedef struct pps_params pps_params_t;
|
||||
|
||||
#define assert_timestamp assert_tu.tspec
|
||||
#define clear_timestamp clear_tu.tspec
|
||||
|
||||
#define assert_timestamp_ntpfp assert_tu.ntpfp
|
||||
#define clear_timestamp_ntpfp clear_tu.ntpfp
|
||||
|
||||
#define assert_offset assert_off_tu.tspec
|
||||
#define clear_offset clear_off_tu.tspec
|
||||
|
||||
#define assert_offset_ntpfp assert_off_tu.ntpfp
|
||||
#define clear_offset_ntpfp clear_off_tu.ntpfp
|
||||
|
||||
/*
|
||||
* The PPS API
|
||||
*/
|
||||
|
||||
static __inline int time_pps_create(int source, pps_handle_t *handle)
|
||||
{
|
||||
int ret;
|
||||
struct pps_kparams dummy;
|
||||
|
||||
if (!handle) {
|
||||
errno = EINVAL;
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* First we check if current device is a valid PPS one by
|
||||
* doing a dummy PPS_GETPARAMS...
|
||||
*/
|
||||
ret = ioctl(source, PPS_GETPARAMS, &dummy);
|
||||
if (ret) {
|
||||
errno = EOPNOTSUPP;
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* ... then since in LinuxPPS there are no differences between a
|
||||
* "PPS source" and a "PPS handle", we simply return the same value.
|
||||
*/
|
||||
*handle = source;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static __inline int time_pps_destroy(pps_handle_t handle)
|
||||
{
|
||||
return close(handle);
|
||||
}
|
||||
|
||||
static __inline int time_pps_getparams(pps_handle_t handle,
|
||||
pps_params_t *ppsparams)
|
||||
{
|
||||
int ret;
|
||||
struct pps_kparams __ppsparams;
|
||||
|
||||
ret = ioctl(handle, PPS_GETPARAMS, &__ppsparams);
|
||||
|
||||
ppsparams->api_version = __ppsparams.api_version;
|
||||
ppsparams->mode = __ppsparams.mode;
|
||||
ppsparams->assert_off_tu.tspec.tv_sec = __ppsparams.assert_off_tu.sec;
|
||||
ppsparams->assert_off_tu.tspec.tv_nsec = __ppsparams.assert_off_tu.nsec;
|
||||
ppsparams->clear_off_tu.tspec.tv_sec = __ppsparams.clear_off_tu.sec;
|
||||
ppsparams->clear_off_tu.tspec.tv_nsec = __ppsparams.clear_off_tu.nsec;
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static __inline int time_pps_setparams(pps_handle_t handle,
|
||||
const pps_params_t *ppsparams)
|
||||
{
|
||||
struct pps_kparams __ppsparams;
|
||||
|
||||
__ppsparams.api_version = ppsparams->api_version;
|
||||
__ppsparams.mode = ppsparams->mode;
|
||||
__ppsparams.assert_off_tu.sec = ppsparams->assert_off_tu.tspec.tv_sec;
|
||||
__ppsparams.assert_off_tu.nsec = ppsparams->assert_off_tu.tspec.tv_nsec;
|
||||
__ppsparams.clear_off_tu.sec = ppsparams->clear_off_tu.tspec.tv_sec;
|
||||
__ppsparams.clear_off_tu.nsec = ppsparams->clear_off_tu.tspec.tv_nsec;
|
||||
|
||||
return ioctl(handle, PPS_SETPARAMS, &__ppsparams);
|
||||
}
|
||||
|
||||
/* Get capabilities for handle */
|
||||
static __inline int time_pps_getcap(pps_handle_t handle, int *mode)
|
||||
{
|
||||
return ioctl(handle, PPS_GETCAP, mode);
|
||||
}
|
||||
|
||||
static __inline int time_pps_fetch(pps_handle_t handle, const int tsformat,
|
||||
pps_info_t *ppsinfobuf,
|
||||
const struct timespec *timeout)
|
||||
{
|
||||
struct pps_fdata __fdata;
|
||||
int ret;
|
||||
|
||||
/* Sanity checks */
|
||||
if (tsformat != PPS_TSFMT_TSPEC) {
|
||||
errno = EINVAL;
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (timeout) {
|
||||
__fdata.timeout.sec = timeout->tv_sec;
|
||||
__fdata.timeout.nsec = timeout->tv_nsec;
|
||||
__fdata.timeout.flags = ~PPS_TIME_INVALID;
|
||||
} else
|
||||
__fdata.timeout.flags = PPS_TIME_INVALID;
|
||||
|
||||
ret = ioctl(handle, PPS_FETCH, &__fdata);
|
||||
|
||||
ppsinfobuf->assert_sequence = __fdata.info.assert_sequence;
|
||||
ppsinfobuf->clear_sequence = __fdata.info.clear_sequence;
|
||||
ppsinfobuf->assert_tu.tspec.tv_sec = __fdata.info.assert_tu.sec;
|
||||
ppsinfobuf->assert_tu.tspec.tv_nsec = __fdata.info.assert_tu.nsec;
|
||||
ppsinfobuf->clear_tu.tspec.tv_sec = __fdata.info.clear_tu.sec;
|
||||
ppsinfobuf->clear_tu.tspec.tv_nsec = __fdata.info.clear_tu.nsec;
|
||||
ppsinfobuf->current_mode = __fdata.info.current_mode;
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static __inline int time_pps_kcbind(pps_handle_t handle,
|
||||
const int kernel_consumer,
|
||||
const int edge, const int tsformat)
|
||||
{
|
||||
/* LinuxPPS doesn't implement kernel consumer feature */
|
||||
errno = EOPNOTSUPP;
|
||||
return -1;
|
||||
}
|
||||
|
||||
#endif /* _SYS_TIMEPPS_H_ */
|
@ -1 +0,0 @@
|
||||
127.0.0.1 localhost.localdomain localhost
|
@ -1 +0,0 @@
|
||||
/usr/lib
|
@ -1,15 +0,0 @@
|
||||
passwd: files
|
||||
group: files
|
||||
shadow: files
|
||||
|
||||
publickey: files
|
||||
|
||||
hosts: files dns
|
||||
networks: files
|
||||
|
||||
protocols: files
|
||||
services: files
|
||||
ethers: files
|
||||
rpc: files
|
||||
|
||||
netgroup: files
|
@ -1,24 +0,0 @@
|
||||
source $pkg_common
|
||||
|
||||
requires=\
|
||||
(
|
||||
'gcc/cross_stage1'
|
||||
'linux-headers/cross'
|
||||
)
|
||||
|
||||
host_install()
|
||||
{
|
||||
cat >> configparms << EOF
|
||||
install-bootstrap-headers=yes
|
||||
cross-compiling=yes
|
||||
install_root="$cfg_dir_toolchain_sysroot"
|
||||
EOF
|
||||
|
||||
$cmd_make \
|
||||
install_root="$cfg_dir_toolchain_sysroot" \
|
||||
install-bootstrap-headers=yes install-headers &&
|
||||
$cmd_mkdir "$cfg_dir_toolchain_sysroot/usr/lib" &&
|
||||
$cmd_make csu/subdir_lib &&
|
||||
cp csu/crt1.o csu/crti.o csu/crtn.o "$cfg_dir_toolchain_sysroot/usr/lib" &&
|
||||
$cmd_target_cc -nostdlib -nostartfiles -shared -x c /dev/null -o "$cfg_dir_toolchain_sysroot/usr/lib/libc.so"
|
||||
}
|
@ -1,39 +0,0 @@
|
||||
source $pkg_common
|
||||
|
||||
requires=\
|
||||
(
|
||||
'eglibc/cross'
|
||||
)
|
||||
|
||||
configure()
|
||||
{
|
||||
"../eglibc-$version/localedef/configure" \
|
||||
--prefix="$cfg_dir_toolchain_sysroot/usr" \
|
||||
--with-glibc=."./eglibc-$version/libc"
|
||||
}
|
||||
|
||||
build()
|
||||
{
|
||||
$cmd_make
|
||||
}
|
||||
|
||||
host_install()
|
||||
{
|
||||
$cmd_mkdir "$cfg_dir_toolchain_sysroot/usr/lib/locale" &&
|
||||
if [ -f "$cfg_dir_toolchain_sysroot/usr/share/i18n/charmaps/UTF-8.gz" ]; then
|
||||
gunzip -f "$cfg_dir_toolchain_sysroot/usr/share/i18n/charmaps/UTF-8.gz"
|
||||
fi &&
|
||||
if [ -f "$cfg_dir_toolchain_sysroot/usr/share/i18n/charmaps/ISO-8859-1.gz" ]; then
|
||||
gunzip -f "$cfg_dir_toolchain_sysroot/usr/share/i18n/charmaps/ISO-8859-1.gz"
|
||||
fi &&
|
||||
|
||||
./localedef -v -c -i pt_PT -f UTF-8 pt_PT
|
||||
./localedef -v -c -i ru_RU -f UTF-8 ru_RU
|
||||
true
|
||||
}
|
||||
|
||||
target_install()
|
||||
{
|
||||
$cmd_mkdir "$cfg_dir_rootfs/usr/lib/locale" &&
|
||||
cp -v "$cfg_dir_toolchain_sysroot/usr/lib/locale/locale-archive" "$cfg_dir_rootfs/usr/lib/locale"
|
||||
}
|
@ -1,24 +0,0 @@
|
||||
diff -Nru eglibc-2.15-16611/libc/include/libc-symbols.h eglibc-2.15-16611-rasm/libc/include/libc-symbols.h
|
||||
--- eglibc-2.15-16611/libc/include/libc-symbols.h 2012-01-09 21:16:30.000000000 +0000
|
||||
+++ eglibc-2.15-16611-rasm/libc/include/libc-symbols.h 2012-01-10 23:37:36.863616530 +0000
|
||||
@@ -647,7 +647,7 @@
|
||||
# define libc_hidden_proto(name, attrs...) hidden_proto (name, ##attrs)
|
||||
# define libc_hidden_def(name) hidden_def (name)
|
||||
# define libc_hidden_weak(name) hidden_weak (name)
|
||||
-# define libc_hidden_nolink(name, version) hidden_nolink (name, libc, version)
|
||||
+# define libc_hidden_nolink(name, version) hidden_def (name)
|
||||
# define libc_hidden_ver(local, name) hidden_ver (local, name)
|
||||
# define libc_hidden_data_def(name) hidden_data_def (name)
|
||||
# define libc_hidden_data_weak(name) hidden_data_weak (name)
|
||||
diff -Nru eglibc-2.15-16611/libc/sunrpc/Makefile eglibc-2.15-16611-rasm/libc/sunrpc/Makefile
|
||||
--- eglibc-2.15-16611/libc/sunrpc/Makefile 2012-01-09 21:16:30.000000000 +0000
|
||||
+++ eglibc-2.15-16611-rasm/libc/sunrpc/Makefile 2012-01-10 23:38:14.574076188 +0000
|
||||
@@ -55,7 +55,7 @@
|
||||
des_crypt.h)
|
||||
headers-not-in-tirpc = $(addprefix rpc/,key_prot.h rpc_des.h) \
|
||||
$(rpcsvc:%=rpcsvc/%) rpcsvc/bootparam.h
|
||||
-headers = rpc/netdb.h
|
||||
+headers = rpc/netdb.h $(headers-in-tirpc) $(headers-not-in-tirpc)
|
||||
generated = $(rpcsvc:%.x=rpcsvc/%.h) $(rpcsvc:%.x=x%.c) $(rpcsvc:%.x=x%.stmp) \
|
||||
$(rpcsvc:%.x=rpcsvc/%.stmp) rpcgen
|
||||
generated-dirs := rpcsvc
|
@ -1,15 +0,0 @@
|
||||
diff -Nru eglibc-2.15-16611/libc/nis/Makefile eglibc-2.15-16611-rasm/libc/nis/Makefile
|
||||
--- eglibc-2.15-16611/libc/nis/Makefile 2012-01-09 21:16:30.000000000 +0000
|
||||
+++ eglibc-2.15-16611-rasm/libc/nis/Makefile 2012-01-10 23:40:26.409018009 +0000
|
||||
@@ -25,9 +25,9 @@
|
||||
|
||||
aux := nis_hash
|
||||
|
||||
+headers := $(wildcard rpcsvc/*.[hx])
|
||||
distribute := nss-nis.h nss-nisplus.h nis_intern.h Banner \
|
||||
- nisplus-parser.h nis_xdr.h nss \
|
||||
- $(wildcard rpcsvc/*.[hx])
|
||||
+ nisplus-parser.h nis_xdr.h nss
|
||||
|
||||
# These are the databases available for the nis (and perhaps later nisplus)
|
||||
# service. This must be a superset of the services in nss.
|
@ -1,107 +0,0 @@
|
||||
diff -Nru eglibc-2.15.17955/libc/elf/dl-close.c eglibc-2.15.17955.rasm/libc/elf/dl-close.c
|
||||
--- eglibc-2.15.17955/libc/elf/dl-close.c 2012-04-07 20:58:55.000000000 +0100
|
||||
+++ eglibc-2.15.17955.rasm/libc/elf/dl-close.c 2012-10-23 22:33:33.351846745 +0100
|
||||
@@ -119,17 +119,8 @@
|
||||
if (map->l_direct_opencount > 0 || map->l_type != lt_loaded
|
||||
|| dl_close_state != not_pending)
|
||||
{
|
||||
- if (map->l_direct_opencount == 0)
|
||||
- {
|
||||
- if (map->l_type == lt_loaded)
|
||||
- dl_close_state = rerun;
|
||||
- else if (map->l_type == lt_library)
|
||||
- {
|
||||
- struct link_map **oldp = map->l_initfini;
|
||||
- map->l_initfini = map->l_orig_initfini;
|
||||
- _dl_scope_free (oldp);
|
||||
- }
|
||||
- }
|
||||
+ if (map->l_direct_opencount == 0 && map->l_type == lt_loaded)
|
||||
+ dl_close_state = rerun;
|
||||
|
||||
/* There are still references to this object. Do nothing more. */
|
||||
if (__builtin_expect (GLRO_dl_debug_mask & DL_DEBUG_FILES, 0))
|
||||
diff -Nru eglibc-2.15.17955/libc/elf/dl-deps.c eglibc-2.15.17955.rasm/libc/elf/dl-deps.c
|
||||
--- eglibc-2.15.17955/libc/elf/dl-deps.c 2012-04-07 20:58:55.000000000 +0100
|
||||
+++ eglibc-2.15.17955.rasm/libc/elf/dl-deps.c 2012-10-23 22:38:17.124208092 +0100
|
||||
@@ -689,6 +689,7 @@
|
||||
l_initfini[nlist] = NULL;
|
||||
atomic_write_barrier ();
|
||||
map->l_initfini = l_initfini;
|
||||
+ map->l_free_initfini = 1;
|
||||
if (l_reldeps != NULL)
|
||||
{
|
||||
atomic_write_barrier ();
|
||||
@@ -697,7 +698,7 @@
|
||||
_dl_scope_free (old_l_reldeps);
|
||||
}
|
||||
if (old_l_initfini != NULL)
|
||||
- map->l_orig_initfini = old_l_initfini;
|
||||
+ _dl_scope_free (old_l_initfini);
|
||||
|
||||
if (errno_reason)
|
||||
_dl_signal_error (errno_reason == -1 ? 0 : errno_reason, objname,
|
||||
diff -Nru eglibc-2.15.17955/libc/elf/dl-libc.c eglibc-2.15.17955.rasm/libc/elf/dl-libc.c
|
||||
--- eglibc-2.15.17955/libc/elf/dl-libc.c 2012-04-07 20:58:55.000000000 +0100
|
||||
+++ eglibc-2.15.17955.rasm/libc/elf/dl-libc.c 2012-10-23 22:39:02.388449874 +0100
|
||||
@@ -270,13 +270,13 @@
|
||||
|
||||
for (Lmid_t ns = 0; ns < GL(dl_nns); ++ns)
|
||||
{
|
||||
- /* Remove all additional names added to the objects. */
|
||||
for (l = GL(dl_ns)[ns]._ns_loaded; l != NULL; l = l->l_next)
|
||||
{
|
||||
struct libname_list *lnp = l->l_libname->next;
|
||||
|
||||
l->l_libname->next = NULL;
|
||||
|
||||
+ /* Remove all additional names added to the objects. */
|
||||
while (lnp != NULL)
|
||||
{
|
||||
struct libname_list *old = lnp;
|
||||
@@ -284,6 +284,10 @@
|
||||
if (! old->dont_free)
|
||||
free (old);
|
||||
}
|
||||
+
|
||||
+ /* Free the initfini dependency list. */
|
||||
+ if (l->l_free_initfini)
|
||||
+ free (l->l_initfini);
|
||||
}
|
||||
|
||||
if (__builtin_expect (GL(dl_ns)[ns]._ns_global_scope_alloc, 0) != 0
|
||||
diff -Nru eglibc-2.15.17955/libc/elf/rtld.c eglibc-2.15.17955.rasm/libc/elf/rtld.c
|
||||
--- eglibc-2.15.17955/libc/elf/rtld.c 2012-04-07 20:58:55.000000000 +0100
|
||||
+++ eglibc-2.15.17955.rasm/libc/elf/rtld.c 2012-10-23 22:39:30.692348894 +0100
|
||||
@@ -2277,6 +2277,8 @@
|
||||
lnp->dont_free = 1;
|
||||
lnp = lnp->next;
|
||||
}
|
||||
+ /* Also allocated with the fake malloc(). */
|
||||
+ l->l_free_initfini = 0;
|
||||
|
||||
if (l != &GL(dl_rtld_map))
|
||||
_dl_relocate_object (l, l->l_scope, GLRO(dl_lazy) ? RTLD_LAZY : 0,
|
||||
diff -Nru eglibc-2.15.17955/libc/include/link.h eglibc-2.15.17955.rasm/libc/include/link.h
|
||||
--- eglibc-2.15.17955/libc/include/link.h 2012-04-07 20:58:55.000000000 +0100
|
||||
+++ eglibc-2.15.17955.rasm/libc/include/link.h 2012-10-23 22:40:31.526900046 +0100
|
||||
@@ -192,6 +192,9 @@
|
||||
during LD_TRACE_PRELINKING=1
|
||||
contains any DT_SYMBOLIC
|
||||
libraries. */
|
||||
+ unsigned int l_free_initfini:1; /* Nonzero if l_initfini can be
|
||||
+ freed, ie. not allocated with
|
||||
+ the dummy malloc in ld.so. */
|
||||
|
||||
/* Collected information about own RPATH directories. */
|
||||
struct r_search_path_struct l_rpath_dirs;
|
||||
@@ -240,9 +243,6 @@
|
||||
|
||||
/* List of object in order of the init and fini calls. */
|
||||
struct link_map **l_initfini;
|
||||
- /* The init and fini list generated at startup, saved when the
|
||||
- object is also loaded dynamically. */
|
||||
- struct link_map **l_orig_initfini;
|
||||
|
||||
/* List of the dependencies introduced through symbol binding. */
|
||||
struct link_map_reldeps
|
@ -1,12 +0,0 @@
|
||||
diff -Naur eglibc-2.15-16526.orig/config.make.in eglibc-2.15-16526/config.make.in
|
||||
--- eglibc-2.15-16526.orig/libc/config.make.in 2012-07-24 17:49:58.000000000 -0400
|
||||
+++ eglibc-2.15-16526/libc/config.make.in 2012-07-24 17:51:01.000000000 -0400
|
||||
@@ -5,7 +5,7 @@
|
||||
release = @RELEASE@
|
||||
|
||||
# Installation prefixes.
|
||||
-install_root = $(DESTDIR)
|
||||
+install_root ?= $(DESTDIR)
|
||||
prefix = @prefix@
|
||||
exec_prefix = @exec_prefix@
|
||||
datadir = @datadir@
|
Reference in New Issue
Block a user