New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix build of newlib on aarch64 #546
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
newlib on aarch64 uses a few nonstandard features that require special build flags: - Instruction formats not supported by LLVM's assembler, requiring `-no-integrated-as` to force use of binutils as - Inline assembly via `asm()` instead of `__asm__()`, not available in clang with `-std=c99` unless `-fasm` is given. Signed-off-by: Chris Pavlina <pavlinac@ainfosec.com>
Codecov Report
@@ Coverage Diff @@
## dev #546 +/- ##
=====================================
Coverage 100% 100%
=====================================
Files 218 218
Lines 62706 62706
Branches 886 886
=====================================
Hits 62706 62706 |
connojd
pushed a commit
to connojd/hypervisor
that referenced
this pull request
Mar 2, 2018
AlexLanzano (1): map_with_cr3: fixed pml4 mapping when cr3 control bits are set (Bareflank#471) Chris Pavlina (23): Simple bugfixes in env.sh (Bareflank#494) Rename serial_port_intel_x64 to serial_port_ns16550a.h (Bareflank#510) astyle/clang_tidy: ignore deleted files Add bfarch.h to detect architecture and set flags (Bareflank#513) Modify "make format" to check for extra blank lines (Bareflank#514) Add PL011 serial driver, genericize portio interface make format: don't attempt to format deleted files (Bareflank#521) Fix README.md (Bareflank#523) Minor language/typo fixes in README.md (Bareflank#524) Move portio back into x64 (Bareflank#522) Fix cast type in aarch64 serial MMIO methods (Bareflank#526) Add method set_port() to serial drivers Restructure bfvmm source and test files Add files created by Vagrant to .gitignore compiler_wrapper.sh: remove hard-coded target architecture (Bareflank#542) Add _start for aarch64 Fix build of newlib on aarch64 Fix sysroot install name of compiler_wrapper.sh bfelf_loader: implement relocations for aarch64 Pack struct registers_intel_x64_t (Bareflank#554) Add more aarch64 relocations (Bareflank#559) Fix incorrect types in serial_port_ns16550a (Bareflank#555) Add platform_info_t, support runtime serial port address (Bareflank#632) Connor Davis (27): Map guest GDT read-write before promotion (Bareflank#486) Merge pull request Bareflank#511 from cpavlina/ls-files-fix Merge pull request Bareflank#512 from cpavlina/pl011 Merge pull request Bareflank#525 from JWZepf/x2apic_msrs Merge pull request Bareflank#530 from cpavlina/serial-set-port Merge pull request Bareflank#539 from JaredWright/bug_534 Merge pull request Bareflank#538 from cpavlina/gitignore-vagrant-build Merge pull request Bareflank#536 from cpavlina/bfvmm_restructure Merge pull request Bareflank#540 from JaredWright/bug_537 Merge pull request Bareflank#541 from JaredWright/eapis_configurable_path Merge pull request Bareflank#544 from cpavlina/aarch64_start Merge pull request Bareflank#546 from cpavlina/newlib-fix Merge pull request Bareflank#547 from JaredWright/windows_support Merge pull request Bareflank#548 from cpavlina/compiler-wrapper-fix Merge pull request Bareflank#549 from cpavlina/aarch64_reloc [BUILD] Add USES_TERMINAL to targets Merge pull request Bareflank#551 from connojd/ninja Merge pull request Bareflank#579 from rianquinn/fix_protected_delegate x64/vmcs: Temporarily clear CR3[11:0] on promote (Bareflank#584) tests: Fix build errors (Bareflank#589) Merge pull request Bareflank#595 from rianquinn/rfc_583_1 Merge pull request Bareflank#597 from rianquinn/issue_596 Add changes required for clean eapis build (Bareflank#598) docs: Update Arch Linux setup instructions (Bareflank#603) Merge pull request Bareflank#614 from rianquinn/dev README.md: Update Arch instructions (Bareflank#624) Merge pull request Bareflank#630 from boddumanohar/rename Jared Wright (8): Build System Support for Aarch64 Bareflank#498 (Bareflank#499) New cmake build system (Bareflank#532) Removed hard-coded path to extended apis for format and tidy targets (Bareflank#543) bfdriver double-compile bug (Bareflank#562) New VMM extension integration mechanism (Bareflank#560) Build system dependency caching (Bareflank#567) Merge pull request Bareflank#616 from rianquinn/announcement_613_2 Merge pull request Bareflank#617 from rianquinn/announcement_613_3 JaredWright (4): [BUG] build system - unnecessary re-compilation [BUG] build system - duplicate vmm main exectuables Bareflank#537 Extended APIs configurable path Updated bfdriver to build under WDK10 and VS 2017 Joshua Zepf (2): Updated intrinsics unit tests (Bareflank#487) Expanded x2apic msrs Manohar Reddy (2): Change order of execution of delegates from FILO to FIFO (Bareflank#623) change name in the include header from memory_manager_x64 to memory_manager.h Rian Quinn (62): initial super build script build working cleanup double compile of sdk Bug fixes and cleanup cleanup merge README update README update small fixes to the super build, enables travis fix bug with travis Merge pull request Bareflank#455 from incertia/dev Fix UPDATE_DISCONNECTED Merge pull request Bareflank#457 from rianquinn/fix_update_disconnected Fix issue with rebuilds Merge pull request Bareflank#458 from rianquinn/fix_update_command add extended apis support Merge pull request Bareflank#460 from rianquinn/add_extended_apis Merge Repos into the Hypervisor Repo (Bareflank#470) cygwin updates (Bareflank#472) msbuild_updates (Bareflank#473) BFM cleanup. (Bareflank#475) Update .codecov.yml BFSDK missing unit tests (Bareflank#477) ELF loader cleanup / missing unit tests (Bareflank#478) Dev (Bareflank#479) bug fixes (Bareflank#480) missing VMCS unit tests (Bareflank#481) missing CRT unit tests (Bareflank#482) missing bfdriver unit tests (Bareflank#484) Windows Support (Bareflank#489) Codacy Update (Bareflank#491) Update CMakeFlags_Native_VS.txt Windows 7 Support (Bareflank#492) Update README.md Header Updates (Bareflank#504) Contributing Update (Bareflank#505) Fix issue with EAPIs unit testing (Bareflank#515) Update README.md arch cleanup (Bareflank#519) remove env.sh (Bareflank#520) Delegate Implementation (Bareflank#531) Build System Bug Fixes (Bareflank#575) Fix crash with Windows (Bareflank#578) Enable More Unit Tests (Bareflank#580) Include Path / Library Fix (Bareflank#581) Re-enable Codecov (Bareflank#582) Fix Include Issue / Enable Warnings (Bareflank#586) Remove CMake variables that cannot be changed in CCMake (Bareflank#588) Update README.md Change to relative paths (Bareflank#594) Move Debug Intrinsics (Bareflank#599) Update Example Config (Bareflank#600) Rename BFVMM Classes (Bareflank#601) Convert Hypervisor to use Delegates (Bareflank#610) Redownload on Error (Bareflank#612) Move Check to Cpp (Bareflank#615) Relocate / Rename Memory Manager (Bareflank#618) Add support for unordered_map (Bareflank#625) Changes to support EAPIs (Bareflank#627) Disable Cygwin (Bareflank#628) Additional Changes to support EAPIs (Bareflank#629) VMX Bug Fix (Bareflank#633) Will Song (2): Add support for using local repositories when building Bareflank. Update README.md “rianquinn” (6): Fix Protected Delegate Issue Add BFVMM Namespace Fix Small Ninja Issue Mods for EAPIs Missing Header Guard Add IntelliSense Support
connojd
pushed a commit
to connojd/hypervisor
that referenced
this pull request
Mar 2, 2018
AlexLanzano (1): map_with_cr3: fixed pml4 mapping when cr3 control bits are set (Bareflank#471) Chris Pavlina (23): Simple bugfixes in env.sh (Bareflank#494) Rename serial_port_intel_x64 to serial_port_ns16550a.h (Bareflank#510) astyle/clang_tidy: ignore deleted files Add bfarch.h to detect architecture and set flags (Bareflank#513) Modify "make format" to check for extra blank lines (Bareflank#514) Add PL011 serial driver, genericize portio interface make format: don't attempt to format deleted files (Bareflank#521) Fix README.md (Bareflank#523) Minor language/typo fixes in README.md (Bareflank#524) Move portio back into x64 (Bareflank#522) Fix cast type in aarch64 serial MMIO methods (Bareflank#526) Add method set_port() to serial drivers Restructure bfvmm source and test files Add files created by Vagrant to .gitignore compiler_wrapper.sh: remove hard-coded target architecture (Bareflank#542) Add _start for aarch64 Fix build of newlib on aarch64 Fix sysroot install name of compiler_wrapper.sh bfelf_loader: implement relocations for aarch64 Pack struct registers_intel_x64_t (Bareflank#554) Add more aarch64 relocations (Bareflank#559) Fix incorrect types in serial_port_ns16550a (Bareflank#555) Add platform_info_t, support runtime serial port address (Bareflank#632) Connor Davis (27): Map guest GDT read-write before promotion (Bareflank#486) Merge pull request Bareflank#511 from cpavlina/ls-files-fix Merge pull request Bareflank#512 from cpavlina/pl011 Merge pull request Bareflank#525 from JWZepf/x2apic_msrs Merge pull request Bareflank#530 from cpavlina/serial-set-port Merge pull request Bareflank#539 from JaredWright/bug_534 Merge pull request Bareflank#538 from cpavlina/gitignore-vagrant-build Merge pull request Bareflank#536 from cpavlina/bfvmm_restructure Merge pull request Bareflank#540 from JaredWright/bug_537 Merge pull request Bareflank#541 from JaredWright/eapis_configurable_path Merge pull request Bareflank#544 from cpavlina/aarch64_start Merge pull request Bareflank#546 from cpavlina/newlib-fix Merge pull request Bareflank#547 from JaredWright/windows_support Merge pull request Bareflank#548 from cpavlina/compiler-wrapper-fix Merge pull request Bareflank#549 from cpavlina/aarch64_reloc [BUILD] Add USES_TERMINAL to targets Merge pull request Bareflank#551 from connojd/ninja Merge pull request Bareflank#579 from rianquinn/fix_protected_delegate x64/vmcs: Temporarily clear CR3[11:0] on promote (Bareflank#584) tests: Fix build errors (Bareflank#589) Merge pull request Bareflank#595 from rianquinn/rfc_583_1 Merge pull request Bareflank#597 from rianquinn/issue_596 Add changes required for clean eapis build (Bareflank#598) docs: Update Arch Linux setup instructions (Bareflank#603) Merge pull request Bareflank#614 from rianquinn/dev README.md: Update Arch instructions (Bareflank#624) Merge pull request Bareflank#630 from boddumanohar/rename Jared Wright (8): Build System Support for Aarch64 Bareflank#498 (Bareflank#499) New cmake build system (Bareflank#532) Removed hard-coded path to extended apis for format and tidy targets (Bareflank#543) bfdriver double-compile bug (Bareflank#562) New VMM extension integration mechanism (Bareflank#560) Build system dependency caching (Bareflank#567) Merge pull request Bareflank#616 from rianquinn/announcement_613_2 Merge pull request Bareflank#617 from rianquinn/announcement_613_3 JaredWright (4): [BUG] build system - unnecessary re-compilation [BUG] build system - duplicate vmm main exectuables Bareflank#537 Extended APIs configurable path Updated bfdriver to build under WDK10 and VS 2017 Joshua Zepf (2): Updated intrinsics unit tests (Bareflank#487) Expanded x2apic msrs Manohar Reddy (2): Change order of execution of delegates from FILO to FIFO (Bareflank#623) change name in the include header from memory_manager_x64 to memory_manager.h Rian Quinn (62): initial super build script build working cleanup double compile of sdk Bug fixes and cleanup cleanup merge README update README update small fixes to the super build, enables travis fix bug with travis Merge pull request Bareflank#455 from incertia/dev Fix UPDATE_DISCONNECTED Merge pull request Bareflank#457 from rianquinn/fix_update_disconnected Fix issue with rebuilds Merge pull request Bareflank#458 from rianquinn/fix_update_command add extended apis support Merge pull request Bareflank#460 from rianquinn/add_extended_apis Merge Repos into the Hypervisor Repo (Bareflank#470) cygwin updates (Bareflank#472) msbuild_updates (Bareflank#473) BFM cleanup. (Bareflank#475) Update .codecov.yml BFSDK missing unit tests (Bareflank#477) ELF loader cleanup / missing unit tests (Bareflank#478) Dev (Bareflank#479) bug fixes (Bareflank#480) missing VMCS unit tests (Bareflank#481) missing CRT unit tests (Bareflank#482) missing bfdriver unit tests (Bareflank#484) Windows Support (Bareflank#489) Codacy Update (Bareflank#491) Update CMakeFlags_Native_VS.txt Windows 7 Support (Bareflank#492) Update README.md Header Updates (Bareflank#504) Contributing Update (Bareflank#505) Fix issue with EAPIs unit testing (Bareflank#515) Update README.md arch cleanup (Bareflank#519) remove env.sh (Bareflank#520) Delegate Implementation (Bareflank#531) Build System Bug Fixes (Bareflank#575) Fix crash with Windows (Bareflank#578) Enable More Unit Tests (Bareflank#580) Include Path / Library Fix (Bareflank#581) Re-enable Codecov (Bareflank#582) Fix Include Issue / Enable Warnings (Bareflank#586) Remove CMake variables that cannot be changed in CCMake (Bareflank#588) Update README.md Change to relative paths (Bareflank#594) Move Debug Intrinsics (Bareflank#599) Update Example Config (Bareflank#600) Rename BFVMM Classes (Bareflank#601) Convert Hypervisor to use Delegates (Bareflank#610) Redownload on Error (Bareflank#612) Move Check to Cpp (Bareflank#615) Relocate / Rename Memory Manager (Bareflank#618) Add support for unordered_map (Bareflank#625) Changes to support EAPIs (Bareflank#627) Disable Cygwin (Bareflank#628) Additional Changes to support EAPIs (Bareflank#629) VMX Bug Fix (Bareflank#633) Will Song (2): Add support for using local repositories when building Bareflank. Update README.md “rianquinn” (6): Fix Protected Delegate Issue Add BFVMM Namespace Fix Small Ninja Issue Mods for EAPIs Missing Header Guard Add IntelliSense Support
connojd
pushed a commit
to connojd/hypervisor
that referenced
this pull request
Mar 2, 2018
AlexLanzano (1): map_with_cr3: fixed pml4 mapping when cr3 control bits are set (Bareflank#471) Chris Pavlina (23): Simple bugfixes in env.sh (Bareflank#494) Rename serial_port_intel_x64 to serial_port_ns16550a.h (Bareflank#510) astyle/clang_tidy: ignore deleted files Add bfarch.h to detect architecture and set flags (Bareflank#513) Modify "make format" to check for extra blank lines (Bareflank#514) Add PL011 serial driver, genericize portio interface make format: don't attempt to format deleted files (Bareflank#521) Fix README.md (Bareflank#523) Minor language/typo fixes in README.md (Bareflank#524) Move portio back into x64 (Bareflank#522) Fix cast type in aarch64 serial MMIO methods (Bareflank#526) Add method set_port() to serial drivers Restructure bfvmm source and test files Add files created by Vagrant to .gitignore compiler_wrapper.sh: remove hard-coded target architecture (Bareflank#542) Add _start for aarch64 Fix build of newlib on aarch64 Fix sysroot install name of compiler_wrapper.sh bfelf_loader: implement relocations for aarch64 Pack struct registers_intel_x64_t (Bareflank#554) Add more aarch64 relocations (Bareflank#559) Fix incorrect types in serial_port_ns16550a (Bareflank#555) Add platform_info_t, support runtime serial port address (Bareflank#632) Connor Davis (27): Map guest GDT read-write before promotion (Bareflank#486) Merge pull request Bareflank#511 from cpavlina/ls-files-fix Merge pull request Bareflank#512 from cpavlina/pl011 Merge pull request Bareflank#525 from JWZepf/x2apic_msrs Merge pull request Bareflank#530 from cpavlina/serial-set-port Merge pull request Bareflank#539 from JaredWright/bug_534 Merge pull request Bareflank#538 from cpavlina/gitignore-vagrant-build Merge pull request Bareflank#536 from cpavlina/bfvmm_restructure Merge pull request Bareflank#540 from JaredWright/bug_537 Merge pull request Bareflank#541 from JaredWright/eapis_configurable_path Merge pull request Bareflank#544 from cpavlina/aarch64_start Merge pull request Bareflank#546 from cpavlina/newlib-fix Merge pull request Bareflank#547 from JaredWright/windows_support Merge pull request Bareflank#548 from cpavlina/compiler-wrapper-fix Merge pull request Bareflank#549 from cpavlina/aarch64_reloc [BUILD] Add USES_TERMINAL to targets Merge pull request Bareflank#551 from connojd/ninja Merge pull request Bareflank#579 from rianquinn/fix_protected_delegate x64/vmcs: Temporarily clear CR3[11:0] on promote (Bareflank#584) tests: Fix build errors (Bareflank#589) Merge pull request Bareflank#595 from rianquinn/rfc_583_1 Merge pull request Bareflank#597 from rianquinn/issue_596 Add changes required for clean eapis build (Bareflank#598) docs: Update Arch Linux setup instructions (Bareflank#603) Merge pull request Bareflank#614 from rianquinn/dev README.md: Update Arch instructions (Bareflank#624) Merge pull request Bareflank#630 from boddumanohar/rename Jared Wright (8): Build System Support for Aarch64 Bareflank#498 (Bareflank#499) New cmake build system (Bareflank#532) Removed hard-coded path to extended apis for format and tidy targets (Bareflank#543) bfdriver double-compile bug (Bareflank#562) New VMM extension integration mechanism (Bareflank#560) Build system dependency caching (Bareflank#567) Merge pull request Bareflank#616 from rianquinn/announcement_613_2 Merge pull request Bareflank#617 from rianquinn/announcement_613_3 JaredWright (4): [BUG] build system - unnecessary re-compilation [BUG] build system - duplicate vmm main exectuables Bareflank#537 Extended APIs configurable path Updated bfdriver to build under WDK10 and VS 2017 Joshua Zepf (2): Updated intrinsics unit tests (Bareflank#487) Expanded x2apic msrs Manohar Reddy (2): Change order of execution of delegates from FILO to FIFO (Bareflank#623) change name in the include header from memory_manager_x64 to memory_manager.h Rian Quinn (62): initial super build script build working cleanup double compile of sdk Bug fixes and cleanup cleanup merge README update README update small fixes to the super build, enables travis fix bug with travis Merge pull request Bareflank#455 from incertia/dev Fix UPDATE_DISCONNECTED Merge pull request Bareflank#457 from rianquinn/fix_update_disconnected Fix issue with rebuilds Merge pull request Bareflank#458 from rianquinn/fix_update_command add extended apis support Merge pull request Bareflank#460 from rianquinn/add_extended_apis Merge Repos into the Hypervisor Repo (Bareflank#470) cygwin updates (Bareflank#472) msbuild_updates (Bareflank#473) BFM cleanup. (Bareflank#475) Update .codecov.yml BFSDK missing unit tests (Bareflank#477) ELF loader cleanup / missing unit tests (Bareflank#478) Dev (Bareflank#479) bug fixes (Bareflank#480) missing VMCS unit tests (Bareflank#481) missing CRT unit tests (Bareflank#482) missing bfdriver unit tests (Bareflank#484) Windows Support (Bareflank#489) Codacy Update (Bareflank#491) Update CMakeFlags_Native_VS.txt Windows 7 Support (Bareflank#492) Update README.md Header Updates (Bareflank#504) Contributing Update (Bareflank#505) Fix issue with EAPIs unit testing (Bareflank#515) Update README.md arch cleanup (Bareflank#519) remove env.sh (Bareflank#520) Delegate Implementation (Bareflank#531) Build System Bug Fixes (Bareflank#575) Fix crash with Windows (Bareflank#578) Enable More Unit Tests (Bareflank#580) Include Path / Library Fix (Bareflank#581) Re-enable Codecov (Bareflank#582) Fix Include Issue / Enable Warnings (Bareflank#586) Remove CMake variables that cannot be changed in CCMake (Bareflank#588) Update README.md Change to relative paths (Bareflank#594) Move Debug Intrinsics (Bareflank#599) Update Example Config (Bareflank#600) Rename BFVMM Classes (Bareflank#601) Convert Hypervisor to use Delegates (Bareflank#610) Redownload on Error (Bareflank#612) Move Check to Cpp (Bareflank#615) Relocate / Rename Memory Manager (Bareflank#618) Add support for unordered_map (Bareflank#625) Changes to support EAPIs (Bareflank#627) Disable Cygwin (Bareflank#628) Additional Changes to support EAPIs (Bareflank#629) VMX Bug Fix (Bareflank#633) Will Song (2): Add support for using local repositories when building Bareflank. Update README.md “rianquinn” (6): Fix Protected Delegate Issue Add BFVMM Namespace Fix Small Ninja Issue Mods for EAPIs Missing Header Guard Add IntelliSense Support
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fix build of newlib on aarch64
newlib on aarch64 uses a few nonstandard features that require special build flags:
-no-integrated-as
to force use of binutils asasm()
instead of__asm__()
, not available in clang with-std=c99
unless-fasm
is given.Signed-off-by: Chris Pavlina pavlinac@ainfosec.com