bug-gnu-utils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: Problems building bfd (binutils-2.14) on AIX 4.3.3.0 with gcc 3.0 .1


From: SMANSFEL
Subject: RE: Problems building bfd (binutils-2.14) on AIX 4.3.3.0 with gcc 3.0 .1 !
Date: Thu, 10 Jul 2003 07:57:10 +0200

To build the Makefile I've done : address@hidden:/tmp/sources/Temp$
../binutils-2.14/configure ; make
By the way, i didn't find anything called "__thread" in sys/proc.h .

Here's the contents of sys/proc.h (let's hope it helps) :

address@hidden:/tmp/sources/Temp$ cat /usr/include/sys/proc.h
/* IBM_PROLOG_BEGIN_TAG                                                   */
/* This is an automatically generated prolog.                             */
/*                                                                        */
/* bos43S src/bos/kernel/sys/proc.h 1.57.8.7                              */
/*                                                                        */
/* Licensed Materials - Property of IBM                                   */
/*                                                                        */
/* (C) COPYRIGHT International Business Machines Corp. 1985,1995          */
/* All Rights Reserved                                                    */
/*                                                                        */
/* US Government Users Restricted Rights - Use, duplication or            */
/* disclosure restricted by GSA ADP Schedule Contract with IBM Corp.      */
/*                                                                        */
/* IBM_PROLOG_END_TAG                                                     */
/* @(#)86     1.57.8.7  src/bos/kernel/sys/proc.h, sysproc, bos43S,
s2000_28A3 7/14/00 10:26:25 */
/*
 *   COMPONENT_NAME: SYSPROC 
 *
 *   FUNCTIONS: EXTRACT_NICE
 *              MAYBE_PID
 *              PROCMASK
 *              PROCPTR
 *              SET_NICE
 *              VALIDATE_PID
 *
 *   ORIGINS: 3, 27, 83
 *
 *
 *   (C) COPYRIGHT International Business Machines Corp. 1985, 1996
 *   All Rights Reserved
 *   Licensed Materials - Property of IBM
 *   US Government Users Restricted Rights - Use, duplication or
 *   disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
 */
/*
 * LEVEL 1,  5 Years Bull Confidential Information
 */


#ifndef _H_PROC
#define _H_PROC

#ifdef __cplusplus
extern "C" {
#endif

#include <sys/types.h>
#include <sys/ptrace.h>
#include <sys/timer.h>
#include <sys/resource.h>
#include <sys/m_param.h>
#include <sys/pri.h>
#include <sys/lockl.h>
#include <sys/limits.h>
#include <sys/var.h>
#include <sys/thread.h>

/* 
 *  One structure allocated per uid.  This structure contains the 
 *  pointers to the uidinfo list, uid of the process and current 
 *  number of processes refering to the structure. 
 */
struct uidinfo {
        struct uidinfo  *pu_next;       /* next uidinfo structure */
        struct uidinfo  *pu_prev;       /* previous uidinfo structure */
        uid_t           pu_uid;         /* uid of process */
        long            pu_cnt;         /* # of refering processes */
        int             pu_pad[4];      /* future use */
};
extern struct uidinfo   *get_uidinfo (uid_t uid);
extern void             free_uidinfo (struct uidinfo *uidinfo);

/*
 *  One structure allocated per active process.  Entries that are
 *  in use are pinned to avoid page faults in kernel critical sections.
 *
 *  This structure contains per-process information that is needed
 *  when the process is swapped out.  The per-process data
 *  that is not needed when the process is swapped out is located
 *  in the processes u-block, <sys/user.h>.
 *  If threads are enabled, per-thread data is located in the thread and
 *  uthread structures, <sys/thread.h> and <sys/uthread.h>.
 *
 *  When changes are made here, be sure to update the assembler version
 *  in kernel/ml/proc.m4, too.
 */

#define max_proc ((struct proc *)v.ve_proc)

struct kernext_svc {
        void    (*kernext_svc_cleanup)(void *);
};

/*
 * Generate the proc structure, but...
 * If the special _32KER_64VMM flag is set (for vmm modules that must
 * run in real 64bit mode in the 32bit kernel), we cannot generate a
 * correct proc structure.
 * So we don't generate one at all.
 */
#ifndef _32KERMODE

struct  proc {
#ifndef __64BIT_KERNEL
        char            p_stat;         /* process state                */
        char            pad1;           /* padding                      */
        short           p_xstat;        /* exit status for wait         */
        uint            p_flag;         /* process flags                */
        uint            p_int;          /* process flags                */
        uint            p_atomic;       /* process flags                */ 

        /* main process link pointers   */
        struct proc     *p_child;       /* head of list of children     */
        struct proc     *p_siblings;    /* NULL terminated sibling list */
        struct uidinfo  *p_uidinfo;     /* uid information structure    */
        struct proc     *p_ganchor;     /* anchor for pgrpl             */

        /* thread fields */
        struct thread   *p_threadlist;  /* head of list of threads      */
        unsigned short  p_threadcount;  /* number of threads    */
        unsigned short  p_active;       /* number of active threads*/
        unsigned short  p_suspended;    /* number of suspended threads */
        unsigned short  p_terminating;  /* number of terminating threads*/
        unsigned short  p_local;        /* number of "local" threads */

        /* scheduler fields */
        char            p_nice;         /* nice for cpu usage           */
                                        /* NOTE: PUSER is added into    */
                                        /* this field for processes that*/
                                        /* do not have a fixed priority */
        char            p_sched_pri;    /* most favored swapped thrd pri */

        /* dispatcher fields */ 
        uint            p_pevent;       /* pending events               */
        tid_t           p_synch;        /* event list for threads waiting
                                           for this process to be suspended
*/
        /* identifier fields */
        uid_t           p_uid;          /* real user identifier         */
        uid_t           p_suid;         /* set user identifier          */
        pid_t           p_pid;          /* unique process identifier    */
        pid_t           p_ppid;         /* parent process identifier    */
        pid_t           p_sid;          /* session identifier           */
        pid_t           p_pgrp;         /* process group leader pid     */

        /* miscellaneous */
        Simple_lock     p_lock;         /* proc lock for enabled cs     */
        uint            p_kstackseg;    /* never used in 4.3 and beyond */
        uint            p_adspace;      /* process address space        */

        struct proc     *p_pgrpl;       /* circular list of process in  */
                                        /* the same process group.      */
                                        /* NOTE: this field is valid,   */
                                        /* only if p_pgrp != 0          */
        struct proc     *p_ttyl;        /* circular list of process groups
*/
                                        /* in the same session (p_sid).
*/
                                        /* If the session has a controlling
*/
                                        /* tty (u.u_ttyp), the processes
*/
                                        /* (process groups) in the session
*/
                                        /* have the same controlling tty.
*/ 
                                        /* NOTE: p_ttyl links one process of
*/
                                        /* each process group in the session
*/

        struct ptipc    *p_ipc;         /* ipc when being debugged      */
        struct proc     *p_dblist;      /* processes being debugged     */
        struct proc     *p_dbnext;      /* next in p_dblist             */

        /* signal information */
        sigset_t        p_sig;          /* pending signals              */
        sigset_t        p_sigignore;    /* signals being ignored        */
        sigset_t        p_sigcatch;     /* signals being caught         */
        sigset_t        p_siginfo;      /* keep siginfo_t for these     */
        struct ksiginfo *p_infoq;       /* queue of siginfo_t's         */
        uint            p_flag2;        /* More flags                   */

        /* zombie process information (doubleword aligned) */
        struct rusage64 p_ru;           /* Rusage structure for exit()  */

        /* process statistics */
        unsigned long long p_size;      /* size of image (pages)        */
        unsigned long long p_minflt;    /* page fault count - no I/O    */
        unsigned long long p_majflt;    /* page fault count - I/O needed*/
        unsigned long long  p_nframes;  /* accounting page frames       */
        unsigned long long  p_npsblks;  /* accounting paging space blocks */
        unsigned long long  p_nvpages;  /* accounting virtual mem pages */
        uint            p_pctcpu;       /* cpu percentage               */
        uint            p_auditmask;    /* Auditing stuff               */

        /* additional scheduler fields */ 
        long long       p_repage;       /* repaging count               */
        int             p_sched_count;  /* watchdog suspension count    */ 
        struct proc     *p_sched_next;  /* next process in swap queues  */
        struct proc     *p_sched_back;  /* previous process in swap q   */
        short           p_cpticks;      /* ticks of cpu time in last sec*/

        short           p_msgcnt;       /* uprintf message count        */
        uint            p_majfltsec;    /* maj flts in the last sec     */

        Simple_lock     p_lock_d;       /* proc lock for disabled cs    */
        struct kernext_svc *p_asyncio;

        /* fields for checkpoint/restart */
        int             p_chkblock;     /* No. of checkpoint handler blocks
*/
        crid_t          p_crid;         /* CRID of process */
        struct proc     *p_cridnext;    /* Next process in C/R group */
        void            *p_chkfile;     /* Ptr to chkfile structure */
        uint            p_crid_token;   /* Token for primary chkpt process
*/
        pid_t           p_vpid;         /* Virtual pid for a restarted
process*/
        pid_t           p_vppid;        /* virtual parent id
*/
        pid_t           p_vsid;         /* virtual session identifier
*/
        pid_t           p_vpgrp;        /* virtual process group leader pid
*/

        class_id_t      p_class;        /* wlm class */

#define P_PAD           6
#define P_VCSIZE        32
        Simple_lock     p_usched_lock;  /* disabled user scheduler lock */
        struct thread   *p_uschedp;     /* user scheduler thread ptr    */
        void            *p_lgpage;      /* for shmat SHM_LGPAGE option  */
        int             p_pad[P_PAD];   /* pad to P_VCSIZE byte boundary*/

#else   /* __64BIT_KERNEL */
        /* Proc structure in 64bit kernel. The fields have been
         * rearranged to avoid "holes" between fields.
         */
        pid_t           p_pid;          /* unique process identifier    */
        pid_t           p_ppid;         /* parent process identifier    */

        char            p_stat;         /* process state                */
        char            pad1;           /* padding                      */
        short           p_xstat;        /* exit status for wait         */
        uint            p_flag;         /* process flags                */
        uint            p_int;          /* process flags                */
        uint            p_atomic;       /* process flags                */ 

        /* main process link pointers   */
        struct proc     *p_child;       /* head of list of children     */
        struct proc     *p_siblings;    /* NULL terminated sibling list */
        struct uidinfo  *p_uidinfo;     /* uid information structure    */
        struct proc     *p_ganchor;     /* anchor for pgrpl             */

        /* thread fields */
        struct thread   *p_threadlist;  /* head of list of threads      */

        uint            p_threadcount;/* number of threads      */
        uint            p_active;     /* number of active threads*/
        uint            p_suspended;  /* number of suspended threads */
        uint            p_terminating;/* number of terminating threads*/
        uint            p_local;      /* number of "local" threads */

        /* scheduler fields */
        char            p_nice;         /* nice for cpu usage           */
                                        /* NOTE: PUSER is added into    */
                                        /* this field for processes that*/
                                        /* do not have a fixed priority */
        char            p_sched_pri;    /* most favored swapped thrd pri */

        /* dispatcher fields */ 
        ulong           p_pevent;       /* pending events               */
        tid_t           p_synch;        /* event list for threads waiting
                                           for this process to be suspended
*/
        /* identifier fields */
        uid_t           p_uid;          /* real user identifier         */
        uid_t           p_suid;         /* set user identifier          */
        pid_t           p_sid;          /* session identifier           */
        pid_t           p_pgrp;         /* process group leader pid     */

        /* miscellaneous */
        Simple_lock     p_lock;         /* proc lock for enabled cs     */
        vmhandle_t      p_kstackseg;    /* never used in 4.3 and beyond */
        vmhandle_t      p_adspace;      /* process address space        */
#ifdef _IA64
        ulong           p_adspace_m;    /* machine-specific proc add space
*/
#endif /* _IA64 */

        ulong           p_adtable;      /* process address space        */

        struct proc     *p_pgrpl;       /* circular list of process in  */
                                        /* the same process group.      */
                                        /* NOTE: this field is valid,   */
                                        /* only if p_pgrp != 0          */
        struct proc     *p_ttyl;        /* circular list of process groups
*/
                                        /* in the same session (p_sid).
*/
                                        /* If the session has a controlling
*/
                                        /* tty (u.u_ttyp), the processes
*/
                                        /* (process groups) in the session
*/
                                        /* have the same controlling tty.
*/ 
                                        /* NOTE: p_ttyl links one process of
*/
                                        /* each process group in the session
*/

        struct ptipc    *p_ipc;         /* ipc when being debugged      */
        struct proc     *p_dblist;      /* processes being debugged     */
        struct proc     *p_dbnext;      /* next in p_dblist             */

        /* signal information */
        sigset_t        p_sig;          /* pending signals              */
        sigset_t        p_sigignore;    /* signals being ignored        */
        sigset_t        p_sigcatch;     /* signals being caught         */
        sigset_t        p_siginfo;      /* keep siginfo_t for these     */
        struct ksiginfo *p_infoq;       /* queue of siginfo_t's         */

        /* zombie process information (doubleword aligned) */
        struct rusage64 p_ru;           /* Rusage structure for exit()  */

        /* process statistics */
        unsigned long long p_size;      /* size of image (pages)        */
        unsigned long long p_minflt;    /* page fault count - no I/O    */
        unsigned long long p_majflt;    /* page fault count - I/O needed*/
        unsigned long long  p_nframes;  /* accounting page frames       */
        unsigned long long  p_npsblks;  /* accounting paging space blocks */
        unsigned long long  p_nvpages;  /* accounting virtual mem pages */
        uint            p_pctcpu;       /* cpu percentage               */
        uint            p_auditmask;    /* Auditing stuff               */

        uint            p_flag2;        /* More flags                   */

        /* additional scheduler fields */ 
        int             p_sched_count;  /* watchdog suspension count    */ 
        long long       p_repage;       /* repaging count               */
        struct proc     *p_sched_next;  /* next process in swap queues  */
        struct proc     *p_sched_back;  /* previous process in swap q   */
        short           p_cpticks;      /* ticks of cpu time in last sec*/

        short           p_msgcnt;       /* uprintf message count        */
        uint            p_majfltsec;    /* maj flts in the last sec     */

        Simple_lock     p_lock_d;       /* proc lock for disabled cs    */
        struct kernext_svc *p_asyncio;

        /* fields for checkpoint/restart */
        int             p_chkblock;     /* No. of checkpoint handler blocks
*/
        crid_t          p_crid;         /* CRID of process */
        struct proc     *p_cridnext;    /* Next process in C/R group */
        void            *p_chkfile;     /* Ptr to chkfile structure */
        pid_t           p_vpid;         /* Virtual pid for a restarted
process*/
        pid_t           p_vppid;        /* virtual parent id
*/
        pid_t           p_vsid;         /* virtual session identifier
*/
        pid_t           p_vpgrp;        /* virtual process group leader pid
*/
        uint            p_crid_token;   /* Token for primary chkpt process
*/

        class_id_t      p_class;        /* wlm class */

#ifdef _IA64
#define P_PAD           10            
#define P_VCSIZE        64
#else
#define P_PAD           12
#define P_VCSIZE        64
        Simple_lock     p_usched_lock;  /* disabled user scheduler lock */
        struct thread   *p_uschedp;     /* user scheduler thread ptr    */
        void            *p_lgpage;      /* for shmat SHM_LGPAGE option  */
        int             p_pad[P_PAD];   /* pad to P_VCSIZE byte boundary*/
#endif

#endif /* __64BIT_KERNEL */
};

#ifdef _KERNSYS
/*
 * Make sure that the proc structure is really a multiple of P_VCSIZE bytes.
 * If not, the structure below will cause a severe compilation error.
 */

struct procsizevaliditycheck {
        char    a[sizeof(struct proc) % P_VCSIZE ? -1 : 1];
};
#endif

#endif  /* _32KERMODE */

#define p_link          p_child         /* any field not used when free */

#define xp_stat         p_xstat
#define xp_ru           p_ru
#define xp_utime        p_ru.ru_utime.tv_sec
#define xp_stime        p_ru.ru_stime.tv_sec

#define p_sigmask       p_threadlist->t_sigmask /* to be removed (NFS) */

/*
 * NOTE: process flag values are or'd together for binary compatibility
 */

/*
 * process flags, p_flag
 *
 * This field can be updated under the process only.  If the process
 * is single threaded, then the update can be made at base level.  Otherwise
 * interrupts need to be disabled and the p_lock_d held.
 */
#define SLOAD           0x00000001      /* user and uthread struct. pinned
*/
#define SNOSWAP         0x00000002      /* process can't be swapped out
*/
#define SFORKSTACK      0x00000004      /* special fork stack is allocated
*/
#define STRC            0x00000008      /* process being traced
*/
#define SFIXPRI         0x00000100      /* fixed priority, ignoring p_cpu
*/
#define SKPROC          0x00000200      /* Kernel processes
*/
#define SSIGNOCHLD      0x00000400      /* do send SIGCHLD on child's
death*/
#define SSIGSET         0x00000800      /* process uses the SVID sigset
int*/
#define SXPG1170        0x00001000      /* XPG SPEC1170 behavior assumed
*/
#define SGETUREGS       0x00002000      /* state save on svc call
*/
#define SLKDONE         0x00002000      /* proc has "done" locks(not used)
*/
#define STRACING        0x00004000      /* process is a debugger
*/
#define SMPTRACE        0x00008000      /* multi-process debugging
*/
#define SEXIT           0x00010000      /* process is exiting
*/
#define SORPHANPGRP     0x00040000      /* orphaned process group
*/
#define SNOCNTLPROC     0x00080000      /* session leader relinquished
*/
                                        /* the controlling terminal
*/
#define SPPNOCLDSTOP    0x00100000      /* Do not send parent process
*/
                                        /*  SIGCHLD when a child stops
*/
#define SEXECED         0x00200000      /* process has exec'd
*/
#define SJOBSESS        0x00400000      /* job control used in session
*/
#define SJOBOFF         0x00800000      /* free from job control
*/
#define SEXECING        0x01000000      /* process is execing
*/
#define SPSEARLYALLOC   0x04000000      /* allocates paging space early
*/
#define SCONTINUED      0x08000000      /* process continued after stop
*/

/*
 * yet more process flags, p_flag2
 */
#define S64BIT          0x00000001      /* this is a 64-bit process
*/
#define SFASTTRAP       0x00000004      /* fast trap capability enabled
*/
#define SCHKPNT         0x00000008      /* checkpoint operation pending
*/
#define SRESTART        0x00000010      /* restart in progress
*/
#define SPRIMARY        0x00000020      /* Primary checkpoint process
*/
#define SCHKPNTABLE     0x00000040      /* Checkpointable process (env
var)*/
#define SRESTARTED      0x00000080      /* Restarted process
*/
#define SRESTARTING     0x00000100      /* Restarting process
*/
#define SCHKPNTING      0x00000200      /* Process in checkpoint
*/
#define SRT_MPC         0x00000400      /* RT kernel: send MPC to preempt
*/
#define SRT_GRQ         0x00000800      /* process stays on global run queue
*/
#define SWP_SIGNALED    0x00001000      /* sig posted for watchpoint hit
*/
#define PTHREADED       0x00002000      /* this is a pthreaded process
*/

/*
 * process flags, p_int
 *
 * This field can be updated at the interrupt level, under the process,
 * or from another process provided that interrupts are disabled and the
 * p_lock_d is held. 
 */
#define SCORE           0x00000001      /* process is core dumping
*/
#define SRUNQ           0x00000004      /* runnable pthreads.
*/
#define SJUSTBACKIN     0x00020000      /* process recently restarted
*/
#define SPSMKILL        0x02000000      /* paging space mgr chose me to
die*/
#define STERM           0x10000000      /* process should be terminated
*/
#define SSUSP           0x20000000      /* suspend process in kmode/umode
*/
#define SSUSPUM         0x40000000      /* suspend process in umode
*/
#define SGETOUT         0x80000000      /* process should be swapped out
*/

/*
 * This flag triggers a call to sig_slih.  When changing these flags,
 * one must also change proc.m4.  Moreover, the bits have to be consecutive
 * to work with rlinm.
 */
#define SSIGSLIH        (STERM|SSUSP|SSUSPUM|SGETOUT)   

/*
 * process flags, p_atomic 
 *
 * This field is updated through atomic primitives only.
 */
#define SWTED           0x00000010      /* stopped while traced
*/
#define SFWTED          0x00000020      /* stopped after fork while traced
*/
#define SEWTED          0x00000040      /* stopped after exec while traced
*/
#define SLWTED          0x00000080      /* stopped after load/unload while
*/

/*
 * process states, p_stat
 */
#define SNONE           0               /* slot is available    */
#define SIDL            4               /* process is created   */
#define SZOMB           5               /* process is dying     */
#define SSTOP           6               /* process is stopped   */
#define SACTIVE         7               /* process is active    */
#define SSWAP           8               /* process is swapped   */

/*
 * Defines and macros for use with process table entries
 */
#define PIDRESERVED     6               /* number of bits reserved in pid */
#define PROCSHIFT       18              /* number of bits in proc index   */
#define PGENSHIFT       8               /* proc index offset              */
#define PGENMASK        ((1<<PGENSHIFT)-1)
#define NPROC           (1<<PROCSHIFT)
#define PIDMASK         ((NPROC-1)<<PGENSHIFT)
#define PIDMAX          ((NPROC<<PGENSHIFT)-1)

/* pid are even, but 1 is also a pid */
#define MAYBE_PID(pid)  (!(pid & 1) || (pid == 1))

/* mask for proc index          */
#define PROCMASK(pid)   ((((pid)&PIDMASK)>>PGENSHIFT) | ((pid)&1))

#ifdef _KERNEL
extern struct proc proc[NPROC];         /* the process table, itself      */

/* convert pid to proc pointer  */
#define PROCPTR(pid)    (&proc[PROCMASK(pid)])

/* validate whether a process id is valid or not  */
#define VALIDATE_PID(pid)                                               \
        (((PROCPTR(pid) >= (struct proc *)v.ve_proc) ||                 \
          (PROCPTR(pid)->p_pid != (pid))) ?                             \
                                        NULL : PROCPTR(pid))

/* determine if a process is multi-threaded given a procp or threadp */
#define MTHREAD(p)      ( (p)->p_active > 1 )
#define MTHREADT(t)     ( (t)->t_procp->p_active > 1 )

#endif

#define P_NICE_DEFAULT  (NZERO+PUSER)   /* default value for p_nice     */
#define P_NICE_MAX      40              /* maximum nice value           */
#define P_NICE_MIN      0               /* minimum nice value           */

#define EXTRACT_NICE(p)                                                 \
        (((p)->p_flag & SFIXPRI) ? (P_NICE_MAX + 1) : ((p)->p_nice - PUSER))

#define SET_NICE(p,n)                                                   \
{                                                                       \
        if (!((p)->p_flag & SFIXPRI)) {                                 \
                (p)->p_nice = (MIN(P_NICE_MAX,MAX(0,(n)))) + PUSER;     \
        }                                                               \
}

/* global locks - listed in precedence */
extern Complex_lock core_lock;
extern Simple_lock crid_lock;
extern Simple_lock time_lock;   
extern Simple_lock proc_tbl_lock;
/* user_event_lock's */
extern Simple_lock ptrace_lock; 
extern Complex_lock tod_lock;   
extern Simple_lock proc_base_lock;      
/* event_list_lock's and slist_list_lock's are peers */
/* p_lock_d's */
extern Simple_lock suspending_q_lock;
/* run_queue_lock's, suspending_q_lock, and vmm wait_list_lock's are peers
*/

/* 
 * Structures for resource intialization/termination handlers
 */
struct proch 
{
        struct  proch   *next;  /* next pointer */
        void (*handler)();              /* function to be called */
};

/* Defines to pass the resource handlers */
#define PROCH_INITIALIZE        1
#define PROCH_TERMINATE         2
#define PROCH_SWAPOUT           3   /* process is being swapped out. It's
*/
                                    /*  u block is still pinned. Interrupts
*/
                                    /*  are enabled
*/
#define PROCH_SWAPIN            4   /* process is being made runnable. It's
*/
                                    /*  u block has been pinned , but it
has*/
                                    /*  not been put on a 'ready to run'
*/
                                    /*  queue. Interrupts are enabled.
*/
#define PROCH_EXEC              5
#define THREAD_INITIALIZE      11
#define THREAD_TERMINATE       12

/*
 * Function prototypes for 64bit kernel only
 */
#ifdef _KERNEL
#if defined(__64BIT_KERNEL) || defined(__FULL_PROTO)
extern void     prochadd(struct proch *);
extern void     prochdel(struct proch *);

extern int      initp(pid_t, int (*)(), 
                        char *, int32long64_t, char[]);
extern pid_t    creatp(void);

extern int      setpinit(void);
extern int      setpswap(void);

extern pid_t    getpid(void);
extern pid_t    getppidx(pid_t pid);

extern int      getuerror(void);
extern int      setuerror(int errno);

extern int      setjmpx(label_t *);
extern void     clrjmpx(label_t *);
extern int      longjmpx(int);

extern void     setsid2(void);

#endif /* (__64BIT_KERNEL || __FULL_PROTO) */
#endif /* _KERNEL */

/*
 * p_pctcpu is a floating point number represented as a ulong. It has 
 * a range of [(2 ** 16 ) - 1, (2 ** -16) + 1].  To translate into a 
 * floating point divide by (double)FLT_MODULO.
 */
#define FLT_MODULO              (1<<16)

#ifdef __cplusplus
}
#endif

#endif  /* _H_PROC */





-----Message d'origine-----
De: Alan Modra [mailto:address@hidden
Date: jeudi 10 juillet 2003 03:25
À: SOPRA - MANSFELD, Sebastien
Cc: address@hidden; address@hidden;
address@hidden
Objet: Re: Problems building bfd (binutils-2.14) on AIX 4.3.3.0 with gcc
3.0 .1 !


On Wed, Jul 09, 2003 at 06:19:04PM +0200, address@hidden wrote:
> I get the following message when making binutils with gcc 3.0.1 :
> (Reading specs from
> /usr/local/lib/gcc-lib/powerpc-ibm-aix4.3.2.0/3.0.1/specs
> Configured with: ./configure --enable-threads=aix --disable-nls
> Thread model: single
> gcc version 3.0.1) on AIX 4.3.3.0 (oslevel output) :
> 
> gcc -DHAVE_CONFIG_H -I. -I. -I. -D_GNU_SOURCE -DAIX_CORE_DUMPX_CORE
> -DAIX_CORE -I. -I. -I./../include -I./../intl -I../intl -W -Wall
> -Wstrict-prototypes -Wmissing-prototypes -g -O2 -c rs6000-core.c -o
> rs6000-core.o
> In file included from /usr/include/sys/user.h:77,
>                  from rs6000-core.c:67:
> /usr/include/sys/proc.h:203: parse error before "crid_t"

Without knowing the contents of sys/proc.h, I can't say what went wrong.
You possibly have a variable named __thread, which is now a reserved
word.

-- 
Alan Modra
IBM OzLabs - Linux Technology Centre




reply via email to

[Prev in Thread] Current Thread [Next in Thread]