Chris, thanks for your response.  In answer to you're question about if
it is necessary to use the stabs debugging format - I've no clue.  I'm
merely trying to build my project in an ON tree and this setting was
inhereted from the top level makefile.  I'm on version 106 and here is
snippet of usr/src/Makefile.master:

#
# Default debug format for Sun Studio 11 is dwarf, so force it to
# generate stabs.
#
DEBUGFORMAT=    -xdebugformat=stabs

#
# Flags used to build in debug mode for ctf generation.  Bugs in the Devpro
# compilers currently prevent us from building with cc-emitted DWARF.
#
CTF_FLAGS_sparc    = -g -Wc,-Qiselect-T1 $(C99MODE) $(CNOGLOBAL)
$(CDWARFSTR)
CTF_FLAGS_i386    = -g $(C99MODE) $(CNOGLOBAL) $(CDWARFSTR)
CTF_FLAGS    = $(CTF_FLAGS_$(MACH)) $(DEBUGFORMAT)


I tried commenting out the DEBUGFORMAT line and my re-making my
application.  It appeared to work find (including proper debug info so
dbx could see sources).

Proper setting of these flags for ON is outside of my area of expertise
so I'm not sure if commenting out that line is the correct fix or not.  
Are other developers working on the ON tree seeing this same issue?

Charles Binford

Chris Quenelle wrote:
> 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