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

Reply via email to