Summary: | Glibc should define gets for C++11 | ||
---|---|---|---|
Product: | glibc | Reporter: | Tom de Vries <vries> |
Component: | stdio | Assignee: | Joseph Myers <jsm28> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | bz-glibc, jwakely.gcc |
Priority: | P2 | Flags: | fweimer:
security-
|
Version: | 2.15 | ||
Target Milestone: | --- | ||
Host: | Target: | ||
Build: | Last reconfirmed: |
Description
Tom de Vries
2012-01-05 18:23:30 UTC
(In reply to comment #0) > http://gcc.gnu.org/ml/gcc/2012-01/msg00041.html . That build failure is in C++03 code, not C++11 gets() needs to be defined for C++ even when _GNU_SOURCE is defined. I suggest checking whether __cplusplus <= 201103L Fixed in commit 8ecd6b2a1283a28bcf56cfe48099fafa412a3929. ...And un-fixed in this commit, a day later: http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=c3a87236702cb73be1dada3438bbd3c3934e83f8 Looks like either that needs to be rolled back, or gcc needs to be changed to not define _GNU_SOURCE. (But I bet that latter change will break lots more stuff in libstdc++...) related gcc bug: Bug 51785 - gets not anymore declared http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51785 Ah, indeed. Well, I'll let the gcc and glibc people figure out what to do here. Nothing has been released with these changes yet (at least not AFAIK), so it's only hitting people trying to use head versions, which isn't many. GCC was fixed for 4.7. glibc patch for GCC <= 4.6 pending review: http://sourceware.org/ml/libc-alpha/2012-03/msg00111.html Fixed, again, by removing the __USE_GNU conditional after further discussion on libc-alpha. |