Re: [RFA] ObjC Testsuite

Michael Elizabeth Chastain
2003-03-03T16:15:17Z

In gdb.objc/Makefile.in, the distclean goal needs these commands:

distclean maintainer-clean realclean: clean
-rm -f Makefile config.status config.log

Specifically, distclean must remove config.status. The release
packaging process depends on this. First it configures the whole tree
and then it makes 'distclean' in the whole tree. If a config.status
file is left alive after 'make distclean', then it will get into the
gdb.tar tarball, and 'configure' will fail because the config.status
file already exists.

As Elena Z mentioned, the name of the pthreads library varies
from system to system. We've encountered -lpthreads, -lpthread,
and -lthread. We have to figure out a way to handle this.

I think the cleanest way is to add 'proc gdb_compile_objc'
in lib/gdb.exp, similar to 'proc gdb_compile_pthreads'. Then we
can mess with the internals of 'proc gdb_compile_objc' as needed.
For instance, on my system, native i686-pc-linux-gnu with gcc 3.2.2,
gcc needs only '-lobjc' without any explicit thread library in
order to link Objective C programs. Fernando N and Mark S,
what do you think?

I'm okay with the names 'myclass.exp' and 'myclass.c'. I wouldn't mind
if they became a bit less generic than 'my....'. I don't like the names
'objc-class.exp' and 'objc-class.m' because these are already in the
objc directory, and 'objc-' just eats 5 characters of uniqueness that we
need for 8.3 uniqueness.

On the next submission, please use 'cvs diff -N' to include the new
files in the diff, rather than attaching a diff + a tarball.
That's easier for me.

We need one or more maintainers for the new gdb.objc. I volunteer to
be one of the maintainers. Adam, are you willing to be a maintainer?

Also, this whole review process is getting messy, we are going to have
several people pushing Adam in different directions. I would like to
figure out *first* who are going to be the maintainer(s) of
gdb.objc, and then those people should be the reviewers of this patch.

Michael C