Is it necessary that you are still using the stabs debugging format?
Eventually the compilers will stop accepting the -xdebugformat=stabs
option.  Removing it would probably make this problem go away.

I think your problem is due to a linker change that I advocated.  (6775062)
I believed that Sun Studio 12 would not suffer from any problems,
but it looks like I was wrong.  I'm very sorry about that.
You can test if your problem is related to 6775062 by adding
this to your link line:  
  -S /ws/onnv-tools/SUNWspro/SS12/prod/lib/libldstab_ws.so
If you're building 32 and 64 bits with the same link line, then you'll need
a longer incantation:
  -zld32=-S/ws/onnv-tools/SUNWspro/SS12/prod/lib/libldstab_ws.so
  -zld64=-S/ws/onnv-tools/SUNWspro/SS12/prod/lib/amd64/libldstab_ws.so
(Use sparcv9 for amd64 if you're building on sparc)

I thought those options were always passed by the compiler drivers
in SS12, but I was wrong.  There are often passed, but not always.
I don't know how many teams are still using stabs, or if it's a requirement
for them to keep using it.  The stabs processing code in this library
should never have been built into the linker, and if this problem requires
fixing, I would prefer to see this fixed as a patch to the compilers.

Can I get some feedback on how much of the Solaris org is still using stabs
in their Nevada builds?

--chris


> Charles Binford Charles.Binford at Sun.COM
> Fri Feb 6 10:17:31 PST 2009 
>
> I have test system that I jumpstarted to 106.  When I build debug on
> that machine I don't get any symbols.  When I build the exact same thing
> on a 105 machine debug symbols are there.  Note that my build tools are
> coming from the same nfs mount in both cases so only thing I can think
> of that may be different are any locally linked dynamic libraries.
> 
> I thought it was just some weirdness with my setup until I spoke with
> another developer in my group who was having the same sort of issue with
> build 107.
> 
> Has anyone else seen this type of behavior?
> 
> I give a detailed example below of it not working (i.e. no debug info in
> executable).  However, I tried it a simple "hello world" test program,
> with only
> 
> /ws/onnv-tools/onbld/bin/i386/cw -_cc  -g prog.c
> 
> and all worked fine on both machines.  Yet my real code (below) doesn't
> end up with debug info when built under 106.
> 
> Example: 
> This is from the 105 based machine.
> uwic-v40z-2$ rm pmhd_event_reader
> uwic-v40z-2$ make > /cb/tmp/uwic 2>&1
> uwic-v40z-2$ dbx pmhd_event_reader
> For information about new features see `help changes'
> To remove this message, put `dbxenv suppress_startup_message 7.6' in
> your .dbxrc
> Reading pmhd_event_reader
> Reading ld.so.1
> Reading libc.so.1
> Reading libxml2.so.2
> Reading libpthread.so.1
> Reading libz.so.1
> Reading libm.so.2
> Reading libsocket.so.1
> Reading libnsl.so.1
> (dbx) list
>   964           char                    *user_rules = NULL;
>   965           /* extern char          *optarg; */
>   966           /* extern int           optind, optopt; */
>   967           char                    *dmapi_ver_name;
>   968           char                    *fmri = NULL;
>   969           int                     interactive_flag = 0;
>   970           char                    *pm;
>   971           int8_t                  trace_level;
>   972           int                     file_rules = 0;
>   973           pm_imq_params_t         imq_params;
> (dbx) exit
> uwic-v40z-2$
> 
> 
> Now from the 106 machine
> vader-ks$  rm pmhd_event_reader
> vader-ks$ make > /cb/tmp/vader 2>&1
> vader-ks$ dbx
> For information about new features see `help changes'
> To remove this message, put `dbxenv suppress_startup_message 7.6' in
> your .dbxrc
> (dbx) exit
> vader-ks$ dbx pmhd_event_reader
> For information about new features see `help changes'
> To remove this message, put `dbxenv suppress_startup_message 7.6' in
> your .dbxrc
> Reading pmhd_event_reader
> Reading ld.so.1
> Reading libc.so.1
> Reading libxml2.so.2
> Reading libpthread.so.1
> Reading libz.so.1
> Reading libm.so.2
> Reading libsocket.so.1
> Reading libnsl.so.1
> (dbx) list
> dbx: warning: No source file
> (dbx) exit
> 
> 
> The actual compile from the two machines had identical options as shown
> here:
> vader-ks$ diff /cb/tmp/vader /cb/tmp/uwic
> 
> 
> Finally the contents of the redirected output:
> vader-ks$ cat /cb/tmp/vader
> /ws/onnv-tools/onbld/bin/i386/cw -_cc   -xspace -Xa  -xildoff
> -errtags=yes -errwarn=%all -erroff=E_EMPTY_TRANSLATION_UNIT
> -erroff=E_STATEMENT_NOT_REACHED -xc99=%all    -W0,-xglobalstatic -g
> -xc99=%all -W0,-noglobal -_gcc=-fno-dwarf2-indirect-strings
> -xdebugformat=stabs -DSOLARIS -DTEXT_DOMAIN=\"SUNW_OST_OSCMD\"
> -D_TS_ERRNO  -I/cb/admONumount/proto/root_i386/usr/include    -DDEBUG
> -I/cb/admONumount/usr/src/common/dmapi -I. -I../common
> -I/cb/admONumount/usr/src/lib/hsm/include
> -I/cb/admONumount/usr/src/lib/hsm/libhsmdb/common -I/usr/include/pgsql
> -I/cb/admONumount/usr/src/lib/hsm/libhsmtrc/common
> -I/cb/admONumount/usr/src/lib/hsm/libhsmcfg/common
> -I/cb/admONumount/usr/src/lib/hsm/libhsmut/common
> -I/cb/admONumount/usr/src/lib/hsm/libpm/common
> -I/cb/admONumount/usr/src/lib/hsm/libpmapi/common
> -I/cb/admONumount/usr/src/lib/hsm/libhsmwl/common -I/usr/include/libxml2
> -I/hsm_tools/share/imq4.1/include
> -I/cb/admONumount/usr/src/lib/hsm/libhsmmms/common
> -I/cb/admONumount/usr/src/common/mms/mms
> -I/cb/admONumount/usr/src/lib/hsm/libhsmmsg/common -Bdirect    
> -M/cb/admONumount/usr/src/common/mapfiles/common/map.noexstk
> -M/cb/admONumount/usr/src/common/mapfiles/i386/map.pagealign
> -M/cb/admONumount/usr/src/common/mapfiles/i386/map.noexdata pm_event.o
> pm_imq.o pm_init.o pm_drools.o pm_db.o pm_scheduler.o  pm_xml.o
> pm_thread_pool.o pm_cred.o pm_hash.o pm_work.o pm_reaper.o  pm_cli.o
> pm_postproc.o pm_xmltxt_gen.o pm_xmltxt.o pm_finfo.o  pm_release.o
> pm_mailbox.o pm_scan.o pm_shutdown.o pm_user_rules.o  pm_migrate.o -o
> pmhd_event_reader -L/cb/admONumount/proto/root_i386/lib
> -L/cb/admONumount/proto/root_i386/usr/lib   -R/usr/lib/hsm
> -R/opt/SUNWimq/lib -R/usr/sfw/lib
> -L/cb/admONumount/proto/root_i386/usr/lib/hsm -L/opt/SUNWimq/lib/ -lc
> -lhsmdb -lpm -lhsmcfg -lhsmtrc -lhsmut -lxml2 -luuid -lhsmwl -ldm
> -lhsmmms -L/hsm_tools/share/imq4.1/lib -lmqcrt -lhsmmsg
> + /ws/onnv-tools/SUNWspro/SS12/bin/cc -xspace -Xa -xildoff -errtags=yes
> -errwarn=%all -erroff=E_EMPTY_TRANSLATION_UNIT
> -erroff=E_STATEMENT_NOT_REACHED -xc99=%all -W0,-xglobalstatic -g
> -xc99=%all -W0,-noglobal -xdebugformat=stabs -DSOLARIS
> -DTEXT_DOMAIN="SUNW_OST_OSCMD"-D_TS_ERRNO
> -I/cb/admONumount/proto/root_i386/usr/include -DDEBUG
> -I/cb/admONumount/usr/src/common/dmapi -I. -I../common
> -I/cb/admONumount/usr/src/lib/hsm/include
> -I/cb/admONumount/usr/src/lib/hsm/libhsmdb/common -I/usr/include/pgsql
> -I/cb/admONumount/usr/src/lib/hsm/libhsmtrc/common
> -I/cb/admONumount/usr/src/lib/hsm/libhsmcfg/common
> -I/cb/admONumount/usr/src/lib/hsm/libhsmut/common
> -I/cb/admONumount/usr/src/lib/hsm/libpm/common
> -I/cb/admONumount/usr/src/lib/hsm/libpmapi/common
> -I/cb/admONumount/usr/src/lib/hsm/libhsmwl/common -I/usr/include/libxml2
> -I/hsm_tools/share/imq4.1/include
> -I/cb/admONumount/usr/src/lib/hsm/libhsmmms/common
> -I/cb/admONumount/usr/src/common/mms/mms
> -I/cb/admONumount/usr/src/lib/hsm/libhsmmsg/common -Bdirect
> -M/cb/admONumount/usr/src/common/mapfiles/common/map.noexstk
> -M/cb/admONumount/usr/src/common/mapfiles/i386/map.pagealign
> -M/cb/admONumount/usr/src/common/mapfiles/i386/map.noexdata pm_event.o
> pm_imq.o pm_init.o pm_drools.o pm_db.o pm_scheduler.o pm_xml.o
> pm_thread_pool.o pm_cred.o pm_hash.o pm_work.o pm_reaper.o pm_cli.o
> pm_postproc.opm_xmltxt_gen.o pm_xmltxt.o pm_finfo.o pm_release.o
> pm_mailbox.o pm_scan.o pm_shutdown.o pm_user_rules.o pm_migrate.o -o
> pmhd_event_reader -L/cb/admONumount/proto/root_i386/lib
> -L/cb/admONumount/proto/root_i386/usr/lib -R/usr/lib/hsm
> -R/opt/SUNWimq/lib -R/usr/sfw/lib
> -L/cb/admONumount/proto/root_i386/usr/lib/hsm -L/opt/SUNWimq/lib/ -lc
> -lhsmdb -lpm -lhsmcfg -lhsmtrc -lhsmut -lxml2 -luuid -lhsmwl -ldm
> -lhsmmms -L/hsm_tools/share/imq4.1/lib -lmqcrt -lhsmmsg
> echo -L VERSION -o pmhd_event_reader pm_event.o pm_imq.o pm_init.o
> pm_drools.o pm_db.o pm_scheduler.o  pm_xml.o pm_thread_pool.o pm_cred.o
> pm_hash.o pm_work.o pm_reaper.o  pm_cli.o pm_postproc.o pm_xmltxt_gen.o
> pm_xmltxt.o pm_finfo.o  pm_release.o pm_mailbox.o pm_scan.o
> pm_shutdown.o pm_user_rules.o  pm_migrate.o
> -L VERSION -o pmhd_event_reader pm_event.o pm_imq.o pm_init.o
> pm_drools.o pm_db.o pm_scheduler.o pm_xml.o pm_thread_pool.o pm_cred.o
> pm_hash.o pm_work.o pm_reaper.o pm_cli.o pm_postproc.o pm_xmltxt_gen.o
> pm_xmltxt.o pm_finfo.o pm_release.o pm_mailbox.o pm_scan.o pm_shutdown.o
> pm_user_rules.o pm_migrate.o
> vader-ks$


Reply via email to