%define glibc_dump_configure 1
%endif
+# Prepare separate ld.so for qemu-accel
+%define qemu_accel_arch x86_64 %ix86
+
+%ifarch %qemu_accel_arch
+%define glibc_build_qemu_accel_ld_so 1
+# default path in qemu
+%define emul_path /emul
+%endif
+
# This will avoid building some parts of glibc
%define asan_arch x86_64 armv7l aarch64
%define hwasan_arch aarch64
%endif
}
-
%{?glibc_dump_configure:
%package configure-dump
Summary: GNU Glibc configure dump
This package contains dump of configure variables of Glibc
}
+%{?glibc_build_qemu_accel_ld_so:
+%package accel-ldso
+Summary: ld.so file for qemu-accel
+License: GPL-3.0+
+Group: Development/Languages
+%description accel-ldso
+This package contains an ld.so configured to run from /emul directory
+}
+
%prep
%setup -n glibc-%{version} -q
cp %{SOURCE1001} .
%{?build_profile:profile="--enable-profile"}
%{?glibc_dump_configure:patch_configure.pl ..}
-%{!?glibc_skip_configure:
+function glibc_configure () {
+ local aux_options=${@:1}
+
CFLAGS="$conf_cflags" BUILD_CFLAGS="$conf_cflags" \
CC="$BuildCC" CXX="$BuildCCplus" \
../configure \
%if 0%{?enable_static_pie}
--enable-static-pie \
%endif
- }
+ ${aux_options}
+
+}
+
+%{!?glibc_skip_configure:
+ glibc_configure
+}
%{!?glibc_skip_make:
make %{?_smp_mflags}
%{!?glibc_keep_build_dir:
popd
}
+
+# Prepare directory for qemu-accel ld.so
+%{?glibc_build_qemu_accel_ld_so:
+ mkdir "qemu-accel-ldso"
+ pushd "qemu-accel-ldso"
+
+ echo -e "# Begin configparms\nslibdir=%{emul_path}%{_libdir}\nsysconfdir=%{emul_path}%{_sysconfdir}\n# End configparms" > configparms
+ glibc_configure --sysconfdir=%{emul_path}%{_sysconfdir} libc_cv_slibdir=%{emul_path}%{_libdir} libc_cv_sysconfdir=%{emul_path}%{_sysconfdir}
+
+ make %{?_smp_mflags}
+ popd
+}
+
#
# Build html documentation
#
%endif
}
-
%{?glibc_exit_on_make_finish:
echo "Glibc build is complete and environment is ready, exiting"
exit 1
}
-
- }
+}
#
# Build testsuite
cp check.log testresults/
}
+%{?glibc_build_qemu_accel_ld_so:
+ pushd qemu-accel-ldso
+ make -C ../elf objdir=`pwd` install_root=%{buildroot} ldso_install
+ popd
+}
+
%post -p %{_sbindir}/glibc_post_upgrade
%postun -p /sbin/ldconfig
/%{_lib}/libnss_db.so.2
/%{_lib}/libnss_dns.so.2
/%{_lib}/libnss_files.so.2
-/%{_lib}/libnss_optfiles.so.2
/%{_lib}/libnss_hesiod.so.2
/%{_lib}/libpthread.so*
/%{_lib}/libthread_db.so.1
%{_datadir}/glibc-%{version}-%{release}-%_project-%_repository.db
}
+%{?glibc_build_qemu_accel_ld_so:
+%files accel-ldso
+%manifest glibc.manifest
+%{emul_path}
+}
+
%docs_package