Patchwork [4/9] rpm: Use link time check for libssp

login
register
mail settings
Submitter Khem Raj
Date June 15, 2012, 6:12 a.m.
Message ID <1f0884d8428c923c1b18670877c85cb3dc09cfda.1339740433.git.raj.khem@gmail.com>
Download mbox | patch
Permalink /patch/29935/
State New
Headers show

Comments

Khem Raj - June 15, 2012, 6:12 a.m.
-fstack-protector needs libssp to link with
so when checking for this option support we
need to find if libssp is staged in root file
system

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 .../rpm/rpm/fstack-protector-configure-check.patch |   13 +++++++++++++
 meta/recipes-devtools/rpm/rpm_5.4.9.bb             |    1 +
 2 files changed, 14 insertions(+), 0 deletions(-)
 create mode 100644 meta/recipes-devtools/rpm/rpm/fstack-protector-configure-check.patch
Richard Purdie - June 15, 2012, 12:43 p.m.
On Thu, 2012-06-14 at 23:12 -0700, Khem Raj wrote:
> -fstack-protector needs libssp to link with
> so when checking for this option support we
> need to find if libssp is staged in root file
> system
> 
> Signed-off-by: Khem Raj <raj.khem@gmail.com>
> ---
>  .../rpm/rpm/fstack-protector-configure-check.patch |   13 +++++++++++++
>  meta/recipes-devtools/rpm/rpm_5.4.9.bb             |    1 +
>  2 files changed, 14 insertions(+), 0 deletions(-)
>  create mode 100644 meta/recipes-devtools/rpm/rpm/fstack-protector-configure-check.patch
> 
> diff --git a/meta/recipes-devtools/rpm/rpm/fstack-protector-configure-check.patch b/meta/recipes-devtools/rpm/rpm/fstack-protector-configure-check.patch
> new file mode 100644
> index 0000000..84d0430
> --- /dev/null
> +++ b/meta/recipes-devtools/rpm/rpm/fstack-protector-configure-check.patch


This is a rather subtle patch with no header information (author,
explaination, upstream status).

Cheers,

Richard

> @@ -0,0 +1,13 @@
> +Index: rpm-5.4.0/configure.ac
> +===================================================================
> +--- rpm-5.4.0.orig/configure.ac	2012-06-01 11:41:19.741480143 -0700
> ++++ rpm-5.4.0/configure.ac	2012-06-01 11:41:51.773481676 -0700
> +@@ -193,7 +193,7 @@
> +  my_save_cflags="$CFLAGS"
> +  CFLAGS=$c
> +  AC_MSG_CHECKING([whether GCC supports $c])
> +- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([])],
> ++ AC_LINK_IFELSE([AC_LANG_PROGRAM([])],
> +     [AC_MSG_RESULT([yes])]
> +     [my_cflags=$c],
> +     [AC_MSG_RESULT([no])]
> diff --git a/meta/recipes-devtools/rpm/rpm_5.4.9.bb b/meta/recipes-devtools/rpm/rpm_5.4.9.bb
> index 404916a..ccf015a 100644
> --- a/meta/recipes-devtools/rpm/rpm_5.4.9.bb
> +++ b/meta/recipes-devtools/rpm/rpm_5.4.9.bb
> @@ -74,6 +74,7 @@ SRC_URI = "http://www.rpm5.org/files/rpm/rpm-5.4/rpm-5.4.9-0.20120508.src.rpm;ex
>  	   file://rpm-pkgconfigdeps.patch \
>  	   file://uclibc-support.patch \
>  	   file://rpmatch.patch \
> +	   file://fstack-protector-configure-check.patch \
>  	  "
>  
>  SRC_URI[md5sum] = "60d56ace884340c1b3fcac6a1d58e768"
Khem Raj - June 15, 2012, 2:34 p.m.
On Fri, Jun 15, 2012 at 5:43 AM, Richard Purdie
<richard.purdie@linuxfoundation.org> wrote:
> On Thu, 2012-06-14 at 23:12 -0700, Khem Raj wrote:
>> -fstack-protector needs libssp to link with
>> so when checking for this option support we
>> need to find if libssp is staged in root file
>> system
>>
>> Signed-off-by: Khem Raj <raj.khem@gmail.com>
>> ---
>>  .../rpm/rpm/fstack-protector-configure-check.patch |   13 +++++++++++++
>>  meta/recipes-devtools/rpm/rpm_5.4.9.bb             |    1 +
>>  2 files changed, 14 insertions(+), 0 deletions(-)
>>  create mode 100644 meta/recipes-devtools/rpm/rpm/fstack-protector-configure-check.patch
>>
>> diff --git a/meta/recipes-devtools/rpm/rpm/fstack-protector-configure-check.patch b/meta/recipes-devtools/rpm/rpm/fstack-protector-configure-check.patch
>> new file mode 100644
>> index 0000000..84d0430
>> --- /dev/null
>> +++ b/meta/recipes-devtools/rpm/rpm/fstack-protector-configure-check.patch
>
>
> This is a rather subtle patch with no header information (author,
> explaination, upstream status).


oversight on my part. I have added a patch header to it and updated
the pull request.

>
> Cheers,
>
> Richard
>
>> @@ -0,0 +1,13 @@
>> +Index: rpm-5.4.0/configure.ac
>> +===================================================================
>> +--- rpm-5.4.0.orig/configure.ac      2012-06-01 11:41:19.741480143 -0700
>> ++++ rpm-5.4.0/configure.ac   2012-06-01 11:41:51.773481676 -0700
>> +@@ -193,7 +193,7 @@
>> +  my_save_cflags="$CFLAGS"
>> +  CFLAGS=$c
>> +  AC_MSG_CHECKING([whether GCC supports $c])
>> +- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([])],
>> ++ AC_LINK_IFELSE([AC_LANG_PROGRAM([])],
>> +     [AC_MSG_RESULT([yes])]
>> +     [my_cflags=$c],
>> +     [AC_MSG_RESULT([no])]
>> diff --git a/meta/recipes-devtools/rpm/rpm_5.4.9.bb b/meta/recipes-devtools/rpm/rpm_5.4.9.bb
>> index 404916a..ccf015a 100644
>> --- a/meta/recipes-devtools/rpm/rpm_5.4.9.bb
>> +++ b/meta/recipes-devtools/rpm/rpm_5.4.9.bb
>> @@ -74,6 +74,7 @@ SRC_URI = "http://www.rpm5.org/files/rpm/rpm-5.4/rpm-5.4.9-0.20120508.src.rpm;ex
>>          file://rpm-pkgconfigdeps.patch \
>>          file://uclibc-support.patch \
>>          file://rpmatch.patch \
>> +        file://fstack-protector-configure-check.patch \
>>         "
>>
>>  SRC_URI[md5sum] = "60d56ace884340c1b3fcac6a1d58e768"
>
>
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
McClintock Matthew-B29882 - Sept. 24, 2012, 8:36 p.m.
On Fri, Jun 15, 2012 at 1:12 AM, Khem Raj <raj.khem@gmail.com> wrote:
> -fstack-protector needs libssp to link with
> so when checking for this option support we
> need to find if libssp is staged in root file
> system

Won't this still break on systems without libssp where sstate-cache
was built on systems with libssp?

-M

> Signed-off-by: Khem Raj <raj.khem@gmail.com>
> ---
>  .../rpm/rpm/fstack-protector-configure-check.patch |   13 +++++++++++++
>  meta/recipes-devtools/rpm/rpm_5.4.9.bb             |    1 +
>  2 files changed, 14 insertions(+), 0 deletions(-)
>  create mode 100644 meta/recipes-devtools/rpm/rpm/fstack-protector-configure-check.patch
>
> diff --git a/meta/recipes-devtools/rpm/rpm/fstack-protector-configure-check.patch b/meta/recipes-devtools/rpm/rpm/fstack-protector-configure-check.patch
> new file mode 100644
> index 0000000..84d0430
> --- /dev/null
> +++ b/meta/recipes-devtools/rpm/rpm/fstack-protector-configure-check.patch
> @@ -0,0 +1,13 @@
> +Index: rpm-5.4.0/configure.ac
> +===================================================================
> +--- rpm-5.4.0.orig/configure.ac        2012-06-01 11:41:19.741480143 -0700
> ++++ rpm-5.4.0/configure.ac     2012-06-01 11:41:51.773481676 -0700
> +@@ -193,7 +193,7 @@
> +  my_save_cflags="$CFLAGS"
> +  CFLAGS=$c
> +  AC_MSG_CHECKING([whether GCC supports $c])
> +- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([])],
> ++ AC_LINK_IFELSE([AC_LANG_PROGRAM([])],
> +     [AC_MSG_RESULT([yes])]
> +     [my_cflags=$c],
> +     [AC_MSG_RESULT([no])]
> diff --git a/meta/recipes-devtools/rpm/rpm_5.4.9.bb b/meta/recipes-devtools/rpm/rpm_5.4.9.bb
> index 404916a..ccf015a 100644
> --- a/meta/recipes-devtools/rpm/rpm_5.4.9.bb
> +++ b/meta/recipes-devtools/rpm/rpm_5.4.9.bb
> @@ -74,6 +74,7 @@ SRC_URI = "http://www.rpm5.org/files/rpm/rpm-5.4/rpm-5.4.9-0.20120508.src.rpm;ex
>            file://rpm-pkgconfigdeps.patch \
>            file://uclibc-support.patch \
>            file://rpmatch.patch \
> +          file://fstack-protector-configure-check.patch \
>           "
>
>  SRC_URI[md5sum] = "60d56ace884340c1b3fcac6a1d58e768"
> --
> 1.7.5.4
>
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Khem Raj - Sept. 24, 2012, 9:18 p.m.
On Mon, Sep 24, 2012 at 1:36 PM, McClintock Matthew-B29882
<B29882@freescale.com> wrote:
>
> Won't this still break on systems without libssp where sstate-cache
> was built on systems with libssp?

these two systems are not same IMO so native sstate should not be
shared here it will break more than rpm.
McClintock Matthew-B29882 - Sept. 24, 2012, 10:30 p.m.
On Mon, Sep 24, 2012 at 4:18 PM, Khem Raj <raj.khem@gmail.com> wrote:
> On Mon, Sep 24, 2012 at 1:36 PM, McClintock Matthew-B29882
> <B29882@freescale.com> wrote:
>>
>> Won't this still break on systems without libssp where sstate-cache
>> was built on systems with libssp?
>
> these two systems are not same IMO so native sstate should not be
> shared here it will break more than rpm.

If you build a binary and it depends on libssp it's its going to break
if that changes between builds. Can we just always disable libssp?

-M

>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

Patch

diff --git a/meta/recipes-devtools/rpm/rpm/fstack-protector-configure-check.patch b/meta/recipes-devtools/rpm/rpm/fstack-protector-configure-check.patch
new file mode 100644
index 0000000..84d0430
--- /dev/null
+++ b/meta/recipes-devtools/rpm/rpm/fstack-protector-configure-check.patch
@@ -0,0 +1,13 @@ 
+Index: rpm-5.4.0/configure.ac
+===================================================================
+--- rpm-5.4.0.orig/configure.ac	2012-06-01 11:41:19.741480143 -0700
++++ rpm-5.4.0/configure.ac	2012-06-01 11:41:51.773481676 -0700
+@@ -193,7 +193,7 @@
+  my_save_cflags="$CFLAGS"
+  CFLAGS=$c
+  AC_MSG_CHECKING([whether GCC supports $c])
+- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([])],
++ AC_LINK_IFELSE([AC_LANG_PROGRAM([])],
+     [AC_MSG_RESULT([yes])]
+     [my_cflags=$c],
+     [AC_MSG_RESULT([no])]
diff --git a/meta/recipes-devtools/rpm/rpm_5.4.9.bb b/meta/recipes-devtools/rpm/rpm_5.4.9.bb
index 404916a..ccf015a 100644
--- a/meta/recipes-devtools/rpm/rpm_5.4.9.bb
+++ b/meta/recipes-devtools/rpm/rpm_5.4.9.bb
@@ -74,6 +74,7 @@  SRC_URI = "http://www.rpm5.org/files/rpm/rpm-5.4/rpm-5.4.9-0.20120508.src.rpm;ex
 	   file://rpm-pkgconfigdeps.patch \
 	   file://uclibc-support.patch \
 	   file://rpmatch.patch \
+	   file://fstack-protector-configure-check.patch \
 	  "
 
 SRC_URI[md5sum] = "60d56ace884340c1b3fcac6a1d58e768"