Skip to content
Permalink
Branch: master
Commits on Jun 13, 2019
  1. cmake: Introduce toolchain_ld_link_elf to abstract linker invocation

    mped-oticon authored and aescolar committed May 7, 2019
    Final step of linker abstraction:
     * Abstract zephyr_lnk by including it in toolchain_ld_link_elf.
     * Abstract relevant uses of target_link_libraries.
     * Introduce toolchain_ld_force_undefined_symbols.
    
    No functional change expected.
    
    This is motivated by the wish to abstract Zephyr's usage of toolchains,
    permitting non-intrusive porting to other (commercial) toolchains.
    
    Signed-off-by: Mark Ruvald Pedersen <mped@oticon.com>
Commits on May 12, 2019
  1. cmake: Toolchain abstraction: Introduce toolchain_ld_configure_files

    mped-oticon authored and nashif committed May 3, 2019
    No functional change expected.
    
    This is motivated by the wish to abstract Zephyr's usage of toolchains,
    permitting non-intrusive porting to other (commercial) toolchains.
    
    Signed-off-by: Mark Ruvald Pedersen <mped@oticon.com>
Commits on May 8, 2019
  1. cmake: Rename kernel_elf to zephyr_final

    mped-oticon authored and nashif committed May 7, 2019
     * KERNEL_ELF was easily confused with KERNEL_ELF_NAME and KERNEL_NAME.
     * kernel_elf as the name of the binary indicates it somehow only
       contains the kernel, which is not correct.
    
    Rename to zephyr_final as this is the reality: Zephyr elf has been
    linked again (a number of times) due to generated kernel files.
    
    Signed-off-by: Mark Ruvald Pedersen <mped@oticon.com>
  2. cmake: Toolchain abstraction: move PROPERTY_LINKER_SCRIPT_DEFINES

    mped-oticon authored and nashif committed May 7, 2019
    Move PROPERTY_LINKER_SCRIPT_DEFINES to toolchain_ld_base.
    
    No functional change expected.
    
    This is motivated by the wish to abstract Zephyr's usage of toolchains,
    permitting non-intrusive porting to other (commercial) toolchains.
    
    Signed-off-by: Mark Ruvald Pedersen <mped@oticon.com>
Commits on May 4, 2019
  1. cmake: Toolchain abstraction: Introduce toolchain_ld_relocation macro

    mped-oticon authored and nashif committed May 3, 2019
    No functional change expected.
    
    This is motivated by the wish to abstract Zephyr's usage of toolchains,
    permitting non-intrusive porting to other (commercial) toolchains.
    
    Signed-off-by: Mark Ruvald Pedersen <mped@oticon.com>
Commits on May 2, 2019
  1. cmake: move configure_linker_script to ld/target.cmake

    mped-oticon authored and aescolar committed Apr 29, 2019
    While configure_linker_script() may be useful for other linkers, it
    currently only aimed at GNU ld. To really be useful among different
    linkers, we would need to abstract its usage of the C preprocessor.
    We can do this later, if needed.
    
    No functional change expected.
    
    Signed-off-by: Mark Ruvald Pedersen <mped@oticon.com>
  2. cmake: simplify configure_linker_script: avoid deriving define from name

    mped-oticon authored and aescolar committed Apr 29, 2019
    Rather than associating defines within the function, let the call sites
    themselves pick the appropriate define. Add new argument for this.
    This also permits us to remove regex matching.
    
    No functional change expected.
    
    Signed-off-by: Mark Ruvald Pedersen <mped@oticon.com>
  3. cmake: configure_linker_script: accept argument with file extension

    mped-oticon authored and aescolar committed Apr 29, 2019
    Reduce the amount of {pre,post}fixing magic: I.e. let it be clearer at
    call sites that "linker.cmd" is a file, rather than having to know that
    "linker" will be postfixed with ".cmd" internally.
    
    Change argument name to linker_script_gen, to better indicate that we
    are producing a generated file.
    
    No functional change expected.
    
    Signed-off-by: Mark Ruvald Pedersen <mped@oticon.com>
  4. cmake: rename construct_add_custom_command_for_linker_pass macro

    mped-oticon authored and aescolar committed Apr 29, 2019
    Now that we avoid the two-step procedure, we can simplify the name of
    the construct_add_custom_command_for_linker_pass macro.
    
    Move description comment up to head of definition, making the purpose
    clearer.
    
    No functional change expected.
    
    Signed-off-by: Mark Ruvald Pedersen <mped@oticon.com>
  5. cmake: change construct_add_custom_command_for_linker_pass into macro

    mped-oticon authored and aescolar committed Apr 29, 2019
    Change construct_add_custom_command_for_linker_pass from function into
    macro. The purpose of the function was to set the output variable to a
    string that would be fed to add_custom_command. This meant all use
    required a two-step procedure and an intermediate
    variable (custom_command).
    
    The environmental leakage from a macro in this case is small, so let's
    just simplify to a macro and avoid the two-step.
    
    No functional change expected.
    
    Signed-off-by: Mark Ruvald Pedersen <mped@oticon.com>
  6. cmake: whitespace alignment of syscall_macros_h

    mped-oticon authored and aescolar committed Apr 29, 2019
    No functional change expected.
    
    Signed-off-by: Mark Ruvald Pedersen <mped@oticon.com>
  7. cmake: remove unused ALIGN_SIZING_DEP

    mped-oticon authored and aescolar committed Apr 29, 2019
    Full grep reveal ALIGN_SIZING_DEP is only mentioned in cmake, where
    it is never assigned a value.
    
    No functional change expected.
    
    Signed-off-by: Mark Ruvald Pedersen <mped@oticon.com>
  8. cmake: Toolchain abstraction: introduce toolchain_ld_cpp

    mped-oticon authored and aescolar committed Apr 26, 2019
    No functional change expected.
    
    This is motivated by the wish to abstract Zephyr's usage of toolchains,
    permitting non-intrusive porting to other (commercial) toolchains.
    
    Signed-off-by: Mark Ruvald Pedersen <mped@oticon.com>
  9. cmake: Toolchain abstraction: move symbol sorting into toolchain_ld_base

    mped-oticon authored and nashif committed Apr 25, 2019
    No functional change expected.
    
    This is motivated by the wish to abstract Zephyr's usage of toolchains,
    permitting non-intrusive porting to other (commercial) toolchains.
    
    Signed-off-by: Mark Ruvald Pedersen <mped@oticon.com>
  10. cmake: Toolchain abstraction: orphan handling in toolchain_ld_baremetal

    mped-oticon authored and nashif committed Apr 25, 2019
    Move GNU ld linker specific flags related to orphan handling into
    toolchain_ld_baremetal().
    
    No functional change expected.
    
    This is motivated by the wish to abstract Zephyr's usage of toolchains,
    permitting non-intrusive porting to other (commercial) toolchains.
    
    Signed-off-by: Mark Ruvald Pedersen <mped@oticon.com>
  11. cmake: Toolchain abstraction: build-id,gc-sections to toolchain_ld_base

    mped-oticon authored and nashif committed Apr 25, 2019
    Move --gc-sections flag to toolchain_ld_base()
    Move --build-id=none flag to toolchain_ld_base()
    
    No functional change expected.
    
    This is motivated by the wish to abstract Zephyr's usage of toolchains,
    permitting non-intrusive porting to other (commercial) toolchains.
    
    Signed-off-by: Mark Ruvald Pedersen <mped@oticon.com>
  12. Bluetooth: controller: commentary and readability improvements

    mped-oticon authored and carlescufi committed Feb 27, 2019
    * Rename the stack local 'done' to 'evdone' so as to disambiguate from
      MFIFO_DEQUEUE_PEEK(done) which is actually 'mfifo_done'.
    
    * add comment on ull_slave_done
    
    * add comments to addr_us_get
    
    * add comments to HCI_CLASS
    
    Signed-off-by: Mark Ruvald Pedersen <mped@oticon.com>
Commits on Apr 30, 2019
  1. cmake: Toolchain abstraction: introduce toolchain_ld_baremetal()

    mped-oticon authored and nashif committed Apr 25, 2019
    The intent of toolchain_ld_baremetal() is to collect the flags belonging
    to non-hosted (i.e. POSIX-based) targets.
    
    No functional change expected.
    
    This is motivated by the wish to abstract Zephyr's usage of toolchains,
    permitting non-intrusive porting to other (commercial) toolchains.
    
    Signed-off-by: Mark Ruvald Pedersen <mped@oticon.com>
  2. cmake: Toolchain abstraction: move LINKERFLAGPREFIX under GNU ld

    mped-oticon authored and nashif committed Apr 25, 2019
    * LINKERFLAGPREFIX's value is GNU ld specific, and
    * LINKERFLAGPREFIX is not a convention always honored by all linkers.
    
    Thus we shall not set it from the common root CMakeList.txt.
    So we move to linker/ld/target.cmake.
    
    No functional change expected.
    
    This is motivated by the wish to abstract Zephyr's usage of toolchains,
    permitting non-intrusive porting to other (commercial) toolchains.
    
    Signed-off-by: Mark Ruvald Pedersen <mped@oticon.com>
Commits on Apr 28, 2019
  1. cmake: Toolchain abstraction: use LINKER, introduce toolchain_ld_base

    mped-oticon authored and nashif committed Apr 25, 2019
    toolchain_ld_base() represents flags that are fundamental to linking or
    otherwise does not belong in any further specified linker flag category.
    
    No functional change expected.
    
    This is motivated by the wish to abstract Zephyr's usage of toolchains,
    permitting non-intrusive porting to other (commercial) toolchains.
    
    Signed-off-by: Mark Ruvald Pedersen <mped@oticon.com>
  2. cmake: Toolchain abstraction: introduce LINKER variable

    mped-oticon authored and nashif committed Apr 25, 2019
    The LINKER variable is introduced to follow the same logic and flow as
    the existing COMPILER variable: That is, each TOOLCHAIN is responsible
    for choosing COMPILER and LINKER.
    
    Currently, Zephyr's build system is hardcoded for GNU ld.
    Reflect this in LINKER by letting all existing toolchains use GNU ld.
    
    No functional change expected.
    
    This is motivated by the wish to abstract Zephyr's usage of toolchains,
    permitting non-intrusive porting to other (commercial) toolchains.
    
    Signed-off-by: Mark Ruvald Pedersen <mped@oticon.com>
  3. cmake: fix intent description of toolchain_cc_nostdinc macro

    mped-oticon authored and nashif committed Apr 25, 2019
    toolchain_cc_nostdinc does not only obtain flags (to be placed in a
    variable), it obtains and applies them.
    
    No functional change expected.
    
    Signed-off-by: Mark Ruvald Pedersen <mped@oticon.com>
  4. cmake: fix whitespace

    mped-oticon authored and nashif committed Apr 25, 2019
    No functional change expected.
    
    Signed-off-by: Mark Ruvald Pedersen <mped@oticon.com>
Commits on Feb 23, 2019
  1. cmake: Toolchain abstraction: Assembly

    mped-oticon authored and nashif committed Jan 30, 2019
    Introduce toolchain_cc_asm macro to capture toolchain specific flags
    related to assembly.
    
    -D_ASMLANGUAGE is kept common for all, assuming -D as define flag is
    supported by all compilers (which is almost the case).
    
    No functional change expected.
    
    Clang's flags are compatible with gcc, and are thus inherited.
    
    This is motivated by the wish to abstract Zephyr's usage of toolchains,
    permitting easier porting to other (commercial) toolchains.
    
    Signed-off-by: Mark Ruvald Pedersen <mped@oticon.com>
Commits on Feb 19, 2019
  1. cmake: Toolchain abstraction: C++

    mped-oticon authored and nashif committed Feb 18, 2019
    Introduce toolchain_cc_cpp_*-family of macros.
    
    Move the following into the toolchain_cc_cpp_* macros:
     * Common base set of flags
     * C++ standard version
     * RTTI
     * Exceptions
    
    These macros must be implemented by every compiler port.
    These macros set the respective flags, but leaves logic and control to
    the root CMakeLists.txt file.
    
    No functional change expected.
    
    Clang's C++ flags are compatible with gcc, and are thus
    inherited.
    
    This is motivated by the wish to abstract Zephyr's usage of toolchains,
    permitting easier porting to other (commercial) toolchains.
    
    Signed-off-by: Mark Ruvald Pedersen <mped@oticon.com>
  2. cmake: remove redundant compiler flags for C++

    mped-oticon authored and nashif committed Feb 19, 2019
    The compiler flags -ffunction-sections and -fdata-sections are already
    universally set from arch/common/CMakeLists.txt, so we shall not set
    them again for C++ only.
    
    Signed-off-by: Mark Ruvald Pedersen <mped@oticon.com>
  3. bluetooth: controller: Static mem_pdu_rx, remove PDU_RX_SIZE_MIN

    mped-oticon authored and carlescufi committed Feb 14, 2019
    mem_pdu_rx is not runtime resized meaning PDU_RX_SIZE_MIN is no longer
    relevant.
    
    Dynamic resizing was a left-over from the old bt controller.
    Its size field was only ever set to PDU_RX_SIZE_MIN.
    PDU_RX_SIZE_MIN only accounted for advertise PDUs.
    So we remove size field from mem_pdu_rx.
    
    However, the rest of the BT controller expects to be able to pull
    RX_CNT-number of valid nodes from the pool at init/reset (rx_alloc)
    time. This will fail unless we inflate the capacity by one.
    
    To avoid inflation-by-one, mem_* would have to be rewritten to avoid
    always-one-extra pattern.
    
    Signed-off-by: Mark Ruvald Pedersen <mped@oticon.com>
  4. bluetooth: controller: Refactor PDU_RX_POOL_SIZE

    mped-oticon authored and carlescufi committed Feb 14, 2019
    Refactor PDU_RX_POOL_SIZE into its constituents and name each term.
    
    No functional change expected.
    
    Signed-off-by: Mark Ruvald Pedersen <mped@oticon.com>
Commits on Feb 18, 2019
  1. bluetooth: controller: Document RX path flow from mayfly to HCI

    mped-oticon authored and nashif committed Feb 15, 2019
    No functional change expected.
    
    Signed-off-by: Mark Ruvald Pedersen <mped@oticon.com>
  2. cmake: Toolchain abstraction: optimizations

    mped-oticon authored and nashif committed Jan 30, 2019
    Introduce toolchain_cc_optimize_for_* family of macros.
    Each macro represents a general optimization class.
    Each macro is then responsible for setting an output variable to that
    class-of-optimization's flag.
    The names of these output variables are decided from the root
    CMakeLists.txt.
    
    No functional change expected.
    
    Clang's optimization flags are compatible with gcc, and are thus
    inherited.
    
    This is motivated by the wish to abstract Zephyr's usage of toolchains,
    permitting easier porting to other (commercial) toolchains.
    
    Signed-off-by: Mark Ruvald Pedersen <mped@oticon.com>
Commits on Feb 15, 2019
  1. bluetooth: controller: Add a few ticker comments

    mped-oticon authored and nashif committed Dec 13, 2018
    No functional change expected.
    
    Signed-off-by: Mark Ruvald Pedersen <mped@oticon.com>
  2. bluetooth: controller: Commentary in LLL header

    mped-oticon authored and nashif committed Dec 12, 2018
    No functional change expected.
    
    Signed-off-by: Mark Ruvald Pedersen <mped@oticon.com>
  3. bluetooth: controller: Document more of memq, mfifo

    mped-oticon authored and nashif committed Feb 14, 2019
     * Slight tweaks to memq comments,
     * Document most of mfifo through commentary.
    
    No functional change expected.
    
    Signed-off-by: Mark Ruvald Pedersen <mped@oticon.com>
  4. bluetooth: controller: Add comments across ull

    mped-oticon authored and nashif committed Feb 14, 2019
     * Clarify certain functions and data structures in upper link layer.
     * Disambiguate node rx event done, add commentary.
    
    MFIFO_DEQUEUE macro does string concatenation.
    Thus MFIFO_DEQUEUE(done) does not refer to done (the stack local), but
    mfifo_done.
    
    No functional change expected.
    
    Signed-off-by: Mark Ruvald Pedersen <mped@oticon.com>
  5. bluetooth: controller: Introduce ull_ref_dec for consistency

    mped-oticon authored and nashif committed Dec 13, 2018
    ull_ref_inc already existed, but not ull_ref_dec.
    No functional change expected.
    Consistency is preferred due to code navigation.
    
    Signed-off-by: Mark Ruvald Pedersen <mped@oticon.com>
Older
You can’t perform that action at this time.