{"thread":{"id":"46960","subject":"undefined reference to `pcre_jit_exec'","startedAt":"2017-10-12T20:06:23Z","lastAt":"2017-10-12T21:05:15Z","messageCount":6,"participants":["Jeffrey Walton","Jeff King","Ævar Arnfjörð Bjarmason"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"330301","messageId":"CAH8yC8mvG3bSpgshHay7B0SSyAafWLrPTtVZRuq2cShn9xQ9JA@mail.gmail.com","threadId":"46960","inReplyTo":null,"subject":"undefined reference to `pcre_jit_exec'","fromName":"Jeffrey Walton","fromEmail":"noloader@gmail.com","sentAt":"2017-10-12T20:06:11Z","receivedAt":"2017-10-12T20:06:23Z","isPatch":false,"sender":{"key":"noloader@gmail.com","avatar":null},"body":"Hi Everyone,\n\nI have a script to build Git on some old platforms to ease testing.\nOld platforms include CentOS 5. The script is available at\nhttps://github.com/noloader/Build-Scripts/blob/master/build-ssh.sh.\n\nIt looks like something got knocked loose recently. I'm seeing several\nof these when building with PCRE 8.41 with Git 2.14.2. Old and new\nplatforms are witnessing it. I observe it on CentOS 5 with GCC 4.1;\nand Fedora 26 with GCC 7.2.\n\n    ...\n    LINK git-credential-store\nlibgit.a(grep.o): In function `pcre1match':\ngrep.c:(.text+0x1219): undefined reference to `pcre_jit_exec'\ncollect2: error: ld returned 1 exit status\nmake: *** [Makefile:2145: git-credential-store] Error 1\n\nJeff\n\n****************************************\n\n./configure ...\n\nconfig.status: executing config.mak.autogen commands\n    * new build flags\n    * new prefix flags\n    * new link flags\n    GEN common-cmds.h\n    CC hex.o\n    CC ident.o\n    CC kwset.o\n    CC levenshtein.o\n    CC line-log.o\n    CC line-range.o\n    CC list-objects.o\n    CC ll-merge.o\n    CC lockfile.o\n    CC log-tree.o\n    CC mailinfo.o\n    CC mailmap.o\n    CC match-trees.o\n    CC merge.o\n    CC merge-blobs.o\n    CC merge-recursive.o\n    CC mergesort.o\n    CC mru.o\n    CC name-hash.o\n    CC notes.o\n    CC notes-cache.o\n    CC notes-merge.o\n    CC notes-utils.o\n    CC object.o\n    CC oidset.o\n    CC pack-bitmap.o\n    CC pack-bitmap-write.o\n    CC pack-check.o\n    CC pack-objects.o\n    CC pack-revindex.o\n    CC pack-write.o\n    CC pager.o\n    CC parse-options.o\n    CC parse-options-cb.o\n    CC patch-delta.o\n    CC patch-ids.o\n    CC path.o\n    CC pathspec.o\n    CC pkt-line.o\n    CC preload-index.o\n    CC pretty.o\n    CC prio-queue.o\n    CC progress.o\n    CC prompt.o\n    CC quote.o\n    CC reachable.o\n    CC read-cache.o\n    CC reflog-walk.o\n    CC refs.o\n    CC refs/files-backend.o\n    CC refs/iterator.o\n    CC refs/ref-cache.o\n    CC ref-filter.o\n    CC remote.o\n    CC replace_object.o\n    CC repository.o\n    CC rerere.o\n    CC resolve-undo.o\n    CC revision.o\n    CC run-command.o\n    CC send-pack.o\n    CC sequencer.o\n    CC server-info.o\n    CC setup.o\n    CC sha1-array.o\n    CC sha1-lookup.o\n    CC sha1_file.o\n    CC sha1_name.o\n    CC shallow.o\n    CC sideband.o\n    CC sigchain.o\n    CC split-index.o\n    CC strbuf.o\n    CC streaming.o\n    CC string-list.o\n    CC submodule.o\n    CC submodule-config.o\n    CC sub-process.o\n    CC symlinks.o\n    CC tag.o\n    CC tempfile.o\n    CC tmp-objdir.o\n    CC trace.o\n    CC trailer.o\n    CC transport.o\n    CC transport-helper.o\n    CC tree-diff.o\n    CC tree.o\n    CC tree-walk.o\n    CC unpack-trees.o\n    CC url.o\n    CC urlmatch.o\n    CC usage.o\n    CC userdiff.o\n    CC utf8.o\n    CC varint.o\n    CC versioncmp.o\n    CC walker.o\n    CC wildmatch.o\n    CC worktree.o\n    CC wrapper.o\n    CC write_or_die.o\n    CC ws.o\n    CC wt-status.o\n    CC xdiff-interface.o\n    CC zlib.o\n    CC unix-socket.o\n    CC sha1dc/sha1.o\n    CC sha1dc/ubc_check.o\n    CC thread-utils.o\n    CC compat/fopen.o\n    CC compat/strlcpy.o\n    CC compat/qsort_s.o\n    CC xdiff/xdiffi.o\n    CC xdiff/xprepare.o\n    CC xdiff/xutils.o\n    CC xdiff/xemit.o\n    CC xdiff/xmerge.o\n    CC xdiff/xpatience.o\n    CC xdiff/xhistogram.o\n    CC daemon.o\n    CC fast-import.o\n    CC http-backend.o\n    CC imap-send.o\n    CC http.o\n    CC sh-i18n--envsubst.o\n    CC shell.o\n    CC show-index.o\n    CC upload-pack.o\n    CC remote-testsvn.o\n    CC vcs-svn/line_buffer.o\n    CC vcs-svn/sliding_window.o\n    CC vcs-svn/fast_export.o\n    CC vcs-svn/svndiff.o\n    CC vcs-svn/svndump.o\n    CC http-walker.o\n    CC http-fetch.o\n    CC credential-cache.o\n    CC credential-cache--daemon.o\n    CC remote-curl.o\n    * new script parameters\n    * new perl-specific parameters\n    * new Python interpreter location\n    GEN git-instaweb\n    GEN git-mergetool--lib\n    GEN git-parse-remote\n    GEN git-rebase--am\n    GEN git-rebase--interactive\n    GEN git-rebase--merge\n    GEN git-sh-setup\n    GEN git-sh-i18n\n    CC git.o\n    CC builtin/add.o\n    CC builtin/am.o\n    CC builtin/annotate.o\n    CC builtin/apply.o\n    CC builtin/archive.o\n    CC builtin/bisect--helper.o\n    CC builtin/blame.o\n    CC builtin/branch.o\n    CC builtin/bundle.o\n    CC builtin/cat-file.o\n    CC builtin/check-attr.o\n    CC builtin/check-ignore.o\n    CC builtin/check-mailmap.o\n    CC builtin/check-ref-format.o\n    CC builtin/checkout-index.o\n    CC builtin/checkout.o\n    CC builtin/clean.o\n    CC builtin/clone.o\n    CC builtin/column.o\n    CC builtin/commit-tree.o\n    CC builtin/commit.o\n    CC builtin/config.o\n    CC builtin/count-objects.o\n    CC builtin/credential.o\n    CC builtin/describe.o\n    CC builtin/diff-files.o\n    CC builtin/diff-index.o\n    CC builtin/diff-tree.o\n    CC builtin/diff.o\n    CC builtin/difftool.o\n    CC builtin/fast-export.o\n    CC builtin/fetch-pack.o\n    CC builtin/fetch.o\n    CC builtin/fmt-merge-msg.o\n    CC builtin/for-each-ref.o\n    CC builtin/fsck.o\n    CC builtin/gc.o\n    CC builtin/get-tar-commit-id.o\n    CC builtin/grep.o\n    CC builtin/hash-object.o\n    CC builtin/help.o\n    CC builtin/index-pack.o\n    CC builtin/init-db.o\n    CC builtin/interpret-trailers.o\n    CC builtin/log.o\n    CC builtin/ls-files.o\n    CC builtin/ls-remote.o\n    CC builtin/ls-tree.o\n    CC builtin/mailinfo.o\n    CC builtin/mailsplit.o\n    CC builtin/merge.o\n    CC builtin/merge-base.o\n    CC builtin/merge-file.o\n    CC builtin/merge-index.o\n    CC builtin/merge-ours.o\n    CC builtin/merge-recursive.o\n    CC builtin/merge-tree.o\n    CC builtin/mktag.o\n    CC builtin/mktree.o\n    CC builtin/mv.o\n    CC builtin/name-rev.o\n    CC builtin/notes.o\n    CC builtin/pack-objects.o\n    CC builtin/pack-redundant.o\n    CC builtin/pack-refs.o\n    CC builtin/patch-id.o\n    CC builtin/prune-packed.o\n    CC builtin/prune.o\n    CC builtin/pull.o\n    CC builtin/push.o\n    CC builtin/read-tree.o\n    CC builtin/rebase--helper.o\n    CC builtin/receive-pack.o\n    CC builtin/reflog.o\n    CC builtin/remote.o\n    CC builtin/remote-ext.o\n    CC builtin/remote-fd.o\n    CC builtin/repack.o\n    CC builtin/replace.o\n    CC builtin/rerere.o\n    CC builtin/reset.o\n    CC builtin/rev-list.o\n    CC builtin/rev-parse.o\n    CC builtin/revert.o\n    CC builtin/rm.o\n    CC builtin/send-pack.o\n    CC builtin/shortlog.o\n    CC builtin/show-branch.o\n    CC builtin/show-ref.o\n    CC builtin/stripspace.o\n    CC builtin/submodule--helper.o\n    CC builtin/symbolic-ref.o\n    CC builtin/tag.o\n    CC builtin/unpack-file.o\n    CC builtin/unpack-objects.o\n    CC builtin/update-index.o\n    CC builtin/update-ref.o\n    CC builtin/update-server-info.o\n    CC builtin/upload-archive.o\n    CC builtin/var.o\n    CC builtin/verify-commit.o\n    CC builtin/verify-pack.o\n    CC builtin/verify-tag.o\n    CC builtin/worktree.o\n    CC builtin/write-tree.o\n    CC credential-store.o\n    CC common-main.o\n    CC abspath.o\n    CC advice.o\n    CC alias.o\n    CC alloc.o\n    CC apply.o\n    CC archive.o\n    CC archive-tar.o\n    CC archive-zip.o\n    CC argv-array.o\n    CC attr.o\n    CC base85.o\n    CC bisect.o\n    CC blame.o\n    CC blob.o\n    CC branch.o\n    CC bulk-checkin.o\n    CC bundle.o\n    CC cache-tree.o\n    CC color.o\n    CC column.o\n    CC combine-diff.o\n    CC commit.o\n    CC compat/obstack.o\n    CC compat/terminal.o\n    CC config.o\n    CC connect.o\n    CC connected.o\n    CC convert.o\n    CC copy.o\n    CC credential.o\n    CC csum-file.o\n    CC ctype.o\n    CC date.o\n    CC decorate.o\n    CC diffcore-break.o\n    CC diffcore-delta.o\n    CC diffcore-order.o\n    CC diffcore-pickaxe.o\n    CC diffcore-rename.o\n    CC diff-delta.o\n    CC diff-lib.o\n    CC diff-no-index.o\n    CC diff.o\n    CC dir.o\n    CC dir-iterator.o\n    CC editor.o\n    CC entry.o\n    CC environment.o\n    CC ewah/bitmap.o\n    CC ewah/ewah_bitmap.o\n    CC ewah/ewah_io.o\n    CC ewah/ewah_rlw.o\n    CC exec_cmd.o\n    CC fetch-pack.o\n    CC fsck.o\n    CC gettext.o\n    CC gpg-interface.o\n    CC graph.o\n    CC grep.o\n    CC hashmap.o\n    CC help.o\n    CC version.o\n    AR xdiff/lib.a\n    AR vcs-svn/lib.a\n    GEN git-bisect\n    GEN git-difftool--helper\n    GEN git-filter-branch\n    GEN git-merge-octopus\n    GEN git-merge-one-file\n    GEN git-merge-resolve\n    GEN git-mergetool\n    GEN git-quiltimport\n    GEN git-rebase\n    GEN git-request-pull\n    GEN git-stash\n    GEN git-submodule\n    GEN git-web--browse\n    SUBDIR perl\n    GEN git-p4\n/usr/local/bin/perl Makefile.PL PREFIX='/usr/local' INSTALL_BASE=''\n--localedir='/usr/local/share/locale'\n    AR libgit.a\n    LINK git-credential-store\n    LINK git-daemon\n    LINK git-fast-import\nlibgit.a(grep.o): In function `pcre1match':\ngrep.c:(.text+0x1219): undefined reference to `pcre_jit_exec'\ncollect2: error: ld returned 1 exit status\nmake: *** [Makefile:2145: git-credential-store] Error 1\nmake: *** Waiting for unfinished jobs....\nlibgit.a(grep.o): In function `pcre1match':\ngrep.c:(.text+0x1219): undefined reference to `pcre_jit_exec'\ncollect2: error: ld returned 1 exit status\nmake: *** [Makefile:2145: git-fast-import] Error 1\nlibgit.a(grep.o): In function `pcre1match':\ngrep.c:(.text+0x1219): undefined reference to `pcre_jit_exec'\ncollect2: error: ld returned 1 exit status\nmake: *** [Makefile:2145: git-daemon] Error 1\nGenerating a Unix-style perl.mak\nWriting perl.mak for Git\nWriting MYMETA.yml and MYMETA.json\n    * new build flags\n    CC credential-store.o\n    CC common-main.o\n    CC abspath.o\n    CC advice.o\n    CC alias.o\n    CC alloc.o\n    CC apply.o\n    CC archive.o\n    CC archive-tar.o\n    CC archive-zip.o\n    CC argv-array.o\n    CC attr.o\n    CC base85.o\n    CC bisect.o\n    CC blame.o\n    CC blob.o\n    CC branch.o\n    CC bulk-checkin.o\n    CC bundle.o\n    CC cache-tree.o\n    CC color.o\n    CC column.o\n    CC combine-diff.o\n    CC commit.o\n    CC compat/obstack.o\n    CC compat/terminal.o\n    CC config.o\n    CC connect.o\n    CC connected.o\n    CC convert.o\n    CC copy.o\n    CC credential.o\n    CC csum-file.o\n    CC ctype.o\n    CC date.o\n    CC decorate.o\n    CC diffcore-break.o\n    CC diffcore-delta.o\n    CC diffcore-order.o\n    CC diffcore-pickaxe.o\n    CC diffcore-rename.o\n    CC diff-delta.o\n    CC diff-lib.o\n    CC diff-no-index.o\n    CC diff.o\n    CC dir.o\n    CC dir-iterator.o\n    CC editor.o\n    CC entry.o\n    CC environment.o\n    CC ewah/bitmap.o\n    CC ewah/ewah_bitmap.o\n    CC ewah/ewah_io.o\n    CC ewah/ewah_rlw.o\n    CC exec_cmd.o\n    CC fetch-pack.o\n    CC fsck.o\n    CC gettext.o\n    CC gpg-interface.o\n    CC graph.o\n    CC grep.o\n    CC hashmap.o\n    CC help.o\n    CC hex.o\n    CC ident.o\n    CC kwset.o\n    CC levenshtein.o\n    CC line-log.o\n    CC line-range.o\n    CC list-objects.o\n    CC ll-merge.o\n    CC lockfile.o\n    CC log-tree.o\n    CC mailinfo.o\n    CC mailmap.o\n    CC match-trees.o\n    CC merge.o\n    CC merge-blobs.o\n    CC merge-recursive.o\n    CC mergesort.o\n    CC mru.o\n    CC name-hash.o\n    CC notes.o\n    CC notes-cache.o\n    CC notes-merge.o\n    CC notes-utils.o\n    CC object.o\n    CC oidset.o\n    CC pack-bitmap.o\n    CC pack-bitmap-write.o\n    CC pack-check.o\n    CC pack-objects.o\n    CC pack-revindex.o\n    CC pack-write.o\n    CC pager.o\n    CC parse-options.o\n    CC parse-options-cb.o\n    CC patch-delta.o\n    CC patch-ids.o\n    CC path.o\n    CC pathspec.o\n    CC pkt-line.o\n    CC preload-index.o\n    CC pretty.o\n    CC prio-queue.o\n    CC progress.o\n    CC prompt.o\n    CC quote.o\n    CC reachable.o\n    CC read-cache.o\n    CC reflog-walk.o\n    CC refs.o\n    CC refs/files-backend.o\n    CC refs/iterator.o\n    CC refs/ref-cache.o\n    CC ref-filter.o\n    CC remote.o\n    CC replace_object.o\n    CC repository.o\n    CC rerere.o\n    CC resolve-undo.o\n    CC revision.o\n    CC run-command.o\n    CC send-pack.o\n    CC sequencer.o\n    CC server-info.o\n    CC setup.o\n    CC sha1-array.o\n    CC sha1-lookup.o\n    CC sha1_file.o\n    CC sha1_name.o\n    CC shallow.o\n    CC sideband.o\n    CC sigchain.o\n    CC split-index.o\n    CC strbuf.o\n    CC streaming.o\n    CC string-list.o\n    CC submodule.o\n    CC submodule-config.o\n    CC sub-process.o\n    CC symlinks.o\n    CC tag.o\n    CC tempfile.o\n    CC tmp-objdir.o\n    CC trace.o\n    CC trailer.o\n    CC transport.o\n    CC transport-helper.o\n    CC tree-diff.o\n    CC tree.o\n    CC tree-walk.o\n    CC unpack-trees.o\n    CC url.o\n    CC urlmatch.o\n    CC usage.o\n    CC userdiff.o\n    CC utf8.o\n    CC varint.o\n    CC version.o\n    CC versioncmp.o\n    CC walker.o\n    CC wildmatch.o\n    CC worktree.o\n    CC wrapper.o\n    CC write_or_die.o\n    CC ws.o\n    CC wt-status.o\n    CC xdiff-interface.o\n    CC zlib.o\n    CC unix-socket.o\n    CC sha1dc/sha1.o\n    CC sha1dc/ubc_check.o\n    CC thread-utils.o\n    CC compat/fopen.o\n    CC compat/strlcpy.o\n    CC compat/qsort_s.o\n    AR libgit.a\n    CC xdiff/xdiffi.o\n    CC xdiff/xprepare.o\n    CC xdiff/xutils.o\n    CC xdiff/xemit.o\n    CC xdiff/xmerge.o\n    CC xdiff/xpatience.o\n    CC xdiff/xhistogram.o\n    AR xdiff/lib.a\n    LINK git-credential-store\nlibgit.a(grep.o): In function `pcre1match':\ngrep.c:(.text+0x1219): undefined reference to `pcre_jit_exec'\ncollect2: error: ld returned 1 exit status\nmake: *** [Makefile:2145: git-credential-store] Error 1\n"},{"id":"330302","messageId":"20171012201023.wrfbs7p7lups5glz@sigill.intra.peff.net","threadId":"46960","inReplyTo":"CAH8yC8mvG3bSpgshHay7B0SSyAafWLrPTtVZRuq2cShn9xQ9JA@mail.gmail.com","subject":"Re: undefined reference to `pcre_jit_exec'","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2017-10-12T20:10:23Z","receivedAt":"2017-10-12T20:10:30Z","isPatch":false,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Thu, Oct 12, 2017 at 04:06:11PM -0400, Jeffrey Walton wrote:\n\n> I have a script to build Git on some old platforms to ease testing.\n> Old platforms include CentOS 5. The script is available at\n> https://github.com/noloader/Build-Scripts/blob/master/build-ssh.sh.\n> \n> It looks like something got knocked loose recently. I'm seeing several\n> of these when building with PCRE 8.41 with Git 2.14.2. Old and new\n> platforms are witnessing it. I observe it on CentOS 5 with GCC 4.1;\n> and Fedora 26 with GCC 7.2.\n> \n>     ...\n>     LINK git-credential-store\n> libgit.a(grep.o): In function `pcre1match':\n> grep.c:(.text+0x1219): undefined reference to `pcre_jit_exec'\n> collect2: error: ld returned 1 exit status\n> make: *** [Makefile:2145: git-credential-store] Error 1\n\nMaybe:\n\n  $ git grep -h -B5 -A1 pcre_jit Makefile\n  # When using USE_LIBPCRE1, define NO_LIBPCRE1_JIT if the PCRE v1\n  # library is compiled without --enable-jit. We will auto-detect\n  # whether the version of the PCRE v1 library in use has JIT support at\n  # all, but we unfortunately can't auto-detect whether JIT support\n  # hasn't been compiled in in an otherwise JIT-supporting version. If\n  # you have link-time errors about a missing `pcre_jit_exec` define\n  # this, or recompile PCRE v1 with --enable-jit.\n\nIt looks like autoconf turns on USE_LIBPCRE1, but isn't smart enough to\ntest NO_LIBPCRE1_JIT.\n\n-Peff\n"},{"id":"330307","messageId":"CAH8yC8nHpdA+fX3pcaLRzEYwTCmoxF3NKSh6SUkORZuEvg0JGA@mail.gmail.com","threadId":"46960","inReplyTo":"20171012201023.wrfbs7p7lups5glz@sigill.intra.peff.net","subject":"Re: undefined reference to `pcre_jit_exec'","fromName":"Jeffrey Walton","fromEmail":"noloader@gmail.com","sentAt":"2017-10-12T20:34:38Z","receivedAt":"2017-10-12T20:34:44Z","isPatch":false,"sender":{"key":"noloader@gmail.com","avatar":null},"body":"On Thu, Oct 12, 2017 at 4:10 PM, Jeff King <peff@peff.net> wrote:\n> On Thu, Oct 12, 2017 at 04:06:11PM -0400, Jeffrey Walton wrote:\n>\n>> I have a script to build Git on some old platforms to ease testing.\n>> Old platforms include CentOS 5. The script is available at\n>> https://github.com/noloader/Build-Scripts/blob/master/build-ssh.sh.\n>>\n>> It looks like something got knocked loose recently. I'm seeing several\n>> of these when building with PCRE 8.41 with Git 2.14.2. Old and new\n>> platforms are witnessing it. I observe it on CentOS 5 with GCC 4.1;\n>> and Fedora 26 with GCC 7.2.\n>>\n>>     ...\n>>     LINK git-credential-store\n>> libgit.a(grep.o): In function `pcre1match':\n>> grep.c:(.text+0x1219): undefined reference to `pcre_jit_exec'\n>> collect2: error: ld returned 1 exit status\n>> make: *** [Makefile:2145: git-credential-store] Error 1\n>\n> Maybe:\n>\n>   $ git grep -h -B5 -A1 pcre_jit Makefile\n>   # When using USE_LIBPCRE1, define NO_LIBPCRE1_JIT if the PCRE v1\n>   # library is compiled without --enable-jit. We will auto-detect\n>   # whether the version of the PCRE v1 library in use has JIT support at\n>   # all, but we unfortunately can't auto-detect whether JIT support\n>   # hasn't been compiled in in an otherwise JIT-supporting version. If\n>   # you have link-time errors about a missing `pcre_jit_exec` define\n>   # this, or recompile PCRE v1 with --enable-jit.\n\nAh, thanks. A quick search did not find that comment. And it did not\noccur to me to re-run --help to read about it.\n\n> It looks like autoconf turns on USE_LIBPCRE1, but isn't smart enough to\n> test NO_LIBPCRE1_JIT.\n\nIf Git wants Jit, then I am inclined to configure PCRE to provide it.\n\nA quick question if you happen to know... Does PCRE Jit cause a loss\nof NX-stacks? If it causes a loss of NX-stacks, then I think I prefer\nto disable it.\n\nJeff\n"},{"id":"330308","messageId":"20171012203832.ui52j7cdrztc6vhs@sigill.intra.peff.net","threadId":"46960","inReplyTo":"CAH8yC8nHpdA+fX3pcaLRzEYwTCmoxF3NKSh6SUkORZuEvg0JGA@mail.gmail.com","subject":"Re: undefined reference to `pcre_jit_exec'","fromName":"Jeff King","fromEmail":"peff@peff.net","sentAt":"2017-10-12T20:38:32Z","receivedAt":"2017-10-12T20:38:39Z","isPatch":false,"sender":{"key":"peff@peff.net","avatar":"https://avatars.githubusercontent.com/u/45925?v=4"},"body":"On Thu, Oct 12, 2017 at 04:34:38PM -0400, Jeffrey Walton wrote:\n\n> > It looks like autoconf turns on USE_LIBPCRE1, but isn't smart enough to\n> > test NO_LIBPCRE1_JIT.\n> \n> If Git wants Jit, then I am inclined to configure PCRE to provide it.\n\nIt does make things faster. OTOH, we lived for many years without it, so\ncertainly it's not the end of the world to build without it.\n\nThere are some numbers in the commit message of fbaceaac47 (grep: add\nsupport for the PCRE v1 JIT API, 2017-05-25).\n\n> A quick question if you happen to know... Does PCRE Jit cause a loss\n> of NX-stacks? If it causes a loss of NX-stacks, then I think I prefer\n> to disable it.\n\nI don't know. Ævar (cc'd) might.\n\n-Peff\n"},{"id":"330310","messageId":"CAH8yC8kSpON5UP=pfsGXQ9JhhZOHVPetFHbr0BqBPnoYzj4Hog@mail.gmail.com","threadId":"46960","inReplyTo":"20171012203832.ui52j7cdrztc6vhs@sigill.intra.peff.net","subject":"Re: undefined reference to `pcre_jit_exec'","fromName":"Jeffrey Walton","fromEmail":"noloader@gmail.com","sentAt":"2017-10-12T21:00:33Z","receivedAt":"2017-10-12T21:00:42Z","isPatch":false,"sender":{"key":"noloader@gmail.com","avatar":null},"body":"On Thu, Oct 12, 2017 at 4:38 PM, Jeff King <peff@peff.net> wrote:\n> On Thu, Oct 12, 2017 at 04:34:38PM -0400, Jeffrey Walton wrote:\n>\n>> > It looks like autoconf turns on USE_LIBPCRE1, but isn't smart enough to\n>> > test NO_LIBPCRE1_JIT.\n>>\n>> If Git wants Jit, then I am inclined to configure PCRE to provide it.\n>\n> It does make things faster. OTOH, we lived for many years without it, so\n> certainly it's not the end of the world to build without it.\n>\n> There are some numbers in the commit message of fbaceaac47 (grep: add\n> support for the PCRE v1 JIT API, 2017-05-25).\n>\n>> A quick question if you happen to know... Does PCRE Jit cause a loss\n>> of NX-stacks? If it causes a loss of NX-stacks, then I think I prefer\n>> to disable it.\n>\n> I don't know. Ævar (cc'd) might.\n\nThanks. Building PCRE with Jit enabled results in:\n\n$ readelf -l /usr/local/libexec/git-core/git-credential-re| grep -i -A1 stack\n  GNU_STACK      0x0000000000000000 0x0000000000000000 0x0000000000000000\n                 0x0000000000000000 0x0000000000000000  RW     10\n\nSo it looks like the NX-stacks were not lost.\n\nThanks again.\n\nJeff\n"},{"id":"330311","messageId":"874lr46prx.fsf@evledraar.booking.com","threadId":"46960","inReplyTo":"20171012203832.ui52j7cdrztc6vhs@sigill.intra.peff.net","subject":"Re: undefined reference to `pcre_jit_exec'","fromName":"Ævar Arnfjörð Bjarmason","fromEmail":"avarab@gmail.com","sentAt":"2017-10-12T21:05:06Z","receivedAt":"2017-10-12T21:05:15Z","isPatch":false,"sender":{"key":"avarab@gmail.com","avatar":"https://avatars.githubusercontent.com/u/45301?v=4"},"body":"\nOn Thu, Oct 12 2017, Jeff King jotted:\n\n> On Thu, Oct 12, 2017 at 04:34:38PM -0400, Jeffrey Walton wrote:\n>\n>> > It looks like autoconf turns on USE_LIBPCRE1, but isn't smart enough to\n>> > test NO_LIBPCRE1_JIT.\n>>\n>> If Git wants Jit, then I am inclined to configure PCRE to provide it.\n>\n> It does make things faster. OTOH, we lived for many years without it, so\n> certainly it's not the end of the world to build without it.\n>\n> There are some numbers in the commit message of fbaceaac47 (grep: add\n> support for the PCRE v1 JIT API, 2017-05-25).\n>\n>> A quick question if you happen to know... Does PCRE Jit cause a loss\n>> of NX-stacks? If it causes a loss of NX-stacks, then I think I prefer\n>> to disable it.\n>\n> I don't know. Ævar (cc'd) might.\n\nSorry, no idea. I do see some references to that in sljit (which pcre\nJIT uses), but haven't tried this myself. From what I understand of how\nNX works it should fail really fast if it doesn't, so it would be cool\nif you could try it and report if it works.\n"}]}