Add replacement for Valgrind includes to get the definition of 'struct nlist'. However, while glibc directly defines 'struct nlist' in , uClibc relies on it being defined by kernel headers (i.e simply includes ). This works for most architectures, but not for PowerPC, on which the a.out binary format has never been supported, and therefore the kernel header does not exist. One solution would have been to use the header, but this one is only available in glibc, and it also has a slightly different definition than the one in . So, for the time being, the easiest solution is to just replace the #include in Valgrind code by a copy/paste of the 'struct nlist' definition. Signed-off-by: Thomas Petazzoni Index: b/coregrind/m_debuginfo/readstabs.c =================================================================== --- a/coregrind/m_debuginfo/readstabs.c +++ b/coregrind/m_debuginfo/readstabs.c @@ -53,7 +53,21 @@ /* --- !!! --- EXTERNAL HEADERS start --- !!! --- */ #if defined(VGO_linux) -# include /* stabs defns */ +/* Copied from a.out.h, because it is otherwise not available on + PowerPC/uClibc */ +struct nlist +{ + union + { + char *n_name; + struct nlist *n_next; + long n_strx; + } n_un; + unsigned char n_type; + char n_other; + short n_desc; + unsigned long n_value; +}; #elif defined(VGO_darwin) # include # define n_other n_sect