From c7a9f294dd89e80fef3bed0204613c8d7b9df1df Mon Sep 17 00:00:00 2001 From: Derek Bruening Date: Mon, 28 Jun 2021 00:28:39 -0400 Subject: [PATCH] i#2260 web: Add wiki content to doxygen docs (#2409) Adds all of the Github wiki content to new doxygen docs pages integrated into the web site. Updates references to wiki pages in other files in the repository. Issue: #2260 --- .github/ISSUE_TEMPLATE/bug_report.md | 4 +- CONTRIBUTING.md | 21 +- README | 7 +- README.md | 3 +- docs/CMake_doxyfile.cmake | 4 +- drmemory/docs/arm_port.dox | 198 +++++++++++ drmemory/docs/build.dox | 470 +++++++++++++++++++++++++++ drmemory/docs/contribute.dox | 89 +++++ drmemory/docs/debugging.dox | 114 ++++++- drmemory/docs/design_docs.dox | 31 ++ drmemory/docs/download.dox | 88 +++++ drmemory/docs/main.dox | 2 +- drmemory/docs/new_release.dox | 185 +++++++++++ drmemory/docs/projects.dox | 398 +++++++++++++++++++++++ drmemory/docs/test.dox | 180 ++++++++++ make/git/git_review.sh | 4 +- 16 files changed, 1768 insertions(+), 30 deletions(-) create mode 100644 drmemory/docs/arm_port.dox create mode 100644 drmemory/docs/build.dox create mode 100644 drmemory/docs/contribute.dox create mode 100644 drmemory/docs/design_docs.dox create mode 100644 drmemory/docs/download.dox create mode 100644 drmemory/docs/new_release.dox create mode 100644 drmemory/docs/projects.dox create mode 100644 drmemory/docs/test.dox diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 905704972..533426f33 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -18,7 +18,7 @@ Steps to reproduce the behavior: 2. Precise command line for running the application. 3. Exact output or incorrect behavior. -Please also answer these questions drawn from https://github.com/DynamoRIO/drmemory/wiki/Debugging#narrowing-down-the-source-of-the-problem : +Please also answer these questions drawn from https://drmemory.org/page_help.html#sec_narrow : - Does the problem go away when running in light mode (pass `-light` to Dr. Memory)? - Does the problem go away when running with the options `-leaks_only -no_count_leaks -no_track_allocs`? - Does the problem go away when running under plain DynamoRIO? Do this by running `dynamorio/bin32/drrun -- ` or `dynamorio/bin64/drrun -- ` depending on the bitwidth of your applicaiton. (Ignore warnings about "incomplete installation".) @@ -38,7 +38,7 @@ paste output here **Versions** - What version of Dr. Memory are you using? - Does the latest build from -https://github.com/DynamoRIO/drmemory/wiki/Latest-Build solve the problem? +https://drmemory.org/page_download.html#sec_latest_build solve the problem? - What operating system version are you running on? ("Windows 10" is *not* sufficient: give the release number.) - Is your application 32-bit or 64-bit? diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 3993ff683..dadeb7b9b 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,20 +1,11 @@ # Contributing to Dr. Memory We welcome contributions to Dr. Memory. See our [list of project ideas for -contributors](http://drmemory.org/projects.html) and also [our list that -includes DynamoRIO -projects](https://github.com/DynamoRIO/drmemory/wiki/Projects). +contributors](http://drmemory.org/projects.html). -If you would like to contribute code to Dr. Memory, you will need to first sign a -[Contributor License Agreement](https://developers.google.com/open-source/cla/individual). - -Our wiki contains further information on policies, how to check out the -code, and how to add new code: - -- [Contribution policies and suggestions](https://github.com/DynamoRIO/drmemory/wiki/Contributing) -- [Git workflow](https://github.com/DynamoRIO/drmemory/wiki/Workflow) -- [Code style guide](https://github.com/DynamoRIO/drmemory/wiki/Code-Style) -- [Code reviews](https://github.com/DynamoRIO/drmemory/wiki/Code-Reviews) +[Our web site](https://drmemory.org/page_contribute.html) +contains further information on policies, how to check out the +code, and how to add new code. ## Reporting issues @@ -38,7 +29,7 @@ Memory)? What about when running with the options "-leaks_only -no_count_leaks -no_track_allocs"? Does the problem go away when using the most recent build from -https://github.com/DynamoRIO/drmemory/wiki/Latest-Build? +https://drmemory.org/Latest-Build? Try the debug version of Dr. Memory and of its underlying engine DynamoRIO by passing "-debug -dr_debug -pause_at_assert" to drmemory.exe. Are any @@ -46,7 +37,7 @@ messages reported? Please provide any additional information below. Please also see the "Narrowing Down the Source of the Problem" section -of https://github.com/DynamoRIO/drmemory/wiki/Debugging. +of https://drmemory.org/Debugging. ``` ### Including code in issues diff --git a/README b/README index 942521c73..7ed3c67a5 100644 --- a/README +++ b/README @@ -1,5 +1,5 @@ # ********************************************************** -# Copyright (c) 2010-2016 Google, Inc. All rights reserved. +# Copyright (c) 2010-2021 Google, Inc. All rights reserved. # Copyright (c) 2008-2009 VMware, Inc. All rights reserved. # ********************************************************** @@ -88,8 +88,7 @@ help on using Dr. Memory. Dr. Memory's source code and issue tracker live at https://github.com/DynamoRIO/drmemory -If you would like to submit a patch, you will need to first sign a -Contributor License Agreement. See -https://github.com/DynamoRIO/drmemory/wiki/Contributing for more information. +We welcome contributions to Dr. Memory. Please see our +instructions for contributing at https://drmemory.org/page_contribute.html. =========================================================================== diff --git a/README.md b/README.md index ef2e1c776..61ae2ca7f 100644 --- a/README.md +++ b/README.md @@ -13,8 +13,7 @@ Dr. Memory operates on unmodified application binaries running on Windows, Linux, Mac, or Android on commodity IA-32, AMD64, and ARM hardware. Dr. Memory is released under an LGPL license and binary packages are -[available for -download](https://github.com/DynamoRIO/drmemory/wiki/Downloads). +[available for download](https://drmemory.org/page_download.html). Dr. Memory is built on the [DynamoRIO dynamic instrumentation tool plaform](http://dynamorio.org). diff --git a/docs/CMake_doxyfile.cmake b/docs/CMake_doxyfile.cmake index c632fe267..bc2efa3ec 100644 --- a/docs/CMake_doxyfile.cmake +++ b/docs/CMake_doxyfile.cmake @@ -217,9 +217,9 @@ endif () if (TOOL_DR_MEMORY) string(REGEX REPLACE "using.dox" - "using.dox errors.dox reports.dox light.dox chinese.dox fuzzer.dox coverage.dox tools.dox ${headers} debugging.dox" + "download.dox using.dox errors.dox reports.dox light.dox chinese.dox fuzzer.dox coverage.dox tools.dox ${headers} debugging.dox" string "${string}") - string(REGEX REPLACE "drfuzz.dox" "drfuzz.dox license.dox" string "${string}") + string(REGEX REPLACE "drfuzz.dox" "drfuzz.dox license.dox contribute.dox build.dox projects.dox new_release.dox test.dox design_docs.dox arm_port.dox" string "${string}") else () string(REGEX REPLACE "main.dox" "main.dox ${headers}" string "${string}") diff --git a/drmemory/docs/arm_port.dox b/drmemory/docs/arm_port.dox new file mode 100644 index 000000000..8b21bea50 --- /dev/null +++ b/drmemory/docs/arm_port.dox @@ -0,0 +1,198 @@ +/* ********************************************************** + * Copyright (c) 2010-2021 Google, Inc. All rights reserved. + * **********************************************************/ + +/* Dr. Memory: the memory debugger + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; + * version 2.1 of the License, and no later version. + + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +/** + **************************************************************************** + **************************************************************************** +\page page_arm_port ARM Port + +# ARM Port Design Document + +## Pattern Mode + +### Instrumentation to compare a memory value to an immediate + +We can't easily use our x86 instrumentation: + + cmp , 0xf1fdf1fd + +We may have to do sthg like: + + spill r0 + spill r1 + ldr r0, + movw 0xf1fd, r1 + movt 0xf1fd, r1 + cmp r0, r1 + restore r0 + restore r1 + +#### Thumb mode: can repeat single byte + +The expanded-immeds do allow: + + cmp r0, 0xf100f100 + +Or + + cmp r0, 0x00fd00fd + +Or + + cmp r0, 0xf1f1f1f1 + +For Thumb, anyway. + +Probably it's worth changing the pattern to avoid extra spills and instrs. + +What it looks like with 0xf1f1f1f1: + + +22 m4 @0x5291e120