This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
| Other format: | [Raw text] | |
On 07/25/2016 06:30 PM, Manuel López-Ibáñez wrote:
On 25/07/16 21:16, Joseph Myers wrote:On Mon, 25 Jul 2016, Jeff Law wrote:I'll pre-approve removing those bits. Alternately, you could look to resync with glibc, though that could prove painful after 15 years of divergence.The current glibc implementation is completely different; the libiberty version was replaced in glibc many years ago. Obsolete libiberty by gnulib for all its users and you get a portable version of the current glibc regex that way....BTW, this is what Ayush is trying to do: https://gcc.gnu.org/ml/gcc-patches/2016-07/msg01302.html https://gcc.gnu.org/wiki/replacelibibertywithgnulib It would be great if someone could review his patches. I cannot approve them myself. You could even ask him to look next at replacing the libiberty version of regex.c with gnulib's in GCC. It is on his TODO list.
Well, if libiberty is going to be replaced en masse by gnulib, then there's no sense in me cleaning up libiberty's regex.
Out of curiosity I tested gnulib's regex implementation by building glibc (since it seems to be the same code) with my -Walloca patch (-Walloca-larger-than=4096). Cursory tests show that libc's regex*.c are in much better shape with regards to unbounded allocas. Actually, I only see one real problem and one possible false positive.
For the curious, the possible unbounded alloca is in gnulib's regcomp.c:
if ((bufp->syntax & RE_ICASE) && dfa->mb_cur_max > 1)
{
unsigned char *buf = alloca (dfa->mb_cur_max), *p;
Before I spend any more time on this, is there a plan to review Ayush's
work for say GCC 7? I obviously only care about regex* right now, or
any alloca users in libiberty :).
Aldy
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |