187 Commits (c80f91ac9eb919784dbae4907bfe497962a72851)

Author SHA1 Message Date
Andre Puschmann 833ddc3229 build: fix linking failure on RPi 32bit
this fixes a linking problem with RPi 3 (and probably others) running
with Raspbian (new Raspberry Pi OS) that can't use the inline
atomic functions but instead require linking against the lib -latomic.

The CMake code is based on SoapyRTLSdr file (licensed under MIT)
https://github.com/pothosware/SoapyRTLSDR/blob/master/CheckAtomic.cmake
4 years ago
Andre Puschmann 7459a65a8e enb,rrc_ue: remove unused variable 4 years ago
Francisco 89628b691f add thread sanitizer cmake flag 4 years ago
Francisco b5692037a2 created macros for assertions and warnings. The assert macro prints the whole callstack on crash. The warning macro can just log a warning or call an assertion fail depending on the cmake flag STOP_ON_WARNING 4 years ago
Codebot 4523ee6087 rename srsLTE to srsRAN 4 years ago
Andre Puschmann d35d7aef76 cmake: add PARALLEL_COMPILE_JOBS option to project CMakeLists.txt
this allows to limit the number of compile jobs to e.g. one or two
which is needed when using parallel build systems like Ninja on
resource (RAM) contrained systems, like the RPi4
4 years ago
faluco 82db6544fb Add instrumentation points to rlc_am_lte::rlc_am_lte_tx::handle_control_pdu using srslog. 4 years ago
David Rupprecht 0f1586dd2d Deleted all HAVE_5GNR in CC and h files
CMakeList and travis yaml
4 years ago
Francisco dc4283c572 added cmake functions as helpers to set labels in ctests 4 years ago
Andre Puschmann 3784439088 add backward as backtrace pretty printer
this patch adds the MIT-licensed header-only library backward-cpp
as possible alternative for our internal backtrace-to-file
writer.
4 years ago
Ismael Gomez 1d0e5d725f Do not hide symbols in debug mode so backtraces can display function info 4 years ago
Andre Puschmann 07d2bc4fe8 change license header to agnostic version with hint to root LICENSE file 4 years ago
Pedro Alvarez 2dfe335117 Remove -Winline from compiler flags. 4 years ago
Xavier Arteaga ef799a9b42 Avoid GCC native architecture for AVX512 CPUs when AVX512 is disabled 4 years ago
faluco db03275337 - Fix compiler errors when trying to build the project without SIMD support. 4 years ago
faluco 12e82a947f
LTO compiler and linker fixes (#1676)
* Guard the LTO feature in a CMAKE option and document possible issues of using it.
4 years ago
Andre Puschmann 6c12728cc7 cmake: only add large function growth param when using gcc
the param is only available in gcc so we must not add it to the CFLAGS
when compiling with clang
4 years ago
Andre Puschmann fffff5e7bc cmake: increase function inlining limit
gcc sets the inlining limit a bit arbitrary and the default gcc
on the RPi2 seems to use a lower value so compiling the SIMD
extensions fails with an "inlining failed" error in
srslte_mat_2x2_mmse_csi_simd().

this patch increases the default value. even though its
increased for all platforms it shouldn't case issues on other
machines. the value isn't used by clang.
4 years ago
faluco 3c59d90c17 Disabled strict aliasing in C and C++. 5 years ago
faluco 3fa5926cd5 Fix SIMD neg operation which was inverted.
Re-enable -Werror.
5 years ago
Andre Puschmann 189685b6f5 demod_soft: fix clang warning in demod NEON code
Try to bring back compilation.
Disable temporarily Werror.

Re-enable two simd functions.
5 years ago
faluco 2deeccb416 Re-enable -Werror. 5 years ago
faluco d3cb5dcffd Start fixing clang 10.0.0 warnings.
Disable -Werror temporarily.
5 years ago
faluco da4f9cde40 Enable -Werror by default except for older GCCs. 5 years ago
Andre Puschmann 99c3975f83 remove CMake option to disable glibc header for IPv6
we've added this to allow building for older glibc
version that cause issues with redefining some structs.

this patch removes the flag and auto-detects it using the glibc version
5 years ago
Filipe Laíns e8e1ffefa9 cmake: enable choosing CPU extesions
`AUTO_DETECT_ISA` will disable the resolution of the SSE packages
and the user will have to manually set `HAVE_{AVX,AVX2,SSE}`.

Solves #453

Signed-off-by: Filipe Laíns <lains@archlinux.org>
5 years ago
Andre Puschmann db91e9e772 cmake: add CMake flag to disable project build when calling make install 5 years ago
Paul Sutton b1a127a546 Adding custom build target to build osmo-gsm-tester trial 5 years ago
Francisco Paisana e73cbb09b0 created tprof statistic for sliding windows 5 years ago
Francisco Paisana 269c852767 created a class for time profiling. An object of such class, if disabled, has almost zero overhead. Added a compile-time flag to turn on/off time profiling 5 years ago
Xavier Arteaga e832769ae6 Updated copyright 5 years ago
Andre Puschmann 0dd93c793c add CMake option for ZMQ-based end-to-end tests 5 years ago
Andre Puschmann 0247762265 adding basic shell script for running end-to-end tests 5 years ago
Ismael Gomez 52716f8716 Process HO complete in the background to avoid heap-after-use bug when PHY measurements are reported during a HO
rrc_meas refactor. Need to split commit

Fix typo

Temporal commit

Apply rx_gain_offset to neighbour cell measurements

srsLTE: modify TESTASSERT Macro to follow codeline

SRSUE: prevent RRC from having serving cell in neighbour list

SRSUE: DL HARQ does not need Time Aligment Timer. UL is disabled using PUCCH resources release

SRSUE: extend intra-frequency to CA SCell

SRSUE: fix confusing/ambiguous code in the RRC measurements and fix concurrency issue

SRSUE: remove RRC measurement report triggers when measurements are modified or HO succesful

SRSUE: fix compilation issues and Reest SIB indexes

Fixes sync using incorrect cell configuration when search cell does not find a correct cell

Small refactor to remove measurement report triggers always after removing measurement

SRSUE: Removed SIC PSS from UE

SRSUE: fix inter-frequency reestablishment and added more traces

SRSUE: Fix compilation issue
5 years ago
Andre Puschmann 9e1b8bc95e disabling certain PHY DL tests that aren't working on ARM due to Turbo issues 5 years ago
Pedro Alvarez 6d4303cd94 Added option to force 32bit compilation (useful for debug). Fixed various warnings when compiling in a 32 bit arch. 5 years ago
Andre Puschmann 0d3710176d remove -Werror=incompatible-pointer-types as CXX flag
seems to be only a valid C flag
5 years ago
Vasil Velichkov af2b4ecc79 Use -Wno-unused-but-set-variable only if supported
This fixes the following clang's warning

warning: unknown warning option '-Wno-unused-but-set-variable'; did you mean
      '-Wno-unused-const-variable'? [-Wunknown-warning-option]
5 years ago
Andre Puschmann 31d40304ff add CMake option to force usage of MKL while default is fftw 5 years ago
Vasil Velichkov f3cdee4bb2 Compile without -Werror when compiling with clang
clang currently prints a lot of warnings that will be fixed in
subsequent commits
5 years ago
Andre Puschmann 7885b5b9ee add CMake flag to enable 5G-NR components 5 years ago
Andre Puschmann 6e85b26367 enable ccache if found on system 5 years ago
Pedro Alvarez 6860617426 Removing more temporary changes to CMakeLists.txt 5 years ago
Pedro Alvarez 4746707d0b Revert temporary changes to cmakelists to support ninja 5 years ago
Pedro Alvarez 6265325e20 Starting to change test to also run the clock. 5 years ago
Pedro Alvarez 9b932f131c Added flag for colored output when using ninja instead of make. 5 years ago
Justin Tallon 4a1b8a5952 adding support for neon soft demodulation, adding cmake checks for aarch64
* adding support for neon soft demodulation, adding cmake checks for aarch64
* rearranging some arm cmake flags
5 years ago
Aleksander Morgado ba5f6e9ce4 build: fix ADD_CXX_COMPILER_FLAG_IF_AVAILABLE usages
This patch solves two different issues at the same time when building
with gcc/g++ 9.2.0:

 1) The -fvisibility=hidden support check was done using the C++
 compiler only (with check_cxx_compiler_flag), inside the block
 corresponding to the C compiler being GNU/clang, and the result of
 the check was applied to both C++ (CXX_FLAGS) and C (C_FLAGS) flags.
 Instead of this, there should be separate checks for the C and C++
 compilers, each of them modifying a single set of <LANG>_FLAGS.

 2) -Wincompatible-pointer-types support check was done using the C++
 compiler only, and the result of the check was applied to both C++
 (CXX_FLAGS) and C (C_FLAGS) flags. But, this warning is not
 applicable to C++ and actually breaks compilation when using g++ 9.2:
    [  0%] Building CXX object lib/src/asn1/CMakeFiles/rrc_asn1.dir/rrc_asn1.cc.o
    cc1plus: error: ‘-Werror=’ argument ‘-Werror=incompatible-pointer-types’ is not valid for C++ [-Werror]
 Instead of this, there should be a check for this warning only using
 the C compiler, and therefore only modifying the C flags (C_FLAGS).

This patch splits the macro into one specific for C++ (which modifies
CXX_FLAGS) and one specific for C (which modifies C_FLAGS). And so,
the macro call to check for `-Werror=incompatible-pointer-types' is
made C-only, and the one for `-fvisibility=hidden` is done for both C
and C++ targets (each on the correct GNU/clang compiler block).

Due to how the tests are done in cmake, the '-fvisibility=hidden'
check wasn't even succeding before, so the compiler option wasn't
being effectively used. The cmake flags.make file contents throughout
the project are updated as follows now:

Before this change, we had:
   C_FLAGS   = -Werror=incompatible-pointer-types ...
   CXX_FLAGS = -Werror=incompatible-pointer-types ...

And after this change, we have:
   C_FLAGS   = -Werror=incompatible-pointer-types -fvisibility=hidden ...
   CXX_FLAGS = -fvisibility=hidden ...
5 years ago
Pedro Alvarez 5a1883b748 Making sure that we can get colored output when using Ninja instead of Make. 5 years ago
David Rupprecht f14bb1e760 Building srsLTE in a subdir of project 5 years ago