Date: Sat, 23 Dec 2023 20:30:55 +0100 From: Kristof Provost <kp@FreeBSD.org> To: Brooks Davis <brooks@FreeBSD.org>, jrm@FreeBSD.org Cc: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: Re: git: 8ccd0b876e67 - main - libc: expose execvpe for Linux compat Message-ID: <A8CB3A81-0E01-4A58-9D0A-CD328C672C70@FreeBSD.org> In-Reply-To: <202312111927.3BBJRWon091352@gitrepo.freebsd.org> References: <202312111927.3BBJRWon091352@gitrepo.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
[-- Attachment #1 --] 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 [-- Attachment #2 --] <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/xhtml; charset=utf-8"> </head> <body><div style="font-family: sans-serif;"><div class="markdown" style="white-space: normal;"> <p dir="auto">Hi Brooks, Joseph,</p> <p dir="auto">On 11 Dec 2023, at 20:27, Brooks Davis wrote:</p> </div><div class="plaintext" style="white-space: normal;"><blockquote style="margin: 0 0 5px; padding-left: 5px; border-left: 2px solid #136BCE; color: #136BCE;"><p dir="auto">The branch main has been updated by brooks:</p> <p dir="auto">URL: <a href="https://cgit.FreeBSD.org/src/commit/?id=8ccd0b876e67fda6249f294ff484798cc1e1569f">https://cgit.FreeBSD.org/src/commit/?id=8ccd0b876e67fda6249f294ff484798cc1e1569f</a></p> <p dir="auto">commit 8ccd0b876e67fda6249f294ff484798cc1e1569f <br> Author: Brooks Davis <brooks@FreeBSD.org> <br> AuthorDate: 2023-12-11 19:24:53 +0000 <br> Commit: Brooks Davis <brooks@FreeBSD.org> <br> CommitDate: 2023-12-11 19:24:53 +0000</p> <p dir="auto"> libc: expose execvpe for Linux compat</p> <p dir="auto"> We already implemented execvpe internally with an _ prefix in libc so <br> go ahead and expose it for compatibility with Linux.</p> <p dir="auto"> This reverts c605eea952146348e5e1ad5cab6c127d7a1bd164.</p> <p dir="auto"> Bump __FreeBSD_version for the addition and add definitions to supress <br> compat shims in libzfs (zfs changes were merged from upstream).</p> <p dir="auto"> PR: 275370 (request and exp-run (thanks antoine!)) <br> Reviewed by: kevans <br> Differential Revision: <a href="https://reviews.freebsd.org/D42846">https://reviews.freebsd.org/D42846</a></p> </blockquote></div> <div class="markdown" style="white-space: normal;"> <p dir="auto">I don’t understand why, but this breaks devel/bear (“Tool that generates a compilation database for clang tooling”).</p> <p dir="auto">Rather than generate a list of commands it seems to recursively spawn endless “wrapper” processes:</p> <pre style="margin-left: 15px; margin-right: 15px; padding: 5px; border: thin solid gray; overflow-x: auto; max-width: 90vw; background-color: #E4E4E4;"><code style="padding: 0 0.25em; background-color: #E4E4E4;">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 </code></pre> <p dir="auto">It’s trivially reproducible at least. Without this patch <code style="padding: 0 0.25em; background-color: #E4E4E4;">bear -- ls</code> returns immediately and generates a compile_commands.json file (empty, but that’s fine here). With it it’ll spin endlessly.</p> <p dir="auto">Best regards,<br> Kristof</p> </div> </div> </body> </html>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?A8CB3A81-0E01-4A58-9D0A-CD328C672C70>
