You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Instantly share code, notes, and snippets.
👨💻
Miguel A. Arroyo
mayanez
👨💻
Research interests in system security, compilers, computer architecture, and cyber-physical systems.
This file contains hidden or 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
ldd drop-in replacement for cross-compilation toolchains.
This file contains hidden or 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
-fstack-protector-all with return address XOR (per 1999 StackGuard)
Tests!
Configuration
Clang user interface
add a better heuristic to use with this than -fstack-protector-all ("can corrupt memory" -> canary)
support leaving SelectionDAG SSP enabled for sibling call optimization compatibility
The AArch64 implementation is far from ideal performance-wise, since it depends on forcing the generation of a proper frame to store and load the return address. It's not clear how to improve this yet.
This file contains hidden or 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
This file contains hidden or 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
This file contains hidden or 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
C/C++ cross compilation from the command line for the Intel Edison
C/C++ cross compilation from the command line for the Intel Edison
It is not necessary to use the Eclipse environment in order to compile code for the Intel Edison. Command line compilation is possible on all platforms and is relatively straightforward. For linux and OS/X the simplest method is to download the SDK for the respective platform and setup as described below. Although Intel lists SDKs for both 32 and 64 bit Windows, I find it simpler to setup command line compilation from the integrated IOT platform installation.
All three platforms use the GNU compiler tools (gcc, g++, and friends) and the main differences really come down to differences in the command shell usage. Consequently, the procedures have the following common elements.
Install the cross compilation tool chain and library file-system.
Setup the path so that the operating system can find the compilers and other utilities.
Setup environment variables to simplify the command line and tell the compilers where to find librari
This file contains hidden or 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
how to fix a bunch of nested submodules so that they are subtrees
Submodules and nested submodules
You have a project with a submodule and a nested submodule. it took me a while to figure out how to convert it to subtrees.
why convert to subtrees:
The basic reason is to convert is to make it so that deployment and installation by others is easier and doesn't create as many problems when branching.
basic steps:
The basic process to do this (there are others that involve splitting, but i found this to be easier).
in a repo named with a :