Hi Pedro, > On 09/22/2017 03:44 PM, Rainer Orth wrote: >>> On 09/21/2017 03:30 PM, Rainer Orth wrote: >> >>> all these years stepped forward, I think we should be able to just drop >>> it. I think you've proposed this in the past, even. I very >> >> Indeed: I found a line or two of notes about it. Must have been in the >> context of removing support for unstructured /proc in procfs.c and >> friends. I've dusted off and completed that patch as well... > > Yay, looking forward to that. :-) the patch compiles now. I'll post an initial version soon. >>> much doubt anyone would step forward this time. >> >> Indeed. I've opened a tracking PR gdb/22185 and produced a first patch. >> It will need a bit more testing (especially on Linux which also uses >> proc-service.c), but it's basically straightforward. > > Eh, the Solaris port doesn't actually use proc-service.c. The > Solaris proc-service implementation is directly in sol-thread.c. > I think proc-service.c was originally based on sol-thread.c, maybe > aiming at sharing at some point, and that's where it got the > PROC_SERVICE_IS_OLD handling from. I was misled by the support for Solaris-only PROC_SERVICE_IS_OLD. It's probably worth trying to merge the two now. > The patch looks good to me. Thanks. > I mildly wonder if the adding of sol-thread.o could move > from gdb/configure.ac to gdb/configure.nat. Certainly: no point hiding a static addition in configure.ac. I've also found that the remaining code in the solaris* section there can go, too: * Since Solaris 10, dlopen has moved to libc and libdl.so is just a filter on ld.so.1, so no need to check. * $RDYNAMIC is already handled above (and is a no-op with Solaris ld anyway). The attached revised patch has been tested on sparcv9-sun-solaris2.10, sparcv9-sun-solaris2.11.4 (with https://sourceware.org/ml/gdb-patches/2017-09/msg00787.html applied so mainline compiles on Solaris/SPARC at all), amd64-pc-solaris2.10, amd64-pc-solaris2.11.4, and x86_64-pc-linux-gnu. I've also started an i386-pc-solaris2.9 build to check that it really stops as expected. Testing is very weird, though: Linux/x86_64 only shows a few failures, but Solaris is a mess: on Solaris 10, the vast majority of tests time out (although gdb seems to work reasonably well interactively), while many more work on Solaris 11.4 until testing runs into what seems an infinite loop of FAIL: gdb.mi/mi-exec-run.exp: inferior-tty=main: mi=main: force-fail=1: run failure detected (timeout) Nonetheless, ok for mainline now? Thanks. Rainer -- ----------------------------------------------------------------------------- Rainer Orth, Center for Biotechnology, Bielefeld University 2017-09-22 Rainer Orth PR gdb/22185 * configure.host <*-*-solaris2.[01], *-*-solaris2.[2-9]*>: Mark as obsolete. Use gdb_host sol2 for i[34567]86-*-solaris2*, x86_64-*-solaris2*. Remove i386sol2 support. * configure.nat : Remove. : Fold into ... : ... this. Move common settings to default section. Add sol-thread.o. * configure.tgt : Rename to ... : ... this. : Remove. : Remove. * configure.ac: Remove wctype in libw check. (_MSE_INT_H): Don't define on Solaris 7-9. : Remove libthread_db.so.1 check. * configure: Regenerate. * config.in: Regenerate. * proc-service.c: Remove PROC_SERVICE_IS_OLD handling. (gdb_ps_prochandle_t, gdb_ps_read_buf_t, gdb_ps_write_buf_t) (gdb_ps_size_t): Remove. Use base types in users. * sol-thread.c: Likewise, also for gdb_ps_addr_t. * NEWS (Changes since GDB 8.0): Document Solaris 2.0-9 removal.