This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Problem with '-static' in 3.0 release on AIX


On Fri, Jun 22, 2001 at 01:09:15PM -0400, David Edelsohn wrote:
> >>>>> Albert Chin-A-Young writes:
> 
> Albert> According to /usr/include/sys/core.h, struct core_dumpx has no member
> Albert> c_impl on AIX 4.3.2. We have v4.3.2.10 of bos.adt.include.
> 
> 	The two changes between AIX 4.3.2 and AIX 4.3.3 are __ld_info32
> and c_impl.  rs6000-core.c already checks for __ld_info32.
> 
> 	Try changing the guard for the definition of CNEW_IMPL:
> 
> -#ifdef AIX_CORE_DUMPX_CORE
> +#if defined (AIX_CORE_DUMPX_CORE) && defined (__ld_info32)
> 
> 	If this works, I will submit this patch for backward compatibility
> to the binutils sources.

It doesn't work. <sys/ldr.h> gets included while bfd/rs6000-core.c is
being built. It has:

#ifdef __LDINFO_PTRACE32__
#ifdef __64BIT__

/* Use 'struct __ld_info32' when calling ptrace to debug a 32-bit
process. */
struct __ld_info32 {
        __I_FIELDS(__I_INT32,__I_PTR32, __I_EMPTY)
};

#else
#define __ld_info32 ld_info
#endif

#endif /* __LDINFO_PTRACE32__ */

and bfd/rs6000-core.c has:

#include <sys/user.h>
#define __LDINFO_PTRACE32__     /* for __ld_info32 */
#define __LDINFO_PTRACE64__     /* for __ld_info64 */
#include <sys/ldr.h>
#include <sys/core.h>
#include <sys/systemcfg.h>

So, __ld_info32 is defined on AIX 4.3.2 by bfd/rs6000-core.c.

How about an autoconf check to test for c_impl then modifying the
ifdef to #ifdef AIX_CORE_DUMPX_HAS_C_IMPL? This should be trivial for
me to do. I take it I only care about c_impl in struct core_dumpx and
not core_dump?

-- 
albert chin (china@thewrittenword.com)


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]