Ilya Zakharevich on Mon, 06 Aug 2018 01:45:20 +0200


[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Re: [BUG 2.3.0–CURRENT] input_method conflicts with -D_FORTIFY_SOURCE=2


On Sun, Aug 05, 2018 at 06:44:39AM -0700, Ilya Zakharevich wrote:
> For reference, see
>     http://matrix.cpantesters.org/?dist=Math-Pari%202.030501
> Clicking on yellow NetBSD rectanges leads to reports like this one:
>     http://www.cpantesters.org/cpan/report/0cedc9f4-9892-11e8-bed3-aefc88cf513b
> which gives

As this report shows:

===
  Platform:
    osname=netbsd, osvers=6.1.4, archname=amd64-netbsd-thread-multi
    uname='netbsd naboo.bingosnet.co.uk 6.1.4 netbsd 6.1.4 (generic) amd64 '
    config_args='-des -Dprefix=/home/cpan/pit/thr/perl-5.24.2 -Dusethreads'
    hint=recommended, useposix=true, d_sigaction=define
    useithreads=define, usemultiplicity=define
    use64bitint=define, use64bitall=define, uselongdouble=undef
    usemymalloc=n, bincompat5005=undef
  Compiler:
    cc='cc', ccflags ='-fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/pkg/include -D_FORTIFY_SOURCE=2',
    optimize='-O',
    cppflags='-fwrapv -fno-strict-aliasing -pipe -fstack-protector -I/usr/pkg/include'
    ccversion='', gccversion='4.5.3', gccosandvers=''
    intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678, doublekind=3
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16, longdblkind=3
    ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
    alignbytes=8, prototype=define
  Linker and Libraries:
    ld='cc', ldflags =' -Wl,-rpath,/usr/pkg/lib -Wl,-rpath,/usr/local/lib -fstack-protector -L/usr/pkg/lib'
    libpth=/usr/include/gcc-4.5 /usr/lib /usr/pkg/lib /lib
    libs=-lpthread -lgdbm -lm -lcrypt -lutil -lc -lposix
    perllibs=-lpthread -lm -lcrypt -lutil -lc -lposix
    libc=/lib/libc.so, so=so, useshrplib=false, libperl=libperl.a
    gnulibc_version=''
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E '
    cccdlflags='-DPIC -fPIC ', lddlflags='--whole-archive -shared  -L/usr/pkg/lib -fstack-protector'

⁜⁜⁜⁜⁜⁜⁜⁜⁜⁜⁜⁜⁜⁜⁜⁜⁜⁜⁜⁜⁜⁜⁜⁜⁜⁜⁜⁜⁜⁜⁜⁜⁜⁜⁜⁜⁜⁜⁜⁜⁜⁜⁜⁜⁜⁜⁜⁜⁜⁜⁜⁜⁜⁜⁜

As far as I understand: there is a macro for `fgets´ — but it only triggers when it is followed by a parenthised group.  So `fgets´ inside the struct is not converted, but in the call

   FOO->fgets(args)

the macro is expanded.

Yours,
Ilya