[Buildroot] [PATCH 1/1] package/elf2flt: bump to version 2019.12
Romain Naour
romain.naour at gmail.com
Mon Jul 27 14:25:58 UTC 2020
Yann, Fabrice, All
Le 27/07/2020 à 08:50, Yann E. MORIN a écrit :
> Fabrice, All,
>
> On 2020-07-26 11:43 +0200, Fabrice Fontaine spake thusly:
>> Drop first patch (already in version)
>>
>> Signed-off-by: Fabrice Fontaine <fontaine.fabrice at gmail.com>
>
> Have you checked the status of both:
>
> https://github.com/uclinux-dev/elf2flt/issues/12
> https://github.com/uclinux-dev/elf2flt/pull/16
>
> There is an as-yet-unsolved issue with binutils 2.33.1...
>
> Romain, your feedback?
This would reintroduce the bug added by
https://github.com/uclinux-dev/elf2flt/commit/73325b7f209e0f68887333385184af275531427d
The backported patch was removed by:
https://git.buildroot.net/buildroot/commit/?id=aa3622758bb08fa517a3054076fca89f7697e550
Best regards,
Romain
>
> Regards,
> Yann E. MORIN.
>
>> ---
>> ...add-new-relocation-types-for-xtensa.patch} | 0
>> ...e-properly-when-called-with-a-name-d.patch | 79 -------------------
>> package/elf2flt/elf2flt.hash | 2 +-
>> package/elf2flt/elf2flt.mk | 4 +-
>> 4 files changed, 3 insertions(+), 82 deletions(-)
>> rename package/elf2flt/{0002-elf2flt.c-add-new-relocation-types-for-xtensa.patch => 0001-elf2flt.c-add-new-relocation-types-for-xtensa.patch} (100%)
>> delete mode 100644 package/elf2flt/0001-ld-elf2flt-behave-properly-when-called-with-a-name-d.patch
>>
>> diff --git a/package/elf2flt/0002-elf2flt.c-add-new-relocation-types-for-xtensa.patch b/package/elf2flt/0001-elf2flt.c-add-new-relocation-types-for-xtensa.patch
>> similarity index 100%
>> rename from package/elf2flt/0002-elf2flt.c-add-new-relocation-types-for-xtensa.patch
>> rename to package/elf2flt/0001-elf2flt.c-add-new-relocation-types-for-xtensa.patch
>> diff --git a/package/elf2flt/0001-ld-elf2flt-behave-properly-when-called-with-a-name-d.patch b/package/elf2flt/0001-ld-elf2flt-behave-properly-when-called-with-a-name-d.patch
>> deleted file mode 100644
>> index a27c4913fb..0000000000
>> --- a/package/elf2flt/0001-ld-elf2flt-behave-properly-when-called-with-a-name-d.patch
>> +++ /dev/null
>> @@ -1,79 +0,0 @@
>> -From b31e9b1bff6832063816b972395179859d1d4619 Mon Sep 17 00:00:00 2001
>> -From: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
>> -Date: Sun, 13 Aug 2017 16:03:20 +0200
>> -Subject: [PATCH] ld-elf2flt: behave properly when called with a name different
>> - from TARGET_ALIAS
>> -
>> -ld-elf2flt currently handles two cases:
>> -
>> - 1 It is called as the wrapper for <TARGET_ALIAS>-ld, generally
>> - installed in the bin/ directory of a toolchain.
>> -
>> - 2 It is called as the wrapper for "ld", generally installed in the
>> - TARGET_ALIAS/bin/ directory of a toolchain.
>> -
>> -Unfortunately, if for some reason it gets called using a FOOBAR-ld
>> -name that is different from <TARGET_ALIAS>-ld, it assumes it is in
>> -case (2), while it really is in case (1). Due to this, the path
>> -mangling logic doesn't work, and it doesn't find ld.real.
>> -
>> -This happens for example when the binary program in bin/ is named
>> -arm-buildroot-uclinux-uclibcgnueabi-ld, but also has a simpler symlink
>> -named arm-linux-ld. In this case,
>> -arm-buildroot-uclinux-uclibcgnueabi-ld is recognized by ld-elf2flt as
>> -containing TARGET_ALIAS, and therefore the proper logic to find
>> -ld.real is applied. However, when arm-linux-ld is used, ld-elf2flt
>> -doesn't find TARGET_ALIAS, and therefore assumes we're being called as
>> -TARGET_ALIAS/bin/ld.. and searches for a program called ld.real in
>> -bin/, which doesn't exist.
>> -
>> -See:
>> -
>> -$ ./output/host/bin/arm-buildroot-uclinux-uclibcgnueabi-ld
>> -/home/thomas/buildroot/buildroot/output/host/bin/../arm-buildroot-uclinux-uclibcgnueabi/bin/ld.real: no input files
>> -
>> -$ ./output/host/bin/arm-linux-ld
>> -arm-linux-ld (ld-elf2flt): error trying to exec '/home/thomas/buildroot/buildroot/output/host/bin/ld.real': execvp: No such file or directory
>> -
>> -$ ./output/host/arm-buildroot-uclinux-uclibcgnueabi/bin/ld
>> -/home/thomas/buildroot/buildroot/output/host/arm-buildroot-uclinux-uclibcgnueabi/bin/ld.real: no input files
>> -
>> -This commit fixes that by inverting the logic: if we're being called
>> -as just "ld", then we assume it's the program in
>> -TARGET_ALIAS/bin/. Otherwise, we're called through some variant of
>> -TARGET-ld.
>> -
>> -Signed-off-by: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
>> -Submitted-upstream: https://github.com/uclinux-dev/elf2flt/pull/8
>> ----
>> - ld-elf2flt.c | 10 +++++-----
>> - 1 file changed, 5 insertions(+), 5 deletions(-)
>> -
>> -diff --git a/ld-elf2flt.c b/ld-elf2flt.c
>> -index de39fe0..c187c2e 100644
>> ---- a/ld-elf2flt.c
>> -+++ b/ld-elf2flt.c
>> -@@ -506,15 +506,15 @@ int main(int argc, char *argv[])
>> - the host while those in <TARGET_ALIAS>/lib are for the target.
>> - Make bindir point to the bin dir for bin/<TARGET_ALIAS>-foo.
>> - Make tooldir point to the bin dir for <TARGET_ALIAS>/bin/foo. */
>> -- if (streqn(elf2flt_progname, TARGET_ALIAS)) {
>> -- tmp = concat(argv0_dir, "../" TARGET_ALIAS "/bin", NULL);
>> -+ if (streqn(elf2flt_progname, "ld")) {
>> -+ tmp = concat(argv0_dir, "../../bin", NULL);
>> - if (stat(tmp, &buf) == 0 && S_ISDIR(buf.st_mode)) {
>> -- tooldir = concat(tmp, "/", NULL);
>> -+ bindir = concat(tmp, "/", NULL);
>> - }
>> - } else {
>> -- tmp = concat(argv0_dir, "../../bin", NULL);
>> -+ tmp = concat(argv0_dir, "../" TARGET_ALIAS "/bin", NULL);
>> - if (stat(tmp, &buf) == 0 && S_ISDIR(buf.st_mode)) {
>> -- bindir = concat(tmp, "/", NULL);
>> -+ tooldir = concat(tmp, "/", NULL);
>> - }
>> - }
>> -
>> ---
>> -2.9.4
>> -
>> diff --git a/package/elf2flt/elf2flt.hash b/package/elf2flt/elf2flt.hash
>> index c4b0697fcd..afa19076b9 100644
>> --- a/package/elf2flt/elf2flt.hash
>> +++ b/package/elf2flt/elf2flt.hash
>> @@ -1,3 +1,3 @@
>> # Locally calculated
>> -sha256 d63baae6fe0d7fcc50a635be151a6f9e1e83dba30568046a869a395c15bf6284 elf2flt-7e33f28df198c46764021ed14408bd262751e148.tar.gz
>> +sha256 a535facbcdc2f2e86778dff84c99c32eca5eb0138bd09a8dc49da3b47c59f743 elf2flt-2019.12.tar.gz
>> sha256 f20bc5007904094e3a4e9fbcc3526cdd40893f91d458c3139b308e5c4c0899c6 LICENSE.TXT
>> diff --git a/package/elf2flt/elf2flt.mk b/package/elf2flt/elf2flt.mk
>> index e7edd8b9de..dbbe88d117 100644
>> --- a/package/elf2flt/elf2flt.mk
>> +++ b/package/elf2flt/elf2flt.mk
>> @@ -4,8 +4,8 @@
>> #
>> ################################################################################
>>
>> -ELF2FLT_VERSION = 7e33f28df198c46764021ed14408bd262751e148
>> -ELF2FLT_SITE = $(call github,uclinux-dev,elf2flt,$(ELF2FLT_VERSION))
>> +ELF2FLT_VERSION = 2019.12
>> +ELF2FLT_SITE = $(call github,uclinux-dev,elf2flt,v$(ELF2FLT_VERSION))
>> ELF2FLT_LICENSE = GPL-2.0+
>> ELF2FLT_LICENSE_FILES = LICENSE.TXT
>>
>> --
>> 2.27.0
>>
>> _______________________________________________
>> buildroot mailing list
>> buildroot at busybox.net
>> http://lists.busybox.net/mailman/listinfo/buildroot
>
More information about the buildroot
mailing list