On 22/08/2020 10:06, Dentcho Bankov wrote:
First in my previous e-mail I've made a mistake about the version of the
compiler I'm using. And the problem I'm observing is with:
1. gcc-4.5.3
2. binutils-2.17.50.0.15
I confirmed that with gcc-9.3 on Ubuntu 2020 everything works fine.
I did a binary search and surprisingly the change which causes the problem for
me appeared to be
https://github.com/ipxe/ipxe/commit/bb74f00512995f15bf61517fc039f32713e0af73#diff-25d902c24283ab8cfbac54dfa101ad31
The surprising part is that this change just adds a bunch of "extern"
statements in asn1.h which for some reason changes the alignment of the asn1_algorithms
link table. Further it seems these are added only to support some test code in rsa_test.c
so to resolve my problem I just moved the extern statements from asn1_algorithms to the
rsa_test.c.
So I'm writing this e-mail to also ask if it's worth posting the above change
(moving the extern statements to rsa_test.c) as a pull request.
Thank you for researching and following up!
I suspect this relates to the fact that the extern declarations are
missing the __asn1_algorithm modifiers. I vaguely remember that gcc
used to require __attribute__((aligned(...))) to be specified on the
first declaration of a symbol.
I've created a pull request for this:
https://github.com/ipxe/ipxe/pull/137
Could you let me know if this fixes the problem on gcc 4.5.3?
Thanks,
Michael
_______________________________________________
ipxe-devel mailing list
ipxe-devel@lists.ipxe.org
https://lists.ipxe.org/mailman/listinfo/ipxe-devel