logo

live-bootstrap

Mirror of <https://github.com/fosslinux/live-bootstrap>
commit: 86c0be5b675c90717b3a3704e6d53202fc458cbc
parent b0a2747ada52a6f2486d202e15f9f4db01f5caff
Author: Eduardo Sánchez Muñoz <eduardosm-dev@e64.io>
Date:   Fri, 14 Apr 2023 18:59:25 +0200

Fix tcc crash when building lwext4 in chroot/bwrap

Fixes https://github.com/fosslinux/live-bootstrap/issues/281.

This is adding a null pointer check to `fill_local_got_entries` in tcc 0.9.27. This is rather a workaround because I am not sure if it is legit for that pointer to be null.

Diffstat:

Asysa/tcc-0.9.27/simple-patches/check-reloc-null.after6++++++
Asysa/tcc-0.9.27/simple-patches/check-reloc-null.before4++++
Msysa/tcc-0.9.27/tcc-0.9.27.checksums2+-
Msysa/tcc-0.9.27/tcc-0.9.27.kaem3+++
4 files changed, 14 insertions(+), 1 deletion(-)

diff --git a/sysa/tcc-0.9.27/simple-patches/check-reloc-null.after b/sysa/tcc-0.9.27/simple-patches/check-reloc-null.after @@ -0,0 +1,6 @@ +static void fill_local_got_entries(TCCState *s1) +{ + ElfW_Rel *rel; + if (!s1->got->reloc) + return; + for_each_elem(s1->got->reloc, 0, rel, ElfW_Rel) { diff --git a/sysa/tcc-0.9.27/simple-patches/check-reloc-null.before b/sysa/tcc-0.9.27/simple-patches/check-reloc-null.before @@ -0,0 +1,4 @@ +static void fill_local_got_entries(TCCState *s1) +{ + ElfW_Rel *rel; + for_each_elem(s1->got->reloc, 0, rel, ElfW_Rel) { diff --git a/sysa/tcc-0.9.27/tcc-0.9.27.checksums b/sysa/tcc-0.9.27/tcc-0.9.27.checksums @@ -1 +1 @@ -5cd0428fdcb9dc579cdf496a4fd974c4d2a941f76f2ce2049a1c2ff477f64002 /usr/bin/tcc +e5f00ef66c5796f436089d3f6e67af001182e6fbb439d13bb65eef8cf82f5973 /usr/bin/tcc diff --git a/sysa/tcc-0.9.27/tcc-0.9.27.kaem b/sysa/tcc-0.9.27/tcc-0.9.27.kaem @@ -26,6 +26,9 @@ untar --file ../src/${pkg}.tar /sysa/tcc-0.9.27/simple-patches/addback-fileopen.before /sysa/tcc-0.9.27/simple-patches/addback-fileopen.after /x86/bin/simple-patch /sysa/tcc-0.9.27/build/tcc-0.9.27/tccelf.c \ /sysa/tcc-0.9.27/simple-patches/fiwix-paddr.before /sysa/tcc-0.9.27/simple-patches/fiwix-paddr.after +# Fix SIGSEGV while building lwext4 +/x86/bin/simple-patch /sysa/tcc-0.9.27/build/tcc-0.9.27/tccelf.c \ + /sysa/tcc-0.9.27/simple-patches/check-reloc-null.before /sysa/tcc-0.9.27/simple-patches/check-reloc-null.after untar --non-strict --file ../src/${MES_PKG}.tar cd ${pkg}