Summary: | sys-devel/flex: cross compilation fails, stage1flex segfault - pointer truncation by implicit declaration | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Andrew Aladjev <aladjev.andrew> |
Component: | Current packages | Assignee: | Gentoo's Team for Core System packages <base-system> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | aladjev.andrew, herrtimson, sam |
Priority: | Normal | Keywords: | PATCH |
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
URL: | https://github.com/westes/flex/issues/436 | ||
See Also: |
https://github.com/westes/flex/pull/248 https://github.com/westes/flex/pull/261 https://bugs.gentoo.org/show_bug.cgi?id=628744 https://bugs.gentoo.org/show_bug.cgi?id=675368 https://github.com/westes/flex/issues/247 |
||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 870412 | ||
Attachments: |
rpl malloc and realloc declarations
build.log (original, reuploaded) |
Description
Andrew Aladjev
2020-01-18 23:47:06 UTC
Created attachment 603698 [details, diff]
rpl malloc and realloc declarations
thank you so much for the patch, it really saved the day! if you want to, please try to push the patched ebuild to the overlay for the time being, thanks 1. In future, please attach build.logs here - not external sites, as they may expire. 2. I was wondering why it goes rogue given the fix for bug 628744, but the answer is there: ``` checking for GNU libc compatible malloc... no configure: WARNING: result no guessed because of cross compilation checking for stdlib.h... (cached) yes checking for GNU libc compatible realloc... no configure: WARNING: result no guessed because of cross compilation ``` I'd prefer to just give the autoconf tests the correct result (force it) than patch. I'll do that. Created attachment 785822 [details]
build.log (original, reuploaded)
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=51dfd93c5122df670d2753070807e5a172727ded commit 51dfd93c5122df670d2753070807e5a172727ded Author: Sam James <sam@gentoo.org> AuthorDate: 2022-06-17 02:39:46 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2022-06-17 02:43:42 +0000 site: add linux-musl Follow-up to 8b1b79e02cc36bc6f2b5583db6aeea333fb8d59b. Sets ``` ac_cv_func_malloc_0_nonnull=yes ac_cv_func_realloc_0_nonnull=yes ``` ... to sort out flex and a bunch of other packages, like procps. I was wondering why this never seemed to come up when doing cross for other "standard" targets which we know work and are used often; the answer is that we never had the -musl suffix CHOSTs covered. (e.g. linux-gnu already has this set.) Bug: https://bugs.gentoo.org/554032 Closes: https://bugs.gentoo.org/675368 Closes: https://bugs.gentoo.org/705800 See: 8b1b79e02cc36bc6f2b5583db6aeea333fb8d59b Signed-off-by: Sam James <sam@gentoo.org> wrappers/site/linux-musl | 4 ++++ 1 file changed, 4 insertions(+) The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4d77781e2db7bb8bef7f390c43efc04ba58ff7bb commit 4d77781e2db7bb8bef7f390c43efc04ba58ff7bb Author: Sam James <sam@gentoo.org> AuthorDate: 2022-06-17 02:23:18 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2022-06-17 12:10:06 +0000 sys-devel/flex: fix segfault when cross-compiling Temporary workaround until new crossdev is tagged, stabled, and propagates. Closes: https://bugs.gentoo.org/705800 Signed-off-by: Sam James <sam@gentoo.org> sys-devel/flex/flex-2.6.4-r2.ebuild | 94 +++++++++++++++++++++++++++++++++++++ 1 file changed, 94 insertions(+) The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=8a1d005f7decdb50955cd653762f1b171a4e878e commit 8a1d005f7decdb50955cd653762f1b171a4e878e Author: Sam James <sam@gentoo.org> AuthorDate: 2022-06-17 18:34:17 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2022-06-17 18:44:02 +0000 sys-devel/crossdev: add 20220617 Bug: https://bugs.gentoo.org/675368 Bug: https://bugs.gentoo.org/554032 Bug: https://bugs.gentoo.org/705800 Signed-off-by: Sam James <sam@gentoo.org> sys-devel/crossdev/Manifest | 1 + sys-devel/crossdev/crossdev-20220617.ebuild | 35 +++++++++++++++++++++++++++++ sys-devel/crossdev/crossdev-99999999.ebuild | 2 +- 3 files changed, 37 insertions(+), 1 deletion(-) The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bec6a7be57fc3493dccef497b5d4b513c315f5f1 commit bec6a7be57fc3493dccef497b5d4b513c315f5f1 Author: Sam James <sam@gentoo.org> AuthorDate: 2022-10-25 11:41:32 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2022-10-25 11:42:25 +0000 sys-devel/flex: backport "config.h" fix too We already have the patch to config.h/configure.ac backported but we don't have the fix to actually *use* config.h everywhere, and clearly from bug #705800 it wasn't sufficient to just backport it (for reasons covered in the bug & upstream bug). Bug: https://bugs.gentoo.org/628744 Bug: https://bugs.gentoo.org/705800 Signed-off-by: Sam James <sam@gentoo.org> .../flex/files/flex-2.6.4-implicit-func-decl.patch | 50 ++++++++++++ sys-devel/flex/flex-2.6.4-r3.ebuild | 95 ++++++++++++++++++++++ 2 files changed, 145 insertions(+) The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=af4a94a1b5b778c0d983fbe6370b5ded4e6b54e1 commit af4a94a1b5b778c0d983fbe6370b5ded4e6b54e1 Author: Sam James <sam@gentoo.org> AuthorDate: 2022-10-28 00:35:41 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2022-10-28 01:54:19 +0000 sys-devel/flex: backport further macro fixes The gist is that the original glibc-2.26 patch was incomplete and didn't help with cross-compilation or non-glibc environments fully. There were a succession of further upstream commits now backported here. Noticed when doing some more Clang 16 work. This complements bec6a7be57fc3493dccef497b5d4b513c315f5f1 in that more effort is taken to ensure all necessary macros are defined so needed functions are available. Bug: https://bugs.gentoo.org/628744 Bug: https://bugs.gentoo.org/705800 See: bec6a7be57fc3493dccef497b5d4b513c315f5f1 See: 4d77781e2db7bb8bef7f390c43efc04ba58ff7bb See: aa6c077d00c3a21b75ae646421aefadcad527f80 Signed-off-by: Sam James <sam@gentoo.org> sys-devel/flex/Manifest | 2 +- .../flex-2.6.4-fix-build-with-glibc2.26.patch | 219 +++++++++++++++++++++ .../{flex-2.6.4-r3.ebuild => flex-2.6.4-r4.ebuild} | 20 +- 3 files changed, 233 insertions(+), 8 deletions(-) The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=812e4a387f47eac3a832690655cbceffa51aab18 commit 812e4a387f47eac3a832690655cbceffa51aab18 Author: Sam James <sam@gentoo.org> AuthorDate: 2022-10-28 01:58:07 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2022-10-28 01:58:19 +0000 sys-process/procps: drop obsolete cross malloc workaround We set the right bits in crossdev for musl targets now and, in theory, while unlikely, it is possible that some cross targets don't have the right behaviour anyway (not that i'm aware of any in use). Bug: https://bugs.gentoo.org/705800 Signed-off-by: Sam James <sam@gentoo.org> sys-process/procps/procps-3.3.17-r1.ebuild | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=51ce26ce6dd264cab35669505333ce7bea95b545 commit 51ce26ce6dd264cab35669505333ce7bea95b545 Author: Sam James <sam@gentoo.org> AuthorDate: 2022-10-28 01:57:42 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2022-10-28 01:57:42 +0000 sys-devel/flex: drop obsolete cross malloc workaround We set the right bits in crossdev for musl targets now and, in theory, while unlikely, it is possible that some cross targets don't have the right behaviour anyway (not that i'm aware of any in use). Bug: https://bugs.gentoo.org/705800 Signed-off-by: Sam James <sam@gentoo.org> sys-devel/flex/flex-2.6.4-r4.ebuild | 9 --------- 1 file changed, 9 deletions(-) |