public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
* Re: c++/6611: Non-weak emission of `std::__default_alloc_template[...]' on platform(s) where it should be weak
@ 2002-09-13  8:01 gerald
  0 siblings, 0 replies; 4+ messages in thread
From: gerald @ 2002-09-13  8:01 UTC (permalink / raw)
  To: bkoz, gcc-bugs, gcc-prs, jason, ljrittle, pfeifer

Synopsis: Non-weak emission of `std::__default_alloc_template[...]' on platform(s) where it should be weak

State-Changed-From-To: feedback->closed
State-Changed-By: gerald
State-Changed-When: Fri Sep 13 08:01:06 2002
State-Changed-Why:
    Yes, this now works on the 3.2-branch (as well as on mainline).

http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=6611


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

* Re: c++/6611: Non-weak emission of `std::__default_alloc_template[...]' on platform(s) where it should be weak
@ 2002-09-13  7:27 nathan
  0 siblings, 0 replies; 4+ messages in thread
From: nathan @ 2002-09-13  7:27 UTC (permalink / raw)
  To: bkoz, gcc-bugs, gcc-prs, jason, ljrittle, pfeifer

Synopsis: Non-weak emission of `std::__default_alloc_template[...]' on platform(s) where it should be weak

State-Changed-From-To: open->feedback
State-Changed-By: nathan
State-Changed-When: Fri Sep 13 07:27:40 2002
State-Changed-Why:
    is this fixed now?

http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=6611


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

* Re: c++/6611: Non-weak emission of `std::__default_alloc_template[...]' on platform(s) where it should be weak
@ 2002-05-15  5:14 bkoz
  0 siblings, 0 replies; 4+ messages in thread
From: bkoz @ 2002-05-15  5:14 UTC (permalink / raw)
  To: bkoz, gcc-bugs, gcc-prs, jason, ljrittle, nobody, pfeifer

Synopsis: Non-weak emission of `std::__default_alloc_template[...]' on platform(s) where it should be weak

Responsible-Changed-From-To: unassigned->jason
Responsible-Changed-By: bkoz
Responsible-Changed-When: Wed May 15 05:14:45 2002
Responsible-Changed-Why:
    Jason, can you take a look at this? It's only showing up at -O1 and above, which indicates to me something's probably up with inlining.
    
    This is happening due to the following patch, and is present on the gcc-3.1 branch as well:
    http://gcc.gnu.org/ml/gcc-patches/2002-04/msg00996.html
    
    This is related to the problem I was waving my hands about this weekend...
    
    -benjamin

http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=6611


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

* c++/6611: Non-weak emission of `std::__default_alloc_template[...]' on platform(s) where it should be weak
@ 2002-05-09  2:16 pfeifer
  0 siblings, 0 replies; 4+ messages in thread
From: pfeifer @ 2002-05-09  2:16 UTC (permalink / raw)
  To: gcc-gnats; +Cc: ljrittle


>Number:         6611
>Category:       c++
>Synopsis:       Non-weak emission of `std::__default_alloc_template[...]' on platform(s) where it should be weak
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu May 09 02:16:00 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator:     Gerald Pfeifer, abstracted from confidential source by Loren Rittle
>Release:        mainline
>Organization:
>Environment:
i386-*-freebsd4.5 (by Loren)
i386-*-freebsd* (by Gerald)
i386-*-*linux* (by Gerald)
(some confusion, but I have never seen this issue with 3.1)
>Description:
The original test case is a large C++ program.  The failure
seen is a non-mergeable, duplicate template instantiation
of an implementation class in the libstdc++-v3.  Depending
on the exact order of method definitions (i.e. somewhat
fragile test case) and exactly what is being instantiated,
under some conditions,
std::__default_alloc_template<(bool)1, (int)0>::allocate(unsigned)
is emitted as a text reference instead of a weak reference.
>How-To-Repeat:
Run these commands:
g++ -c -Wall  -O1  planY.C -o planY.o
nm -C planY.o | grep allocate

See:
000006c4 T std::__default_alloc_template<(bool)1, (int)0>::allocate(unsigned)
This should be a weak (W) not a text (T) reference.
>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/octet-stream; name="planY.C"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="planY.C"

Ly8gUnVuIHRoZXNlIGNvbW1hbmRzOgovLyBnKysgLWMgLVdhbGwgIC1PMSAgcGxhblkuQyAtbyBw
bGFuWS5vOyBubSAtQyBwbGFuWS5vIHwgZ3JlcCBhbGxvY2F0ZQovLyBTZWU6Ci8vIDAwMDAwNmM0
IFQgc3RkOjpfX2RlZmF1bHRfYWxsb2NfdGVtcGxhdGU8KGJvb2wpMSwgKGludCkwPjo6YWxsb2Nh
dGUodW5zaWduZWQpCi8vIFRoaXMgc2hvdWxkIGJlIGEgd2VhayAoVykgbm90IGEgdGV4dCAoVCkg
cmVmZXJlbmNlLgovLwovLyBUaGlzIHRlc3QgY2FzZSB3YXMgYWJzdHJhY3RlZCBieSBMSlIgZnJv
bSBhIGxhcmdlIHByb2dyYW0gc3VibWl0dGVkCi8vIGJ5IEdlcmFsZCBQZmVpZmVyIDxwZmVpZmVy
QGRiYWkudHV3aWVuLmFjLmF0Pi4gIEF0IHRoaXMgdGltZSwgaXQgaXMgdW5rbm93bgovLyB3aGV0
aGVyIHRoZSBsaWJyYXJ5IGltcGxlbWVudGF0aW9uLCBnKysgb3IgdmFyaW91cyBwb3J0cyBjYXVz
ZSB0aGlzLgoKI2luY2x1ZGUgPHZlY3Rvcj4KCmNsYXNzIFBOCnsKICBzdGQ6OnZlY3RvcjxpbnQ+
IHR5cGVzOwoKcHVibGljOgogIGJvb2wgdGVzdFAoc3RkOjpzaXplX3QgaW5kZXgpIGNvbnN0IHsg
cmV0dXJuICh0eXBlc1tpbmRleF0pOyB9Cn07CgpjbGFzcyBJRAp7CiAgaW50IHR5cGU7CiAgaW50
IGRhdGE7CgpwdWJsaWM6CiAgSUQoY29uc3QgSUQmIGlkZW50KSA6IHR5cGUoaWRlbnQudHlwZSks
IGRhdGEoaWRlbnQuZGF0YSkge30KICBJRChjb25zdCBpbnQgbnVtYmVyKSA6IHR5cGUgKDApLCBk
YXRhIChudW1iZXIpIHt9CiAgfklEKCkge30KfTsKCnR5cGVkZWYgc3RkOjp2ZWN0b3I8aW50PiBJ
RFM7CnR5cGVkZWYgc3RkOjpwYWlyPElELCBib29sPiBHUjsKCnN0YXRpYyBzdGQ6OnZlY3Rvcjxz
dGQ6OnZlY3RvcjxJRCo+Ojpjb25zdF9pdGVyYXRvcj4gaTJoQWdncmVnYXRlRnVuY3Rpb25UYWJs
ZTsKCmNsYXNzIEFBCnsKICBJRCAqYWdncmVnYXRlRnVuY3Rpb247CiAgdW5zaWduZWQgYWdncmVn
YXRlRnVuY3Rpb25JbmRleDsKICBHUiBsb3dlckd1YXJkOwogIEdSIHVwcGVyR3VhcmQ7CgogIGNv
bnN0IElEICZnZXRBZ2dyZWdhdGVGdW5jdGlvbkZyb21IVGFibGUoKSBjb25zdDsKICBJRCogZ2V0
QWdncmVnYXRlRnVuY3Rpb25Gcm9tSFRhYmxlUHRyKCkgY29uc3QKICB7CiAgICByZXR1cm4gKCAq
aTJoQWdncmVnYXRlRnVuY3Rpb25UYWJsZVthZ2dyZWdhdGVGdW5jdGlvbkluZGV4XSApOwogIH0K
ICAgIApwdWJsaWM6CiAgQUEoKTsKICBBQShjb25zdCBBQSYgYTIpCiAgICA6IGFnZ3JlZ2F0ZUZ1
bmN0aW9uKDApLCBhZ2dyZWdhdGVGdW5jdGlvbkluZGV4KGEyLmFnZ3JlZ2F0ZUZ1bmN0aW9uSW5k
ZXgpLAogICAgICBsb3dlckd1YXJkKGEyLmxvd2VyR3VhcmQpLCB1cHBlckd1YXJkKGEyLnVwcGVy
R3VhcmQpCiAgewogICAgaWYgKCBhMi5hZ2dyZWdhdGVGdW5jdGlvbiApCiAgICAgIGFnZ3JlZ2F0
ZUZ1bmN0aW9uID0gYTIuYWdncmVnYXRlRnVuY3Rpb247CiAgICBlbHNlCiAgICAgIGFnZ3JlZ2F0
ZUZ1bmN0aW9uID0gbmV3IElEKCphMi5nZXRBZ2dyZWdhdGVGdW5jdGlvbkZyb21IVGFibGVQdHIo
KSk7CiAgfQogIH5BQSgpIHt9Cn07CgpjbGFzcyBBVAp7CiAgc3RkOjpzaXplX3QgcF9pbmRleDsK
ICBJRFMqIHBhcmFtczsKICBBQSogYWdncmVnYXRlOwogIHN0YXRpYyBQTiBQcmVkaWNhdGVzOwoK
ICB2b2lkIHNldFBhcmFtcyhjb25zdCBJRFMgKnBhcmFtczIpCiAgewogICAgaWYoIHBhcmFtczIg
KQogICAgICBwYXJhbXM9bmV3IElEUygqcGFyYW1zMik7CiAgICBlbHNlCiAgICAgIHBhcmFtcz0w
OwogIH0KICB2b2lkIHNldEFnZ3JlZ2F0ZShjb25zdCBBQSAqYWdncmVnYXRlMikKICB7CiAgICBp
ZiggYWdncmVnYXRlMiApCiAgICAgIGFnZ3JlZ2F0ZT1uZXcgQUEoKmFnZ3JlZ2F0ZTIpOwogICAg
ZWxzZQogICAgICBhZ2dyZWdhdGU9MDsKICB9CgpwdWJsaWM6CiAgQVQoY29uc3QgQVQgJmF0b20y
KSA6IHBfaW5kZXgoYXRvbTIucF9pbmRleCksIHBhcmFtcygwKSwgYWdncmVnYXRlKDApCiAgewog
ICAgaWYoIGF0b20yLnRlc3RQKCkgKQogICAgICBzZXRBZ2dyZWdhdGUoYXRvbTIuYWdncmVnYXRl
KTsKICAgIGVsc2UKICAgICAgc2V0UGFyYW1zKGF0b20yLnBhcmFtcyk7CiAgfQogIEFUKGNvbnN0
IEFBICZhZ2dyZWdhdGUyKSA6IHBfaW5kZXgoMCksIHBhcmFtcygwKQogIHsKICAgIHNldEFnZ3Jl
Z2F0ZSggJmFnZ3JlZ2F0ZTIgKTsKICB9CiAgfkFUKCkge30KCiAgYm9vbCB0ZXN0UCgpIGNvbnN0
IHsgcmV0dXJuIFByZWRpY2F0ZXMudGVzdFAocF9pbmRleCk7IH0KfTsKClBOIEFUOjpQcmVkaWNh
dGVzOwoKY2xhc3MgS0FUCnsKICBJRFMgKnBhcmFtczsKICBBVCAqYXRvbTsKCnB1YmxpYzoKICBL
QVQoY29uc3QgSURTKiBwYXJhbXMyKSA6IHBhcmFtcyhwYXJhbXMyID8gbmV3IElEUygqcGFyYW1z
MikgOiAwKSwgYXRvbSgwKSB7fQogIEtBVChjb25zdCBLQVQmIGMpIDogcGFyYW1zKDApLCBhdG9t
IChjLmF0b20gPyBuZXcgQVQoKihjLmF0b20pKSA6IDApIHt9CiAgfktBVCgpIHt9Cn07CgpjbGFz
cyBSVUwKewogIEtBVCAqY2F1c2VkOwoKcHVibGljOgogIFJVTCgpOwogIFJVTChjb25zdCBSVUwm
IHJ1bCkgOiBjYXVzZWQgKHJ1bC5jYXVzZWQgPyBuZXcgS0FUKCoocnVsLmNhdXNlZCkpIDogMCkg
e30KICB+UlVMKCkge30KfTsKClJVTDo6UlVMICgpIDogY2F1c2VkKDApIHt9CgpzdGQ6OnZlY3Rv
cjxSVUw+IHJ1bHM7IAoKdm9pZApiYXIoKQp7CiAgcnVscy5wdXNoX2JhY2soUlVMKCkpOwp9Cgpp
bnQgbWFpbigpCnsKICBLQVQqIGsgPSBuZXcgS0FUKDApOwogIGJhcigpOwogIHJldHVybiAwOwp9
Cg==


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

end of thread, other threads:[~2002-09-13 15:01 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-09-13  8:01 c++/6611: Non-weak emission of `std::__default_alloc_template[...]' on platform(s) where it should be weak gerald
  -- strict thread matches above, loose matches on Subject: below --
2002-09-13  7:27 nathan
2002-05-15  5:14 bkoz
2002-05-09  2:16 pfeifer

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).