[llvm-dev] ABI change in LLVM 7.0.x release

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

[llvm-dev] ABI change in LLVM 7.0.x release

Alberto Barbaro via llvm-dev
Hi,

Fixing http://llvm.org/PR39427 in the release_70 branch, will change
the ABI of a clang built libLLVM-7.so so that it is no longer compatible
with the 7.0.0 release.  libLLVM-7.so built by gcc will not be affected
by this fix.

Changing the ABI is something we aren't supposed to do in stable releases,
but this fixes an ABI difference between clang and gcc built
libLLVM-7.so that is impacting many users, including Linux distributions,
so an ABI change for clang only seems like the least bad solution in this case.

I am proposing that we hold this fix out of 7.0.1 and instead ship it in
a special 7.0.2 (or maybe 7.1.0 ?) release, so that users that want to
are still able to get all the bug-fixes without the ABI changes.

How does this sound to everyone?

Thanks,
Tom
_______________________________________________
LLVM Developers mailing list
[hidden email]
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
Reply | Threaded
Open this post in threaded view
|

Re: [llvm-dev] ABI change in LLVM 7.0.x release

Alberto Barbaro via llvm-dev
On Tue, Dec 4, 2018 at 7:43 PM Tom Stellard <[hidden email]> wrote:

>
> Hi,
>
> Fixing http://llvm.org/PR39427 in the release_70 branch, will change
> the ABI of a clang built libLLVM-7.so so that it is no longer compatible
> with the 7.0.0 release.  libLLVM-7.so built by gcc will not be affected
> by this fix.
>
> Changing the ABI is something we aren't supposed to do in stable releases,
> but this fixes an ABI difference between clang and gcc built
> libLLVM-7.so that is impacting many users, including Linux distributions,
> so an ABI change for clang only seems like the least bad solution in this case.
>
> I am proposing that we hold this fix out of 7.0.1 and instead ship it in
> a special 7.0.2 (or maybe 7.1.0 ?) release, so that users that want to
> are still able to get all the bug-fixes without the ABI changes.
>
> How does this sound to everyone?

I think this sounds reasonable. The important thing is that the fix
gets shipped, and if we do e.g. both 7.0.1 and 7.0.2 (I'm not sure
what version numbers would be best to use) that should hopefully serve
everyone well.

Thanks,
Hans
_______________________________________________
LLVM Developers mailing list
[hidden email]
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
Reply | Threaded
Open this post in threaded view
|

Re: [llvm-dev] ABI change in LLVM 7.0.x release

Alberto Barbaro via llvm-dev
In reply to this post by Alberto Barbaro via llvm-dev
On Tue, Dec 4, 2018, 10:43 Tom Stellard via llvm-dev <[hidden email] wrote:
I am proposing that we hold this fix out of 7.0.1 and instead ship it in
a special 7.0.2 (or maybe 7.1.0 ?) release, so that users that want to
are still able to get all the bug-fixes without the ABI changes.
I think we should go with 7.1.0 instead of 7.0.2, since 7.1.0 looks unusual as opposed to 7.0.2, which looks like business as usual. This will help people to notice that the ABI changed.

How does this sound to everyone?
Sounds reasonable to me.

Jacob Lifshay

_______________________________________________
LLVM Developers mailing list
[hidden email]
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
Reply | Threaded
Open this post in threaded view
|

Re: [llvm-dev] ABI change in LLVM 7.0.x release

Alberto Barbaro via llvm-dev


On 12/5/18 4:06 AM, Jacob Lifshay via llvm-dev wrote:
On Tue, Dec 4, 2018, 10:43 Tom Stellard via llvm-dev <[hidden email] wrote:
I am proposing that we hold this fix out of 7.0.1 and instead ship it in
a special 7.0.2 (or maybe 7.1.0 ?) release, so that users that want to
are still able to get all the bug-fixes without the ABI changes.
I think we should go with 7.1.0 instead of 7.0.2, since 7.1.0 looks unusual as opposed to 7.0.2, which looks like business as usual. This will help people to notice that the ABI changed.

+1 - ABI changes should increment the minor version number.

 -Hal


How does this sound to everyone?
Sounds reasonable to me.

Jacob Lifshay

_______________________________________________
LLVM Developers mailing list
[hidden email]
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
-- 
Hal Finkel
Lead, Compiler Technology and Programming Languages
Leadership Computing Facility
Argonne National Laboratory

_______________________________________________
LLVM Developers mailing list
[hidden email]
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
Reply | Threaded
Open this post in threaded view
|

Re: [llvm-dev] ABI change in LLVM 7.0.x release

Alberto Barbaro via llvm-dev
In reply to this post by Alberto Barbaro via llvm-dev
Hi,

While on topic of ABI changes, could I request that this (only the first
part which bumped the constant number up for OS targets) be merged into
an ABI breaking release?

https://reviews.llvm.org/rL347832

This is only the LLVMSupport part of the patch, the Clang half depends on
it but that is more of a feature thing so it's better left for 8.x.x. I'm
mentioning this because there was some confusion w/r Debian merging this
patch into their 7.x.x fork before it went into trunk which caused ABI
breakage for anyone who relied on the last enum member to determine
the size.

Thank you.
- Kristina

Hans Wennborg via llvm-dev wrote:

> On Tue, Dec 4, 2018 at 7:43 PM Tom Stellard <[hidden email]> wrote:
>>
>> Hi,
>>
>> Fixing http://llvm.org/PR39427 in the release_70 branch, will change
>> the ABI of a clang built libLLVM-7.so so that it is no longer compatible
>> with the 7.0.0 release.  libLLVM-7.so built by gcc will not be affected
>> by this fix.
>>
>> Changing the ABI is something we aren't supposed to do in stable releases,
>> but this fixes an ABI difference between clang and gcc built
>> libLLVM-7.so that is impacting many users, including Linux distributions,
>> so an ABI change for clang only seems like the least bad solution in this case.
>>
>> I am proposing that we hold this fix out of 7.0.1 and instead ship it in
>> a special 7.0.2 (or maybe 7.1.0 ?) release, so that users that want to
>> are still able to get all the bug-fixes without the ABI changes.
>>
>> How does this sound to everyone?
>
> I think this sounds reasonable. The important thing is that the fix
> gets shipped, and if we do e.g. both 7.0.1 and 7.0.2 (I'm not sure
> what version numbers would be best to use) that should hopefully serve
> everyone well.
>
> Thanks,
> Hans
> _______________________________________________
> LLVM Developers mailing list
> [hidden email]
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>

_______________________________________________
LLVM Developers mailing list
[hidden email]
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev

smime.p7s (5K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [llvm-dev] ABI change in LLVM 7.0.x release

Alberto Barbaro via llvm-dev
In reply to this post by Alberto Barbaro via llvm-dev
On 12/05/2018 02:06 AM, Jacob Lifshay wrote:
> On Tue, Dec 4, 2018, 10:43 Tom Stellard via llvm-dev <[hidden email] <mailto:[hidden email]> wrote:
>
>     I am proposing that we hold this fix out of 7.0.1 and instead ship it in
>     a special 7.0.2 (or maybe 7.1.0 ?) release, so that users that want to
>     are still able to get all the bug-fixes without the ABI changes.
>
> I think we should go with 7.1.0 instead of 7.0.2, since 7.1.0 looks unusual as opposed to 7.0.2, which looks like business as usual. This will help people to notice that the ABI changed.
>

This was my initial thought as well, but I'm not sure if this is technically
possible with our current system.  The shared object only contains the
major version in its name, so we would need some other changes.  I can look
into how feasible this would be.

-Tom

>
>     How does this sound to everyone?
>
> Sounds reasonable to me.
>
> Jacob Lifshay
>

_______________________________________________
LLVM Developers mailing list
[hidden email]
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
Reply | Threaded
Open this post in threaded view
|

Re: [llvm-dev] ABI change in LLVM 7.0.x release

Alberto Barbaro via llvm-dev
On Wed, Dec 05, 2018 at 11:39:28AM -0800, Tom Stellard via llvm-dev wrote:

> On 12/05/2018 02:06 AM, Jacob Lifshay wrote:
> > On Tue, Dec 4, 2018, 10:43 Tom Stellard via llvm-dev <[hidden email] <mailto:[hidden email]> wrote:
> >
> >     I am proposing that we hold this fix out of 7.0.1 and instead ship it in
> >     a special 7.0.2 (or maybe 7.1.0 ?) release, so that users that want to
> >     are still able to get all the bug-fixes without the ABI changes.
> >
> > I think we should go with 7.1.0 instead of 7.0.2, since 7.1.0 looks unusual as opposed to 7.0.2, which looks like business as usual. This will help people to notice that the ABI changed.
> >
>
> This was my initial thought as well, but I'm not sure if this is technically
> possible with our current system.  The shared object only contains the
> major version in its name, so we would need some other changes.  I can look
> into how feasible this would be.
A separate release would be best for FreeBSD packages.  I think 7.1.0
would be slightly better for me, but we can cope either way (we'd just
bump the versions of everything that depends on libLLVM.)

-- Brooks

_______________________________________________
LLVM Developers mailing list
[hidden email]
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev

signature.asc (465 bytes) Download Attachment