catch load/unload not implemented on any target (remove?)

Aleksandar Ristovski aristovski@qnx.com
Mon Oct 27 14:19:00 GMT 2008


Joel Brobecker wrote:
> Hello,
> 
> I was looking at converting the catch load/unload implementation
> to using the bp_catchpoint kind. But looking at the implementation,
> I realized there isn't any platform where this feature is implemented.
> The documentation says HP/UX, but this isn't correct either, AFAICT.
> 
> The "protocol" between the breakpoint solib layers is based on
> some macros being defined:
> 
>     SOLIB_LOADED_LIBRARY_PATHNAME(pid)
>     LIB_UNLOADED_LIBRARY_PATHNAME(pid)
>     SOLIB_CREATE_CATCH_LOAD_HOOK(pid,tempflag,filename,cond_string)
>     SOLIB_CREATE_CATCH_UNLOAD_HOOK(pid, tempflag, filename, cond_string)
> 
> These macros used to be defined in the various target-dependent solib
> files. For instance, in gdb-5.3, it was defined in: coff-solib.h,
> pa64solib.h, solib.h, and somsolib.h.
> 
> I think that the mechanism of using macros is definitely OBE now, and
> one should use "methods" in the target_so_ops structure.

I agree.

> 
> I am conflicted as to what to do in the meantime: Leave the code as is,
> and update the documentation that this feature is currently implemented
> on no platform. Or remove the code entirely.
> 
> I am leaning towards removing the code entirely, for several reasons:
>   - Documentating a feature as unimplemented seems silly;

I agree.

>   - I don't think there is much in the current code that once can
>     reuse in order to implement this feature properly
>   - When someone is ready to implement this feature again for his platform,
>     there shouldn't be much to do in terms of infrastructure work to do at
>     the breakpoint module level.  So it shouldn't be very difficult to
>     implement. There might be one little difficulty based on the fact
>     that some architectures will implement this feature using a phyical
>     breakpoint (eg: svr4) whereas others won't (eg: Windows), but that
>     shouldn't be very difficult to handle by using the right bp_kind.
> 

Well, I had to implement catch load/unload; their appearance 
in the list of catchpoints set some expectations which 
evolved into requirements.

I used the above mentioned macros.

Thanks,

Aleksandar



More information about the Gdb-patches mailing list