diff mbox

Apply upstream patch to set correct linkage on MIPS64

Message ID 1384772206-57234-1-git-send-email-Vincent.Riera@imgtec.com
State Superseded
Headers show

Commit Message

Vicente Olivert Riera Nov. 18, 2013, 10:56 a.m. UTC
Acked-by: Markos Chandras <markos.chandras@imgtec.com>
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
---
 package/libtool/libtool-mips64-n64-linking.patch |   47 ++++++++++++++++++++++
 1 files changed, 47 insertions(+), 0 deletions(-)
 create mode 100644 package/libtool/libtool-mips64-n64-linking.patch

Comments

Thomas Petazzoni Nov. 18, 2013, 11:06 a.m. UTC | #1
Dear Vicente Olivert Riera,

On Mon, 18 Nov 2013 10:56:46 +0000, Vicente Olivert Riera wrote:
> Acked-by: Markos Chandras <markos.chandras@imgtec.com>
> Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
> ---
>  package/libtool/libtool-mips64-n64-linking.patch |   47 ++++++++++++++++++++++
>  1 files changed, 47 insertions(+), 0 deletions(-)
>  create mode 100644 package/libtool/libtool-mips64-n64-linking.patch

This looks good, but:

 * The title of your patch should start with "libtool: "

 * You want to name the patch file libtool-0001-<something>.patch, as
   per http://buildroot.org/downloads/manual/manual.html#patch-policy.

Also, I believe your commit log should mention more precisely which
problem it is fixing (I guess the most visible one is a build failure
of libiscsi on MIPS64 n32, I'm sure Markos remembers the details).

Thanks!

Thomas
Markos Chandras Nov. 18, 2013, 11:12 a.m. UTC | #2
On 11/18/2013 11:06 AM, Thomas Petazzoni wrote:
> Dear Vicente Olivert Riera,
>
> On Mon, 18 Nov 2013 10:56:46 +0000, Vicente Olivert Riera wrote:
>> Acked-by: Markos Chandras <markos.chandras@imgtec.com>
>> Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
>> ---
>>   package/libtool/libtool-mips64-n64-linking.patch |   47 ++++++++++++++++++++++
>>   1 files changed, 47 insertions(+), 0 deletions(-)
>>   create mode 100644 package/libtool/libtool-mips64-n64-linking.patch
>
> This looks good, but:
>
>   * The title of your patch should start with "libtool: "
>
>   * You want to name the patch file libtool-0001-<something>.patch, as
>     per http://buildroot.org/downloads/manual/manual.html#patch-policy.
>
> Also, I believe your commit log should mention more precisely which
> problem it is fixing (I guess the most visible one is a build failure
> of libiscsi on MIPS64 n32, I'm sure Markos remembers the details).
>
> Thanks!
>
> Thomas
>
Hi Thomas,

Thanks for the comments. It does not fix anything yet (affected packages 
need to start using AUTORECONF), and the libiscsi is just one of the 
problems so we thought it shouldn't be part of the commit message.

I incorrectly thought that we do not use numbers for patches anymore.

v2 to follow soon!
Thomas Petazzoni Nov. 18, 2013, 11:17 a.m. UTC | #3
Dear Markos Chandras,

On Mon, 18 Nov 2013 11:12:13 +0000, Markos Chandras wrote:

> Thanks for the comments. It does not fix anything yet (affected packages 
> need to start using AUTORECONF), and the libiscsi is just one of the 
> problems so we thought it shouldn't be part of the commit message.

I do understand that the patch itself is not fixing the problems, but
if you don't explain *why* you're backporting something, then it isn't
going to be obvious for the maintainer why this libtool change is
needed.

Something like: "This libtool change ensures that ld uses the right
machine emulation file, which will allow to fix several MIPS64 n32 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."

> I incorrectly thought that we do not use numbers for patches anymore.

We did not use numbers in the past, and the new (1 year old or so)
policy is to use numbers, to guarantee a correct ordering between
patches.

> v2 to follow soon!

Thanks! :-)

Thomas
diff mbox

Patch

diff --git a/package/libtool/libtool-mips64-n64-linking.patch b/package/libtool/libtool-mips64-n64-linking.patch
new file mode 100644
index 0000000..1de8ab6
--- /dev/null
+++ b/package/libtool/libtool-mips64-n64-linking.patch
@@ -0,0 +1,47 @@ 
+This patch sets the 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.