* [Buildroot] [git commit] libtool: Apply upstream patch to set correct linkage on MIPS64 @ 2013-11-30 8:03 Peter Korsgaard 2014-02-14 16:08 ` Arnout Vandecappelle 0 siblings, 1 reply; 3+ messages in thread From: Peter Korsgaard @ 2013-11-30 8:03 UTC (permalink / raw) To: buildroot commit: http://git.buildroot.net/buildroot/commit/?id=4268d3967e2d691c151d6b5629e4051deb077b9a branch: http://git.buildroot.net/buildroot/commit/?id=refs/heads/master This libtool change ensures that ld uses the right machine emulation file, which will allow to fix several MIPS64 n64 link failures, such as the one currently visible on the libiscsi package. Packages affected by this problem will have to use <pkg>_AUTORECONF = YES to benefit from this libtool fix, until they are fixed upstream. Acked-by: Markos Chandras <markos.chandras@imgtec.com> Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com> --- .../libtool/libtool-0001-mips64-n64-linking.patch | 47 ++++++++++++++++++++ 1 files changed, 47 insertions(+), 0 deletions(-) diff --git a/package/libtool/libtool-0001-mips64-n64-linking.patch b/package/libtool/libtool-0001-mips64-n64-linking.patch new file mode 100644 index 0000000..ef9084d --- /dev/null +++ b/package/libtool/libtool-0001-mips64-n64-linking.patch @@ -0,0 +1,47 @@ +sets correct linker ABI flags on MIPS64 +http://git.savannah.gnu.org/cgit/libtool.git/commit/?id=5f7f7d9615bf650cf99d581a33b3e18357f79951 + +Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com> + +diff -ru libtool-2.4.2.orig/libltdl/m4/libtool.m4 libtool-2.4.2/libltdl/m4/libtool.m4 +--- libtool-2.4.2.orig/libltdl/m4/libtool.m4 2013-11-11 11:44:30.419396295 +0000 ++++ libtool-2.4.2/libltdl/m4/libtool.m4 2013-11-11 11:44:07.055032308 +0000 +@@ -1312,6 +1312,38 @@ + rm -rf conftest* + ;; + ++mips64*-*linux*) ++ # Find out what ABI is being produced by ac_compile, and set linker ++ # options accordingly. ++ echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext ++ if AC_TRY_EVAL(ac_compile); then ++ emul=elf ++ case `/usr/bin/file conftest.$ac_objext` in ++ *32-bit*) ++ emul="${emul}32" ++ ;; ++ *64-bit*) ++ emul="${emul}64" ++ ;; ++ esac ++ case `/usr/bin/file conftest.$ac_objext` in ++ *MSB*) ++ emul="${emul}btsmip" ++ ;; ++ *LSB*) ++ emul="${emul}ltsmip" ++ ;; ++ esac ++ case `/usr/bin/file conftest.$ac_objext` in ++ *N32*) ++ emul="${emul}n32" ++ ;; ++ esac ++ LD="${LD-ld} -m $emul" ++ fi ++ rm -rf conftest* ++ ;; ++ + x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ + s390*-*linux*|s390*-*tpf*|sparc*-*linux*) + # Find out which ABI we are using. ^ permalink raw reply related [flat|nested] 3+ messages in thread
* [Buildroot] [git commit] libtool: Apply upstream patch to set correct linkage on MIPS64 2013-11-30 8:03 [Buildroot] [git commit] libtool: Apply upstream patch to set correct linkage on MIPS64 Peter Korsgaard @ 2014-02-14 16:08 ` Arnout Vandecappelle 2014-02-17 11:44 ` Vicente Olivert Riera 0 siblings, 1 reply; 3+ messages in thread From: Arnout Vandecappelle @ 2014-02-14 16:08 UTC (permalink / raw) To: buildroot On 30/11/13 09:03, Peter Korsgaard wrote: > commit: http://git.buildroot.net/buildroot/commit/?id=4268d3967e2d691c151d6b5629e4051deb077b9a > branch: http://git.buildroot.net/buildroot/commit/?id=refs/heads/master > > This libtool change ensures that ld uses the right machine emulation file, > which will allow to fix several MIPS64 n64 link failures, such as the one > currently visible on the libiscsi package. Packages affected by this > problem will have to use <pkg>_AUTORECONF = YES to benefit from this libtool > fix, until they are fixed upstream. > > Acked-by: Markos Chandras <markos.chandras@imgtec.com> > Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com> > Signed-off-by: Peter Korsgaard <peter@korsgaard.com> > --- > .../libtool/libtool-0001-mips64-n64-linking.patch | 47 ++++++++++++++++++++ > 1 files changed, 47 insertions(+), 0 deletions(-) > > diff --git a/package/libtool/libtool-0001-mips64-n64-linking.patch b/package/libtool/libtool-0001-mips64-n64-linking.patch > new file mode 100644 > index 0000000..ef9084d > --- /dev/null > +++ b/package/libtool/libtool-0001-mips64-n64-linking.patch > @@ -0,0 +1,47 @@ > +sets correct linker ABI flags on MIPS64 > +http://git.savannah.gnu.org/cgit/libtool.git/commit/?id=5f7f7d9615bf650cf99d581a33b3e18357f79951 > + > +Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com> > + > +diff -ru libtool-2.4.2.orig/libltdl/m4/libtool.m4 libtool-2.4.2/libltdl/m4/libtool.m4 > +--- libtool-2.4.2.orig/libltdl/m4/libtool.m4 2013-11-11 11:44:30.419396295 +0000 > ++++ libtool-2.4.2/libltdl/m4/libtool.m4 2013-11-11 11:44:07.055032308 +0000 Hi all, This patch triggers a funny problem on Fedora 10; I'd like some feedback on how to solve it. Due to this patch, the Makefile will try to run automake, aclocal and autoconf, because all of these depend on the libtool.m4 file. On most hosts, this will result in the following (output edited for clarity): ./libltdl/config/missing --run aclocal-1.11 -I libltdl/m4 ./missing: line 52: aclocal-1.11: command not found WARNING: `aclocal-1.11' is missing on your system. You should only need it if you modified `acinclude.m4' or `configure.ac'. You might want to install the `Automake' and `Perl' packages. Grab them from any GNU archive site. ./libltdl/config/missing --run automake-1.11 --gnu /./libltdl/config/missing: line 52: automake-1.11: command not found WARNING: `automake-1.11' is missing on your system. You should only need it if you modified `Makefile.am', `acinclude.m4' or `configure.ac'. You might want to install the `Automake' and `Perl' packages. Grab them from any GNU archive site. ./libltdl/config/missing --run autoconf aclocal.m4:16: warning: this file was generated for autoconf 2.68. You have another version of autoconf. It may work, but is not guaranteed to. If you have problems, you may need to regenerate the build system entirely. To do so, use the procedure documented by the package, typically `autoreconf'. /bin/sh ./config.status --recheck ... I.e., aclocal and automake fail because the 1.11 version is hardcoded in Makefile.in. autoconf complains about the old aclocal but continues to build configure, and configure is re-run. This is of course not nice, but not a big deal either. However, Fedora 10 does have automake 1.11, and you get this: ./libltdl/config/missing --run automake-1.11 --gnu configure.ac:130: require Automake 1.11.1, but have 1.11 make[2]: *** [Makefile.in] Error 1 I.e., if fails because configure.ac wants automake 1.11.1. Normally we would solve these issues by setting LIBTOOL_AUTORECONF=YES, since we've modified the autotools input files. However, that won't work for host-libtool because AUTORECONF adds a dependency on host-libtool... But in this case, the changes to the m4 file are only relevant for the installed libtool, not during build. So my proposal is to manually apply this patch on the installed host/usr/share/aclocal/libtool.m4 instead of in the patch step. That way, make will not try to run aclocal, automake and autoconf because libtool.m4 is not newer than the generated files. What do you think? Vicente, can you confirm that this patch is only needed on the installed libtool.m4, not during build? Regards, Arnout [snip] -- Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286500 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F ^ permalink raw reply [flat|nested] 3+ messages in thread
* [Buildroot] [git commit] libtool: Apply upstream patch to set correct linkage on MIPS64 2014-02-14 16:08 ` Arnout Vandecappelle @ 2014-02-17 11:44 ` Vicente Olivert Riera 0 siblings, 0 replies; 3+ messages in thread From: Vicente Olivert Riera @ 2014-02-17 11:44 UTC (permalink / raw) To: buildroot On 02/14/2014 04:08 PM, Arnout Vandecappelle wrote: > On 30/11/13 09:03, Peter Korsgaard wrote: >> commit: http://git.buildroot.net/buildroot/commit/?id=4268d3967e2d691c151d6b5629e4051deb077b9a >> branch: http://git.buildroot.net/buildroot/commit/?id=refs/heads/master >> >> This libtool change ensures that ld uses the right machine emulation file, >> which will allow to fix several MIPS64 n64 link failures, such as the one >> currently visible on the libiscsi package. Packages affected by this >> problem will have to use <pkg>_AUTORECONF = YES to benefit from this libtool >> fix, until they are fixed upstream. >> >> Acked-by: Markos Chandras <markos.chandras@imgtec.com> >> Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com> >> Signed-off-by: Peter Korsgaard <peter@korsgaard.com> >> --- >> .../libtool/libtool-0001-mips64-n64-linking.patch | 47 ++++++++++++++++++++ >> 1 files changed, 47 insertions(+), 0 deletions(-) >> >> diff --git a/package/libtool/libtool-0001-mips64-n64-linking.patch b/package/libtool/libtool-0001-mips64-n64-linking.patch >> new file mode 100644 >> index 0000000..ef9084d >> --- /dev/null >> +++ b/package/libtool/libtool-0001-mips64-n64-linking.patch >> @@ -0,0 +1,47 @@ >> +sets correct linker ABI flags on MIPS64 >> +http://git.savannah.gnu.org/cgit/libtool.git/commit/?id=5f7f7d9615bf650cf99d581a33b3e18357f79951 >> + >> +Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com> >> + >> +diff -ru libtool-2.4.2.orig/libltdl/m4/libtool.m4 libtool-2.4.2/libltdl/m4/libtool.m4 >> +--- libtool-2.4.2.orig/libltdl/m4/libtool.m4 2013-11-11 11:44:30.419396295 +0000 >> ++++ libtool-2.4.2/libltdl/m4/libtool.m4 2013-11-11 11:44:07.055032308 +0000 > > Hi all, > > This patch triggers a funny problem on Fedora 10; I'd like some feedback > on how to solve it. > > Due to this patch, the Makefile will try to run automake, aclocal and > autoconf, because all of these depend on the libtool.m4 file. > > On most hosts, this will result in the following (output edited for > clarity): > > ./libltdl/config/missing --run aclocal-1.11 -I libltdl/m4 > ./missing: line 52: aclocal-1.11: command not found > WARNING: `aclocal-1.11' is missing on your system. You should only need > it if > you modified `acinclude.m4' or `configure.ac'. You might want > to install the `Automake' and `Perl' packages. Grab them from > any GNU archive site. > ./libltdl/config/missing --run automake-1.11 --gnu > /./libltdl/config/missing: line 52: automake-1.11: command not found > WARNING: `automake-1.11' is missing on your system. You should only need > it if > you modified `Makefile.am', `acinclude.m4' or `configure.ac'. > You might want to install the `Automake' and `Perl' packages. > Grab them from any GNU archive site. > ./libltdl/config/missing --run autoconf > aclocal.m4:16: warning: this file was generated for autoconf 2.68. > You have another version of autoconf. It may work, but is not guaranteed to. > If you have problems, you may need to regenerate the build system entirely. > To do so, use the procedure documented by the package, typically > `autoreconf'. > /bin/sh ./config.status --recheck > ... > > I.e., aclocal and automake fail because the 1.11 version is hardcoded in > Makefile.in. autoconf complains about the old aclocal but continues to > build configure, and configure is re-run. > > This is of course not nice, but not a big deal either. > > > However, Fedora 10 does have automake 1.11, and you get this: > > ./libltdl/config/missing --run automake-1.11 --gnu > configure.ac:130: require Automake 1.11.1, but have 1.11 > make[2]: *** [Makefile.in] Error 1 > > I.e., if fails because configure.ac wants automake 1.11.1. > > > Normally we would solve these issues by setting LIBTOOL_AUTORECONF=YES, > since we've modified the autotools input files. However, that won't work > for host-libtool because AUTORECONF adds a dependency on host-libtool... > > > But in this case, the changes to the m4 file are only relevant for the > installed libtool, not during build. So my proposal is to manually apply > this patch on the installed host/usr/share/aclocal/libtool.m4 instead of > in the patch step. That way, make will not try to run aclocal, automake > and autoconf because libtool.m4 is not newer than the generated files. > > > What do you think? > > Vicente, can you confirm that this patch is only needed on the installed > libtool.m4, not during build? > > > Regards, > Arnout > > > [snip] > Yes, I have tested it reverting the current patch and then patching only the installed file at host/usr/share/aclocal/libtool.m4. It works exactly the same, so submit patches if you want. -- Vincent ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2014-02-17 11:44 UTC | newest] Thread overview: 3+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2013-11-30 8:03 [Buildroot] [git commit] libtool: Apply upstream patch to set correct linkage on MIPS64 Peter Korsgaard 2014-02-14 16:08 ` Arnout Vandecappelle 2014-02-17 11:44 ` Vicente Olivert Riera
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox