Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: mongodb/mongo
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: master
Choose a base ref
...
head repository: basak/mongo
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 6 commits
  • 5 files changed
  • 1 contributor

Commits on Dec 13, 2013

  1. SERVER-12064 Atomic operations for gcc non-Intel architectures

    Add support for non-Intel architectures by using gcc builtins where
    possible, but only on non-Intel builds. This permits builds to continue
    to work on Intel architectures even with older gcc versions that do not
    have the builtins.
    
    atomic_intrinsics_gcc.h contains non-portable Intel assembly, so move it
    to atomic_intrinsics_gcc_intel.h and add an
    atomic_intrinsics_gcc_generic.h equivalent that uses only modern gcc
    builtins.
    
    Adjust atomic_intrinsics.h to use atomic_intrinsics_gcc_intel.h in the
    Intel case, and atomic_instrinsics_gcc_generic.h in an additional
    "otherwise" case.
    
    This does not change behaviour or compatibility in the common IA-32 and
    x86_64 cases. The previously existing code will continue to be used in
    these cases. An older gcc without the modern gcc builtins will continue
    to be able to build on these architectures because the previously
    existing assembly will be used.
    
    This does make this code fully portable to any architecture supported by
    a modern gcc, since the new, generic code will be used in this case.
    basak committed Dec 13, 2013
    Configuration menu
    Copy the full SHA
    46415a2 View commit details
    Browse the repository at this point in the history
  2. SERVER-12065 Support ARM and AArch64 builds

    Detect platforms that define __arm__ and __aarch64__ as 32-bit and
    64-bit platforms respectively.
    basak committed Dec 13, 2013
    Configuration menu
    Copy the full SHA
    e24121e View commit details
    Browse the repository at this point in the history
  3. SERVER-12064 Use gcc atomic builtins if available

    Switch to using gcc atomic builtins for atomic operations if using a new
    enough gcc and clang and support is available. Otherwise, fall back to
    the old behaviour of existing non-portable inline assembly to continue
    to support builds on older versions of gcc.
    basak committed Dec 13, 2013
    Configuration menu
    Copy the full SHA
    86da5bd View commit details
    Browse the repository at this point in the history

Commits on Dec 16, 2013

  1. Configuration menu
    Copy the full SHA
    34b5010 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    caf2c87 View commit details
    Browse the repository at this point in the history

Commits on Dec 17, 2013

  1. Use .cpp instead of .c in config test

    Since we're using a bool, defaulting to C++ (or otherwise enabling bool)
    is mandatory.
    basak committed Dec 17, 2013
    Configuration menu
    Copy the full SHA
    c3a7fa3 View commit details
    Browse the repository at this point in the history
Loading