Compare commits

..

10 Commits

Author SHA1 Message Date
openeuler-ci-bot 50855b25d6 !34 [sync] PR-32: add sw_64 support
From: @openeuler-sync-bot 
Reviewed-by: @dillon_chen 
Signed-off-by: @dillon_chen
2025-03-17 04:24:08 +00:00
Hailiang 23230c297d add sw_64 support
(cherry picked from commit 8f88acb2f0)
2025-03-17 10:59:58 +08:00
Hailiang 4b896e7ff2 add sw_64 support
(cherry picked from commit 89215d574a)
2025-03-17 10:59:58 +08:00
Hailiang 5721ba8adc add sw_64 support
(cherry picked from commit 3037fb149e)
2025-03-17 10:59:58 +08:00
openeuler-ci-bot d772ba0487 !21 [手工sync] PR-20: riscv64: fortran编译选项增加-fPIC
From: @laokz 
Reviewed-by: @dillon_chen 
Signed-off-by: @dillon_chen
2023-06-09 03:22:57 +00:00
laokz 035e842c1c riscv64: add -fPIC to fortran flags
Signed-off-by: misaka00251 <liuxin@iscas.ac.cn>
2023-06-06 03:59:34 +00:00
openeuler-ci-bot d6bb8e0330 !17 upgrade version to 2.4.7
From: @renxichen 
Reviewed-by: @overweight 
Signed-off-by: @overweight
2022-11-04 06:26:59 +00:00
renxichen bf8543c71a upgrade version to 2.4.7 2022-11-03 15:53:58 +08:00
openeuler-ci-bot 4165b190ee !16 update license from GFDL to GFDL-1.3-or-later
From: @renxichen 
Reviewed-by: @overweight 
Signed-off-by: @overweight
2022-04-26 11:07:34 +00:00
rwx403335 e1617a7473 update license from GFDL to GFDL-1.3-or-later 2022-04-26 11:57:18 +08:00
8 changed files with 33 additions and 143 deletions
+9 -9
View File
@@ -1,6 +1,6 @@
From 80ff97af5d5686e071816af16f65d98af5116238 Mon Sep 17 00:00:00 2001
From f980ecdce8edd95b84421778f768a637384d8749 Mon Sep 17 00:00:00 2001
From: Hailiang <mahailiang@uniontech.com>
Date: Tue, 11 Mar 2025 13:43:07 +0800
Date: Tue, 11 Mar 2025 13:50:46 +0800
Subject: [PATCH] add sw_64 support
---
@@ -9,10 +9,10 @@ Subject: [PATCH] add sw_64 support
2 files changed, 4 insertions(+)
diff --git a/build-aux/config.guess b/build-aux/config.guess
index 48a6846..a5fa853 100755
index 7f76b62..fd3524f 100755
--- a/build-aux/config.guess
+++ b/build-aux/config.guess
@@ -1186,6 +1186,9 @@ EOF
@@ -1143,6 +1143,9 @@ EOF
sparc:Linux:*:* | sparc64:Linux:*:*)
GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
;;
@@ -23,17 +23,17 @@ index 48a6846..a5fa853 100755
GUESS=$UNAME_MACHINE-unknown-linux-$LIBC
;;
diff --git a/build-aux/config.sub b/build-aux/config.sub
index 4aaae46..ada8a42 100755
index 9b62e37..70bc542 100755
--- a/build-aux/config.sub
+++ b/build-aux/config.sub
@@ -1432,6 +1432,7 @@ case $cpu-$vendor in
@@ -1267,6 +1267,7 @@ case $cpu-$vendor in
| sparclite \
| sparcv8 | sparcv9 | sparcv9b | sparcv9v | sv1 | sx* \
| spu \
| sv1 \
| sx* \
+ | sw_64 \
| tahoe \
| thumbv7* \
| tic30 \
| tic30 | tic4x | tic54x | tic55x | tic6x | tic80 \
--
2.20.1
@@ -11,14 +11,14 @@ diff --git a/m4/libtool.m4 b/m4/libtool.m4
index f796d7b..41dd20a 100644
--- a/m4/libtool.m4
+++ b/m4/libtool.m4
@@ -2930,6 +2930,9 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
@@ -2866,6 +2866,9 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
# before this can be enabled.
hardcode_into_libs=yes
+ # Add ABI-specific directories to the system library path.
+ sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib"
+
# Ideally, we could use ldconfig to report *all* directories which are
# Ideally, we could use ldconfig to report *all* directores which are
# searched for libraries, however this is still not possible. Aside from not
# being certain /sbin/ldconfig is available, command
@@ -2874,7 +2877,7 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
@@ -1,53 +0,0 @@
Enabling lto will result in failure during test phase, to be precise test 67 will cause it.
Compiler flags for this test (and most likely for rest of them) are inherited from actual build phase.
I'm not sure if this is expected.
Most distribution disables this test. We try to keep it by stripping lto flags for it.
Origin for this tests: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=391427
--- a/tests/link-order2.at 2015-01-16 19:52:04.000000000 +0100
+++ b/tests/link-order2_new.at 2021-11-30 02:01:09.574451906 +0100
@@ -47,6 +47,8 @@
AT_KEYWORDS([libtool])
AT_KEYWORDS([interactive])dnl running 'wrong' may cause a popup window.
+NO_LTO_CFLAGS=${CFLAGS/-flto*-ffat-lto-objects }
+
eval `$LIBTOOL --config | $EGREP '^(shlibpath_var|allow_undefined_flag)='`
undefined_setting=-no-undefined
@@ -89,12 +91,12 @@
EOF
for file in a0 a1 b; do
- $LIBTOOL --mode=compile $CC $CPPFLAGS $CFLAGS -c $file.c
+ $LIBTOOL --mode=compile $CC $CPPFLAGS $NO_LTO_CFLAGS -c $file.c
done
-$CC $CPPFLAGS $CFLAGS -c main.c
+$CC $CPPFLAGS $NO_LTO_CFLAGS -c main.c
# Build an old, installed library.
-$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS $static -o liba0.la a0.lo -rpath $deflibdir
+$LIBTOOL --mode=link $CC $NO_LTO_CFLAGS $LDFLAGS $static -o liba0.la a0.lo -rpath $deflibdir
$LIBTOOL --mode=install cp liba0.la $deflibdir/liba0.la
$LIBTOOL --mode=clean rm -f liba0.la
@@ -118,13 +120,13 @@
esac
test non-libtool,-static-libtool-libs = "$type_of_depdepl,$static" &&
static=-all-static
- $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS $static -o liba1.la a1.lo -rpath $libdir
- $LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS $static -o libb.la b.lo liba1.la -rpath $libdir
- AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS $static -o main$EXEEXT main.$OBJEXT libb.la -la0],
+ $LIBTOOL --mode=link $CC $NO_LTO_CFLAGS $LDFLAGS $static -o liba1.la a1.lo -rpath $libdir
+ $LIBTOOL --mode=link $CC $NO_LTO_CFLAGS $LDFLAGS $static -o libb.la b.lo liba1.la -rpath $libdir
+ AT_CHECK([$LIBTOOL --mode=link $CC $NO_LTO_CFLAGS $LDFLAGS $static -o main$EXEEXT main.$OBJEXT libb.la -la0],
[], [ignore], [ignore])
LT_AT_EXEC_CHECK([./main])
# Now test that if we reverse the link order, the program fails.
- AT_CHECK([$LIBTOOL --mode=link $CC $CFLAGS $LDFLAGS $static -o wrong$EXEEXT main.$OBJEXT -la0 libb.la],
+ AT_CHECK([$LIBTOOL --mode=link $CC $NO_LTO_CFLAGS $LDFLAGS $static -o wrong$EXEEXT main.$OBJEXT -la0 libb.la],
[], [ignore], [ignore])
if test yes, != "$shared_fails,$static"; then
LT_AT_EXEC_CHECK([./wrong], [1], [], [ignore], [|| (exit 1)])
@@ -1,17 +0,0 @@
diff -up ./m4/ltdl.m4.orig ./m4/ltdl.m4
--- ./m4/ltdl.m4.orig 2016-02-11 20:40:28.013253981 +0200
+++ ./m4/ltdl.m4 2016-02-11 20:41:07.142760471 +0200
@@ -282,8 +282,11 @@ AC_ARG_WITH([ltdl_lib],
[use the libltdl.la installed in DIR])])
if test -n "$with_ltdl_lib"; then
- if test -f "$with_ltdl_lib/libltdl.la"; then :
- else
+ # check for the existence of "$with_ltdl_lib/libltdl.la" while
+ # allowing people to delete the libtool archive file (which isn't
+ # useful in this case in many common platforms.)
+ with_ltdl_lib_libname=`echo "$with_ltdl_lib"/libltdl.*`
+ if test "x$with_ltdl_lib_libname" = "x$with_ltdl_lib/libltdl.*"; then
AC_MSG_ERROR([invalid ltdl library directory: '$with_ltdl_lib'])
fi
else
Binary file not shown.
Binary file not shown.
+21 -61
View File
@@ -2,21 +2,19 @@
%global gcc_major 7.3.0
Name: libtool
Version: 2.5.4
Version: 2.4.7
Release: 3
License: GPL-2.0-or-later AND LGPL-2.0-or-later and GFDL-1.3-or-later
License: GPLv2+ and LGPLv2+ and GFDL-1.3-or-later
Summary: The GNU Portable Library Tool
URL: https://www.gnu.org/software/libtool/
Source0: https://ftp.gnu.org/gnu/libtool/libtool-%{version}.tar.xz
URL: http://www.gnu.org/software/libtool/
Source0: http://ftp.gnu.org/gnu/libtool/libtool-%{version}.tar.xz
Patch0: libtool-2.5.3-rpath.patch
Patch1: libtool-2.4.6-disable-lto-link-order2.patch
Patch2: add-sw_64-support.patch
Patch3: libtool-2.4.6-fix-building-without-libltdl.la.patch
Patch0: libtool-2.4.5-rpath.patch
Patch1: add-sw_64-support.patch
Requires: gcc(major),autoconf, automake, sed, tar, findutils
BuildRequires: texinfo autoconf automake help2man
BuildRequires: texinfo autoconf automake help2man
BuildRequires: libstdc++-devel gcc-gfortran gcc gcc-c++
%description
@@ -24,9 +22,8 @@ GNU libtool is a generic library support script.
Libtool hides the complexity of using shared libraries behind a consistent, portable interface.
%package ltdl
Summary: Runtime libraries for GNU Libtool Dynamic Module Loader
Summary: Runtime libraries for GNU Libtool Dynamic Module Loader
Provides: %{name}-libs = %{version}-%{release}
License: LGPL-2.1-or-later
%description ltdl
The libtool-ltdl package contains the GNU Libtool Dynamic Module Loader, a
@@ -35,11 +32,11 @@ process of using dynamic modules.
%package devel
Summary: Tools needed for development using the GNU Libtool Dynamic Module Loader
License: LGPL-2.0-or-later
License: LGPLv2+
Requires: automake
Requires: %{name}-ltdl = %{version}-%{release}
Provides: %{name}-ltdl-devel = %{version}-%{release}
Obsoletes: %{name}-ltdl-devel < %{version}-%{release}
Provides: %{name}-ltdl-devel
Obsoletes: %{name}-ltdl-devel
%description devel
Static libraries and header files for development with ltdl.
@@ -48,14 +45,10 @@ Static libraries and header files for development with ltdl.
%prep
%autosetup -n libtool-%{version} -p1
# Fix libtool to pass -Wl,xxx options before libraries
sed -i \
-e 's,$libobjs $deplibs $compiler_flags,$compiler_flags $libobjs $deplibs,' \
-e 's,$predep_objects $libobjs $deplibs $postdep_objects $compiler_flags,$compiler_flags $predep_objects $libobjs $deplibs $postdep_objects,' \
m4/libtool.m4
autoreconf -v
%build
autoreconf -v
export CC=gcc
export CXX=g++
export F77=gfortran
@@ -76,12 +69,12 @@ export FCFLAGS="$RPM_OPT_FLAGS -fPIC"
%make_build CUSTOM_LTDL_CFLAGS="%_hardening_cflags" CUSTOM_LTDL_LDFLAGS="%_hardening_ldflags"
%check
%make_build check VERBOSE=yes
make check VERBOSE=yes
%install
%make_install
%delete_la_and_a
rm -f %{buildroot}%{_infodir}/dir
rm -f %{buildroot}%{_libdir}/libltdl.{a,la}
%files
%license COPYING
@@ -99,59 +92,26 @@ rm -f %{buildroot}%{_infodir}/dir
%files devel
%license libltdl/COPYING.LIB
%doc libltdl/README
%{_datadir}/libtool/COPYING.LIB
%{_datadir}/libtool/Makefile.am
%{_datadir}/libtool/Makefile.in
%{_datadir}/libtool/README
%{_datadir}/libtool/aclocal.m4
%{_datadir}/libtool/config-h.in
%{_datadir}/libtool/configure
%{_datadir}/libtool/configure.ac
%{_datadir}/libtool/libltdl
%{_datadir}/libtool/loaders
%{_datadir}/libtool/lt__alloc.c
%{_datadir}/libtool/lt__argz.c
%{_datadir}/libtool/lt__dirent.c
%{_datadir}/libtool/lt__strl.c
%{_datadir}/libtool/lt_dlloader.c
%{_datadir}/libtool/lt_error.c
%{_datadir}/libtool/ltdl.c
%{_datadir}/libtool/ltdl.h
%{_datadir}/libtool/ltdl.mk
%{_datadir}/libtool/slist.c
%{_datadir}/libtool
%exclude %{_datadir}/libtool/build-aux
%{_includedir}/ltdl.h
%{_includedir}/libltdl
%{_libdir}/libltdl.so
%files help
%doc README
%{_infodir}/libtool.info*
%{_infodir}/libtool.info*.gz
%{_mandir}/man1/libtool.1*
%{_mandir}/man1/libtoolize.1*
%changelog
* Fri Apr 04 2025 Funda Wang <fundawang@yeah.net> - 2.5.4-3
- fix building packages without libltdl.la
* Tue Mar 11 2025 mahailiang <mahailiang@uniontech.com> - 2.5.4-2
%changelog
* Tue Mar 11 2025 mahailiang <mahailiang@uniontech.com> - 2.4.7-3
- add sw_64 support
* Thu Nov 21 2024 Funda Wang <fundawang@yeah.net> - 2.5.4-1
- update to 2.5.4
* Tue Oct 08 2024 Funda Wang <fundawang@yeah.net> - 2.5.3-1
- update to 2.5.3
* Thu Sep 26 2024 Funda Wang <fundawang@yeah.net> - 2.4.7-4
- pass -Wl,xxx options before libraries
- disable LTO for link-order2 test
* Tue Jun 06 2023 laokz <zhangkai@iscas.ac.cn> - 2.4.7-3
* Tue Jun 06 2023 laokz <zhangkai@iscas.ac.cn> - 2.4.7-2
- add -fPIC to fortran flags for riscv
*Thu Feb 02 2023 renhongxun <renhongxun@h-partners.com> - 2.4.7-2
- backport: tests/link-order.at: avoid warning and test failure with GNU grep 3.8
* Thu Nov 03 2022 renhongxun <renhongxun@h-partners.com> - 2.4.7-1
- upgrade version to 2.4.7
+1 -1
View File
@@ -1,4 +1,4 @@
version_control: git
src_repo: https://git.savannah.gnu.org/git/libtool.git
tag_prefix: ^v
separator: .
seperator: .