*** This bug is a duplicate of bug 1510042 ***
https://bugs.launchpad.net/bugs/1510042
This bug was fixed in the package llvm-toolchain-3.8 - 1:3.8.1-7ubuntu2
---
llvm-toolchain-3.8 (1:3.8.1-7ubuntu2) yakkety; urgency=medium
* Ignore test results on i386, as done on any other a
*** This bug is a duplicate of bug 1510042 ***
https://bugs.launchpad.net/bugs/1510042
** This bug has been marked a duplicate of bug 1510042
clang++ no longer ABI-compatible with g++
--
You received this bug notification because you are a member of Desktop
Packages, which is subscribed t
Status changed to 'Confirmed' because the bug affects multiple users.
** Changed in: llvm-toolchain-3.8 (Ubuntu)
Status: New => Confirmed
--
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to llvm-toolchain-3.6 in Ubuntu.
https://bugs.l
** Changed in: llvm-toolchain-3.8 (Ubuntu)
Importance: Undecided => High
--
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to llvm-toolchain-3.6 in Ubuntu.
https://bugs.launchpad.net/bugs/1488254
Title:
clang++ no longer ABI-compatible w
** Also affects: llvm-toolchain-3.8 (Ubuntu)
Importance: Undecided
Status: New
--
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to llvm-toolchain-3.6 in Ubuntu.
https://bugs.launchpad.net/bugs/1488254
Title:
clang++ no longer ABI
The attachment "clang-3.8-abi_tag-ubuntu-changes.diff" seems to be a
debdiff. The ubuntu-sponsors team has been subscribed to the bug report
so that they can review and hopefully sponsor the debdiff. If the
attachment isn't a patch, please remove the "patch" flag from the
attachment, remove the "
I've made a first pass at adapting patches D17567 and D18035 to work
with your clang-3.8 packages. It builds and passes its own build-time
tests, and successfully builds and links a medium-size project we have
at work on 16.04, but I can't vouch for it much more than that.
I can see that this part
Hi guys,
Anyone know when we might see this fix make it into Ubuntu 16.04's
official repos? I'm doing some app development that's hindered by this
bug.
(If there's a better forum for this question, I'd be grateful for a
redirect.)
Thanks very much,
Christian
--
You received this bug notificat
abi_tag implementation was committed to Clang
http://reviews.llvm.org/D18035 Please start testing on your apps and
report issues.
--
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to llvm-toolchain-3.6 in Ubuntu.
https://bugs.launchpad.net/bug
FWIW, Arch has applied both patches (as Andrey has stated in comment 37)
and it is working fine.
--
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to llvm-toolchain-3.6 in Ubuntu.
https://bugs.launchpad.net/bugs/1488254
Title:
clang++ no lo
Sounds like a chance for people to install the patch locally and start
using it, and then provide feedback on any problems that crop up.
--
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to llvm-toolchain-3.6 in Ubuntu.
https://bugs.launchpad.
I've been using the patched version for the past couple of days, no
issues so far.
But, I'm not one of the developers and don't know this code base and
just because it *seems* to work doesn't mean it's correct yet. I'm just
going to continue with what works well enough for me at the moment, with
p
(In reply to comment #63)
> Hi, any chance of an ETA guestimate / status update?
>
> Cheers,
> Tim
The status is that there is a patch ready since 23rd March
http://reviews.llvm.org/D18035#381281 and the author (and all users) is
waiting for feedback from developers and/or for the patch to be mer
Hi, any chance of an ETA guestimate / status update?
Cheers,
Tim
--
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to llvm-toolchain-3.6 in Ubuntu.
https://bugs.launchpad.net/bugs/1488254
Title:
clang++ no longer ABI-compatible with g++
S
This is becoming more and more of an important issue as distributions
switch to building all their packages against GCC + libstdc++ 5 and
plaster their libraries with [abi:cxx11] tags.
Since Ubuntu 15.10 Clang is basically unusable, every library making use
of std::string has to be recompiled with
My patch for Sema part with of the attribute under review is here
http://reviews.llvm.org/D17567
--
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to llvm-toolchain-3.6 in Ubuntu.
https://bugs.launchpad.net/bugs/1488254
Title:
clang++ no lo
(In reply to comment #58)
> Jason Merrill said he'd write up some brief documentation for the attribute.
> We'd like to work from that rather than trying to guess GCC's intent from
> examples.
That's most helpful, thanks!
What about Dmitry's patch?
--
You received this bug notification because
Status update:
- Sema part was committed http://reviews.llvm.org/D17567
- Mangler part was sent for review http://reviews.llvm.org/D18035
Best regards,
Dmitry
==
Software Engineer
Intel Compiler Team
--
You received this bug notification because you are a member of Desktop
Packages, which is
Jason Merrill said he'd write up some brief documentation for the
attribute. We'd like to work from that rather than trying to guess GCC's
intent from examples.
--
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to llvm-toolchain-3.6 in Ubuntu.
did this issue hit another roadblock ?
--
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to llvm-toolchain-3.6 in Ubuntu.
https://bugs.launchpad.net/bugs/1488254
Title:
clang++ no longer ABI-compatible with g++
Status in LLVM:
Confirmed
More bug-fixing for abi_tag on GCC side: https://gcc.gnu.org/ml/gcc-
patches/2016-02/msg01293.html
--
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to llvm-toolchain-3.6 in Ubuntu.
https://bugs.launchpad.net/bugs/1488254
Title:
clang++ no
(In reply to comment #39)
> Moreover, FreeBSD had to take many short-cuts to get rid of libstdc++ on the
> base system, including making symlinks named after GNU libraries and tools
> to LLVM libraries and tools, and the mapping is NOT 1-to-1. See the libc++ +
> compiler-rt + libunwind vs. libgcc +
Hi Stefan,
This is an important issue in Clang and I would like to move on with
patch http://reviews.llvm.org/D12834 (also see my last comment there).
If you don't mind, I'll get your patch split it into smaller patches and
start resolving reviewers comments. Please let me know if you have
cycles
Hi Dmitry,
(In reply to comment #53)
> Hi Stefan,
>
> This is an important issue in Clang and I would like to move on with patch
> http://reviews.llvm.org/D12834 (also see my last comment there). If you
> don't mind, I'll get your patch split it into smaller patches and start
> resolving reviewer
Hi Andrey,
(In reply to comment #45)
> Stefan [Bühler], do you plan to finish work on the patch? Do you need help
> with code review? (I just added Aaron Ballman, who is code owner for
> attributes).
I think the attributes part of the patch is quite good compared with
the mangling part... perhaps
Hum, both sound like serious bugs. I'm surprised all distros bought in
the new ABI so eagerly.
--
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to llvm-toolchain-3.6 in Ubuntu.
https://bugs.launchpad.net/bugs/1488254
Title:
clang++ no long
I'll take a look to the change and will investigate why tests fail on
the proposed patch. Failing tests are not abi_tag specific so it should
be no changes on them.
Best regards,
Dmitry
==
Software Engineer
Intel Compiler Team
--
You received this bug notification because you are a member of
Hi Stefan,
(In reply to comment #47)
> I think the attributes part of the patch is quite good compared with
> the mangling part... perhaps it should be split into a separate patch.
>
> Regarding the mangling I'm not too happy with my patch. I don't understand
> what most of the mangling code did
"C++ PATCHes for abi_tag bugs" from Jason landed on gcc-patches, might
be relevant.
https://gcc.gnu.org/ml/gcc-patches/2016-01/msg02374.html
--
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to llvm-toolchain-3.6 in Ubuntu.
https://bugs.launc
*** Bug 26401 has been marked as a duplicate of this bug. ***
--
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to llvm-toolchain-3.6 in Ubuntu.
https://bugs.launchpad.net/bugs/1488254
Title:
clang++ no longer ABI-compatible with g++
Statu
Happens with clang-compiled objects attempting to use gcc-5 precompiled
packages such as boost, on Ubuntu 15.10, leading to
undefined reference to
`_ZN5boost9unit_test9ut_detail24normalize_test_case_nameENS0_13basic_cstringIKcEE'
where normalize_test_case_name returns std:string.
std::string n
Stefan [Bühler], do you plan to finish work on the patch? Do you need
help with code review? (I just added Aaron Ballman, who is code owner
for attributes).
Yours,
Andrey
==
Software Engineer
Intel Compiler Team
Intel
--
You received this bug notification because you are a member of Desktop
(In reply to comment #38)
> I said *tagged* return types, i.e. only those which need to break the ABI
> anyway.
Good point. Thanks for the distinction.
> The new ABI requires the full gcc abi-tag support to be compatible with
> gcc. If you compile everything with clang and disable dual ABI suppo
(In reply to comment #43)
> (In reply to comment #42)
> > OpenMandriva has successfully changed the compiler to clang (3.7.1 for now,
> > will update to 3.8 as it is released), but decided to stick with libstdc++
> > to preserve binary compatibility with other Linux distributions -- users
> > want
(In reply to comment #34)
> (In reply to comment #33)
> > I really see no option in this; if the return type is tagged, the tag must
> > be
> > present in the signature somehow, or you can never mix different ABIs in the
> > same binary.
>
> This was probably already discussed, but if you mangle
(In reply to comment #33)
> (In reply to comment #32)
> > (In reply to comment #31)
> > > (In reply to comment #28)
> > > > The incompatibility was introduced by gcc's "automatic tagging of
> > > > functions
> > > > and variables with tagged types where the tags are not already
> > > > reflected
(In reply to comment #31)
> (In reply to comment #26)
> > (In reply to comment #25)
> > > 3. The problem only started because distros have chosen GCC 5 as their
> > > default compilers for the current releases, which defaults to C++11.
> >
> > No gcc-5 doesn't default to C++11 and the issue here h
OpenMandriva has successfully changed the compiler to clang (3.7.1 for
now, will update to 3.8 as it is released), but decided to stick with
libstdc++ to preserve binary compatibility with other Linux
distributions -- users want to run non-open source stuff like steam, and
that stuff doesn't get bu
(In reply to comment #32)
> (In reply to comment #31)
> > (In reply to comment #28)
> > > The incompatibility was introduced by gcc's "automatic tagging of
> > > functions
> > > and variables with tagged types where the tags are not already reflected
> > > in
> > > the mangled name".
> > >
> >
(In reply to comment #42)
> OpenMandriva has successfully changed the compiler to clang (3.7.1 for now,
> will update to 3.8 as it is released), but decided to stick with libstdc++
> to preserve binary compatibility with other Linux distributions -- users
> want to run non-open source stuff like st
(In reply to comment #35)
> I really think that implementing the full gcc abi-tag support is not
> feasible for Clang.
> So I would recommend to focus on compatibility with the single (new) ABI
> alone.
Wait, are you suggesting we move *all* users of *all* operating systems
for *all* users of Cl
(In reply to comment #39)
> (In reply to comment #38)
> > The new ABI requires the full gcc abi-tag support to be compatible with
> > gcc. If you compile everything with clang and disable dual ABI support
> > you can get away with less, but what is the point? Just use the clang
> > libc++ instead,
(In reply to comment #26)
> (In reply to comment #25)
> > 3. The problem only started because distros have chosen GCC 5 as their
> > default compilers for the current releases, which defaults to C++11.
>
> No gcc-5 doesn't default to C++11 and the issue here has nothing to do with
> C++98 vs. C++
(In reply to comment #33)
> I really see no option in this; if the return type is tagged, the tag must be
> present in the signature somehow, or you can never mix different ABIs in the
> same binary.
This was probably already discussed, but if you mangle the return type,
how can you mix this with
> FWIW, Clang and GCC are running very well on my Arch Linux with GCC 5.3.0
> and GLIBCXX_3.4.21.
That's because Arch Linux is applying the patch from this bug report:
https://projects.archlinux.org/svntogit/packages.git/tree/trunk/PKGBUILD?h=packages/llvm#n81
--
You received this bug notificati
(In reply to comment #40)
> So you're saying there is a use case to compile everything with clang and
> libstdc++?
Unfortunately, no.
A reasonably common scenario will also be to use libc++ on user code
while having libstdc++ used on the core libraries (say, boost), and them
two interface appropr
I'm not going to treat this as a release blocker as it's more of a
feature request than a regression.
I'd still be open to merge a fix for this (though it seems unlikely),
but I won't treat it as a blocker.
--
You received this bug notification because you are a member of Desktop
Packages, which
(In reply to comment #23)
> This is a feature, not a bug. Features do not block releases.
>
> It's a feature because it's new behaviour to be added to Clang, not a
> regression in an old behaviour. That GCC designed and implemented this and
> that Linux distributions took that and ran with it is i
(In reply to comment #28)
> The incompatibility was introduced by gcc's "automatic tagging of functions
> and variables with tagged types where the tags are not already reflected in
> the mangled name".
So, the original patch would allow the tagging, but this patch made it
automatic and compulsory
(In reply to comment #27)
> (In reply to comment #26)
> > No. It was implemented in April this year, shortly before the gcc-5 release.
> > I've pointed out compatibility issue immediately:
> > https://gcc.gnu.org/ml/gcc-patches/2015-04/msg00153.html
> (...)
> > The were no behavioral changes at all
Following up on the Linaro Toolchain list[1], I found out a few facts:
1. This feature was implemented in GCC and libstdc++ in 2012, after
discussions on the cauldron with distro representatives.
2. The feature is poorly documented, and may have changed behaviour
until recently. I have no evidenc
(In reply to comment #18)
> I'm not going to treat this as a release blocker as it's more of a feature
> request than a regression.
Since I upgraded to Ubuntu 15.10 I cannot build anymore with clang
projects that include Boost (Ubuntu ships boost 1.58) because of this
GCC 5 ABI changes.
The resul
(In reply to comment #27)
> (In reply to comment #26)
> > No gcc-5 doesn't default to C++11 and the issue here has nothing to do with
> > C++98 vs. C++11.
> >
> > Please try to get the facts strait, before posting long misleading replies.
>
> This is what most of the documentation, email threads
(In reply to comment #26)
> No. It was implemented in April this year, shortly before the gcc-5 release.
> I've pointed out compatibility issue immediately:
> https://gcc.gnu.org/ml/gcc-patches/2015-04/msg00153.html
(...)
> The were no behavioral changes at all after that patch went in.
In the Lin
(In reply to comment #25)
> Following up on the Linaro Toolchain list[1], I found out a few facts:
>
> 1. This feature was implemented in GCC and libstdc++ in 2012, after
> discussions on the cauldron with distro representatives.
No. It was implemented in April this year, shortly before the gcc-5
(In reply to comment #19)
> But as I understood it, LLVM/Clang claims to support GCC
> and its libraries with a minimum version required.
I don't think we do. Our community has always sent a strong message that
we'll be compatible with what makes sense AND allows us enough time to
implement on our
This is a feature, not a bug. Features do not block releases.
It's a feature because it's new behaviour to be added to Clang, not a
regression in an old behaviour. That GCC designed and implemented this
and that Linux distributions took that and ran with it is irritating,
but does not make it a re
I admit that adding this new functionality sounds more like a feature request
than a bug. But as I understood it, LLVM/Clang claims to support GCC and its
libraries with a minimum version required.
No user would expect there to be an maximum version requirement.
I see two possible ways here for t
-1 for this being considered a feature request.
It's blocking anyone from updating their OSs in our company, which isn't
going to happen, so we'll likely have to switch everything back to g++
only.
I'm sure we're not the only ones.
--
You received this bug notification because you are a member
I tried the "abi-tag patch version 4" attachment, and it appears to
introduce some compiler crashes under 'make check-all'. Try out
test/CodeGenCXX/static-local-in-local-class.cpp and you appear to get
unbounded recursion:
$ gdb --args /home/steven/Development/llvm/build/Release/bin/clang -cc1
-i
*** Bug 25656 has been marked as a duplicate of this bug. ***
--
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to llvm-toolchain-3.6 in Ubuntu.
https://bugs.launchpad.net/bugs/1488254
Title:
clang++ no longer ABI-compatible with g++
Statu
Any news on this? This is blocking any recent Linux distribution.
--
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to llvm-toolchain-3.6 in Ubuntu.
https://bugs.launchpad.net/bugs/1488254
Title:
clang++ no longer ABI-compatible with g++
S
*** Bug 24844 has been marked as a duplicate of this bug. ***
--
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to llvm-toolchain-3.6 in Ubuntu.
https://bugs.launchpad.net/bugs/1488254
Title:
clang++ no longer ABI-compatible with g++
Statu
** Summary changed:
- clang++ no longer ABI-compatible with g++
+ clang++ no longer ABI-compatible with g++ in wily
--
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to llvm-toolchain-3.6 in Ubuntu.
https://bugs.launchpad.net/bugs/1488254
Ti
** Changed in: llvm-toolchain-3.6 (Ubuntu)
Importance: Undecided => High
** Summary changed:
- clang++ no longer ABI-compatible with g++ in wily
+ clang++ no longer ABI-compatible with g++
--
You received this bug notification because you are a member of Desktop
Packages, which is subscribed
Status changed to 'Confirmed' because the bug affects multiple users.
** Changed in: llvm-toolchain-3.6 (Ubuntu)
Status: New => Confirmed
--
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to llvm-toolchain-3.6 in Ubuntu.
https://bugs.l
Tracking my patch now in http://reviews.llvm.org/D12834
--
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to llvm-toolchain-3.6 in Ubuntu.
https://bugs.launchpad.net/bugs/1488254
Title:
clang++ no longer ABI-compatible with g++
Status in L
Created attachment 14873
document abi-tag mangling
--
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to llvm-toolchain-3.6 in Ubuntu.
https://bugs.launchpad.net/bugs/1488254
Title:
clang++ no longer ABI-compatible with g++
Status in LLVM:
Created attachment 14868
second attempt to add abi_tag
I came up with a list of various tests and compared the results.. and
worked hard to improve the patch :)
http://files.stbuehler.de/test-itanium-mangle.html shows the test
results (produced with http://files.stbuehler.de/test-itanium-
mangle.
Please post your patch to cfe-comm...@lists.llvm.org for review; very
few people will see it here.
--
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to llvm-toolchain-3.6 in Ubuntu.
https://bugs.launchpad.net/bugs/1488254
Title:
clang++ no
Created attachment 14872
abi-tag patch version 3
--
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to llvm-toolchain-3.6 in Ubuntu.
https://bugs.launchpad.net/bugs/1488254
Title:
clang++ no longer ABI-compatible with g++
Status in LLVM:
Created attachment 14874
abi-tag patch version 4
--
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to llvm-toolchain-3.6 in Ubuntu.
https://bugs.launchpad.net/bugs/1488254
Title:
clang++ no longer ABI-compatible with g++
Status in LLVM:
Created attachment 14852
first attempt to add abi_tag support
As debian testing now moved to the new gcc abi and I still want to be
able to use clang I tried patching it myself.
Certainly not perfect, and you'll notice some places where I am
uncertain whether abi tags need to be emitted in the na
Launchpad has imported 7 comments from the remote bug at
https://llvm.org/bugs/show_bug.cgi?id=23529.
If you reply to an imported comment from within Launchpad, your comment
will be sent to the remote bug automatically. Read more about
Launchpad's inter-bugtracker facilities at
https://help.launch
Public bug reported:
$ cat foo.cc
#include
std::string hello = "Hello, world!\n";
$ cat bar.cc
#include
#include
extern std::string hello;
int main() {
std::cout << hello;
return 0;
}
$ g++ -c foo.cc && g++ foo.o bar.cc && ./a.out
Hello, world!
$ clang++ -c foo.cc && clang++ foo.o bar.c
75 matches
Mail list logo