Bochs/bochs-testing
Bryce Denney f49ec8c71c Fix serveral ltdl bugs related to searching for libraries, and what
to do if they cannot be found.

- in try_dlopen, after find_handle() is called and returns 0 over
  and over, it was ignoring the return value of tryall_dlopen.  As
  a result, sometimes the dlopen would fail and return 1 or more
  errors but nobody would notice.  The handle would be returned as
  if the open had succeed, then any use of the handle would segfault
  because handle->loader was NULL.  I have solved this problem by
  capturing the return value in errors, and then checking if errors>0
  in the next if statement.
- fix faulty boolean logic in lt_dlopenext that caused it to only
  search for libraries ending with .la.  Now it says: if try_dlopen
  created a nonzero handle, return it.  Otherwise, if there were
  any errors OTHER THAN file-not-found, return the NULL handle.  If
  the only errors were file-not-found, continue to search.
- just before loading the module in tryall_dlopen, do one final
  call to access() to check for existence of the file.  Without
  this check, you sometimes get the "can't load module" error
  when in fact the problem is "file not found".
2002-10-16 02:08:02 +00:00
..
plugin-test Fix serveral ltdl bugs related to searching for libraries, and what 2002-10-16 02:08:02 +00:00
README - add README in the bochs-testing area. To check out the bochs-testing 2002-10-11 14:46:52 +00:00

README for bochs-testing
updated Fri Oct 11 10:36:50 EDT 2002

Bryce created this cvs area on October 11, 2002 as a place to work on
Bochs test code without cluttering up the source tree.

The first thing I plan to put here is a series of tests for shared library
support, to help figure out which platforms will be able to support plugins.
Having this code in cvs makes it very easy to distribute to all the different
places where I need to try it out.