On 02/02/2018 09:31 AM, Florian Weimer wrote:
On 02/02/2018 09:25 AM, Carlos O'Donell wrote:
At present I can't build glibc in rawhide because make segfaults:

+ make -j4 -O -r 'CFLAGS=-mtune=generic -g -O2  -fstack-clash-protection'
make -r PARALLELMFLAGS="" -C .. objdir=`pwd` all
make: *** [Makefile:9: all] Segmentation fault (core dumped)
error: Bad exit status from /var/tmp/rpm-tmp.g0o5R3 (%build)

It's an incomplete backport.  Rawhide still has:

void
dir_setup_glob (glob_t *gl)
{
   gl->gl_opendir = open_dirstream;
   gl->gl_readdir = read_dirstream;
   gl->gl_closedir = free;
   gl->gl_stat = local_stat;
   /* We don't bother setting gl_lstat, since glob never calls it.
      The slot is only there for compatibility with 4.4 BSD.  */
}

Yet Richard's patch tells make to use the glob from glibc, which requires setting gl_lstat.  We have a compat symbol to support older makes in glibc, but rebuilding make obviously picks up the new symbol.

I requested untagging make:

  https://pagure.io/releng/issue/7291

Once this has happened, I can fix make, or if it is sufficiently late in my day, you an take over.

We need this commit from upstream make:

commit 193f1e81edd6b1b56b0eb0ff8aa4b41c7b4257b4
Author: Paul Eggert <egg...@cs.ucla.edu>
Date:   Sun Sep 24 09:12:58 2017 -0400

    glob: Do not assume glibc glob internals.

    It has been proposed that glibc glob start using gl_lstat,
    which the API allows it to do.  GNU 'make' should not get in
    the way of this.  See:
    https://sourceware.org/ml/libc-alpha/2017-09/msg00409.html

    * dir.c (local_lstat): New function, like local_stat.
    (dir_setup_glob): Use it to initialize gl_lstat too, as the API
    requires.


Thanks,
Florian
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org

Reply via email to