[arch-commits] Commit in afl/repos (4 files)

Evangelos Foutras foutrelis at gemini.archlinux.org
Thu Jun 23 01:49:11 UTC 2022


    Date: Thursday, June 23, 2022 @ 01:49:11
  Author: foutrelis
Revision: 1239204

archrelease: copy trunk to community-staging-x86_64

Added:
  afl/repos/community-staging-x86_64/
  afl/repos/community-staging-x86_64/PKGBUILD
    (from rev 1239203, afl/trunk/PKGBUILD)
  afl/repos/community-staging-x86_64/llvm13.patch
    (from rev 1239203, afl/trunk/llvm13.patch)
  afl/repos/community-staging-x86_64/llvm14.patch
    (from rev 1239203, afl/trunk/llvm14.patch)

--------------+
 PKGBUILD     |   55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 llvm13.patch |   11 +++++++++++
 llvm14.patch |   36 ++++++++++++++++++++++++++++++++++++
 3 files changed, 102 insertions(+)

Copied: afl/repos/community-staging-x86_64/PKGBUILD (from rev 1239203, afl/trunk/PKGBUILD)
===================================================================
--- community-staging-x86_64/PKGBUILD	                        (rev 0)
+++ community-staging-x86_64/PKGBUILD	2022-06-23 01:49:11 UTC (rev 1239204)
@@ -0,0 +1,55 @@
+# Maintainer: Levente Polyak <anthraxx[at]archlinux[dot]org>
+# Maintainer: Santiago Torres-Arias <santiago[at]archlinux[dot]org>
+# Contributor: spider-mario <spidermario at free.fr>
+
+pkgname=afl
+pkgver=2.57b
+pkgrel=10
+pkgdesc='Security-oriented fuzzer using compile-time instrumentation and genetic algorithms'
+url='http://lcamtuf.coredump.cx/afl/'
+arch=('x86_64')
+license=('Apache')
+depends=('glibc' 'bash')
+optdepends=('gcc: gcc instrumentation support'
+            'clang: clang instrumentation support'
+            'llvm: experimental clang-fast instrumentation support'
+            'gnuplot: graph plotting support')
+makedepends=('clang' 'llvm' 'gcc' 'wget' 'python' 'lib32-glibc')
+provides=('american-fuzzy-lop')
+replaces=('american-fuzzy-lop')
+options=('!emptydirs' '!strip')
+source=(https://github.com/google/AFL/archive/v${pkgver}/${pkgname}-${pkgver}.tar.gz
+        llvm13.patch
+        llvm14.patch)
+sha256sums=('6f05a6515c07abe49f6f292bd13c96004cc1e016bda0c3cc9c2769dd43f163ee'
+            'ec000fddabc566ac8d2b1af0444843e384d93f7faa4ff55677db1507164ef26f'
+            '1f05ba247a295985889669ed892f2150ec38c202c13986fda78f0959e5e39524')
+sha512sums=('5d12b96229e966aeb11deb47cd8eb36cde2fa32656eb187db02c7240909d6acda36be59b2baf7e42cddd228d25ec94c8bffc3fa27f7f4b5e1e462b62929ce75d'
+            '53f1739fe96b24add8b717a5f820ef6b938863c2434e60594bf66fb317808142c369b904d962eac3209128fcf02578b7e0f9908d6e8c53b2a4ebd0fe00ae1cf8'
+            '16e12e0e023bc05d00e261a4f06644d8ac07cf8aa18a0781d5316198b1e2829c4d91ad9ec48f3a318ee8bf5a430796c6111a7dbbc3af435a43e495c45d0ae609')
+b2sums=('69029d59451e468528386154e8938a1a7303765e039f98aa05e36f07314398f60ff2578f765142e1f1ff653e5ab93ea53a2efb98abe275046ebacdd3ca8363b6'
+        '60c58a7bd115189a05866899852d760723c6dd255bd684ed90d61c1be56b8bd3bf8702aa9540ad4235469b2dc32253ee645b6f7ac7bbb924eb9f711c3a07e375'
+        '0a51146d7e2dcfd18ee7c0d9e730da609b197214a971072262b652e01c0375dd9122c18f97f074b267e49ccfe8c4c22d531e74897cb68daf9c9b6c88722cf3f0')
+
+prepare() {
+  cd AFL-${pkgver}
+  # Minimal build fixes for LLVM 13 and 14 inspired by:
+  # https://github.com/AFLplusplus/AFLplusplus/commit/1ba5d1008e74
+  # https://github.com/grame-cncm/faust/commit/1275ec6774e0
+  patch -Np1 -i ../llvm13.patch
+  patch -Np1 -i ../llvm14.patch
+}
+
+build() {
+  cd AFL-${pkgver}
+  make PREFIX=/usr
+  make -C llvm_mode PREFIX=/usr
+}
+
+package() {
+  cd AFL-${pkgver}
+  make PREFIX=/usr DESTDIR="${pkgdir}" install
+  install -Dm 644 llvm_mode/README.llvm -t "${pkgdir}/usr/share/doc/${pkgname}"
+}
+
+# vim: ts=2 sw=2 et:

Copied: afl/repos/community-staging-x86_64/llvm13.patch (from rev 1239203, afl/trunk/llvm13.patch)
===================================================================
--- community-staging-x86_64/llvm13.patch	                        (rev 0)
+++ community-staging-x86_64/llvm13.patch	2022-06-23 01:49:11 UTC (rev 1239204)
@@ -0,0 +1,11 @@
+diff -upr AFL-2.57b.orig/llvm_mode/afl-clang-fast.c AFL-2.57b/llvm_mode/afl-clang-fast.c
+--- AFL-2.57b.orig/llvm_mode/afl-clang-fast.c	2020-07-04 19:24:18.000000000 +0300
++++ AFL-2.57b/llvm_mode/afl-clang-fast.c	2021-10-25 03:48:15.025835829 +0300
+@@ -140,6 +140,7 @@ static void edit_params(u32 argc, char**
+ #endif /* ^USE_TRACE_PC */
+ 
+   cc_params[cc_par_cnt++] = "-Qunused-arguments";
++  cc_params[cc_par_cnt++] = "-flegacy-pass-manager";
+ 
+   while (--argc) {
+     u8* cur = *(++argv);

Copied: afl/repos/community-staging-x86_64/llvm14.patch (from rev 1239203, afl/trunk/llvm14.patch)
===================================================================
--- community-staging-x86_64/llvm14.patch	                        (rev 0)
+++ community-staging-x86_64/llvm14.patch	2022-06-23 01:49:11 UTC (rev 1239204)
@@ -0,0 +1,36 @@
+diff -upr AFL-2.57b.orig/llvm_mode/afl-llvm-pass.so.cc AFL-2.57b/llvm_mode/afl-llvm-pass.so.cc
+--- AFL-2.57b.orig/llvm_mode/afl-llvm-pass.so.cc	2020-07-04 19:24:18.000000000 +0300
++++ AFL-2.57b/llvm_mode/afl-llvm-pass.so.cc	2022-06-23 04:41:29.536472961 +0300
+@@ -42,6 +42,7 @@
+ #include "llvm/IR/IRBuilder.h"
+ #include "llvm/IR/LegacyPassManager.h"
+ #include "llvm/IR/Module.h"
++#include "llvm/Pass.h"
+ #include "llvm/Support/Debug.h"
+ #include "llvm/Transforms/IPO/PassManagerBuilder.h"
+ 
+@@ -131,20 +132,20 @@ bool AFLCoverage::runOnModule(Module &M)
+ 
+       /* Load prev_loc */
+ 
+-      LoadInst *PrevLoc = IRB.CreateLoad(AFLPrevLoc);
++      LoadInst *PrevLoc = IRB.CreateLoad(AFLPrevLoc->getType()->getScalarType()->getPointerElementType(), AFLPrevLoc);
+       PrevLoc->setMetadata(M.getMDKindID("nosanitize"), MDNode::get(C, None));
+       Value *PrevLocCasted = IRB.CreateZExt(PrevLoc, IRB.getInt32Ty());
+ 
+       /* Load SHM pointer */
+ 
+-      LoadInst *MapPtr = IRB.CreateLoad(AFLMapPtr);
++      LoadInst *MapPtr = IRB.CreateLoad(AFLMapPtr->getType()->getScalarType()->getPointerElementType(), AFLMapPtr);
+       MapPtr->setMetadata(M.getMDKindID("nosanitize"), MDNode::get(C, None));
+       Value *MapPtrIdx =
+-          IRB.CreateGEP(MapPtr, IRB.CreateXor(PrevLocCasted, CurLoc));
++          IRB.CreateGEP(MapPtr->getType()->getScalarType()->getPointerElementType(), MapPtr, IRB.CreateXor(PrevLocCasted, CurLoc));
+ 
+       /* Update bitmap */
+ 
+-      LoadInst *Counter = IRB.CreateLoad(MapPtrIdx);
++      LoadInst *Counter = IRB.CreateLoad(MapPtrIdx->getType()->getScalarType()->getPointerElementType(), MapPtrIdx);
+       Counter->setMetadata(M.getMDKindID("nosanitize"), MDNode::get(C, None));
+       Value *Incr = IRB.CreateAdd(Counter, ConstantInt::get(Int8Ty, 1));
+       IRB.CreateStore(Incr, MapPtrIdx)



More information about the arch-commits mailing list