Skip to contentSkip to conversation

package/trinity: New package

PATCH New Vicente Olivert Riera 2 participants 5 messages Oct 6, 2014 – Oct 8, 2014

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 package/trinity: New package

Adding the Trinity Linux System call fuzz tester.

---
 package/Config.in          |    1 +
 package/trinity/Config.in  |    6 ++++++
 package/trinity/trinity.mk |   31 +++++++++++++++++++++++++++++++
 3 files changed, 38 insertions(+), 0 deletions(-)
 create mode 100644 package/trinity/Config.in
 create mode 100644 package/trinity/trinity.mk
package/Config.in +1 -0
index 1021d4c..45ff5f6 100644
@@ -88,6 +88,7 @@ endif
 	source "package/sysprof/Config.in"
 	source "package/tinymembench/Config.in"
 	source "package/trace-cmd/Config.in"
+	source "package/trinity/Config.in"
 	source "package/valgrind/Config.in"
 	source "package/whetstone/Config.in"
 endmenu
package/trinity/Config.in new file +6 -0
new file mode 100644
index 0000000..de9c467
@@ -0,0 +1,6 @@
+config BR2_PACKAGE_TRINITY
+	bool "trinity"
+	help
+	  A Linux System call fuzz tester
+
+	  http://codemonkey.org.uk/projects/trinity/
package/trinity/trinity.mk new file +31 -0
new file mode 100644
index 0000000..1e6c54a
@@ -0,0 +1,31 @@
+################################################################################
+#
+# trinity
+#
+################################################################################
+
+TRINITY_VERSION = c02034ec08d951cde3429905e64afe450cbc47db
+TRINITY_SITE = $(call github,kernelslacker,trinity,$(TRINITY_VERSION))
+TRINITY_LICENSE = GPLv2
+TRINITY_LICENSE_FILES = COPYING
+
+define TRINITY_CONFIGURE_CMDS
+	(cd $(@D); $(TARGET_CONFIGURE_OPTS) ./configure.sh)
+endef
+
+define TRINITY_BUILD_CMDS
+	$(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D)
+endef
+
+define TRINITY_INSTALL_TARGET_CMDS
+	$(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR)/usr install
+endef
+
+# Install helper scripts
+define TRINITY_INSTALL_HELPER_SCRIPTS
+	mkdir -p $(TARGET_DIR)/usr/libexec/trinity
+	cp -p $(@D)/scripts/* $(TARGET_DIR)/usr/libexec/trinity/
+endef
+TRINITY_POST_INSTALL_TARGET_HOOKS += TRINITY_INSTALL_HELPER_SCRIPTS
+
+$(eval $(generic-package))
Signature · 1 line
1.7.1
#1 lore raw

PATCH 1/1 package/trinity: New package

Quoted 4 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Vicente" == Vicente Olivert Riera <[email protected]> writes:

Adding the Trinity Linux System call fuzz tester.

Thanks, but a quick test build with uClibc fails:

make[1]: Entering directory '/home/peko/source/buildroot/output/build/trinity-c02034ec08d951cde3429905e64afe450cbc47db'

  CC    arg-decoder.o
  CC    blockdevs.o
  CC    child.o
  CC    debug.o
  CC    devices.o

debug.c:5:22: fatal error: execinfo.h: No such file or directory
compilation terminated.
Makefile:96: recipe for target 'debug.o' failed
make[1]: *** [debug.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory '/home/peko/source/buildroot/output/build/trinity-c02034ec08d951cde3429905e64afe450cbc47db'

execinfo.h is only available if uClibc is built with UCLIBC_HAS_BACKTRACE=y (which it isn't by default).

Perhaps the backtrace() stuff can get #ifdef'ed out if not available?

Signature · 1 line
Bye, Peter Korsgaard
#2 lore raw

PATCH 1/1 package/trinity: New package

Dear Peter Korsgaard,

Quoted 20 lines · Peter Korsgaard
Quoted 4 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Vicente" == Vicente Olivert Riera <[email protected]> writes:

Adding the Trinity Linux System call fuzz tester.

Thanks, but a quick test build with uClibc fails:

make[1]: Entering directory '/home/peko/source/buildroot/output/build/trinity-c02034ec08d951cde3429905e64afe450cbc47db'

   CC    arg-decoder.o
   CC    blockdevs.o
   CC    child.o
   CC    debug.o
   CC    devices.o

debug.c:5:22: fatal error: execinfo.h: No such file or directory
compilation terminated.
Makefile:96: recipe for target 'debug.o' failed
make[1]: *** [debug.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory '/home/peko/source/buildroot/output/build/trinity-c02034ec08d951cde3429905e64afe450cbc47db'

Quoted 4 lines

execinfo.h is only available if uClibc is built with UCLIBC_HAS_BACKTRACE=y (which it isn't by default).

Perhaps the backtrace() stuff can get #ifdef'ed out if not available?

It looks like a change to be made upstream. Maybe it needs to include a header check in the configure.sh script, then defining a macro if the header is present, and then modify the source code to take that macro into account to do things like "#ifdef USE_EXECINFO"...

So, what do you propose by now for the Buildroot package? Disabling it for uClibc until upstream fixes that?

Signature · 1 line
Vincent
#3 lore raw

PATCH 1/1 package/trinity: New package

Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Vicente" == Vicente Olivert Riera <[email protected]> writes:

Hi,

Quoted 5 lines
Quoted 4 lines

execinfo.h is only available if uClibc is built with UCLIBC_HAS_BACKTRACE=y (which it isn't by default).

Perhaps the backtrace() stuff can get #ifdef'ed out if not available?

Quoted 7 lines

It looks like a change to be made upstream. Maybe it needs to include a header check in the configure.sh script, then defining a macro if the header is present, and then modify the source code to take that macro into account to do things like "#ifdef USE_EXECINFO"...

So, what do you propose by now for the Buildroot package? Disabling it for uClibc until upstream fixes that?

Either that or submit a patch upstream.

Signature · 1 line
Bye, Peter Korsgaard
#4 lore raw

PATCH 1/1 package/trinity: New package

Dear Peter Korsgaard,

Quoted 14 lines · Peter Korsgaard
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Vicente" == Vicente Olivert Riera <[email protected]> writes:

Hi,

Quoted 9 lines
Quoted 4 lines

execinfo.h is only available if uClibc is built with UCLIBC_HAS_BACKTRACE=y (which it isn't by default).

Perhaps the backtrace() stuff can get #ifdef'ed out if not available?

It looks like a change to be made upstream. Maybe it needs to include a header check in the configure.sh script, then defining a macro if the header is present, and then modify the source code to take that macro into account to do things like "#ifdef USE_EXECINFO"...

Quoted 4 lines
Quoted 2 lines

So, what do you propose by now for the Buildroot package? Disabling it for uClibc until upstream fixes that?

Either that or submit a patch upstream.

Let's disable it by now. I don't have enough understanding of the inners of that package to be able to do that patch right now, so I will just send an email upstream requesting that fix.

I will send the new patch in a while.

Thanks.

Signature · 1 line
Vincent