Commit Graph

313 Commits

Author SHA1 Message Date
klemens-morgenstern
30ed592ae8 i found an error in the tokenizer. it doesn't work for multi-type
template-parameters, e.g. boost::variant<int, double>
2015-10-20 21:50:37 +02:00
klemens-morgenstern
b4b49f00d9 implemented the ctor and dtor classes
now i need to add tests for it
2015-10-20 19:00:38 +02:00
Antony Polukhin
02d48dff2f Tune dll2.hpp according to Andrey Semashev's advices 2015-10-19 22:49:01 +03:00
Antony Polukhin
87737094bf Another portion of fixes and workarounds for Android, QNX, Windows, Solaris 2015-10-19 22:33:04 +03:00
klemens-morgenstern
3dccc2075f unfinished state, started with smart_lib 2015-10-17 21:34:39 +02:00
Antony Polukhin
28fe4dc5c4 Dropped Boost.Test usage because it was using windows.h directly and updated the dll2.hpp file with WinAPI declarations to be more close to Boost.WINAPI's dll.hpp file 2015-10-17 16:21:37 +03:00
Antony Polukhin
256356bb84 Many fixes for Windows platform 2015-10-17 15:04:00 +03:00
Antony Polukhin
f28c6d260e Another QNX fix and improved FAQ section 2015-10-16 08:45:00 +03:00
klemens-morgenstern
48acd6662a finished the name storage
- obtaining the mangled name works
 - code is ugly as hell
2015-10-10 19:52:58 +02:00
klemens-morgenstern
c1ee01b758 the mangled map thingy works for gcc
will implement this now for msvc.

test is written for that
2015-10-08 22:52:39 +02:00
klemens-morgenstern
98129ba28e added mangle storage for itanium api 2015-10-08 17:43:06 +02:00
klemens-morgenstern
f816b3c192 changed demangle_symbol to remove the '_'. 2015-10-08 00:48:18 +02:00
klemens-morgenstern
36a8d2d094 i should really settle on one folder structure... 2015-10-08 00:28:43 +02:00
klemens-morgenstern
b985e23314 forgot i renamed he function 2015-10-08 00:23:28 +02:00
klemens-morgenstern
6ae23a646d moved demangle.hpp, because i didn't see the core/demangle.hpp
I still need the MSVC-demangle function, since the core/demangle, does
not demangle entry points. I wish there was a better way, but I did not
find it. Hence we have a demangle_symobl in the dll/detail folder.
2015-10-08 00:18:28 +02:00
klemens-morgenstern
dd45427f92 damn, missed the pe_info.hpp and elf_info.hpp. 2015-10-07 21:15:58 +02:00
zerotypos-found
a0b37b6089 Fix typo in docs and comments. 2015-10-06 12:17:18 +09:00
klemens-morgenstern
28102b6132 added primitve descriptor header 2015-10-05 23:36:20 +02:00
klemens-morgenstern
f408f2dfc1 added tokenizer and outline reader 2015-10-05 22:43:21 +02:00
klemens-morgenstern
1fbbb07782 added read_elf and read_dll 2015-10-05 21:50:25 +02:00
klemens-morgenstern
4cf656ceef added demangle and export
export just provides a macro for member export atm. that is because
mingw needs this, while msvc gives an error.
2015-10-05 21:35:30 +02:00
klemens-morgenstern
295ffe9baa added dbghelp header 2015-10-05 21:10:25 +02:00
Antony Polukhin
5f1caac87b FreeBSD compilation fix 2015-09-27 18:00:36 +03:00
Antony Polukhin
813358490e FreeBSD workarounds 2015-09-25 20:10:26 +03:00
Antony Polukhin
f936b36d3d Compilation fix for QNX 2015-09-24 00:54:32 +03:00
Antony Polukhin
a649171bf7 Fix for Android 2015-09-16 22:09:26 +03:00
Antony Polukhin
f975a4137e Another set of platform specific fixes 2015-09-15 10:31:45 +03:00
Antony Polukhin
8eb1fafb9e Fix QNX, BSD and WIN platform dependant errors 2015-09-08 21:09:56 +03:00
Antony Polukhin
2fbc70dfa0 Windows compilation fix 2015-09-07 21:59:06 +03:00
Antony Polukhin
3d79f2c972 Fix Windows compilation, refactor all the Jamfile's logic for providing shared library locations 2015-09-06 21:48:25 +03:00
Antony Polukhin
79716b0d19 Fix compilation under Windows 2015-09-04 20:19:41 +03:00
Antony Polukhin
283ef8956b Fixed compilation, dropped Coverity analisis because it was causing many troubles for TravisCI builds 2015-09-02 22:09:10 +03:00
Antony Polukhin
cca4ac6a67 Dropped Windows specific load_library_as_* modes as irrelevant to library scope, refactored library_info, fixed problem with missing dlinfo call on some platforms, Travis fix 2015-09-01 22:36:02 +03:00
Antony Polukhin
570abd52ce Docs tuned and fixed possible error in ELF parsing 2015-09-01 02:26:28 +03:00
Antony Polukhin
f8437d4fa7 Fix MSVC warning, workaround GCC errors with __TMC_*, remove _autoaliases::dummy_* variables from exportable 2015-09-01 01:45:14 +03:00
Antony Polukhin
a8e5bfc5ac Updated docs and changed to 2015-08-21 23:26:25 +03:00
Antony Polukhin
d7fabc380d Bunch of minor improvements and polishing examples 2015-08-21 23:11:15 +03:00
Antony Polukhin
a8fca9ed1a More overloads and minor Boost transition related updates 2015-08-20 22:05:10 +03:00
Antony Polukhin
7d5b3f49de Renamed shared_library::search_symbol() to shared_library::has_symbol() 2015-08-15 21:01:29 +03:00
Antony Polukhin
2a46c62646 Dropped dependency to string_ref and cleaned up doc folder 2015-08-15 20:49:09 +03:00
Antony Polukhin
92c281f566 Code simplification and better documentation 2015-08-11 00:43:54 +03:00
Antony Polukhin
a0a43b3ece Simplified code and unified load_mode::append_decorations behavior on different platforms 2015-08-01 14:45:14 +03:00
Antony Polukhin
d6afc013bf Optimized refcount variable importing methods 2015-07-30 10:20:28 +03:00
Antony Polukhin
5da8ad75fa Fixes for MACH-O parsing 2015-07-19 16:24:29 +03:00
Antony Polukhin
4aec4ad4b0 Multiple MacOS fixes, tests for loading libraries with 'load_mode::append_decorations' and libnames starting with 'lib' 2015-07-15 22:45:23 +03:00
Antony Polukhin
242df1b7e6 Another portion of MacOS fixes for BOOST_DLL_ALIAS and library_info 2015-07-10 21:40:28 +03:00
Antony Polukhin
cffd32241e Fix BOOST_DLL_SECTION for MacOS 2015-07-09 21:15:22 +03:00
Antony Polukhin
a20b961106 Another portion of fixes for MacOS 2015-07-08 22:57:09 +03:00
Antony Polukhin
75bf21817a Fix path_from_handle on MacOS 2015-07-08 21:27:00 +03:00
Antony Polukhin
f879b21395 Fix MacOS related compilation issues 2015-07-07 23:22:09 +03:00
Antony Polukhin
00ff750aaf Fix issues mentioned by Vladimir Prus: missing build dependencies, better helper macro names 2015-06-28 22:37:15 +03:00
Antony Polukhin
3d8f7fadd4 Added explicit operator bool and tests 2015-04-25 12:17:39 +03:00
Antony Polukhin
2fea995f33 Deprecated import_function* and import_variable* methods and updated the docs and tests 2014-11-21 18:58:07 +03:00
Antony Polukhin
4e0b45f822 Simplified some of the interfaces and added BOOST_DLL_AUTO_ALIAS macro 2014-11-21 17:53:35 +04:00
Antony Polukhin
2bf3741a69 Add MinGW notes to docs (fixes #6) 2014-11-06 13:02:15 +04:00
Anton Polukhin
af7915868a Apply MinGW related workarounds
Fix PE32+ format detection
2014-11-05 21:09:44 +04:00
Anton Polukhin
7a96e90280 MinGW related workaround: dealing with impossibility of making weak symbols 2014-10-31 16:11:06 +04:00
Anton Polukhin
6b98f6906f MinGW related fixes and improvements (refs #6) 2014-10-17 14:25:10 +04:00
Antony Polukhin
76ff856bd1 Another attempt to fix MinGW compilations 2014-10-13 20:30:46 +04:00
Antony Polukhin
1833f2f4a7 Revert "Fixes for MinGW (ref #6)"
This reverts commit 16e3ab69f2.
2014-10-13 19:48:05 +04:00
Antony Polukhin
b97baab094 Revert "Fixed aliases for GCC (refs #6)"
This reverts commit 1f25e9b7c9.
2014-10-13 19:47:54 +04:00
Antony Polukhin
1f25e9b7c9 Fixed aliases for GCC (refs #6) 2014-10-13 17:42:25 +04:00
Anton Polukhin
16e3ab69f2 Fixes for MinGW (ref #6) 2014-10-13 16:34:44 +04:00
Antony Polukhin
2cef78c0a7 Docs were improved with answers to questions from Boost mailing list 2014-10-03 14:40:46 +04:00
Anton Polukhin
0422fb0a6e Fix Windows related issues 2014-10-01 11:59:48 +04:00
Antony Polukhin
90c3903acf Polishing examples nad docs 2014-09-29 19:27:46 +04:00
Antony Polukhin
0a30052710 Advanced refcounting tutorial finished 2014-09-29 13:53:51 +04:00
Antony Polukhin
9a71513b16 Added an advanced refcounting example, fixed this_executable detection on POSIX and minor improvements to the code 2014-09-28 15:35:40 +04:00
Antony Polukhin
b99d0ad9cb Merge branch 'develop' of https://github.com/apolukhin/Boost.DLL into develop 2014-09-26 15:46:04 +04:00
Antony Polukhin
95bfd4eeac Renamed shared_library::path() to shared_library::location() 2014-09-26 15:42:50 +04:00
Anton Polukhin
90c0f0c9e7 Fix Windows compilation 2014-09-26 15:28:39 +04:00
Antony Polukhin
dc51cb9a6b load_self() was removed and many issues were fixed 2014-09-26 15:18:41 +04:00
Antony Polukhin
e9a70875fb Revert "Include boost/dll/runtime_symbol_info.hpp in boost/dll.hpp"
This reverts commit b7851bac4c.
2014-09-26 13:39:48 +04:00
Anton Polukhin
f9d0ecc3f6 program_location() method and related improvements 2014-09-26 12:44:53 +04:00
Antony Polukhin
b7851bac4c Include boost/dll/runtime_symbol_info.hpp in boost/dll.hpp 2014-09-25 18:44:04 +04:00
Antony Polukhin
29e4e60196 Added this_line_location() method 2014-09-25 18:42:06 +04:00
Anton Polukhin
66fbe09b43 Fixed getting symbol location on Windows 2014-09-25 16:58:37 +04:00
Antony Polukhin
b9d0bed35c Fix Windows compilation 2 2014-09-25 16:42:34 +04:00
Antony Polukhin
297ff991d1 Fix Windows compilation 2014-09-25 16:41:22 +04:00
Antony Polukhin
345d416c02 Fix Windows paths 2014-09-25 16:37:22 +04:00
Antony Polukhin
3c233a6dc8 Docs improved and initial implementation of symbol_location for Windows 2014-09-25 16:29:32 +04:00
Antony Polukhin
458515e372 Fix formatting, make lib.path() tests more strict, improve symbol_location() 2014-09-25 12:53:05 +04:00
Antony Polukhin
fdca295fcd symbol_location initial implementation and POSIX lib.path() bugfix 2014-09-25 08:39:35 +04:00
Antony Polukhin
56847ef9d6 Doxygen fails to generate nice docs, attempting to workaround 2014-09-24 19:41:54 +04:00
Antony Polukhin
171dfe696d Minor interface related improvements 2014-09-24 19:32:45 +04:00
Anton Polukhin
ec03265535 Fix Windows related issues and warnings 2014-09-24 19:17:29 +04:00
Antony Polukhin
490a670e26 Minor platform updates and tests fixes 2014-09-24 19:01:55 +04:00
Antony Polukhin
71db3573af Added append_native_decorations mode 2014-09-24 18:39:07 +04:00
Antony Polukhin
5a19c800c3 Improved docs 2014-09-16 13:36:34 +04:00
Antony Polukhin
ad95318ef7 Docs and tutorial improved 2014-09-16 13:03:40 +04:00
Antony Polukhin
3f85da46e6 Docs improved 2014-09-15 19:20:05 +04:00
Antony Polukhin
2ff2c722ae Docs improved and typo fixed 2014-09-15 17:00:34 +04:00
Anton Polukhin
fd6ddc359c More tests for Mach-O 2014-09-15 16:36:32 +04:00
Antony Polukhin
2bcc3c4377 Mach-O parsing (not tested) 2014-09-15 16:17:52 +04:00
retf
03145e9cb5 Added '@cond' and '@endcond' on public interface.
Added '@cond' and '@endcond' on public interface, this is a workaround
to remove 'private' methods from docs.
2014-09-15 09:09:30 -03:00
Antony Polukhin
2725d5e82b Started the Mach-O parsing 2014-09-15 14:43:57 +04:00
Antony Polukhin
ed70742b68 Fixes and minor updates 2014-09-12 16:27:17 +04:00
Antony Polukhin
a57327e50a Minor fixes 2014-09-12 15:07:04 +04:00
Antony Polukhin
7fa3206815 Improving docs 2014-09-12 14:15:11 +04:00
Antony Polukhin
b15e5d2b89 Better names for input variables 2014-09-12 12:35:54 +04:00
Antony Polukhin
c6eabe4b8b Unify string_red usage 2014-09-12 12:26:36 +04:00
Antony Polukhin
8ee3c9f3d3 Fix compilation with Boost 1.53 2014-09-11 12:37:44 +04:00
Antony Polukhin
fee3d63021 Fix warnings and tests 2014-09-09 18:14:18 +04:00
Antony Polukhin
8e0c778893 Fix warnings and tests 2014-09-09 18:12:27 +04:00
Antony Polukhin
6aa3ceb467 library_info is now capable of opening foreign/non-native binary file formats 2014-09-09 18:05:03 +04:00
Anton Polukhin
298f55ef57 Warnings and minor issues fixed, overparanoid tests added 2014-09-09 15:57:03 +04:00
Antony Polukhin
161c72857b More tests and more portable structures definition 2014-09-09 13:00:17 +04:00
Anton Polukhin
a31efb7a8a Do not include windows.h and improve code readability 2014-09-08 16:56:35 +04:00
Antony Polukhin
66469e7b13 elf_info now works on any OS, docs improved 2014-09-05 15:08:40 +04:00
Antony Polukhin
74786f35e4 Added documentation to the library_info class and made a few internal changes 2014-09-05 13:13:06 +04:00
Antony Polukhin
fd13f785c6 Add library querying example and improve section naming macro 2014-09-04 19:33:23 +04:00
Antony Polukhin
c009725d76 alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l='ls -CF'
alias la='ls -A'
alias ll='ls -alF'
alias ls='ls --color=auto' free function was refactored into the  method
2014-09-04 14:31:37 +04:00
Antony Polukhin
20ba9894d0 Better names for free functions 2014-09-04 14:15:27 +04:00
Anton Polukhin
96ebc87bd1 Windows wersion of library_info now functional 2014-09-04 13:06:07 +04:00
Anton Polukhin
e8f253d985 Started Windows version of library_info 2014-09-03 20:52:44 +04:00
retf
47822d4a85 Revert "ifstream first try"
This reverts commit 6299f391a8.
2014-09-02 15:26:03 -03:00
retf
6299f391a8 ifstream first try
in dev
2014-09-02 15:25:38 -03:00
Antony Polukhin
c5dac07188 restrictions on section names and minor fixes 2014-09-02 11:47:29 +04:00
Antony Polukhin
fca28f5920 Renaming to Boost.DLL 3 2014-08-29 18:28:58 +04:00
Antony Polukhin
f0a6a438b4 Started the renaming to Boost.DLL 2 2014-08-29 18:19:35 +04:00
Antony Polukhin
94ecf69ded Started the renaming to Boost.DLL 2014-08-29 18:01:24 +04:00
Antony Polukhin
baa6699443 Minor improvements and more tests for symbol querying 2014-08-26 13:29:13 +04:00
Anton Polukhin
9f46fa9808 Fix windows related issues 2014-08-25 19:55:00 +04:00
Antony Polukhin
a132cd5434 More mature solution for #4 2014-08-25 19:41:47 +04:00
Anton Polukhin
e598af1f18 Attempt to fix ompilation error noted in #4 2014-08-25 13:06:12 +04:00
retf
fc5d05c899 Add some references 2014-08-21 10:37:17 -03:00
retf
17afa63810 New method test 'depend_of'
an test method to get dependents modules,
who my plugin imports (1st level only)

e.g. for myself I get:
KERNEL32.dll
MSVCP110D.dll
boost_system-vc-mt-gd-1_56.dll
MSVCR110D.dll
2014-08-21 09:43:40 -03:00
retf
d3a719c576 sections method impl
first impl of sections method.
2014-08-21 09:19:24 -03:00
retf
11ed448554 First try to library_info on windows
symbols impl
2014-08-20 16:42:16 -03:00
Antony Polukhin
588622b1d9 Make it possible to list symbols by section and make library_info tests more strict 2014-08-20 19:19:33 +04:00
Antony Polukhin
fc8540c6c0 Initial version of library_info class for POSIX (Elf files) 2014-08-20 17:05:48 +04:00
Anton Polukhin
c173590290 Fix a few typos 2014-08-19 18:17:52 +04:00
Antony Polukhin
841f798561 More tests for path() and minor updates 2014-08-19 18:06:52 +04:00
retf
d0c52b0e67 Add full_module_path so shared_library
Returns full path of shared module.

The ability to extract the full file system path of a loaded shared
library can be useful in case that use provide only library name on
load,  and on some time need to get full path of it.
2014-08-18 14:51:44 -03:00
Antony Polukhin
52a95808df const aliases fixed and docs improved 2014-08-15 15:13:36 +04:00
Antony Polukhin
6203013d1d experimenting with symbol shadowing 2014-08-15 12:26:39 +04:00
Antony Polukhin
e7570254d6 Docs updated 2014-08-14 10:45:20 +04:00
Antony Polukhin
0b0ce53d08 Added tests on equality/inequality of shared_libraries 2014-08-14 10:15:19 +04:00
Antony Polukhin
e1a8ffd71c Simplified plugin linking in 2014-08-14 10:07:09 +04:00
Antony Polukhin
9493f68445 Updated examples and tutorial 2014-08-14 09:55:52 +04:00
Antony Polukhin
3f2e34797b Cleanup the headers 2014-08-13 19:13:20 +04:00
Antony Polukhin
f5ababf907 More tests and minor fixes 2014-08-13 16:56:57 +04:00
Anton Polukhin
860a4a7b71 Fix a memory leak 2014-08-13 16:33:35 +04:00
Anton Polukhin
2b199f384b Windows related fixes 2014-08-13 13:20:19 +04:00
retf
8d63dac4fc fix ns on GetModuleFileName 2014-08-12 14:23:33 -03:00
Antony Polukhin
0b92beda57 minor fixes, tests update 2014-08-12 20:19:43 +04:00
retf
b0650e6fae Initial implementation of load_self
Todo: load_self on windows impl, need be checked (TCHAR and MAX_PATH
types)
2014-08-12 10:23:55 -03:00
retf
d8a79fd258 shared_library move support
Make shared_library move constructible and move assignable using
Boost.Move
2014-08-11 17:24:17 -03:00
Antony Polukhin
fce09e18bc Description for refcountable functions 2014-08-11 12:51:10 +04:00
Antony Polukhin
3d6477fef2 load_modes improved for POSIX, more tests, started work on docs for refcountable functions 2014-08-10 23:03:40 +04:00
Antony Polukhin
d999e9bb43 Make default open mode for Linux more strict 2014-08-09 23:21:11 +04:00
Antony Polukhin
babcdb2b30 Attempt to unify load modes 2014-08-09 23:17:40 +04:00
Antony Polukhin
e44f515e3d More updates for docs 2014-08-09 20:05:46 +04:00
Antony Polukhin
225d12b171 Removed path_ from shared_library, updated the reference section, added missing BOOST_NOEXCEPT 2014-08-08 17:41:13 +04:00
Antony Polukhin
c178605507 More tests and refcountable functions 2014-08-07 16:47:27 +04:00
Antony Polukhin
eb76b43a82 Started the refcountable functions implementation 2014-08-07 11:59:24 +04:00
Antony Polukhin
9358675321 Scetch of documentation and aliases added 2014-08-06 18:01:53 +04:00
Anton Polukhin
6d09ab4e73 Windows related fixes 2014-08-06 13:31:35 +04:00
Antony Polukhin
7edaf8f86c Use Winapi in a way that is now preferable in Boost 2014-08-06 13:19:27 +04:00
Antony Polukhin
46ab8170b1 Fixes for error handling 2014-08-06 12:43:39 +04:00
Antony Polukhin
f09f464ea5 more tests and minor fixes 2014-08-06 12:01:45 +04:00
Antony Polukhin
d004a15007 Fix compilation and error reporting on Linux platform 2014-08-05 19:16:09 +04:00
Antony Polukhin
3e2502e13e Initial commit 2014-08-05 17:37:33 +04:00