Re: PATCH for bochs/plugins/libbx_usb_uhci.so: undefined symbol: _ZTV12usb_device_c
Volker Ruppert <[email protected]> Sun, 22 Nov 2015 17:00:32 +0100
| Newsgroups | gmane.comp.emulators.bochs.devel |
|---|---|
| Message-ID | <[email protected]> |
Hi! > Any idea why on openSuse this dynamic linker undef variable resolution > wrt a dynamic library doesn't kick-in, as it seems to be doing in > Fedora? I really don't know why this is different on Fedora and openSUSE. I guess there is a configure option for this behaviour and set up differently on each distribution. > If I understand you correctly, you are telling that USB HC plugin > devices can be loaded much before devices init gets executed by > specifying them explicitly in bochsrc, so the loading of usb_common as > to be done much before devices.cc init and that you will be patching > accordingly. > > I haven't used bochs in the last 7 to 8 odd years or more, so am not > up to speed with plugin flow fully now. If you can tell me which > plugins I require to try and load (wrt Sound and Nw) thro bochsrc and > where I require to specify the same (or send me a sample) bochsrc > file, I don't mind cross verifying the same in Fedora. For "optional" plugins (e.g. network, sound, usb) the initial stage has been changed some years ago. The functions for parsing bochsrc and saving the related bochsrc line have been moved to the plugin code. If the bochsrc parser cannot handle a keyword, it is treated as a plugin name and it tries to load it. The init code of the plugin creates the object, the options for the config interface and an "addon" option for the bochsrc parser. After successful plugin loading, the parser code is called to process the newly installed options. The device init() method is called later from the devices.cc init(). When you have a look at the top of the mentioned plugin device sources, you'll see that they look very similar: - bochsrc options parser function - bochsrc options save function - plugin init function - plugin fini function - device constructor - device destructor - device init method - device reset method I have now modified the startup code for the USB case in SVN to load the "usb_common" plugin right after initializing the plugin system, but before the initial bochsrc parsing. To test the functionality of networking and sound, you'll have to compile Bochs with at least one of the available devices and enable it then in bochsrc. Please see the bochsrc sample if you don't know how to set up these devices. Thanks, Volker ------------------------------------------------------------------------------