Граф коммитов

935 Коммитов

Автор SHA1 Сообщение Дата
Dave Thaler 4190a1d555
Harden GitHub actions workflows (#836)
* Harden GitHub actions workflows

The diffs in this PR were generates as follows:
* Go to https://app.stepsecurity.io/
* Paste the current content of a yml file into the space provided
* Click "Secure workflow"
* Click Copy
* Replace the local contents of the yml file with the copied contents

The stepsecurity link above is what the OSSF scorescard security alerts
(like [this one](https://github.com/microsoft/ebpf-for-windows/security/code-scanning/11))
point to as recommended.

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Remove duplicate permissions

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Address feedback

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

Co-authored-by: Alan Jowett <alanjo@microsoft.com>
2022-03-30 14:14:00 -07:00
Alan Jowett 719518ae6c
Fail code generation for non-map relocations (#859)
Signed-off-by: Alan Jowett <alanjo@microsoft.com>
2022-03-30 14:47:26 -06:00
Alan Jowett 977c41018f
Fix pip dependencies (#838)
* Test of setting up requirements for bpf2c_tests

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* Attempt to pin

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* Fix parcon dependency

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* Add parcon as submodule

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* Fix parcon

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

Co-authored-by: Dave Thaler <dthaler@microsoft.com>
2022-03-30 13:04:11 -06:00
Alan Jowett b52d9efe22
Enable building with Address Sanitizer (#821)
* Enable building with Address Sanitizer

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* Grab clang binaries

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* Fix read overrun in map_crud_operations_lpm_trie_32

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* Fix potential read of uninitialized memory

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* Really fix read overrun

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* Fix second overrun

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* Remove RPC client test for now

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* PR feedback

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* Apply suggestions from code review

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

Co-authored-by: Dave Thaler <dthaler@microsoft.com>

Co-authored-by: Dave Thaler <dthaler@microsoft.com>
2022-03-30 12:32:29 -06:00
dependabot[bot] d2b04e77e9
Bump external/ubpf from `0dd334d` to `83eed72` (#843)
Bumps [external/ubpf](https://github.com/iovisor/ubpf) from `0dd334d` to `83eed72`.
- [Release notes](https://github.com/iovisor/ubpf/releases)
- [Commits](0dd334daf4...83eed7211f)

---
updated-dependencies:
- dependency-name: external/ubpf
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Dave Thaler <dthaler@microsoft.com>
Co-authored-by: Alan Jowett <alanjo@microsoft.com>
2022-03-29 18:48:14 -07:00
dependabot[bot] 1c7ec8fa81
Bump external/Catch2 from `0e176c3` to `a4e4e82` (#842)
Bumps [external/Catch2](https://github.com/catchorg/Catch2) from `0e176c3` to `a4e4e82`.
- [Release notes](https://github.com/catchorg/Catch2/releases)
- [Commits](0e176c318b...a4e4e82474)

---
updated-dependencies:
- dependency-name: external/Catch2
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Dave Thaler <dthaler@microsoft.com>
2022-03-29 17:41:02 -07:00
dependabot[bot] 4f1a45c1fe
Bump actions/upload-artifact from 2.2.4 to 3 (#844)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 2.2.4 to 3.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v2.2.4...6673cd052c4cd6fcf4b4e6e60ea986c889389535)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Dave Thaler <dthaler@microsoft.com>
2022-03-29 18:29:05 -06:00
Shankar Seal 7349e070e6
Cherry-pick dependabot prs (#853)
* Bump external/Catch2 from `0e176c3` to `a4e4e82`

Bumps [external/Catch2](https://github.com/catchorg/Catch2) from `0e176c3` to `a4e4e82`.
- [Release notes](https://github.com/catchorg/Catch2/releases)
- [Commits](0e176c318b...a4e4e82474)

---
updated-dependencies:
- dependency-name: external/Catch2
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump external/Catch2 from 0e176c3 to a4e4e82

* Bump external/ubpf from `0dd334d` to `83eed72`

Bumps [external/ubpf](https://github.com/iovisor/ubpf) from `0dd334d` to `83eed72`.
- [Release notes](https://github.com/iovisor/ubpf/releases)
- [Commits](0dd334daf4...83eed7211f)

---
updated-dependencies:
- dependency-name: external/ubpf
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump external/ubpf from 0dd334d to 83eed72

* Bump actions/upload-artifact from 2.2.4 to 3

Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 2.2.4 to 3.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v2.2.4...6673cd052c4cd6fcf4b4e6e60ea986c889389535)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump ossf/scorecard-action from 1.0.3 to 1.0.4

Bumps [ossf/scorecard-action](https://github.com/ossf/scorecard-action) from 1.0.3 to 1.0.4.
- [Release notes](https://github.com/ossf/scorecard-action/releases)
- [Commits](b614d455ee...c1aec4ac82)

---
updated-dependencies:
- dependency-name: ossf/scorecard-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* fix.

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Dave Thaler <dthaler@microsoft.com>
2022-03-29 13:30:59 -07:00
Alan Jowett fd94c807a5
Centralize compiler options (#823)
* Centralize all compiler options

Signed-off-by: Alan Jowett <alanjo@microsoft.com>
2022-03-29 10:41:09 -06:00
saxena-anurag e56e80e51c
Fix race condition between ebpf_epoch_terminate() and _ebpf_epoch_stale_worker() (#850)
* bugfix

* bugfix
2022-03-28 13:39:29 -07:00
Shankar Seal ecea57b4d8
Change extensions npiid (#841)
* remove dependabot from the fork.

* change extension provider NPI IDs.

* PR feedback.

Co-authored-by: Dave Thaler <dthaler@microsoft.com>
2022-03-28 11:26:19 -07:00
saxena-anurag edd6d974d5
Fix calling ObReferenceObjectByHandle at DISPATCH (#840)
* bugfix, add test cases

* fix build break

* cr comments

* cr comments

* cr comments
2022-03-28 10:25:12 -07:00
Dave Thaler afe3452b4e
Add badges (#839)
To view CodeQL daily result and CII Best Practices score

Signed-off-by: Dave Thaler <dthaler@microsoft.com>
2022-03-28 09:28:32 -07:00
Nick Banks 3087eedf0e
Initial OSSF Scorecard Support (#817)
* Initial OSSF Scorecard Support

* Default some permissions to read

* Try to default read-all instead

Co-authored-by: Dave Thaler <dthaler@microsoft.com>
2022-03-25 11:00:06 -07:00
dependabot[bot] 7f9cead638
Bump external/bpftool from `3aea563` to `a7f0e7f` (#830)
* Bump external/bpftool from `3aea563` to `a7f0e7f`

Bumps [external/bpftool](https://github.com/dthaler/bpftool-1) from `3aea563` to `a7f0e7f`.
- [Release notes](https://github.com/dthaler/bpftool-1/releases)
- [Commits](3aea5630b1...a7f0e7f057)

---
updated-dependencies:
- dependency-name: external/bpftool
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

* Fix gitmodules to point to windows branch

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Dave Thaler <dthaler@microsoft.com>
Co-authored-by: Alan Jowett <alanjo@microsoft.com>
2022-03-21 20:47:15 -06:00
dependabot[bot] 3919c4e8eb
Bump external/Catch2 from `18c5866` to `0e176c3` (#826)
Bumps [external/Catch2](https://github.com/catchorg/Catch2) from `18c5866` to `0e176c3`.
- [Release notes](https://github.com/catchorg/Catch2/releases)
- [Commits](18c58667d7...0e176c318b)

---
updated-dependencies:
- dependency-name: external/Catch2
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Alan Jowett <alanjo@microsoft.com>
2022-03-21 20:12:38 -06:00
dependabot[bot] 7b2c9c08ce
Bump external/ebpf-verifier from `e7e7017` to `5356ffe` (#824)
* Bump external/ebpf-verifier from `e7e7017` to `5356ffe`

Bumps [external/ebpf-verifier](https://github.com/dthaler/ebpf-verifier) from `e7e7017` to `5356ffe`.
- [Release notes](https://github.com/dthaler/ebpf-verifier/releases)
- [Commits](e7e701712d...5356ffe3be)

---
updated-dependencies:
- dependency-name: external/ebpf-verifier
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

* Update to match latest verifier

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Dave Thaler <dthaler@microsoft.com>
2022-03-21 19:35:43 -06:00
dependabot[bot] e95abc5f01
Bump actions/upload-artifact from 2.2.4 to 3 (#827)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 2.2.4 to 3.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v2.2.4...v3)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Dave Thaler <dthaler@microsoft.com>
2022-03-21 11:16:15 -07:00
dependabot[bot] 83558badda
Bump actions/checkout from 2 to 3 (#825)
Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Dave Thaler <dthaler@microsoft.com>
2022-03-21 10:54:01 -07:00
dependabot[bot] 826ac88b56
Bump external/ubpf from `1959b3f` to `0dd334d` (#828)
Bumps [external/ubpf](https://github.com/iovisor/ubpf) from `1959b3f` to `0dd334d`.
- [Release notes](https://github.com/iovisor/ubpf/releases)
- [Commits](1959b3ff11...0dd334daf4)

---
updated-dependencies:
- dependency-name: external/ubpf
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-21 10:13:12 -07:00
dependabot[bot] bbff9db3e9
Bump actions/download-artifact from 2.1.0 to 3 (#829)
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 2.1.0 to 3.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/v2.1.0...v3)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-21 08:43:00 -07:00
Dave Thaler 457a8fe9d6
Add dependabot config (#822)
* Add dependabot config

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Add pip

Signed-off-by: Dave Thaler <dthaler@microsoft.com>
2022-03-21 01:47:52 -07:00
Nick Banks d3a19ce3c5
Proposal for PR Template (#819)
* Proposal for PR Template

* Dave's suggestion

Co-authored-by: Alan Jowett <alanjo@microsoft.com>
Co-authored-by: Dave Thaler <dthaler@microsoft.com>
2022-03-19 10:32:16 -07:00
Alan Jowett 5e468b8857
Switch to current catch2 release (#809)
* Switch to current catch2 release

Signed-off-by: Alan Jowett <alanjo@microsoft.com>
2022-03-18 17:39:21 -06:00
Alan Jowett 159e1e404f
Annotate prolog lines with #line directive (#816)
Signed-off-by: Alan Jowett <alanjo@microsoft.com>
2022-03-18 11:29:26 -06:00
Nick Banks 5bc464de6a
Proposal for Issue Template (#818)
* Proposal for Issue Template

* Dave's comments
2022-03-18 10:37:48 -06:00
Alan Jowett b4b6e15d73
Move common interlocked API's into their own file (#815)
Signed-off-by: Alan Jowett <alanjo@microsoft.com>
2022-03-17 18:27:47 -06:00
Alan Jowett 2709dac138
Flush free_list if it's stale (#814)
Add an additional flag per CPU EBPF_EPOCH_PER_CPU_STALE.
This flag is accessed by ebpf_epoch_exit and by the flush timer.

This flag is set to on by the flush timer if the free_list is not empty.
This flag is set to off by ebpf_epoch_exit (if set).

If the flush timer sees this flag on and the free_list is not empty, then it will schedule an _ebpf_epoch_stale_worker DPC on the CPU (this DPC calls ebpf_epoch_enter/ebpf_epoch_exit).

Resolves: #813

Signed-off-by: Alan Jowett alanjo@microsoft.com
2022-03-17 14:44:22 -06:00
Shankar Seal fc2f504a40
Collect and upload kernel crash dumps. (#808) 2022-03-15 22:52:31 -07:00
Shankar Seal a8e3a30767
Support attaching XDP program per NIC. (#803)
* Support attaching XDP program per NIC.

* PR Feedback.

* fix bug.

* PR Feedback.
2022-03-14 15:16:11 -07:00
Alan Jowett c6d36834f2
Add mutual auth for RPC client / server. (#804)
* Add mutual auth for RPC client / server.

RPC client and server should authenticate each other, to ensure:

Only admin client makes a call to ebpfsvc.
Client is talking only to ebpfsvc.

Signed-off-by: Alan Jowett <alanjo@microsoft.com>
2022-03-14 15:26:55 -06:00
Daniel M. Havey d8d66bd9e3
Update README.md (#806)
* Update README.md

* Add files via upload

* Update README.md

* Add files via upload

Added svg file to docs.

* Update README.md

Co-authored-by: Dave Thaler <dthaler@microsoft.com>

Co-authored-by: Dave Thaler <dthaler@microsoft.com>
2022-03-14 11:21:44 -07:00
Alan Jowett 16760b2b3d
Add queue and stack helper functions (#801)
* Add queue and stack helper functions

Signed-off-by: Alan Jowett <alanjo@microsoft.com>
2022-03-11 17:16:02 -07:00
Dave Thaler 047222ccb7
Add real-time tracing documentation (#800)
* Add real-time tracing documentation

Fixes #795

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Fix grammar nit

Signed-off-by: Dave Thaler <dthaler@microsoft.com>
2022-03-11 15:46:15 -07:00
Dave Thaler 727451f3b4
Add support for integer arguments to bpf_printk helper (#797)
* Initial printk numeric args support

Also add a verification failure test case if trying to print a pointer

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Add varargs support to printk

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Validate printk format specifiers

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Verify that printk specifier count and arg count match

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Update doxygen docs

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

Co-authored-by: saxena-anurag <43585259+saxena-anurag@users.noreply.github.com>
2022-03-10 17:16:45 -08:00
Dave Thaler e85d8478f8
Fix references to master branch (#799)
Currently doxygen and codeql are broken because they only run on the
master branch, but it was renamed to main

Signed-off-by: Dave Thaler <dthaler@microsoft.com>
2022-03-10 15:40:44 -08:00
Alan Jowett 0d8ad76c36
Add option to specify generator for cmake command (#798)
Signed-off-by: Alan Jowett <alanjo@microsoft.com>
2022-03-10 15:39:38 -07:00
Shankar Seal d5cf5e8622
support interface parameter for loading XDP program in netsh ebpf con… (#790)
* support interface parameter for loading XDP program in netsh ebpf context.

* PR Feedback.

* PR Feedback.
2022-03-09 16:15:58 -08:00
Dave Thaler 08c2cbb9a7
Add support for bpf_printk helper without additional arguments (#796)
* Initial version of bpf_printk support

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Convert printk.c sample to use bind hook instead of xdp hook

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Add wprp file to deployment script

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Unify UM and KM platforms as much as possible for printk support

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Fix annotation

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Work around compiler warning

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Fix comment

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Fix keyword

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Fix test when -s is used

Signed-off-by: Dave Thaler <dthaler@microsoft.com>
2022-03-08 16:38:48 -08:00
saxena-anurag 2384d6c123
rename ebpf_object to ebpf_core_object (#793) 2022-03-07 09:07:10 -08:00
Alan Jowett 9890a6bf66
Add test to trigger division by zero handler (#791)
* Add test to trigger division by zero handler

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* Fix bugcheck in interpreter on division by zero

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* PR feedback

Signed-off-by: Alan Jowett <alanjo@microsoft.com>
2022-03-03 14:30:01 -07:00
Dave Thaler 980646a793
Improve netsh helper initialization error message output (#788)
* Improve netsh helper initialization error message output

Fixes #787

Signed-off-by: Dave Thaler <dthaler@microsoft.com>

* Updated code comment

Signed-off-by: Dave Thaler <dthaler@microsoft.com>
2022-03-01 12:51:41 -08:00
Dave Thaler cc51efe6d9
Update tutorials to match latest verifier output (#782)
Fixes #630

Signed-off-by: Dave Thaler <dthaler@microsoft.com>
2022-02-28 10:40:20 -08:00
Alan Jowett bd2aa504e1
Refactor ebpf_provider_load/ebpf_extension_load and move generation of module_id to caller (#773)
* Move generation of module_id into caller of ebpf platform NMR wrapper

Signed-off-by: Alan Jowett <alanjo@microsoft.com>
2022-02-28 09:09:33 -07:00
Shankar Seal 40915b0d15
Netebpfext refactor (#776)
* fix crash.

* use NMR APIs.

* program info provider; bind program info

rename attach provider as hook provider

function renaming

* refactor hook providers.

* async client detach.

* cicd automation and documentation.

* PR Feedback.

* switch to server 2019.

Co-authored-by: Dave Thaler <dthaler@microsoft.com>
Co-authored-by: Alan Jowett <alanjo@microsoft.com>
2022-02-25 17:53:12 -08:00
Alan Jowett 6b12786c31
Fix missed PR feedback (#774)
Signed-off-by: Alan Jowett <alanjo@microsoft.com>

Co-authored-by: Dave Thaler <dthaler@microsoft.com>
2022-02-25 18:27:27 -07:00
Alan Jowett 960e0a0a2a
Pickup latest ebpf-verifier to resolve #630 (#765)
* Pickup latest ebpf-verifier to resolve this issue

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* Strip paths from netsh output

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* Pickup latest ebpf-verifier changes

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* Switch to run CI/CD on Server 2019 + VS2019

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* Pickup fix for https://github.com/vbpf/ebpf-verifier/issues/306

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* Pickup fix for https://github.com/vbpf/ebpf-verifier/issues/306

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

* PR feedback

Signed-off-by: Alan Jowett <alanjo@microsoft.com>

Co-authored-by: Dave Thaler <dthaler@microsoft.com>
2022-02-25 16:17:23 -08:00
Dave Thaler ecf4ac988e
Fix bpf_map_update_elem prototype used by the verifier (#781)
It had four arguments in:
* https://github.com/microsoft/ebpf-for-windows/blob/master/include/bpf_helper_defs.h#L33
* https://github.com/microsoft/ebpf-for-windows/blob/master/libs/execution_context/ebpf_core.c#L1261

but only three arguments in ebpf_general_helpers.c

Signed-off-by: Dave Thaler <dthaler@microsoft.com>
2022-02-25 15:44:28 -08:00
Alan Jowett 4a2dba1cd1
Switch to run CI/CD on Server 2019 + VS2019 (#779)
Signed-off-by: Alan Jowett <alanjo@microsoft.com>
2022-02-25 12:31:14 -07:00
Alan Jowett aa87ee0ce2
Emit either bare code, sys, or dll (#769)
* Emit either bare code, sys, or dll

Resolve #767
2022-02-24 11:18:28 -07:00