public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug middle-end/65074] New: [5 Regression] r220674 broke C++ PIEs
@ 2015-02-15 22:27 jakub at gcc dot gnu.org
  2015-02-15 22:29 ` [Bug middle-end/65074] " jakub at gcc dot gnu.org
                   ` (8 more replies)
  0 siblings, 9 replies; 10+ messages in thread
From: jakub at gcc dot gnu.org @ 2015-02-15 22:27 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65074

            Bug ID: 65074
           Summary: [5 Regression] r220674 broke C++ PIEs
           Product: gcc
           Version: 5.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: middle-end
          Assignee: unassigned at gcc dot gnu.org
          Reporter: jakub at gcc dot gnu.org
                CC: hjl at gcc dot gnu.org, rth at gcc dot gnu.org

namespace std
{
  template <typename _CharT> struct char_traits;
  template <typename _CharT, typename = char_traits <_CharT> > class
basic_filebuf;
  template <typename _CharT, typename = char_traits <_CharT> > class
basic_ifstream;
  typedef basic_ifstream <char> ifstream;
  enum _Ios_Openmode { _S_in };
  class basic_streambuf
  {
  };
  struct basic_ios
  {
    typedef char char_type;
    void init (void *);
    typedef _Ios_Openmode openmode;
  };
  template <typename _CharT> class __basic_file;
  template <> struct __basic_file <char>
  {
    __basic_file ();
    ~__basic_file ();
  };
  template <typename, typename _Traits> struct basic_filebuf : public
basic_streambuf
  {
    __basic_file <char> _M_file;
    ~basic_filebuf () { this->close (); }
    void close ();
  };
  template <typename, typename _Traits> struct basic_ifstream : basic_ios
  {
    typedef _Traits traits_type;
    basic_filebuf <char_type, traits_type> _M_filebuf;
    basic_ifstream ();
    basic_ifstream (const char *, basic_ios::openmode = _S_in)
    {
      this->init (0);
    }
  };
  extern template class basic_filebuf <char>;
  ifstream f (0);
}

with -O2 -fpie starting with r220674 uses
call _ZNSt13basic_filebufIcSt11char_traitsIcEED1Ev
instead of
call _ZNSt13basic_filebufIcSt11char_traitsIcEED1Ev@PLT
that was used previously, despite that symbol being defined in libstdc++.so.6.


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2015-02-19 15:50 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-02-15 22:27 [Bug middle-end/65074] New: [5 Regression] r220674 broke C++ PIEs jakub at gcc dot gnu.org
2015-02-15 22:29 ` [Bug middle-end/65074] " jakub at gcc dot gnu.org
2015-02-15 23:31 ` hjl.tools at gmail dot com
2015-02-16  8:57 ` jakub at gcc dot gnu.org
2015-02-16 11:07 ` jakub at gcc dot gnu.org
2015-02-16 18:52 ` rth at gcc dot gnu.org
2015-02-17 17:12 ` hubicka at gcc dot gnu.org
2015-02-19 15:15 ` rth at gcc dot gnu.org
2015-02-19 15:49 ` rth at gcc dot gnu.org
2015-02-19 15:50 ` rth at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).