diff options
Diffstat (limited to 'xpcom/tests/component_no_aslr')
-rw-r--r-- | xpcom/tests/component_no_aslr/Makefile.in | 8 | ||||
-rw-r--r-- | xpcom/tests/component_no_aslr/TestComponent.cpp | 33 | ||||
-rw-r--r-- | xpcom/tests/component_no_aslr/moz.build | 26 | ||||
-rw-r--r-- | xpcom/tests/component_no_aslr/testcompnoaslr.manifest | 2 |
4 files changed, 69 insertions, 0 deletions
diff --git a/xpcom/tests/component_no_aslr/Makefile.in b/xpcom/tests/component_no_aslr/Makefile.in new file mode 100644 index 000000000..f08d6ad8a --- /dev/null +++ b/xpcom/tests/component_no_aslr/Makefile.in @@ -0,0 +1,8 @@ +# +# 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 $(topsrcdir)/config/rules.mk + +LDFLAGS := $(filter-out -DYNAMICBASE,$(LDFLAGS)) -DYNAMICBASE:NO diff --git a/xpcom/tests/component_no_aslr/TestComponent.cpp b/xpcom/tests/component_no_aslr/TestComponent.cpp new file mode 100644 index 000000000..6fbfd316a --- /dev/null +++ b/xpcom/tests/component_no_aslr/TestComponent.cpp @@ -0,0 +1,33 @@ +/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* vim: set ts=8 sts=2 et sw=2 tw=80: */ +/* 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 "mozilla/ModuleUtils.h" + +#define NS_TESTING_CID \ +{ 0x335fb596, 0xe52d, 0x418f, \ + { 0xb0, 0x1c, 0x1b, 0xf1, 0x6c, 0xe5, 0xe7, 0xe4 } } + +NS_DEFINE_NAMED_CID(NS_TESTING_CID); + +static nsresult +DummyConstructorFunc(nsISupports* aOuter, const nsIID& aIID, void** aResult) +{ + return NS_ERROR_NOT_IMPLEMENTED; +} + +static const mozilla::Module::CIDEntry kTestCIDs[] = { + { &kNS_TESTING_CID, false, nullptr, DummyConstructorFunc }, + { nullptr } +}; + +static const mozilla::Module kTestModule = { + mozilla::Module::kVersion, + kTestCIDs +}; + +NSMODULE_DEFN(dummy) = &kTestModule; + + diff --git a/xpcom/tests/component_no_aslr/moz.build b/xpcom/tests/component_no_aslr/moz.build new file mode 100644 index 000000000..45e69c105 --- /dev/null +++ b/xpcom/tests/component_no_aslr/moz.build @@ -0,0 +1,26 @@ +# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*- +# vim: set filetype=python: +# 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/. + +FINAL_TARGET = '_tests/xpcshell/xpcom/tests/unit' +EXTRA_PP_COMPONENTS += [ + 'testcompnoaslr.manifest', +] + +SOURCES += [ + 'TestComponent.cpp', +] + +XPCOMBinaryComponent('testcompnoaslr') + +DEFINES['LIBRARY_FILENAME'] = '%s%s%s' % ( + CONFIG['DLL_PREFIX'], + LIBRARY_NAME, + CONFIG['DLL_SUFFIX'] +) + +# Need to link with CoreFoundation on Mac +if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa': + OS_LIBS += CONFIG['TK_LIBS'] diff --git a/xpcom/tests/component_no_aslr/testcompnoaslr.manifest b/xpcom/tests/component_no_aslr/testcompnoaslr.manifest new file mode 100644 index 000000000..fb1991a56 --- /dev/null +++ b/xpcom/tests/component_no_aslr/testcompnoaslr.manifest @@ -0,0 +1,2 @@ +#filter substitution +binary-component @LIBRARY_FILENAME@ |