Comment 4 for bug 1546260

Revision history for this message
bugproxy (bugproxy) wrote : Comment bridged from LTC Bugzilla

------- 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.

Thanks
Hari