Patchwork [00/16,V2] Prelink/ld bug and rpm compilation on uclibc

login
register
mail settings
Submitter Khem Raj
Date June 9, 2012, 4:42 p.m.
Message ID <cover.1339259893.git.raj.khem@gmail.com>
Download mbox
Permalink /patch/29555/
State New
Headers show

Pull-request

git://git.openembedded.org/openembedded-core-contrib kraj/misc-updates

Comments

Khem Raj - June 9, 2012, 4:42 p.m.
This patch now can compile a uclibc sato image using rpm as packaging backend
Introduces variables into cmake class to control linker flags which was
not available
Adds npth recipe. npth is next gen pth soon gnupg 2.1 will drop pth
and move on to use npth, right now its only used in uclibc case
conditionalize use of pth using libc overrides since pth is not
compatible with uclibc

The following changes since commit 75a973328d50ef3c007edb7a471ea77fb97911ea:

  kern-tools: anchor KMACHINE test (2012-06-08 11:56:21 +0100)

are available in the git repository at:
  git://git.openembedded.org/openembedded-core-contrib kraj/misc-updates
  http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=kraj/misc-updates

Khem Raj (16):
  binutils_2.22: Backport to fix bogus textrels
  rpm: Fix compilation on uclibc
  pth: Mark incompatible with uclibc
  libtool: Let -fstack-protector passed to link step
  rpm: Use link time check for libssp
  sat-solver: Fix build on uclibc
  libzypp: Fix build with uclibc
  augeas: Fix compilation failure
  rpm: pass lrt and lpthread to link step explicitly for uclibc
  zypper: Fix build on uclibc
  cmake.bbclass: Add OECMAKE_C_LINK_FLAGS and OECMAKE_CXX_LINK_FLAGS
    variables
  libzypp: Define OECMAKE_CXX_LINK_FLAGS when compiling for uclibc
  task-self-hosted.bb,task-core-lsb.bb: Conditionalize pth inclusion
  npth: Add recipe
  gpgme: Depend on npth for uclibc
  gnupg-2.0.19: Depend on npth for uclibc

 meta/classes/cmake.bbclass                         |    4 +
 meta/recipes-core/tasks/task-self-hosted.bb        |    4 +-
 .../binutils/binutils/0001-PR-ld-13470.patch       |   82 ++++++++++++++++++++
 meta/recipes-devtools/binutils/binutils_2.22.bb    |    3 +-
 meta/recipes-devtools/libtool/libtool-2.4.2.inc    |    3 +-
 .../libtool/libtool/respect-fstack-protector.patch |   53 +++++++++++++
 .../rpm/rpm/fstack-protector-configure-check.patch |   13 +++
 meta/recipes-devtools/rpm/rpm/rpmatch.patch        |   42 ++++++++++
 meta/recipes-devtools/rpm/rpm/uclibc-support.patch |   69 ++++++++++++++++
 meta/recipes-devtools/rpm/rpm_5.4.0.bb             |    7 ++-
 meta/recipes-extended/augeas/augeas.inc            |    4 +-
 .../0001-Add-missing-argument-to-escape.patch      |   29 +++++++
 meta/recipes-extended/augeas/augeas_0.10.0.bb      |    2 +-
 meta/recipes-extended/libzypp/libzypp/cstdio.patch |   49 ++++++++++++
 meta/recipes-extended/libzypp/libzypp_git.bb       |    9 ++-
 .../sat-solver/sat-solver/futimes.patch            |   32 ++++++++
 meta/recipes-extended/sat-solver/sat-solver_git.bb |    7 +-
 meta/recipes-extended/tasks/task-core-lsb.bb       |    6 +-
 meta/recipes-extended/zypper/zypper/rpmatch.patch  |   23 ++++++
 meta/recipes-extended/zypper/zypper_git.bb         |    4 +-
 meta/recipes-support/gnupg/gnupg_2.0.19.bb         |    6 +-
 meta/recipes-support/gpgme/gpgme_1.3.1.bb          |    7 +-
 meta/recipes-support/npth/npth_0.90.bb             |   17 ++++
 meta/recipes-support/pth/pth_2.0.7.bb              |   12 +++-
 24 files changed, 469 insertions(+), 18 deletions(-)
 create mode 100644 meta/recipes-devtools/binutils/binutils/0001-PR-ld-13470.patch
 create mode 100644 meta/recipes-devtools/libtool/libtool/respect-fstack-protector.patch
 create mode 100644 meta/recipes-devtools/rpm/rpm/fstack-protector-configure-check.patch
 create mode 100644 meta/recipes-devtools/rpm/rpm/rpmatch.patch
 create mode 100644 meta/recipes-devtools/rpm/rpm/uclibc-support.patch
 create mode 100644 meta/recipes-extended/augeas/augeas/0001-Add-missing-argument-to-escape.patch
 create mode 100644 meta/recipes-extended/libzypp/libzypp/cstdio.patch
 create mode 100644 meta/recipes-extended/sat-solver/sat-solver/futimes.patch
 create mode 100644 meta/recipes-extended/zypper/zypper/rpmatch.patch
 create mode 100644 meta/recipes-support/npth/npth_0.90.bb
Khem Raj - June 10, 2012, 11:05 p.m.
On Sat, Jun 9, 2012 at 9:42 AM, Khem Raj <raj.khem@gmail.com> wrote:
>
> This patch now can compile a uclibc sato image using rpm as packaging backend
> Introduces variables into cmake class to control linker flags which was
> not available
> Adds npth recipe. npth is next gen pth soon gnupg 2.1 will drop pth
> and move on to use npth, right now its only used in uclibc case
> conditionalize use of pth using libc overrides since pth is not
> compatible with uclibc
>
> The following changes since commit 75a973328d50ef3c007edb7a471ea77fb97911ea:
>
>  kern-tools: anchor KMACHINE test (2012-06-08 11:56:21 +0100)
>
> are available in the git repository at:
>  git://git.openembedded.org/openembedded-core-contrib kraj/misc-updates
>  http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=kraj/misc-updates


I have updated this pull request with two additional changes

1. Upgrade uclibc git recipes to latest tip of master this gets
the eventfd patches which are needed for glib-2.32.x to function
correctly.

2. Include gcc patches to exclude call-convention settings when building
native and nativesdk gcc recipes.

3. Use translated target arch instead of target_arch in gcc.

>
> Khem Raj (16):
>  binutils_2.22: Backport to fix bogus textrels
>  rpm: Fix compilation on uclibc
>  pth: Mark incompatible with uclibc
>  libtool: Let -fstack-protector passed to link step
>  rpm: Use link time check for libssp
>  sat-solver: Fix build on uclibc
>  libzypp: Fix build with uclibc
>  augeas: Fix compilation failure
>  rpm: pass lrt and lpthread to link step explicitly for uclibc
>  zypper: Fix build on uclibc
>  cmake.bbclass: Add OECMAKE_C_LINK_FLAGS and OECMAKE_CXX_LINK_FLAGS
>    variables
>  libzypp: Define OECMAKE_CXX_LINK_FLAGS when compiling for uclibc
>  task-self-hosted.bb,task-core-lsb.bb: Conditionalize pth inclusion
>  npth: Add recipe
>  gpgme: Depend on npth for uclibc
>  gnupg-2.0.19: Depend on npth for uclibc
>
>  meta/classes/cmake.bbclass                         |    4 +
>  meta/recipes-core/tasks/task-self-hosted.bb        |    4 +-
>  .../binutils/binutils/0001-PR-ld-13470.patch       |   82 ++++++++++++++++++++
>  meta/recipes-devtools/binutils/binutils_2.22.bb    |    3 +-
>  meta/recipes-devtools/libtool/libtool-2.4.2.inc    |    3 +-
>  .../libtool/libtool/respect-fstack-protector.patch |   53 +++++++++++++
>  .../rpm/rpm/fstack-protector-configure-check.patch |   13 +++
>  meta/recipes-devtools/rpm/rpm/rpmatch.patch        |   42 ++++++++++
>  meta/recipes-devtools/rpm/rpm/uclibc-support.patch |   69 ++++++++++++++++
>  meta/recipes-devtools/rpm/rpm_5.4.0.bb             |    7 ++-
>  meta/recipes-extended/augeas/augeas.inc            |    4 +-
>  .../0001-Add-missing-argument-to-escape.patch      |   29 +++++++
>  meta/recipes-extended/augeas/augeas_0.10.0.bb      |    2 +-
>  meta/recipes-extended/libzypp/libzypp/cstdio.patch |   49 ++++++++++++
>  meta/recipes-extended/libzypp/libzypp_git.bb       |    9 ++-
>  .../sat-solver/sat-solver/futimes.patch            |   32 ++++++++
>  meta/recipes-extended/sat-solver/sat-solver_git.bb |    7 +-
>  meta/recipes-extended/tasks/task-core-lsb.bb       |    6 +-
>  meta/recipes-extended/zypper/zypper/rpmatch.patch  |   23 ++++++
>  meta/recipes-extended/zypper/zypper_git.bb         |    4 +-
>  meta/recipes-support/gnupg/gnupg_2.0.19.bb         |    6 +-
>  meta/recipes-support/gpgme/gpgme_1.3.1.bb          |    7 +-
>  meta/recipes-support/npth/npth_0.90.bb             |   17 ++++
>  meta/recipes-support/pth/pth_2.0.7.bb              |   12 +++-
>  24 files changed, 469 insertions(+), 18 deletions(-)
>  create mode 100644 meta/recipes-devtools/binutils/binutils/0001-PR-ld-13470.patch
>  create mode 100644 meta/recipes-devtools/libtool/libtool/respect-fstack-protector.patch
>  create mode 100644 meta/recipes-devtools/rpm/rpm/fstack-protector-configure-check.patch
>  create mode 100644 meta/recipes-devtools/rpm/rpm/rpmatch.patch
>  create mode 100644 meta/recipes-devtools/rpm/rpm/uclibc-support.patch
>  create mode 100644 meta/recipes-extended/augeas/augeas/0001-Add-missing-argument-to-escape.patch
>  create mode 100644 meta/recipes-extended/libzypp/libzypp/cstdio.patch
>  create mode 100644 meta/recipes-extended/sat-solver/sat-solver/futimes.patch
>  create mode 100644 meta/recipes-extended/zypper/zypper/rpmatch.patch
>  create mode 100644 meta/recipes-support/npth/npth_0.90.bb
>
> --
> 1.7.5.4
>
Richard Purdie - June 11, 2012, 1:03 p.m.
On Sat, 2012-06-09 at 09:42 -0700, Khem Raj wrote:
> This patch now can compile a uclibc sato image using rpm as packaging backend
> Introduces variables into cmake class to control linker flags which was
> not available
> Adds npth recipe. npth is next gen pth soon gnupg 2.1 will drop pth
> and move on to use npth, right now its only used in uclibc case
> conditionalize use of pth using libc overrides since pth is not
> compatible with uclibc
> 
> The following changes since commit 75a973328d50ef3c007edb7a471ea77fb97911ea:
> 
>   kern-tools: anchor KMACHINE test (2012-06-08 11:56:21 +0100)
> 
> are available in the git repository at:
>   git://git.openembedded.org/openembedded-core-contrib kraj/misc-updates
>   http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=kraj/misc-updates
> 
> Khem Raj (16):
>   binutils_2.22: Backport to fix bogus textrels
>   pth: Mark incompatible with uclibc
>   libtool: Let -fstack-protector passed to link step
>  augeas: Fix compilation failure
>   cmake.bbclass: Add OECMAKE_C_LINK_FLAGS and OECMAKE_CXX_LINK_FLAGS
>     variables
>   task-self-hosted.bb,task-core-lsb.bb: Conditionalize pth inclusion
>   npth: Add recipe
>   gpgme: Depend on npth for uclibc
>   gnupg-2.0.19: Depend on npth for uclibc

I took the above patches.

>  rpm: Fix compilation on uclibc
>   rpm: Use link time check for libssp
>   sat-solver: Fix build on uclibc
>   libzypp: Fix build with uclibc
>   rpm: pass lrt and lpthread to link step explicitly for uclibc
>   zypper: Fix build on uclibc
>   libzypp: Define OECMAKE_CXX_LINK_FLAGS when compiling for uclibc

I haven't taken these yet as I want to get Mark's rpm update in, then
see where we stand. I also was a little worried about the extra
OECONF/TUNE pieces in the sat-solver patch. There wasn't any mention of
that in the commit message...

Cheers,

Richard
Khem Raj - June 11, 2012, 2:02 p.m.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 6/11/2012 6:03 AM, Richard Purdie wrote:
> On Sat, 2012-06-09 at 09:42 -0700, Khem Raj wrote:
>> This patch now can compile a uclibc sato image using rpm as
>> packaging backend Introduces variables into cmake class to
>> control linker flags which was not available Adds npth recipe.
>> npth is next gen pth soon gnupg 2.1 will drop pth and move on to
>> use npth, right now its only used in uclibc case conditionalize
>> use of pth using libc overrides since pth is not compatible with
>> uclibc
>> 
>> The following changes since commit
>> 75a973328d50ef3c007edb7a471ea77fb97911ea:
>> 
>> kern-tools: anchor KMACHINE test (2012-06-08 11:56:21 +0100)
>> 
>> are available in the git repository at: 
>> git://git.openembedded.org/openembedded-core-contrib
>> kraj/misc-updates 
>> http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=kraj/misc-updates
>>
>>
>> 
Khem Raj (16):
>> binutils_2.22: Backport to fix bogus textrels pth: Mark
>> incompatible with uclibc libtool: Let -fstack-protector passed to
>> link step augeas: Fix compilation failure cmake.bbclass: Add
>> OECMAKE_C_LINK_FLAGS and OECMAKE_CXX_LINK_FLAGS variables 
>> task-self-hosted.bb,task-core-lsb.bb: Conditionalize pth
>> inclusion npth: Add recipe gpgme: Depend on npth for uclibc 
>> gnupg-2.0.19: Depend on npth for uclibc
> 
> I took the above patches.
> 
>> rpm: Fix compilation on uclibc rpm: Use link time check for
>> libssp sat-solver: Fix build on uclibc libzypp: Fix build with
>> uclibc rpm: pass lrt and lpthread to link step explicitly for
>> uclibc zypper: Fix build on uclibc libzypp: Define
>> OECMAKE_CXX_LINK_FLAGS when compiling for uclibc
> 
> I haven't taken these yet as I want to get Mark's rpm update in,
> then see where we stand. I also was a little worried about the
> extra OECONF/TUNE pieces in the sat-solver patch. There wasn't any
> mention of that in the commit message...

Thanks for looking into it. EXTRA_OECMAKE change should not be
required there. however appending to TUNE_CCARGS is needed for uclibc
since it does not have
same qsort expectations that sat-solver wants. I can make it apply
only for uclibc here.


I will redo this patch

> 
> Cheers,
> 
> Richard
> 
> 
> _______________________________________________ Openembedded-core
> mailing list Openembedded-core@lists.openembedded.org 
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk/V+nsACgkQuwUzVZGdMxSbgACdG7VHCB6xFFHiyd6rW4/Y7HsL
CxYAnAhHzM7ieDonDCLNsYMYXAT+HAFs
=SOkF
-----END PGP SIGNATURE-----
Khem Raj - June 11, 2012, 11:53 p.m.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 6/11/2012 7:02 AM, Khem Raj wrote:
> On 6/11/2012 6:03 AM, Richard Purdie wrote:
>> On Sat, 2012-06-09 at 09:42 -0700, Khem Raj wrote:
>>> This patch now can compile a uclibc sato image using rpm as 
>>> packaging backend Introduces variables into cmake class to 
>>> control linker flags which was not available Adds npth recipe. 
>>> npth is next gen pth soon gnupg 2.1 will drop pth and move on
>>> to use npth, right now its only used in uclibc case
>>> conditionalize use of pth using libc overrides since pth is not
>>> compatible with uclibc
>>> 
>>> The following changes since commit 
>>> 75a973328d50ef3c007edb7a471ea77fb97911ea:
>>> 
>>> kern-tools: anchor KMACHINE test (2012-06-08 11:56:21 +0100)
>>> 
>>> are available in the git repository at: 
>>> git://git.openembedded.org/openembedded-core-contrib 
>>> kraj/misc-updates 
>>> http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=kraj/misc-updates
>>>
>>>
>>>
>
>>> 
Khem Raj (16):
>>> binutils_2.22: Backport to fix bogus textrels pth: Mark 
>>> incompatible with uclibc libtool: Let -fstack-protector passed
>>> to link step augeas: Fix compilation failure cmake.bbclass:
>>> Add OECMAKE_C_LINK_FLAGS and OECMAKE_CXX_LINK_FLAGS variables 
>>> task-self-hosted.bb,task-core-lsb.bb: Conditionalize pth 
>>> inclusion npth: Add recipe gpgme: Depend on npth for uclibc 
>>> gnupg-2.0.19: Depend on npth for uclibc
> 
>> I took the above patches.
> 
>>> rpm: Fix compilation on uclibc rpm: Use link time check for 
>>> libssp sat-solver: Fix build on uclibc libzypp: Fix build with 
>>> uclibc rpm: pass lrt and lpthread to link step explicitly for 
>>> uclibc zypper: Fix build on uclibc libzypp: Define 
>>> OECMAKE_CXX_LINK_FLAGS when compiling for uclibc
> 
>> I haven't taken these yet as I want to get Mark's rpm update in, 
>> then see where we stand. I also was a little worried about the 
>> extra OECONF/TUNE pieces in the sat-solver patch. There wasn't
>> any mention of that in the commit message...
> 
> Thanks for looking into it. EXTRA_OECMAKE change should not be 
> required there. however appending to TUNE_CCARGS is needed for
> uclibc since it does not have same qsort expectations that
> sat-solver wants. I can make it apply only for uclibc here.
> 
> 
> I will redo this patch

I have redone this patch as said and updated the pull tree. Additionally
I have added a patch to cache guint32/guint64 on x86_64/uclibc otherwise
glib-2.32.x wont build on uclibc for x86_64

> 
> 
>> Cheers,
> 
>> Richard
> 
> 
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core@lists.openembedded.org 
>> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk/WhQIACgkQuwUzVZGdMxT/5gCeNR+T0sYctIC6YnevtuZt8MAA
tdUAniQnGkk/tjeSPZsXX8Nwh2CZUzYQ
=Dc0w
-----END PGP SIGNATURE-----
Khem Raj - June 12, 2012, 2:45 p.m.
On Mon, Jun 11, 2012 at 4:53 PM, Khem Raj <raj.khem@gmail.com> wrote:
> I have redone this patch as said and updated the pull tree. Additionally
> I have added a patch to cache guint32/guint64 on x86_64/uclibc otherwise
> glib-2.32.x wont build on uclibc for x86_64

Richard

I have now rebased the patches in pull tree on top of rpm upgrade.

-Khem