This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH] Provide Solaris 11 buildbots
Hi Sergio,
>> On Monday, September 24 2018, Rainer Orth wrote:
>>> it seems we managed to mess up the configure flags badly here: right now
>>> the buildbots are configured with just CFLAGS/CXXFLAGS=-m64, nothing
>>> more. I hope the following patch should fix things:
>>
>> Ah, OK. I may have misunderstood the patch/requirements. I've now
>> simplified the configuration.
>>
>>> * There's no need for disable_default_compilation_flags = True: the
>>> default works just fine, we only need to add -O at the moment. Isn't
>>> it enough to do this once in RunTestGDBSolaris_Common?
>>
>> Yeah, it should be.
>>
>>> * Obviously the -m64 needs to be appended in RunTestGDBPlainSolaris_c64
>>> to both CFLAGS and CXXFLAGS to avoid losing the -O above.
>>
>> Yeah.
>>
>>> * Not in the patch, but wouldn't it be enough to set enable_targets_all,
>>> make_command, and run_testsuite only once in RunTestGDBSolaris_Common?
>>
>> It turned out to be a bit more complicated. I'm in a hurry right now,
>> so I did a quick hack to make it work. I'll monitor the next builds.
>
> After this, the builds started to pass. Thanks for bringing this to my
> attention, Rainer.
>
> I'll enable the email notifications for both builders later today.
excellent, thanks.
I had a look at the current set of build warnings and wondered what (if
any) to do about them:
../../binutils-gdb/libiberty/pex-unix.c:612:7: warning: ‘vfork’ is deprecated [-Wdeprecated-declarations]
Solaris 11 has deprecated vfork. vfork(2) suggests to replace uses by
posix_spawn or posix_spawnp, but this is something to take up with the
libiberty maintainers.
checking whether a statically linked program can dlopen itself... Setting warning flags = -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Wstack-usage=262144 -Werror
Setting warning flags = -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Wstack-usage=262144 -Werror
checking compiler warning flags... -Wall -Wpointer-arith -Wno-unused -Wunused-value -Wunused-variable -Wunused-function -Wno-switch -Wno-char-subscripts -Wempty-body -Wunused-but-set-parameter -Wunused-but-set-variable -Wno-sign-compare -Wno-error=maybe-uninitialized -Wsuggest-override -Wimplicit-fallthrough=3 -Wduplicated-cond -Wno-unknown-pragmas -Wno-deprecated-declarations -Werror
Those are all spurious, sometimes two different lines running into each
other. They are also present on Fedora, e.g.
/opt/gdb-buildbot/home/solaris11-sparcv9/solaris11-sparcv9-m64/build/gdb/../../binutils-gdb/gdb/c-exp.y: warning: 42 shift/reduce conflicts [-Wconflicts-sr]
/opt/gdb-buildbot/home/solaris11-sparcv9/solaris11-sparcv9-m64/build/gdb/../../binutils-gdb/gdb/c-exp.y: warning: 53 reduce/reduce conflicts [-Wconflicts-rr]
/opt/gdb-buildbot/home/solaris11-sparcv9/solaris11-sparcv9-m64/build/gdb/../../binutils-gdb/gdb/m2-exp.y: warning: 34 shift/reduce conflicts [-Wconflicts-sr]
/opt/gdb-buildbot/home/solaris11-sparcv9/solaris11-sparcv9-m64/build/gdb/../../binutils-gdb/gdb/m2-exp.y:301.25-44: warning: rule useless in parser due to conflicts [-Wother]
Those are from the bundled bison 3.0.4 and again also present on
Fedora. One could silence them with -Wno-conflicts-sr if need be, but
that would require testing if the yacc/bison used supports those
options.
bison 2.4.2 only emits
conflicts: 42 shift/reduce, 53 reduce/reduce
conflicts: 34 shift/reduce
../../binutils-gdb/gdb/coffread.c:1104:36: warning: ‘newobj’ may be used uninitialized in this function [-Wmaybe-uninitialized]
Seems legit.
../../binutils-gdb/gdb/inferior.h:567:26: warning: ‘*((void*)(& maybe_restore_inferior)+40).scoped_restore_current_inferior::m_saved_inf’ may be used uninitialized in this function [-Wmaybe-uninitialized]
../../binutils-gdb/gdb/progspace.h:285:31: warning: ‘*((void*)(& maybe_restore_inferior)+32).scoped_restore_current_program_space::m_saved_pspace’ may be used uninitialized in this function [-Wmaybe-uninitialized]
../../binutils-gdb/gdb/ui-out.h:197:18: warning: ‘asm_list.ui_out_emit_type<(ui_out_type)1>::m_uiout’ may be used uninitialized in this function [-Wmaybe-uninitialized]
Those three could be legit, but I cannot tell. I suspect they don't
occur on other builders because they use older gcc versions (e.g. gcc
4.8) while the Solaris builders use gcc 7.3.
Rainer
--
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University