------- Comment From <email address hidden> 2016-02-22 12:46 EDT-------
Hi William
Purgatory code checks for the sanity of the code before proceeding [with verify_sha256_digest() call]
This call is failing when compiled with gcc verison 5.3.1-8ubuntu2 (available in Ubuntu 16.04) while
it works just fine when compiled with gcc version 4.9.2-10ubuntu12 available in ubuntu 15.04.
Couple of observations that may be relevant:
1. The below warning is observed when compiled with gcc version 5.3.1-8ubuntu2
purgatory/arch/ppc64/console-ppc64.c: In function 'putchar':
purgatory/arch/ppc64/console-ppc64.c:42:2: warning: '*((void *)&buff+8)' may be used uninitialized in this function [-Wmaybe-uninitialized]
plpar_hcall_norets(H_PUT_TERM_CHAR, 0, 1,
2. In the failing environment "printf("I'm in purgatory\n")" also yields no output on console for pseries.
This usually would succeed if the call plpar_hcall_norets() (hypervisor call) goes through.
Also, things work fine with 5.3.1-8ubuntu2 compiler if -O0 is used instead of -Os.
Attaching the preprocessed code for purgatory and also the compile options. Please let me know,
if I need to add more material.
------- Comment From <email address hidden> 2016-02-22 12:46 EDT-------
Hi William
Purgatory code checks for the sanity of the code before proceeding [with verify_ sha256_ digest( ) call]
This call is failing when compiled with gcc verison 5.3.1-8ubuntu2 (available in Ubuntu 16.04) while
it works just fine when compiled with gcc version 4.9.2-10ubuntu12 available in ubuntu 15.04.
Couple of observations that may be relevant:
1. The below warning is observed when compiled with gcc version 5.3.1-8ubuntu2
purgatory/ arch/ppc64/ console- ppc64.c: In function 'putchar': arch/ppc64/ console- ppc64.c: 42:2: warning: '*((void *)&buff+8)' may be used uninitialized in this function [-Wmaybe- uninitialized] norets( H_PUT_TERM_ CHAR, 0, 1,
purgatory/
plpar_hcall_
2. In the failing environment "printf("I'm in purgatory\n")" also yields no output on console for pseries. norets( ) (hypervisor call) goes through.
This usually would succeed if the call plpar_hcall_
Also, things work fine with 5.3.1-8ubuntu2 compiler if -O0 is used instead of -Os.
Attaching the preprocessed code for purgatory and also the compile options. Please let me know,
if I need to add more material.
Thanks
Hari