Salman Khilji <skhilji@tampabay.rr.com> writes:
Could you please do an objdump -g <prog> and let me know what you get. graham@home:~> objdump -g /usr/local/bin/emacs
/usr/local/bin/emacs: file format elf32-i386 /usr/src/packages/BUILD/glibc-2.2.5/csu/init.c: typedef int32 int; typedef int8 char; typedef int32 long int; typedef uint32 unsigned int; typedef uint32 long unsigned int; typedef int64 long long int; typedef uint64 long long unsigned int; typedef int16 short int; typedef uint16 short unsigned int; typedef int8 signed char; typedef uint8 unsigned char; typedef float float; typedef double double; typedef float96 long double; typedef struct %anon1 { /* size 8 */ int real; /* bitsize 32, bitpos 0 */ int imag; /* bitsize 32, bitpos 32 */ } complex int; typedef complex float complex float; typedef complex double complex double; typedef complex float96 complex long double; typedef void void; int _IO_stdin_used /* 0x81c0da4 */; struct __gconv_loaded_object { /* id 0 */ }; struct _pthread_descr_struct { /* id 0 */ }; ../include/libc-symbols.h: /usr/src/packages/BUILD/glibc-2.2.5/cc/config.h: ../sysdeps/gnu/_G_config.h: typedef struct %anon2 { /* size 12 */ long int __pos; /* bitsize 32, bitpos 0 */ struct %anon3 { /* size 8 */ int __count; /* bitsize 32, bitpos 0 */ union %anon4 { /* size 4 */ unsigned int __wch; /* bitsize 32, bitpos 0 */ char __wchb[4]; /* bitsize 32, bitpos 0 */ } __value; /* bitsize 32, bitpos 32 */ } __state; /* bitsize 64, bitpos 32 */ } _G_fpos_t; typedef struct %anon5 { /* size 16 */ long long int __pos; /* bitsize 64, bitpos 0 */ struct %anon3 __state; /* bitsize 64, bitpos 64 */ } _G_fpos64_t; typedef union %anon6 { /* size 44 */ struct __gconv_info /* id 7 */ __cd; /* bitsize 64, bitpos 0 */ struct %anon8 { /* size 44 */ struct __gconv_info /* id 7 */ __cd; /* bitsize 64, bitpos 0 */ struct __gconv_step_data /* id 9 */ __data; /* bitsize 288, bitpos 64 */ } __combined; /* bitsize 352, bitpos 0 */ } _G_iconv_t; typedef short int _G_int16_t; typedef int _G_int32_t; typedef short unsigned int _G_uint16_t; typedef unsigned int _G_uint32_t; ../sysdeps/unix/sysv/linux/bits/types.h: typedef unsigned char __u_char; typedef short unsigned int __u_short; typedef unsigned int __u_int; typedef long unsigned int __u_long; typedef long long unsigned int __u_quad_t; typedef long long int __quad_t; typedef signed char __int8_t; typedef unsigned char __uint8_t; typedef short int __int16_t; typedef short unsigned int __uint16_t; typedef int __int32_t; typedef unsigned int __uint32_t; typedef long long int __int64_t; typedef long long unsigned int __uint64_t; typedef __quad_t *__qaddr_t; typedef __u_quad_t __dev_t; typedef __u_int __uid_t; typedef __u_int __gid_t; typedef __u_long __ino_t; typedef __u_int __mode_t; typedef __u_int __nlink_t; typedef long int __off_t; typedef __quad_t __loff_t; typedef int __pid_t; typedef int __ssize_t; typedef __u_long __rlim_t; typedef __u_quad_t __rlim64_t; typedef __u_int __id_t; typedef struct %anon10 { /* size 8 */ int __val[2]; /* bitsize 64, bitpos 0 */ } __fsid_t; typedef int __daddr_t; typedef char *__caddr_t; typedef long int __time_t; typedef unsigned int __useconds_t; typedef long int __suseconds_t; typedef long int __swblk_t; typedef long int __clock_t; typedef int __clockid_t; typedef int __timer_t; typedef int __key_t; typedef short unsigned int __ipc_pid_t; typedef long int __blksize_t; typedef long int __blkcnt_t; typedef __quad_t __blkcnt64_t; typedef __u_long __fsblkcnt_t; typedef __u_quad_t __fsblkcnt64_t; typedef __u_long __fsfilcnt_t; typedef __u_quad_t __fsfilcnt64_t; typedef __u_quad_t __ino64_t; typedef __loff_t __off64_t; typedef long int __t_scalar_t; typedef long unsigned int __t_uscalar_t; typedef int __intptr_t; typedef unsigned int __socklen_t; ../include/features.h: ../include/sys/cdefs.h: ../misc/sys/cdefs.h: /usr/lib/gcc-lib/i486-suse-linux/2.95.3/include/stddef.h: typedef unsigned int size_t; typedef long int wchar_t; typedef unsigned int wint_t; ../linuxthreads/sysdeps/pthread/bits/pthreadtypes.h: struct _pthread_fastlock { /* size 8 id 11 */ long int __status; /* bitsize 32, bitpos 0 */ int __spinlock; /* bitsize 32, bitpos 32 */ }; typedef struct _pthread_descr_struct /* id 0 */ *_pthread_descr; struct __pthread_attr_s { /* size 36 id 12 */ int __detachstate; /* bitsize 32, bitpos 0 */ int __schedpolicy; /* bitsize 32, bitpos 32 */ struct __sched_param /* id 13 */ __schedparam; /* bitsize 32, bitpos 64 */ int __inheritsched; /* bitsize 32, bitpos 96 */ int __scope; /* bitsize 32, bitpos 128 */ size_t __guardsize; /* bitsize 32, bitpos 160 */ int __stackaddr_set; /* bitsize 32, bitpos 192 */ void *__stackaddr; /* bitsize 32, bitpos 224 */ size_t __stacksize; /* bitsize 32, bitpos 256 */ }; typedef struct __pthread_attr_s /* id 12 */ pthread_attr_t; typedef struct %anon14 { /* size 12 */ struct _pthread_fastlock /* id 11 */ __c_lock; /* bitsize 64, bitpos 0 */ _pthread_descr __c_waiting; /* bitsize 32, bitpos 64 */ } pthread_cond_t; typedef struct %anon15 { /* size 4 */ int __dummy; /* bitsize 32, bitpos 0 */ } pthread_condattr_t; typedef unsigned int pthread_key_t; typedef struct %anon16 { /* size 24 */ int __m_reserved; /* bitsize 32, bitpos 0 */ int __m_count; /* bitsize 32, bitpos 32 */ _pthread_descr __m_owner; /* bitsize 32, bitpos 64 */ int __m_kind; /* bitsize 32, bitpos 96 */ struct _pthread_fastlock /* id 11 */ __m_lock; /* bitsize 64, bitpos 128 */ } pthread_mutex_t; typedef struct %anon17 { /* size 4 */ int __mutexkind; /* bitsize 32, bitpos 0 */ } pthread_mutexattr_t; typedef int pthread_once_t; struct _pthread_rwlock_t { /* size 32 id 18 */ struct _pthread_fastlock /* id 11 */ __rw_lock; /* bitsize 64, bitpos 0 */ int __rw_readers; /* bitsize 32, bitpos 64 */ _pthread_descr __rw_writer; /* bitsize 32, bitpos 96 */ _pthread_descr __rw_read_waiting; /* bitsize 32, bitpos 128 */ _pthread_descr __rw_write_waiting; /* bitsize 32, bitpos 160 */ int __rw_kind; /* bitsize 32, bitpos 192 */ int __rw_pshared; /* bitsize 32, bitpos 224 */ }; typedef struct _pthread_rwlock_t /* id 18 */ pthread_rwlock_t; typedef struct %anon19 { /* size 8 */ int __lockkind; /* bitsize 32, bitpos 0 */ int __pshared; /* bitsize 32, bitpos 32 */ } pthread_rwlockattr_t; typedef int pthread_spinlock_t; typedef struct %anon20 { /* size 20 */ struct _pthread_fastlock /* id 11 */ __ba_lock; /* bitsize 64, bitpos 0 */ int __ba_required; /* bitsize 32, bitpos 64 */ int __ba_present; /* bitsize 32, bitpos 96 */ _pthread_descr __ba_waiting; /* bitsize 32, bitpos 128 */ } pthread_barrier_t; typedef struct %anon21 { /* size 4 */ int __pshared; /* bitsize 32, bitpos 0 */ } pthread_barrierattr_t; typedef long unsigned int pthread_t; ../sysdeps/unix/sysv/linux/bits/sched.h: struct __sched_param { /* size 4 id 13 */ int __sched_priority; /* bitsize 32, bitpos 0 */ }; ../include/wchar.h: ../wcsmbs/wchar.h: typedef struct %anon3 __mbstate_t; ../sysdeps/unix/sysv/linux/i386/bits/wchar.h: ../include/gconv.h: ../iconv/gconv.h: typedef int (*__gconv_fct) (/* unknown */); typedef int (*__gconv_init_fct) (/* unknown */); typedef void (*__gconv_end_fct) (/* unknown */); typedef int (*__gconv_trans_fct) (/* unknown */); typedef int (*__gconv_trans_context_fct) (/* unknown */); typedef int (*__gconv_trans_query_fct) (/* unknown */); typedef int (*__gconv_trans_init_fct) (/* unknown */); typedef void (*__gconv_trans_end_fct) (/* unknown */); struct __gconv_trans_data { /* size 20 id 22 */ __gconv_trans_fct __trans_fct; /* bitsize 32, bitpos 0 */ __gconv_trans_context_fct __trans_context_fct; /* bitsize 32, bitpos 32 */ __gconv_trans_end_fct __trans_end_fct; /* bitsize 32, bitpos 64 */ void *__data; /* bitsize 32, bitpos 96 */ struct __gconv_trans_data /* id 22 */ *__next; /* bitsize 32, bitpos 128 */ }; struct __gconv_step { /* size 56 id 23 */ struct __gconv_loaded_object /* id 0 */ *__shlib_handle; /* bitsize 32, bitpos 0 */ char *__modname; /* bitsize 32, bitpos 32 */ int __counter; /* bitsize 32, bitpos 64 */ char *__from_name; /* bitsize 32, bitpos 96 */ char *__to_name; /* bitsize 32, bitpos 128 */ __gconv_fct __fct; /* bitsize 32, bitpos 160 */ __gconv_init_fct __init_fct; /* bitsize 32, bitpos 192 */ __gconv_end_fct __end_fct; /* bitsize 32, bitpos 224 */ int __min_needed_from; /* bitsize 32, bitpos 256 */ int __max_needed_from; /* bitsize 32, bitpos 288 */ int __min_needed_to; /* bitsize 32, bitpos 320 */ int __max_needed_to; /* bitsize 32, bitpos 352 */ int __stateful; /* bitsize 32, bitpos 384 */ void *__data; /* bitsize 32, bitpos 416 */ }; struct __gconv_step_data { /* size 36 id 9 */ unsigned char *__outbuf; /* bitsize 32, bitpos 0 */ unsigned char *__outbufend; /* bitsize 32, bitpos 32 */ int __flags; /* bitsize 32, bitpos 64 */ int __invocation_counter; /* bitsize 32, bitpos 96 */ int __internal_use; /* bitsize 32, bitpos 128 */ __mbstate_t *__statep; /* bitsize 32, bitpos 160 */ __mbstate_t __state; /* bitsize 64, bitpos 192 */ struct __gconv_trans_data /* id 22 */ *__trans; /* bitsize 32, bitpos 256 */ }; struct __gconv_info { /* size 8 id 7 */ size_t __nsteps; /* bitsize 32, bitpos 0 */ struct __gconv_step /* id 23 */ *__steps; /* bitsize 32, bitpos 32 */ struct __gconv_step_data /* id 9 */ __data[]; /* bitpos 64 */ }; typedef struct __gconv_info /* id 7 */ *__gconv_t; graham@home:~>