Thank you for chiming in. Your input is very useful.
On Wed, Jun 08, 2016 at 08:12:16AM -0000, Kern Sibbald wrote:
> I have installed a 16.04 system and built Bacula using the project
> compile and link options. Everything works perfectly both with and
> without binary stripping. I conclude from this that the Ubuntu
> packaging is using different options on the compiles and/or links and/or
> stripping which prohibit Bacula from directly testing the equality of
> external subroutine addresses (probably by adding some thunking or other
> indirect addressing).
I wonder if this is related to ASLR, building as PIE or similar? https://wiki.ubuntu.com/Security/Features has more details. I don't see
anything there that would explain this change in behaviour, but it feels
like it could to me.
> Conclusion: eliminate all the non-Bacula compile and/or link options.
> If you really want to use esoteric options, I recommend running the
> regression tests on the packaged binaries prior to releasing.
> Successfully running the regression tests virtually guarantee a good
> build/package.
We have processes and infrastructure to run tests provided by upstreams.
If the regression tests aren't currently being run, we should fix that.
> Second conclusion: in a future version of Bacula, I will eliminate all
> code that tests equality of subroutine addresses.
Kern,
Thank you for chiming in. Your input is very useful.
On Wed, Jun 08, 2016 at 08:12:16AM -0000, Kern Sibbald wrote:
> I have installed a 16.04 system and built Bacula using the project
> compile and link options. Everything works perfectly both with and
> without binary stripping. I conclude from this that the Ubuntu
> packaging is using different options on the compiles and/or links and/or
> stripping which prohibit Bacula from directly testing the equality of
> external subroutine addresses (probably by adding some thunking or other
> indirect addressing).
I wonder if this is related to ASLR, building as PIE or similar? /wiki.ubuntu. com/Security/ Features has more details. I don't see
https:/
anything there that would explain this change in behaviour, but it feels
like it could to me.
> Conclusion: eliminate all the non-Bacula compile and/or link options.
> If you really want to use esoteric options, I recommend running the
> regression tests on the packaged binaries prior to releasing.
> Successfully running the regression tests virtually guarantee a good
> build/package.
We have processes and infrastructure to run tests provided by upstreams.
If the regression tests aren't currently being run, we should fix that.
> Second conclusion: in a future version of Bacula, I will eliminate all
> code that tests equality of subroutine addresses.
Thanks.
Robie