diff mbox series

[ovs-dev,ovs,v2] debian/rules: Fix incorrect use of link-time optimizer.

Message ID CALsEdxS_7x9mLvdaijwd_b-UFsDjJnkrCa4C7Rm2qMTiMQF60Q@mail.gmail.com
State Changes Requested
Delegated to: Simon Horman
Headers show
Series [ovs-dev,ovs,v2] debian/rules: Fix incorrect use of link-time optimizer. | expand

Checks

Context Check Description
ovsrobot/apply-robot fail apply and check: fail
ovsrobot/intel-ovs-compilation fail test: fail

Commit Message

Roberto Bartzen Acosta Dec. 22, 2023, 12:34 p.m. UTC
Current version of debian/rules simply uses the default lto GCC
optimization settings during the linkage process.

The main problem with this approach is that GCC on OS like Ubuntu Jammy,
for example, can enable the -flto=auto option during the openvswitch
building and linking process. In this case, the linked dynamic libraries
would need to be builded based on the same lto optimization options, at the
risk of not working, according to documentation [1].

I'm not sure of the real benefits of using this link-time optimization
option, and since when it is enabled it causes problems with shared libs
link libjemalloc, for example, it seems safer overwritten compiler decision
by passing -fno-lto command.

[1] https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html#index-flto

Reported-at:
https://bugs.launchpad.net/ubuntu/+source/openvswitch/+bug/2015748
Signed-off-by: Roberto Bartzen Acosta <rbartzen@gmail.com>
---
 debian/rules | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Aaron Conole Jan. 3, 2024, 4:13 p.m. UTC | #1
Roberto Bartzen Acosta via dev <ovs-dev@openvswitch.org> writes:

> Current version of debian/rules simply uses the default lto GCC
> optimization settings during the linkage process.
>
> The main problem with this approach is that GCC on OS like Ubuntu Jammy,
> for example, can enable the -flto=auto option during the openvswitch
> building and linking process. In this case, the linked dynamic libraries
> would need to be builded based on the same lto optimization options, at the
> risk of not working, according to documentation [1].
>
> I'm not sure of the real benefits of using this link-time optimization
> option, and since when it is enabled it causes problems with shared libs
> link libjemalloc, for example, it seems safer overwritten compiler decision
> by passing -fno-lto command.
>
> [1] https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html#index-flto
>
> Reported-at:
> https://bugs.launchpad.net/ubuntu/+source/openvswitch/+bug/2015748
> Signed-off-by: Roberto Bartzen Acosta <rbartzen@gmail.com>
> ---
>  debian/rules | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/debian/rules b/debian/rules
> index dc5cc8a65..de8771813 100755
> --- a/debian/rules
> +++ b/debian/rules
> @@ -2,7 +2,7 @@
>  # -*- makefile -*-
>  #export DH_VERBOSE=1
>  export DEB_BUILD_MAINT_OPTIONS = hardening=+all
> -export DEB_CFLAGS_MAINT_APPEND = -fPIC
> +export DEB_CFLAGS_MAINT_APPEND = -fPIC -fno-lto
>
>  %:
>         dh $@

I think you have an issue with either your editor or your mail client.
The last context line should be:

  <space><tab>dh $@

but you have sent

  <space><space><space><space><space><space><space><space><space>dh $@
Aaron Conole Jan. 8, 2024, 3:38 p.m. UTC | #2
(re-added the list)

Roberto Bartzen Acosta <roberto.acosta@luizalabs.com> writes:

> Hi Aaron,
>
> I tried to send a new revision but I think that my Gmail web interface
> is putting some additional formatting even if I paste using
> <ctrl><shift><v>.
> Do you recommend any tool or interface for sending correctly formatted patches?
> This is my first so I have no experience sending patches via email.

Yes - I suggest setting up git send-email so you can run::

  $ git send-email --to="dev@openvswitch.org" --cc=..CC.. 0001-SomePatch.patch

An example for gmail might be:

  $ git config --global sendemail.smtpUser <gmail username>
  $ git config --global sendemail.smtpPass <gmail app password>
  $ git config --global sendemail.smtpServer smtp.gmail.com
  $ git config --global sendemail.smtpServerPort 587
  $ git config --global sendemail.smtpEncryption tls

Then you could use the git send-email command to send your patch file.

See https://git-scm.com/docs/git-send-email for more details

> Thank you and have a nice day
>
> Em seg., 8 de jan. de 2024 às 08:20, Roberto Bartzen Acosta
> <roberto.acosta@luizalabs.com> escreveu:
>>
>> Em qua., 3 de jan. de 2024 às 13:13, Aaron Conole <aconole@redhat.com> escreveu:
>> >
>> > Roberto Bartzen Acosta via dev <ovs-dev@openvswitch.org> writes:
>> >
>> > > Current version of debian/rules simply uses the default lto GCC
>> > > optimization settings during the linkage process.
>> > >
>> > > The main problem with this approach is that GCC on OS like Ubuntu Jammy,
>> > > for example, can enable the -flto=auto option during the openvswitch
>> > > building and linking process. In this case, the linked dynamic libraries
>> > > would need to be builded based on the same lto optimization options, at the
>> > > risk of not working, according to documentation [1].
>> > >
>> > > I'm not sure of the real benefits of using this link-time optimization
>> > > option, and since when it is enabled it causes problems with shared libs
>> > > link libjemalloc, for example, it seems safer overwritten compiler decision
>> > > by passing -fno-lto command.
>> > >
>> > > [1] https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html#index-flto
>> > >
>> > > Reported-at:
>> > > https://bugs.launchpad.net/ubuntu/+source/openvswitch/+bug/2015748
>> > > Signed-off-by: Roberto Bartzen Acosta <rbartzen@gmail.com>
>> > > ---
>> > >  debian/rules | 2 +-
>> > >  1 file changed, 1 insertion(+), 1 deletion(-)
>> > >
>> > > diff --git a/debian/rules b/debian/rules
>> > > index dc5cc8a65..de8771813 100755
>> > > --- a/debian/rules
>> > > +++ b/debian/rules
>> > > @@ -2,7 +2,7 @@
>> > >  # -*- makefile -*-
>> > >  #export DH_VERBOSE=1
>> > >  export DEB_BUILD_MAINT_OPTIONS = hardening=+all
>> > > -export DEB_CFLAGS_MAINT_APPEND = -fPIC
>> > > +export DEB_CFLAGS_MAINT_APPEND = -fPIC -fno-lto
>> > >
>> > >  %:
>> > >         dh $@
>> >
>> > I think you have an issue with either your editor or your mail client.
>> > The last context line should be:
>> >
>> >   <space><tab>dh $@
>> >
>> > but you have sent
>> >
>> >   <space><space><space><space><space><space><space><space><space>dh $@
>>
>> Thanks, I'll check it out.
>> >
diff mbox series

Patch

diff --git a/debian/rules b/debian/rules
index dc5cc8a65..de8771813 100755
--- a/debian/rules
+++ b/debian/rules
@@ -2,7 +2,7 @@ 
 # -*- makefile -*-
 #export DH_VERBOSE=1
 export DEB_BUILD_MAINT_OPTIONS = hardening=+all
-export DEB_CFLAGS_MAINT_APPEND = -fPIC
+export DEB_CFLAGS_MAINT_APPEND = -fPIC -fno-lto

 %:
        dh $@