Commit graph

1593 commits

Author SHA1 Message Date
Thomas Arnhold
61100f6fc6 Move CMC_DEBUG to OSL_DEBUG_LEVEL 3
This level means 'ultra-verbose'.
2011-03-01 17:05:34 +01:00
Francois Tigeot
ee1cfb353a Remove a typo. 2011-02-21 16:18:06 +01:00
Tor Lillqvist
8206226895 More work on x64 Windows C++-UNO bridge 2011-02-21 09:46:34 +02:00
Caolán McNamara
92008e811e unused struct 2011-02-18 20:50:25 +00:00
Francois Tigeot
f091f5b395 dragonfly stuff 2011-02-15 15:55:19 +00:00
Fridrich Strba
aac09aee67 move bridges to boost::unordered_map 2011-02-04 00:02:36 +01:00
Tor Lillqvist
8a91eee9c3 More work on except.cxx, intermediate commit
Now I have some understanding what it is the code here should do, and
have found 3rd-party documentation (in source code form even) for the
exception-related data structures.

It still crashes, but I hope that is just because of thinkos that need
to be fixed by debugging, or reading the code. There are some horrible
code with quite complex casts in places, I need to introduce some
macros or inline functions instead to make the casting from RVAs to
real pointers and back cleaner. Also maybe just use DWORD instead of
sal_uInt32 for terseness, and use a specific typedef name for DWORDs
that actually are RVAs for clarity?
2011-02-02 13:29:43 +02:00
Thomas Arnhold
1a6617cf05 Clean up makefiles 2011-02-01 18:22:56 +01:00
Tor Lillqvist
a129a38585 Fix thinko 2011-01-31 09:29:55 +02:00
Tor Lillqvist
d398fd1383 Now the C++-UNO bridge on x64 Windows works a bit better
I had implemented a couple of basic things quite wrong, partly because
of easily misunderstood Microsoft documentation. A couple of things I
just had forgot to do properly.

Attempt to make the source code more consistent in spacing and
variable naming. Clean away meaningless vertical space wasting
non-verbal comments.

The bridgetest over in testtools now runs through quite a lot of its
paces successfully. But exception handling and RTTI, the stuff in
except.cxx, is still not really done at all. And even if I comment out
those checks in bridgetest so that no exceptios are thrown, I then get
a crash later.
2011-01-31 01:23:16 +02:00
Tor Lillqvist
b7d48fa5ac Skip the this pointer in cpp2uno_call()
Also change a few variable names to consistently use the "TD" suffix
for typelib_TypeDescription variables.
2011-01-29 01:40:14 +02:00
Tor Lillqvist
75e02ab302 Let's use a shared privateSnippetExecutor() approach as on x64 Linux
It simplifies function table and unwinding info management, as those
are now static for the privateSnippetExecutor() function in
call.asm. Even if it is slightly ugly to have to poke in more
instructions in codeSnippet().

Out privateSnippetExecutor() is much simpler than the x64 Linux one,
thanks to the simpler calling convention.
2011-01-28 18:41:07 +02:00
Tor Lillqvist
96b1611644 Fix typo and thinko 2011-01-28 17:19:18 +02:00
Tor Lillqvist
31a8176ab6 More work on x64 Windows C++-UNO bridge
Now the call through the trampoline into cpp_vtable_call() seems to
work, but I get a crash later. Glitches in parameter passing, no
doubt. Debugging needed in cpp_vtable_call() and cpp2uno_call().

The basic implementation is probably sane. But I wonder if I after all
should have done like in the x86-64 Linux implementation, with the
dynamically generated trampoline just jumping into fixed code shared
between all trampolines. Probably should redo it like that, yes.

Will it then cause a problem for OS unwinding if the caller of the
trampoline calls a short dynamically generated code snippet, which
then jumps into the fixed part, and only the fixed part has a
(assembler-generated) function table and unwind info? Probably not.

It is quite impossible that such a short dynamically generated snippet
with just a couple of instructions would cause an exception, and when
we have jumped into the fixed part, where the call to
cpp_vtable_call() is done, it doesn't matter any more that the caller
in fact didn't call what the function table claims is the entry
point. Or does it?

Doing it that way would mean no RtlAddFunctionTable() and
RtlDeleteFunctionTable() would be needed, and especially doing the
latter correctly is a bit hairy.
2011-01-28 16:41:04 +02:00
Tor Lillqvist
5287150cb7 Add a function table entry for the dynamically generated trampoline 2011-01-28 04:22:11 +02:00
Tor Lillqvist
1a041ea2bf Corect copyright header and comment 2011-01-27 23:58:27 +02:00
Tor Lillqvist
dc433642ab More work on the x64 Windows C++-UNO bridge 2011-01-27 23:39:59 +02:00
Caolán McNamara
5e8635f624 move cxxabi.h after stl headers to workaround gcc 4.6.0 and damn stlport 2011-01-27 20:26:07 +00:00
Tor Lillqvist
72f06717f6 Intermediate commit 2011-01-26 23:08:54 +02:00
sb
138ab06ecc sb138: #i116038# fresh implementation of binary URP bridge 2011-01-26 09:26:59 +01:00
Tor Lillqvist
0ec0d899bf Add debug output to the dummy functions to see if/when they get called 2011-01-23 03:26:40 +02:00
Tor Lillqvist
fc381c2b2f Use correct name for mscx_uno.dll and deliver it 2011-01-23 00:55:22 +02:00
Tor Lillqvist
28787edbd8 More hacking on the C++-UNO bridge for x64 Windows
I think I might actually be able to manage without any assembly coding
here, thanks to the clean design of the x64 Windows calling
convention, and tricking the compiler (in a fully documented and
stable way) by using varargs. uno2cpp.cxx might even be getting close
to working now, but cpp2uno.cxx and except.cxx parts are just forced
to compile by using dummy code.
2011-01-22 03:20:19 +02:00
Thomas Arnhold
113a18833a Remove old RCS lines. 2011-01-21 14:31:33 +01:00
Robert Nagy
1c321e027d use errno to get the correct error message if mkstemp() fails 2011-01-21 11:03:11 +01:00
Tor Lillqvist
266c2d6b34 More hacking on the wntmscx bridge, still far from ready
See asmbits.asm for some general comments and pointers to useful
information.
2011-01-20 02:39:23 +02:00
Tor Lillqvist
acf1b8ee70 Commit 64-bit Win32 C++ bridge files
Just copies of the 32-bit ones so far, so obviously don't compile
even. No in-line assembly in 64-bit MSVC for instance.
2011-01-17 03:52:12 +02:00
Caolán McNamara
d0b04ecea7 cppcheck: prefer prefix variant 2010-12-30 21:16:26 +00:00
Robert Nagy
bbff372b4c malloc.h is obsolete on BSDs, so use stdlib.h there 2010-12-13 11:52:51 +01:00
Caolán McNamara
3358b4f311 fix bsd bridges 2010-12-09 12:00:50 +00:00
Hans-Joachim Lankenau
2482b35619 ause128: #i115964# add creating libjava_uno.jnilib for tests that may need it 2010-12-08 15:17:09 +01:00
Takeshi Abe
36e2296bf8 Replace all occured, occurance etc. 2010-12-06 09:16:29 +00:00
Caolán McNamara
1e8a123248 cppcheck: unused variables 2010-12-05 12:09:43 +00:00
Caolán McNamara
e872a73e53 cppcheck: unused variable 2010-11-30 13:42:34 +00:00
Caolán McNamara
0ae3237320 cppcheck: methods can be const 2010-11-25 12:02:13 +00:00
Caolán McNamara
670bb20d25 cppcheck: methods can be const 2010-11-25 12:02:13 +00:00
Caolán McNamara
3ef6b19852 cppcheck: methods can be const 2010-11-25 10:27:05 +00:00
Kevin Hunter
8e401df9f0 EasyHack: RTL_CONST macro from createFromAscii
They're only in the tests, but it compiles, and the createFromAscii
messed with my grep-age!
2010-11-20 11:22:38 +01:00
Kevin Hunter
b59349c8e1 EasyHack: Convert to RTL macro from FromAscii 2010-11-10 08:12:10 +01:00
Kevin Hunter
d7fa5f9a1c RTL macro converted from createFromAscii 2010-11-09 16:55:45 +00:00
Kevin Hunter
d494fcb817 Remove some commented out code. 2010-11-09 16:54:18 +00:00
Caolán McNamara
a9cf7dbcef restore issuzilla id for reference 2010-11-08 21:25:44 +00:00
Kohei Yoshida
2d472ad597 Fixed a build break. 2010-11-05 20:34:13 -04:00
Robert Nagy
551898cdd2 Use linux bridge code on all BSDs.
Share the linux bridge code with all the BSDs to avoid code duplication
and the hassle of syncing. Discussed with Caolan McNamara
2010-11-06 00:15:04 +01:00
Robert Nagy
c5e3a70a85 use getpagesize() on OpenBSD 2010-11-05 11:37:40 +01:00
Caolán McNamara
da5cef0ab4 add modelines to .h and .c files as well 2010-10-27 16:04:46 +01:00
Norbert Thiebaud
014e66ceba Finally, gut the vos module out of the build 2010-10-25 19:55:39 -05:00
Caolán McNamara
f379da216a micro optimizations 2010-10-25 16:59:32 +01:00
sb
59b2504a55 sb132: #i112448# proper initialization of ClientJob (patch by olistraub) 2010-10-25 15:42:40 +02:00
Caolán McNamara
85c44ad8b3 #i101100# strict-alias clean 2010-10-20 08:53:25 +01:00
Caolán McNamara
bc9aea44a7 explicitly -fno-strict-alias for linux bridges by default 2010-10-20 08:53:25 +01:00
Povilas Kanapickas
17a52bb6a8 remove non-compiled code 2010-10-18 16:25:47 +01:00
Sebastian Spaeth
a715e1b3d0 Add vim/emacs modelines to all source files
Fixes #fdo30794
Based on bin/add-modelines script (originally posted in mail
1286706307.1871.1399280959@webmail.messagingengine.com)

Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
2010-10-14 17:04:31 +02:00
Caolán McNamara
74fc2358e2 add AIX uno bridge 2010-10-13 20:31:42 +01:00
Thomas Klausner
3165ec7b0f Use FreeBSD/i386 files for NetBSD/i386. 2010-10-13 16:21:34 +02:00
Thomas Klausner
e17dc1481e Add support for NetBSD/amd64 based on FreeBSD/amd64 files.
But remove trailing whitespace for commit script.
2010-10-13 16:19:43 +02:00
J. Graeme Lingard
bda7aaeb74 Remove redundant #include, #define & comments 2010-10-13 12:51:10 +02:00
Caolán McNamara
d8768eeb2b #i112784# do not leak ContextAdmin 2010-10-11 14:57:45 +01:00
Caolán McNamara
56170eb5c5 #i112681# make bridges match remotebridges 2010-10-11 12:37:08 +01:00
Petr Mladek
bcdb4cc866 more removed include guards using fixguard.py 2010-10-05 18:12:52 +02:00
Petr Mladek
334bef4563 remove include guards using fixguard.py 2010-10-05 18:12:51 +02:00
sb
0166b35fc6 sb123: #i114635# handle non-UNO exceptions in C++ UNO bridge, for unxlngx6, rest to follow 2010-09-21 09:10:04 +02:00
sb
71a7ba716e sb126: #i112784# do not leak ContextAdmin (patch by cmc) 2010-07-02 15:53:28 +02:00
sb
f7ec66632c sb126: merged in DEV300_m84 2010-06-30 15:38:26 +02:00
sb
e2a5cf6e3a sb126: #i112681# make bridges match remotebridges (patch by cmc) 2010-06-25 13:15:39 +02:00
Caolán McNamara
f93ec185f6 cmcfixes75: merge with DEV300 m81 2010-06-09 11:45:53 +01:00
Caolán McNamara
968fb1595f cmcfixes74: merge with DEV300 m80 2010-05-31 22:58:51 +01:00
Caolán McNamara
333231243a cmcfixes75: merge with DEV300 m80 2010-05-31 20:37:41 +01:00
Vladimir Glazunov
94098547cb CWS-TOOLING: integrate CWS sb120 2010-05-27 14:07:06 +02:00
Caolán McNamara
10eafd40dd cmcfixes74: merge with DEV300 m79 2010-05-26 14:41:36 +01:00
Caolán McNamara
4a8572ee16 cmcfixes75: merge with DEV300 m79 2010-05-26 13:23:31 +01:00
Caolán McNamara
395d428def cmcfixes75: #i111803# array out of bounds 2010-05-24 14:50:22 +01:00
Ivo Hinkelmann
e6df926000 CWS-TOOLING: integrate CWS armeabi02 2010-05-21 12:27:20 +02:00
sb
6622725637 sb120: merged in DEV300_m78 2010-05-20 15:46:46 +02:00
Ivo Hinkelmann
b9420f83fe CWS-TOOLING: integrate CWS linuxaxp01 2010-05-10 15:37:45 +02:00
Caolán McNamara
867721d3e8 armeabi02: #i105359# fix arm-eabi uno bridge 2010-05-04 14:33:17 +01:00
Caolán McNamara
dce434e245 armeabi02: #i105359# fix arm-eabi uno bridge, fix exception handling, and fix struct returning rules 2010-04-27 11:17:28 +01:00
sb
26d6b6c707 sb121: merged in DEV300_m77 2010-04-22 10:19:10 +02:00
Caolán McNamara
38b2bcc342 cmcfixes74: merge with DEV300 m75 2010-04-21 21:07:38 +01:00
sb
1fb62ab5e4 sb120: non-fatal OSL_ENSURE -> OSL_TRACE 2010-04-19 11:48:59 +02:00
Caolán McNamara
b8d7719197 cmcfixes74: #i109877 init rtti on os2 2010-04-12 11:13:43 +01:00
Caolán McNamara
d5394818c1 linuxaxp01: #i110145# hppa bridge used uninit value and ludicrous logic 2010-03-20 15:50:07 +00:00
sb
67977bbe29 sb121: removed obsolete comments (-Wa,--noexecstack long been superseded by .note.GNU-stack on unxlngi6, anyway, and the other occurrences obviously being cargo-cult copies) 2010-03-17 17:14:05 +01:00
Caolán McNamara
d941d8c336 linuxaxp01: #i110145# first cut 2010-03-15 16:02:56 +00:00
sb
3660455b07 sb121: #i109878# avoid warning about non-virt dtor by inheriting privately 2010-03-12 13:02:17 +01:00
sb
80b39c8260 merged in CWS sb119 2010-03-01 14:43:46 +01:00
sb
e3e1a6da80 sb119: merged in DEV300_m72 2010-02-26 09:55:56 +01:00
sb
2e24fc7415 sb118: merged in DEV300_m72 2010-02-25 12:46:45 +01:00
sb
6736982a07 sb118: #i109415# fixed x86_64::classify_argument 2010-02-18 21:44:35 +01:00
Jens-Heiner Rechtien
d3ec93586d changefileheader2: #i10000#: convert files with CR/LF characters to CR only 2010-02-12 16:56:44 +01:00
Jens-Heiner Rechtien
7c80db2eb3 changefileheader2: #i109125#: change source file copyright notice from Sun Microsystems to Oracle; remove CVS style keywords (RCSfile, Revision) 2010-02-12 15:01:35 +01:00
sb
10ddd52510 sb118: merged in DEV300_m71 2010-02-08 09:18:14 +01:00
sb
02a4c12619 sb119: #i108371# preserve potential 128bit stack alignment in gcc3_linux_intel UNO bridge (based on a patch by ecatmur) 2010-02-01 09:40:00 +01:00
sb
f4d7dfdfba sb118: #i108776# changed addsym.awk to also export STLport num_put symbols, and simplified it by requiring that first section is labeled UDK_3_0_0; adapted map files accordingly, replacing many individual ones with solenv/src templates 2010-01-29 17:01:54 +01:00
Caolán McNamara
43d361521c s390xport02: #i108410# argh\!, 64, not 32 in s390x 2010-01-19 11:25:34 +00:00
Caolán McNamara
cbb8cded67 s390xport02: #i108410# fix endian issues in s390x 2010-01-18 11:56:59 +00:00
sb
11370224ce sb118: #i108269# first step of removing tcsh support 2010-01-12 18:49:59 +01:00
Jens-Heiner Rechtien
6e8628fb73 CWS-TOOLING: integrate CWS cmcfixes68 2010-01-05 14:01:00 +01:00
Caolán McNamara
0a537a4a7d cmcfixes68: #i107465# fix nonpro build error 2009-12-07 09:17:16 +00:00
mb93783
c4bc00d649 merge to m66 2009-12-02 12:43:33 +01:00