[Libreoffice-commits] dev-tools.git: uno/uno_exception_offset
David Ostrovsky
david at ostrovsky.org
Tue Dec 2 00:35:08 PST 2014
uno/uno_exception_offset/compute_exception_offset.cpp | 42 ++++++++
uno/uno_exception_offset/uno_exception_offset.sln | 28 +++++
uno/uno_exception_offset/uno_exception_offset.vcxproj | 92 ++++++++++++++++++
3 files changed, 162 insertions(+)
New commits:
commit ecd66668c257a3660d3c90faa8a349fdbaea3d88
Author: David Ostrovsky <david at ostrovsky.org>
Date: Sun Nov 30 12:25:20 2014 +0100
Add uno exception offset computation project
Change-Id: I2f77ff88ddefba3ebcc8314ce2636451a99b46a8
Reviewed-on: https://gerrit.libreoffice.org/13208
Reviewed-by: David Ostrovsky <david at ostrovsky.org>
Tested-by: David Ostrovsky <david at ostrovsky.org>
diff --git a/uno/uno_exception_offset/compute_exception_offset.cpp b/uno/uno_exception_offset/compute_exception_offset.cpp
new file mode 100755
index 0000000..2cfa33a
--- /dev/null
+++ b/uno/uno_exception_offset/compute_exception_offset.cpp
@@ -0,0 +1,42 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+* This file is part of the LibreOffice project.
+*
+* This Source Code Form is subject to the terms of the Mozilla Public
+* License, v. 2.0. If a copy of the MPL was not distributed with this
+* file, You can obtain one at http://mozilla.org/MPL/2.0/.
+*/
+
+#include <iostream> /* cout */
+#include <stddef.h> /* offsetof */
+#include <mtdll.h> /* _tiddata */
+
+using namespace std;
+
+int main()
+{
+ int offset_curexception = (int)offsetof(struct _tiddata, _curexception);
+ int offset_tpxcptinfoptrs = (int)offsetof(struct _tiddata, _tpxcptinfoptrs);
+
+ cout << "Computing uno exception offset on platform: " <<
+#if defined (_M_X64)
+ "X86-64"
+#elif defined (_M_IX86)
+ "intel"
+#else
+ error: unknown prltform
+#endif
+ << endl;
+ cout << "offsetof(struct _tiddata,_curexception) is: 0x" << std::hex
+ << offset_curexception << endl;
+ cout << "offsetof(struct _tiddata,_tpxcptinfoptrs) is: 0x" << std::hex
+ << offset_tpxcptinfoptrs << endl;
+ cout << "offsetof(_curexception) - offsetof(_tpxcptinfoptrs): 0x" << std::hex
+ << offset_curexception - offset_tpxcptinfoptrs << endl;
+
+ cout << "Enter any key to continue...";
+ cin.get();
+ return 0;
+}
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/uno/uno_exception_offset/uno_exception_offset.sln b/uno/uno_exception_offset/uno_exception_offset.sln
new file mode 100755
index 0000000..66eb528
--- /dev/null
+++ b/uno/uno_exception_offset/uno_exception_offset.sln
@@ -0,0 +1,28 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 2013
+VisualStudioVersion = 12.0.30501.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "uno_exception_offset", "uno_exception_offset.vcxproj", "{E7D4FBFD-732A-4FD7-99F4-053893A64E16}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Win32 = Debug|Win32
+ Debug|x64 = Debug|x64
+ Release|Win32 = Release|Win32
+ Release|x64 = Release|x64
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {E7D4FBFD-732A-4FD7-99F4-053893A64E16}.Debug|Win32.ActiveCfg = Debug|Win32
+ {E7D4FBFD-732A-4FD7-99F4-053893A64E16}.Debug|Win32.Build.0 = Debug|Win32
+ {E7D4FBFD-732A-4FD7-99F4-053893A64E16}.Debug|x64.ActiveCfg = Debug|x64
+ {E7D4FBFD-732A-4FD7-99F4-053893A64E16}.Debug|x64.Build.0 = Debug|x64
+ {E7D4FBFD-732A-4FD7-99F4-053893A64E16}.Release|Win32.ActiveCfg = Release|Win32
+ {E7D4FBFD-732A-4FD7-99F4-053893A64E16}.Release|Win32.Build.0 = Release|Win32
+ {E7D4FBFD-732A-4FD7-99F4-053893A64E16}.Release|x64.ActiveCfg = Release|x64
+ {E7D4FBFD-732A-4FD7-99F4-053893A64E16}.Release|x64.Build.0 = Release|x64
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/uno/uno_exception_offset/uno_exception_offset.vcxproj b/uno/uno_exception_offset/uno_exception_offset.vcxproj
new file mode 100755
index 0000000..350eba8
--- /dev/null
+++ b/uno/uno_exception_offset/uno_exception_offset.vcxproj
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="Debug|Win32">
+ <Configuration>Debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Debug|x64">
+ <Configuration>Debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|Win32">
+ <Configuration>Release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="Release|x64">
+ <Configuration>Release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{E7D4FBFD-732A-4FD7-99F4-053893A64E16}</ProjectGuid>
+ <RootNamespace>Projekt1</RootNamespace>
+ <ProjectName>uno_exception_offset</ProjectName>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>true</UseDebugLibraries>
+ <PlatformToolset>v120</PlatformToolset>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseDebugLibraries>false</UseDebugLibraries>
+ <PlatformToolset>v120</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Label="Configuration" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
+ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <IncludePath>$(VCInstallDir)/crt/src;$(IncludePath)</IncludePath>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <IncludePath>$(VCInstallDir)/crt/src;$(IncludePath)</IncludePath>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>Disabled</Optimization>
+ <SDLCheck>true</SDLCheck>
+ </ClCompile>
+ <Link>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+ <ClCompile>
+ <WarningLevel>Level3</WarningLevel>
+ <Optimization>MaxSpeed</Optimization>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <SDLCheck>true</SDLCheck>
+ </ClCompile>
+ <Link>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <EnableCOMDATFolding>true</EnableCOMDATFolding>
+ <OptimizeReferences>true</OptimizeReferences>
+ </Link>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="compute_exception_offset.cpp" />
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ </ImportGroup>
+</Project>
More information about the Libreoffice-commits
mailing list