All of lore.kernel.org
 help / color / mirror / Atom feed
* [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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.