The "progress" macro can be used only from within the .prefix section. At the point of calling relocate(), we are running in .text16 and so the near call to print_message() will end up calling a random function somewhere in .text16. Interestingly, this problem has remained unnoticed for some time. It is rare to build with DEBUG=libprefix. In the few cases that it has been used during development, the randomly selected function in .text16 seems to have been a harmless no-op with no visible side-effects (beyond the unnoticed failure to print the "relocate" progress message). Fix by removing the futile attempt to print a progress message before calling relocate(). Reported-by: Raed Salem <raeds@mellanox.com> Signed-off-by: Michael Brown <mcb30@ipxe.org>tags/v1.20.1
|
|
||
873 |
|
873 |
|
874 |
|
874 |
|
875 |
|
875 |
|
876 |
|
|
|
877 |
|
876 |
|
878 |
|
877 |
|
879 |
|
878 |
|