How to upload two .so which are depended on each other

AFAIK, you cannot enforce a specific fixed address when loading libraries on demand at runtime (e.g. this address may already be used by another library which has been loaded earlier).

I think, you would need to recreate the main “${ROOTSYS}/bin/root.exe” executable (or the “cling” executable, if you use it), explicitly linking it against your special library and using your special ld script.