Skip to contentSkip to conversation

package/libseccomp: needs headers >= 3.12

PATCH New Bernd Kuhls 3 participants 6 messages Mar 31, 2015

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 package/libseccomp: needs headers >= 3.12

EM_AARCH64 was added to linux kernel with version 3.12:
https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/log/include/uapi/linux/elf-em.h?h=linux-3.12.y

Fixes
http://autobuild.buildroot.net/results/4cd/4cd6aaccde9fb0f80e49133b477f330b601f4a63/
http://autobuild.buildroot.net/results/bd1/bd105e821de583e582199aae31fab13ef17e67a0/
http://autobuild.buildroot.net/results/092/092143df2b91d50850067274da531c713f2ccb72/
http://autobuild.buildroot.net/results/814/8149cf0c3ef3ef8d91b5891591a71691dc3d7427/

---
 package/libseccomp/Config.in |    6 ++++++
 1 file changed, 6 insertions(+)
package/libseccomp/Config.in +6 -0
index 4e893c8..153e14a 100644
@@ -2,6 +2,7 @@ config BR2_PACKAGE_LIBSECCOMP
 	bool "libseccomp"
 	depends on BR2_aarch64 || BR2_mips || BR2_mipsel || BR2_mips64 || \
 		BR2_mips64el || BR2_i386 || BR2_x86_64
+	depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12
 	help
 	  High level interface to the Linux Kernel's seccomp filter
 
@@ -13,3 +14,8 @@ config BR2_PACKAGE_LIBSECCOMP
 	  and easily adopted by application developers.
 
 	  https://github.com/seccomp/libseccomp
+
+comment "libseccomp needs headers >= 3.12"
+	depends on BR2_aarch64 || BR2_mips || BR2_mipsel || BR2_mips64 || \
+		BR2_mips64el || BR2_i386 || BR2_x86_64
+	depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12
Signature · 1 line
1.7.10.4
#1 lore raw

PATCH 1/1 package/libseccomp: needs headers >= 3.12

Hi Bernd,

Quoted 19 lines · Bernd Kuhls

EM_AARCH64 was added to linux kernel with version 3.12:
https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/log/include/uapi/linux/elf-em.h?h=linux-3.12.y

Fixes
http://autobuild.buildroot.net/results/4cd/4cd6aaccde9fb0f80e49133b477f330b601f4a63/
http://autobuild.buildroot.net/results/bd1/bd105e821de583e582199aae31fab13ef17e67a0/
http://autobuild.buildroot.net/results/092/092143df2b91d50850067274da531c713f2ccb72/
http://autobuild.buildroot.net/results/814/8149cf0c3ef3ef8d91b5891591a71691dc3d7427/

---
 package/libseccomp/Config.in |    6 ++++++
 1 file changed, 6 insertions(+)
package/libseccomp/Config.in +0 -0
index 4e893c8..153e14a 100644

package/libseccomp/Config.in config BR2_PACKAGE_LIBSECCOMP · line 5

Quoted 4 lines
package/libseccomp/Config.in +1 -0
@@ -2,6 +2,7 @@ config BR2_PACKAGE_LIBSECCOMP
 	bool "libseccomp"
 	depends on BR2_aarch64 || BR2_mips || BR2_mipsel || BR2_mips64 || \
 		BR2_mips64el || BR2_i386 || BR2_x86_64
+	depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12

Can't we limit the 3.12 headers dependency to BR2_aarch64?

Something like (untested):

	depends on BR2_mips || BR2_mipsel || BR2_mips64 || \
		BR2_mips64el || BR2_i386 || BR2_x86_64 \
		|| (BR2_aarch64 && BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12)

package/libseccomp/Config.in config BR2_PACKAGE_LIBSECCOMP · line 21

Quoted 12 lines
package/libseccomp/Config.in +5 -0
 	help
 	  High level interface to the Linux Kernel's seccomp filter
 
@@ -13,3 +14,8 @@ config BR2_PACKAGE_LIBSECCOMP
 	  and easily adopted by application developers.
 
 	  https://github.com/seccomp/libseccomp
+
+comment "libseccomp needs headers >= 3.12"
+	depends on BR2_aarch64 || BR2_mips || BR2_mipsel || BR2_mips64 || \
+		BR2_mips64el || BR2_i386 || BR2_x86_64
+	depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12

baruch

Signature · 3 lines
     http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -
#3 lore raw

PATCH 1/1 package/libseccomp: needs headers >= 3.12

Hi Bernd,

Quoted 7 lines · Bernd Kuhls

Baruch Siach <[email protected]> wrote in
news:20150331165723.GP12479 at tarshish:

Quoted 1 line

Can't we limit the 3.12 headers dependency to BR2_aarch64?

no, the build errors are not limited to aarch64:
http://autobuild.buildroot.net/?reason=libseccomp-v2.2.0

Now I see. It is kernel commit 909e3ee41 that adds both EM_ARM and EM_AARCH64 to a generic header. In this case maybe patching the code is preferable. Something like:

#ifndef EM_ARM
#define EM_ARM 40
#endif

#ifndef EM_AARCH64
#define EM_AARCH64 183
#endif

Something like that should be acceptable upstream.

baruch

Signature · 3 lines
     http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -
#4 lore raw

PATCH 1/1 package/libseccomp: needs headers >= 3.12

Dear Baruch Siach,

Quoted 8 lines · Baruch Siach

Now I see. It is kernel commit 909e3ee41 that adds both EM_ARM and EM_AARCH64 to a generic header. In this case maybe patching the code is preferable. Something like:

#ifndef EM_ARM
#define EM_ARM 40
#endif

Quoted 5 lines

#ifndef EM_AARCH64
#define EM_AARCH64 183
#endif

Something like that should be acceptable upstream.

Agreed, this would allow to remove the dependency of libseccomp on >= 3.12. Though I personally don't mind that much, since libseccomp does not have any reverse dependencies, except systemd (for which it is an optional dependency), and systemd itself already depends on having a fairly recent set of kernel headers.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#5 lore raw

PATCH 1/1 package/libseccomp: needs headers >= 3.12

In reply to Bernd Kuhls

Dear Bernd Kuhls,

Quoted 1 line · Bernd Kuhls

+comment "libseccomp needs headers >= 3.12"

This should have been "libseccomp needs a tpolchain w/ headers >= 3.12"

I've committed your patch. Baruch, if you really want to have libseccomp on kernel olders than 3.12, do not hesitate to send a followup patch. Since the issue was affecting the autobuilders, I wanted to get rid of it as soon as possible.

Thanks,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com