Re: git: 8ccd0b876e67 - main - libc: expose execvpe for Linux compat
- In reply to: Kristof Provost : "Re: git: 8ccd0b876e67 - main - libc: expose execvpe for Linux compat"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 24 Dec 2023 18:11:55 UTC
On Sat, 2023-12-23 at 20:30, Kristof Provost <kp@FreeBSD.org> wrote: > Hi Brooks, Joseph, > On 11 Dec 2023, at 20:27, Brooks Davis wrote: >> The branch main has been updated by brooks: >> URL: https://cgit.FreeBSD.org/src/commit/?id=8ccd0b876e67fda6249f294ff484798cc1e1569f >> commit 8ccd0b876e67fda6249f294ff484798cc1e1569f >> Author: Brooks Davis <brooks@FreeBSD.org> >> AuthorDate: 2023-12-11 19:24:53 +0000 >> Commit: Brooks Davis <brooks@FreeBSD.org> >> CommitDate: 2023-12-11 19:24:53 +0000 >> libc: expose execvpe for Linux compat >> We already implemented execvpe internally with an _ prefix in libc so >> go ahead and expose it for compatibility with Linux. >> This reverts c605eea952146348e5e1ad5cab6c127d7a1bd164. >> Bump __FreeBSD_version for the addition and add definitions to supress >> compat shims in libzfs (zfs changes were merged from upstream). >> PR: 275370 (request and exp-run (thanks antoine!)) >> Reviewed by: kevans >> Differential Revision: https://reviews.freebsd.org/D42846 > I don’t understand why, but this breaks devel/bear (“Tool that generates a compilation database for clang tooling”). > Rather than generate a list of commands it seems to recursively spawn endless “wrapper” processes: > ``` > 82661 0 I+ 0:00.18 | | `-- bear -- ls > 82662 0 I+ 0:06.90 | | `-- /usr/local/bin/bear intercept --library /usr/local/lib/bear/libexec.so --wrapper /usr/local/lib/bear/wrapper --wrapper-dir /usr/local/lib/bear/wr > 82663 0 I+ 0:00.13 | | `-- /usr/local/lib/bear/wrapper --destination dns:///localhost:30309 --execute /bin/ls -- ls > 82664 0 I+ 0:00.09 | | `-- /usr/local/lib/bear/wrapper --destination dns:///localhost:30309 --execute /bin/ls -- ls > 82665 0 I+ 0:00.06 | | `-- /usr/local/lib/bear/wrapper --destination dns:///localhost:30309 --execute /bin/ls -- ls > 82666 0 I+ 0:00.06 | | `-- /usr/local/lib/bear/wrapper --destination dns:///localhost:30309 --execute /bin/ls -- ls > ``` > It’s trivially reproducible at least. Without this patch `bear -- ls` returns immediately and generates a compile_commands.json file (empty, but that’s fine here). With it it’ll spin endlessly. > Best regards, > Kristof Hi Kristof, Brooks, I'm updating my CURRENT system to after that commit. I'll try to understand the problem after the holidays. If I don't come up with anything helpful, I'll report the issue upstream. Joe