Component: libstdc++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: craig dot lawson at centrify dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31117
--- Comment #2 from craig dot lawson at centrify dot com 2007-03-10 00:15
---
Seems like that define should come from gcc's "-pthread" option so it applies
to all source files.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31117
--- Comment #4 from craig dot lawson at centrify dot com 2007-03-12 18:26
---
Perhaps there are different degrees of thread safety here.
If I write my multi-threaded program such that only one thread does stream I/O
with libstdc++, I would expect it to operate safely with respect to
does not catch return value mismatch
Product: gcc
Version: unknown
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: craig dot lawson at centrify dot
--- Comment #1 from craig dot lawson at centrify dot com 2007-03-12 18:53
---
Test program (Create a New Attachment is not working for me today):
const int i = -1;
unsigned int slip_one_by()
{
return i;
}
unsigned int caught_me()
{
return -1;
}
$ gcc -c unsigned_return.c
--- Comment #6 from craig dot lawson at centrify dot com 2007-03-12 19:23
---
> Anyway, what happens in the GNU systems is that errno is a per-thread variable
> and the __convert_to_v code has to do nothing special, just safely use it.
I agree. The problem is that this
--- Comment #8 from craig dot lawson at centrify dot com 2007-03-12 20:07
---
Not on Linux: correct.
I could give it a try, but I haven't built this library before. If you could
point me to a brief how-to, I could give it a try on a Solaris 10 SPARC.
Rather than code around
--- Comment #10 from craig dot lawson at centrify dot com 2007-03-14 18:13
---
Found it.
The problem is that the library is not be ing properly compiled for
multi-threaded use, but that by some luck basic_file.cc happened to be compiled
that way anyway. c++locale.cc was not so lucky
quotes to single quotes)
--
Summary: make install fails on Solaris 10 SPARC
Product: gcc
Version: 4.1.2
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
AssignedTo: unassigned at gcc dot gn
--- Comment #3 from craig dot lawson at centrify dot com 2007-03-14 20:00
---
Yeah... I missed that one.
I have bash installed. If bash works, why can't the configure script find it
automatically?
--
craig dot lawson at centrify dot com changed:
What|Re
--- Comment #4 from craig dot lawson at centrify dot com 2007-03-14 20:01
---
Yeah... I missed that one.
I have bash installed. If bash works, why can't the configure script find it
automatically?
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31177
--- Comment #5 from craig dot lawson at centrify dot com 2007-03-14 20:01
---
(oops. hit "verified" by mistake.)
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31177
--- Comment #13 from craig dot lawson at centrify dot com 2007-03-15 02:02
---
(reply to comment #11)
Shear luck: Fair enough. I don't claim to understand it all, either, especially
how it came to be this way.
What appears to be happening on Solaris 10 is that followed
by
--- Comment #16 from craig dot lawson at centrify dot com 2007-03-15 18:15
---
(In reply to comment #15)
Tried it. Did not work.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31117
--- Comment #18 from craig dot lawson at centrify dot com 2007-03-15 18:39
---
(In reply to comment #17)
> Why?
Don't know. The file and change were included as expected.
Without fully understanding how CPP is evaluating these files, we're shooting
in the dark. gcc
--- Comment #21 from craig dot lawson at centrify dot com 2007-03-15 19:07
---
(In reply to comment #17)
> Why?
OK, now I know why. Reason is that os_defines.h is included after errno.h.
Here's the include sequence:
c++locale.cc
/usr/include/errno.h<--
--- Comment #23 from craig dot lawson at centrify dot com 2007-03-15 19:26
---
(In reply to comment #22)
> Oh yes, you are totally right. The problem is that is one of the very
> few c headers not including first. We can easily fix that.
Why did not include ? Was this inten
--- Comment #25 from craig dot lawson at centrify dot com 2007-03-15 20:28
---
(In reply to comment #24)
> Oh, that's excellent news, because we have to include first
> in anyway... But now you make me curious!!! If you look at
> c++config.h
> it doesn't app
--- Comment #27 from craig dot lawson at centrify dot com 2007-03-15 21:17
---
(In reply to comment #26)
I understand. I'll collect this information from the systems I have, and then
post it here ...
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31117
--- Comment #28 from craig dot lawson at centrify dot com 2007-03-22 23:44
---
For HP-UX, SunOS, and Irix:
#if !defined(_POSIX_C_SOURCE)
# define _POSIX_C_SOURCE 199506L
#elif _POSIX_C_SOURCE<199506L
# error "Conflict"
#endif
(why would anyone compile C
20 matches
Mail list logo