On further examination I found this: in my log: "define: backwards memcpy"
>From reading the mailing lists on this, it looks like OpenBSD detects overlapping memcpy regions, considers it a bug, and segfaults the offending program to prevent unpredictable behavior. Here's a discussion explaining the motivation behind this that I found in the archives: https://marc.info/?l=openbsd-misc&m=148762033002663&w=2 On Wed, Apr 5, 2017 at 11:49 AM, fff iii <fr3akyid...@gmail.com> wrote: > On Wed, Apr 5, 2017 at 4:08 AM, Laurent Bercot <ska-skaw...@skarnet.org> > wrote: >>> define TESTING \#testing >>> define TESTING2 /test1/test2/test3/test4/\\${TESTING}/test6 >> >> >> Works for me. >> >> Please make sure you're running the latest version of execline, built >> against the latest version of skalibs. (execline-2.3.0.0 won't work >> with a version of skalibs older than 2.5.0.0.) >> >> If it's still not working for you after rebuilding, please give your >> machine sysdeps (/usr/lib/skalibs/sysdeps/sysdeps). >> >> -- >> Laurent > > > Hi Laurent, > > > Note there are two '\\' before ${TESTING} > and TESTING is defined as TESTING="#testing" would be in a regular > shell, I had to use a backslash to escape # > > Hope the following helps: > > If I use just one backslash, it works. If I use two - segfaults. If I > use three backslashes, it also segfaults. If I use four or five > backslashes it works. Segfaults with six backslashes. > > Yes, these are the latest skalibs and execline from the git on a > recent OpenBSD-current snapshot: > > Here are the sysdeps: > > target: amd64-unknown-openbsd6.1 > clockrt: yes > clockmon: yes > posixspawn: yes > timer: no > endianness: little > sizeofushort: 2 > sizeofuint: 4 > sizeofulong: 8 > sizeofsize: 8 > signedsize: no > sizeofuid: 4 > signeduid: no > sizeofgid: 4 > signedgid: no > sizeofpid: 4 > signedpid: yes > sizeoftime: 8 > signedtime: yes > sizeofdev: 4 > signeddev: yes > sizeofino: 8 > signedino: no > accept4: yes > ancilautoclose: no > cmsgcloexec: yes > devurandom: yes > eproto: no > eventfd: no > flock: yes > getpeereid: yes > sopeercred: no > getpeerucred: no > ipv6: yes > malloc0: yes > msgdontwait: yes > nbwaitall: no > openat: yes > linkat: yes > pipe2: yes > ppoll: yes > revoke: yes > sendfile: no > setgroups: yes > settimeofday: yes > signalfd: no > splice: no > strcasestr: yes > strnlen: yes > uint64t: yes > futimens: yes > futimes: yes > arc4random: yes > arc4random_addrandom: no > getrandom: no > itimer: yes > > Thank you.