<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/61691>61691</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            Regression with -D_FORTIFY_SOURCE=2
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          tstellar
      </td>
    </tr>
</table>

<pre>
    There was a regression compiling [libmbim](https://github.com/freedesktop/libmbim) between clang-14 and clang-15, and it's still present in main.

The bad behavior began after bfb9b8e075ee32197157ccaf0c301122ca9b81af, however, I think the root cause is a bug in clang's handling of -D_FORTIFY_SOURCE=2.  When building libmbim, the libmbim-glib-scan utility hangs, and from some limited debugging I did, it appears that it gets stuck in a loop of strncpy calling itself, which I think has happened before due to inlining of the *_chk functions in glibc.

I am able to reliably reproduce this bug in a fedora:37 container using the script below:

```
sudo dnf install 'dnf-command(builddep)' git
sudo dnf builddep libmbim
git clone https://github.com/freedesktop/libmbim
cd libmbim
git checkout 1.26.4

export CFLAGS='-O2 -flto -g -Wp,-D_FORTIFY_SOURCE=2 -Wno-cast-align -gdwarf-4'
export LDFLAGS='-flto -fuse-ld=lld'
export CC=clang
export AR=llvm-ar
export RANLIB=llvm-ranlib
export NM=llvm-nm

./autogen.sh

./configure --build=x86_64-redhat-linux-gnu --host=x86_64-redhat-linux-gnu --program-prefix= --disable-dependency-tracking --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib64 --libexecdir=/usr/libexec --localstatedir=/var --sharedstatedir=/var/lib --mandir=/usr/share/man --infodir=/usr/share/info --disable-static --enable-gtk-doc

/usr/bin/make -O -j8 V=1 VERBOSE=1
```
@serge-sans-paille

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyUVVtvIykT_TX4pYTlptu3Bz849vhTpPkmUmZ2RvsUFVDdzZiGFtBx8u9XdOLEuexIK1m2i1OXUwcKMEbTOKINm1-x-X6CQ2p92KSYyFoME-n14-ZHS4HghBEQAjWBYjTegfJdb6xxDbD5lTWyk6Zj8z0TqzalPrJyy8SBiUNjUjvIqfIdE4c6EGmKx-R7Jg7nKLEGSelE5EBZdA0vKkCnz8acid1om8TEMkJMxlroA0VyCYyDDo2bstmezbZP3z9aAokaJLV4b3wASQ06wDpRAFnLtVzRbDknKkWxXhbzpVJYz1Q5KwohFK7lqsA6V239ie4p5L_XkFrjjpBaguB9AoVDJDBZFjk0mcfId6TYotOjNr4Gvr873Nz-uD78fff95q_b3RdW7sUU4FdLDuRgrM6OL1rsxgrPJm-skTwqdDAkY016zKmbeFakDr6D6Lsc0JlEGjTJoWlyxmvQRmdHkwD7njBESC2mbDeUso6DOmbeCNb7PnONKTjVP4JCO9I3KZIdlTi1RrUvIrSYe-x7cpRVrn0g0ANB8mCcNe659dwJE9s71R6hHpxKxruYK-a21JstuwbsAKUdcwSyBqV9hEB98HpQlOvGs84INWkfkJXbcgnKu4TGUYAh5rq5aFTB9AkkWX_KJ_GiEFvMnj-jGQftQbsajIsJrQUmltrVXPmuQ6eZWI1bpKlnYs3EEhqT3kWeHV72cIQbk0BZ7wj-8zyM8Up_kq8ldfRDgmIqFtPqsi166H1IsDt83f7vOyv3TCz5jQBe2-SBN8B_9UzsPj2LwH85zxXGxNGaxgFv9AlDzSsmlm-yf91fpn9KXQ-RuNWs3Fur3wfsdqzcP43F5fL2dnS_7ziGN8Dt9tvX66szGNBZI984fPv_GXTdZftTJg44JN-Qm8b2PaK8q00zBALOx91i5f5htbhbVDyQbjFxa9zwwBs3AOetj-mPDn3wTcCO94Fq88DKPXCuTcynl2vqyWly6pGngOqYTyR_9WTiMMQAnNMDqU-WpXHahJcVJg7SOOA8fgTiM_IYc3svICWV6WDC9_4tjgIYp-yg6R36vAqcWyPfYdbIRfWEZNof0byaca_QxoTpNfk95q7G0voD8hQMnOdJ-4QsE4cO3Ui59v_ikKEL-XMNk7mQG-0mHbn26s0FcKHsWOFIwG-A_17BT1buC_j55fbq5nsejeLTK4NVs0ihIR7RRd6jsZaekInelHpdrnFCm2KxXC9Ws6KYT9pNXVal1Gq2xOVKzDWJuSJdolaqwkIV64nZiJkoZ6WoimW1KudTrMVCiqpciGK1KBcVq2bUobHTfPinPjQTE-NAm0WxWBcTi5JsHJ9xIRydYASZEPlVD5txYOTQRFbNrIkpvmZJJlna3L6-6yeT2s_frMkQ7OYPl1nO-fyTR-Q3qZQ3KDOJTBxGpv8EAAD__yjHtdI">