summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2017-08-09Ignore gcc force options with gcc_ignore_listsandbox/chanleebf/gcc_ignore_listChan Lee1-1/+3
This patch makes some packages don't want to be build with ASan option ignore ASan force options during compile/link time. You can add ignore_list in project config like below: Macros: %gcc_ignore_list acl glibc :Macros Change-Id: Ifd06ec018dd0b3193e2e4d1a33e24de509f16439 Signed-off-by: Chan Lee <chan45.lee@samsung.com>
2017-08-03[asan] Revert ABI changes after ASan patches backportingsubmit/tizen_base/20170804.023302submit/tizen_4.0_base/20170828.000001submit/tizen_4.0_base/20170828.000000submit/tizen_4.0_base/20170811.071500accepted/tizen/base/20170804.132713accepted/tizen/4.0/base/20170828.221138accepted/tizen/4.0/base/20170811.092812Slava Barinov5-63/+12
gcc/ * asan.c: Remove __odr_indicator usage. * asan_globals.cc: Likewise. libsanitizer/ * asan/asan_init_version.h: Revert asan version to 6. * asan/asan_interface_internal.h: Remove __odr_indicator. * asan/libtool-version: Revert shared object version to 3. Change-Id: I9f1c1766b7d00d659f9f47468f9293aeb52a0faf Signed-off-by: Slava Barinov <v.barinov@samsung.com>
2017-08-03gcc/chefmax2-0/+9
* asan.h (asan_intercepted_p): Handle BUILT_IN_STRCSPN, BUILT_IN_STRPBRK, BUILT_IN_STRSPN and BUILT_IN_STRSTR. Change-Id: I1560e575cd81bbe1c732f696bed559abe0f4ed9c git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@241984 138bc75d-0d04-0410-961f-82ee72b054a4
2017-08-03gcc/chefmax6-14/+30
* asan.h (ASAN_STACK_MAGIC_PARTIAL): Remove. * asan.c (ASAN_STACK_MAGIC_PARTIAL): Replace with ASAN_STACK_MAGIC_MIDDLE. gcc/testsuite/ * c-c++-common/asan/null-deref-1.c: Adjust testcase. Change-Id: I348a6339d17a2cb7faf293cefdc615d1d53d237a git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@241983 138bc75d-0d04-0410-961f-82ee72b054a4
2017-08-03libsanitizer/chefmax2-2/+8
* sanitizer_common/sanitizer_stacktrace.cc (GetCanonicFrame): Assume we compiled code with GCC when extracting the caller PC for ARM if no valid frame pointer is available. Change-Id: Ic974dcb0800c15eabf74a2c78f791c6cedc1aa44 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@241980 138bc75d-0d04-0410-961f-82ee72b054a4
2017-08-03PR sanitizer/63958chefmax3-3/+77
Reapply: 2014-10-14 David S. Miller <davem@davemloft.net> * sanitizer_common/sanitizer_platform_limits_linux.cc (time_t): Define at __kernel_time_t, as needed for sparc. (struct __old_kernel_stat): Don't check if __sparc__ is defined. * libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.h (__sanitizer): Define struct___old_kernel_stat_sz, struct_kernel_stat_sz, and struct_kernel_stat64_sz for sparc. (__sanitizer_ipc_perm): Adjust for sparc targets. (__sanitizer_shmid_ds): Likewsie. (__sanitizer_sigaction): Likewise. (IOC_SIZE): Likewsie. Change-Id: Iccdb7e974d8cb8fe5f6581da6b74b33c5bae7a9b git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@241978 138bc75d-0d04-0410-961f-82ee72b054a4
2017-08-03libsanitizer/chefmax211-5390/+14509
* All source files: Merge from upstream 285547. * configure.tgt (SANITIZER_COMMON_TARGET_DEPENDENT_OBJECTS): New variable. * configure.ac (SANITIZER_COMMON_TARGET_DEPENDENT_OBJECTS): Handle it. * asan/Makefile.am (asan_files): Add new files. * asan/Makefile.in: Regenerate. * ubsan/Makefile.in: Likewise. * lsan/Makefile.in: Likewise. * tsan/Makefile.am (tsan_files): Add new files. * tsan/Makefile.in: Regenerate. * sanitizer_common/Makefile.am (sanitizer_common_files): Add new files. (EXTRA_libsanitizer_common_la_SOURCES): Define. (libsanitizer_common_la_LIBADD): Likewise. (libsanitizer_common_la_DEPENDENCIES): Likewise. * sanitizer_common/Makefile.in: Regenerate. * interception/Makefile.in: Likewise. * libbacktace/Makefile.in: Likewise. * Makefile.in: Likewise. * configure: Likewise. * merge.sh: Handle builtins/assembly.h merging. * builtins/assembly.h: New file. * asan/libtool-version: Bump the libasan SONAME. Change-Id: I47a2591215c7529613d22a117644607b20db065b git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@241977 138bc75d-0d04-0410-961f-82ee72b054a4
2017-08-03Fix cleanup location for try_finally_expr.Slava Barinov20-26/+144
gcc/ * tree.def: Add STATEMENT_LIST_END tree code. * tree.c: Add STATEMENT_LIST_END handling as TS_COMMON. * gimplify.c (gimplify_expr): Use STATEMENT_LIST_END location to provide right information for try_finally_expr. * tree-eh.c (lower_try_finally_onedest): Set finally location * c-family/c-semantics.c (pop_stmt_list): Support single-statement lists extraction with STATEMENT_LIST_END in the end. * fold-const.c (operand_equal_p): Add STATEMENT_LIST_END support. gcc/cp/ * parser.c (cp_parser_compound_statement): Use STATEMENT_LIST_END to keep the location of closing brace. * pt.c: Handle STATEMENT_LIST_END. * constraint.cc (check_function_concept): Handle concept definitions with STATEMENT_LIST_END. * error.c (dump_expr): Add STATEMENT_LIST_END support. gcc/testsuite/ * g++.dg/ext/statement-list-end.C: New. Change-Id: Id22e953b97b52d0f2a2ba44065337a59639578db Signed-off-by: Slava Barinov <v.barinov@samsung.com>
2017-08-03packaging: Enable ASan bootstrap for ASan projectsSlava Barinov4-7/+7
GCC will be built in ASan projects. To test the GCC package the rpm macro `asanbootstrap' should be defined in project config. Change-Id: Id91425e2895f63ec92c8e83fb96f93aaade67728 Signed-off-by: Slava Barinov <v.barinov@samsung.com>
2017-08-03PR libstdc++/77356timshen5-42/+111
* include/bits/regex_compiler.tcc(_M_insert_bracket_matcher, _M_expression_term): Modify to support dash literal. * include/bits/regex_scanner.h: Add dash as a token type to make a different from the mandated dash literal by escaping. * include/bits/regex_scanner.tcc(_M_scan_in_bracket): Emit dash token in bracket expression parsing. * testsuite/28_regex/regression.cc: Add new testcases. (cherry-picked from commit 6f2116bed6e87668a914dc27fff34c7a68576d4e) Change-Id: I8f516ef995f0fb7db479c441c9e7714bab518806 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239794 138bc75d-0d04-0410-961f-82ee72b054a4
2017-08-03PR libstdc++/70745timshen3-8/+28
* include/bits/regex_executor.tcc (_Executor<>::_M_word_boundary): Fix the match_not_bow and match_not_eow behavior. * testsuite/28_regex/regression.cc: Add testcase. (cherry-picked from commit 566d49d6947f4590609562dd5f33d0e6b24a4267) Change-Id: Ie38f6f857575432c90f9ae17576ddff4c7bc021a git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@235382 138bc75d-0d04-0410-961f-82ee72b054a4
2017-08-03Remove target-libgfortran from default targetsSlava Barinov2-2/+21
* configure.ac: Make target-libgfortran a configure option. * configure: Regenerate. This fixes on-host build broken by 58909fae. Now OBS build works as usual since it provides --enable-libgfortran explicitly and on-host test builds are not broken with error `GNU Fortran compiler is not working' Change-Id: I39ea37ddb0e52c1e2b43e3d304da1389ce615010 Signed-off-by: Slava Barinov <v.barinov@samsung.com>
2017-08-03Switch on detect_leaks on 64-bit platforms by defaultSlava Barinov3-3/+4
libsanitizer/ * asan/asan_flags.cc: Switch on leak detection for 64-bit target. * lsan/lsan.cc: Likewise. * sanitizer_common/sanitizer_flags.inc: Likewise. Neither the OBS build nor sanitized firmware build are affected. When Tizen application developer enables ASan for his own package only and run it in 64-bit emulator (without any additional setup) ASan will report leaks additionally to all other error messages. Change-Id: Id16017e9bbe5221778330287c707bdf1846f0760 Signed-off-by: Slava Barinov <v.barinov@samsung.com>
2017-08-03[TTC-3] Fix asan_symbolize.py output frame numbers.Mikhail Kashkarov1-3/+19
If input line already symbolized and has format '#0 0x7f6e35cf2e45 in func foo:46' - fix internal frame number. packaging/ * asan_symbolized.py (have_line_to_symbolized): New function. Change-Id: I2c52c58f9e2d6dfce709e87dee2abd62b642bcad
2017-08-03[TTC-2] Fix asan_symbolize.py for C++ function prototypes detection.Mikhail Kashkarov1-1/+1
Change-Id: Iffa30dce19f99506312a93b79cc8deb05404a82a
2017-07-28packaging: append -ldl -lpthread to ASan force options.Sangmin Seo3-3/+3
When building for address sanitization, some packages complain about missing symbols due to omitted -ldl or -pthread. This patch appends -ldl and -lpthread to the ASan force options in order to resolve this kind of issue. Note that since -ldl and -lpthread are already needed by libasan, adding them to the ASan force options should not cause any problems. This patch also adds -Wl,--as-needed before -ldl -lpthread in the force options to prevent libdl or libpthread from being linked when unnecessary. Change-Id: Ic50059d4684e15773f56c589cfacda0bc944d955 Signed-off-by: Sangmin Seo <sangmin7.seo@samsung.com>
2017-07-28packaging: create a wrapper for collect2 in gcc-force-optionsSangmin Seo5-26/+121
gcc-force-options used to prepend/append all force options to the gcc/g++ wrappers. This approach worked well for most packages but caused some configure scripts to behave differently when linker flags are included in the force options. For example, if g++ is called with -ldl appended, it always goes to the linking phase. As a result, when configure has expanded AC_PROG_CXXCPP macro, variables related to preprocessor are not properly set and actual build ends up using incorrect compile and link flags. Since prepending or appending linker flags to the linker makes more sense than carrying them from the compilation phase, this patch basically divides the force options into compiler flags and linker ones, and inserts them to corresponding wrappers. Consequently, a wrapper for collect2 is created, as we did for gcc and g++, in order to pass the linker flags to the linker. Note that collect2 bridges the compiler and the actual linker, and thus creating a wrapper for collect2 is more portable and succinct than doing so for linkers. Change-Id: I8733bf14c5a2c04bfebe38a339c94e7a738cf17c Signed-off-by: Sangmin Seo <sangmin7.seo@samsung.com>
2017-07-27packaging: Add %gcc_force_options and %gcc_unforce_options macrosSlava Barinov3-30/+114
The macros can be used in certain .spec files to switch off sanitization of parts or modules without hard-coding sanitizer flags into packages. Change-Id: I1643a3bdd64a3d48855f02622feb064d482e3655 Signed-off-by: Slava Barinov <v.barinov@samsung.com> Signed-off-by: Sangmin Seo <sangmin7.seo@samsung.com>
2017-07-03Do not emit the -Wpsabi note for PR target/77728submit/tizen_base/20170705.085733accepted/tizen/base/20170707.183909Sangmin Seo2-30/+7
Since PR target/77728 issue did not exist in Tizen/Linaro GCC 4.9.2 and has been resolved with the upstream patches, it does not make sense to print the -Wpsabi note, which is "parameter passing for argument of type ... changed in GCC 7.1." This patch removes the -Wpsabi note generated by the commit 6da83d4adc857ba1c4370b2b8f32825d5cb13ebe and dg-message comments from the test code. gcc/config/ * arm/arm.c (aapcs_layout_arg): Remove code emitting -Wpsabi note. (arm_function_arg): Likewise. (arm_function_arg_boundary): Likewise. (arm_setup_incoming_varargs): Likewise. gcc/testsuite/ * g++.dg/abi/pr77728-1.C: Remove dg-message comments. Change-Id: I5432536052bf9d534e21157ddfd2ac57d25da59f Signed-off-by: Sangmin Seo <sangmin7.seo@samsung.com>
2017-06-28 Tests of AAPCS64 updates for alignment attributeMikhail Kashkarov13-0/+479
gcc/testsuite/ * gcc.target/aarch64/aapcs64/aapcs64.exp: Also execute rec_*.c * gcc.target/aarch64/aapcs64/rec_align-5.c: New. * gcc.target/aarch64/aapcs64/rec_align-6.c: New. * gcc.target/aarch64/aapcs64/rec_align-7.c: New. * gcc.target/aarch64/aapcs64/rec_align-8.c: New. * gcc.target/aarch64/aapcs64/rec_align-9.c: New. * gcc.target/aarch64/aapcs64/test_align-5.c: New. * gcc.target/aarch64/aapcs64/test_align-6.c: New. * gcc.target/aarch64/aapcs64/test_align-7.c: New. * gcc.target/aarch64/aapcs64/test_align-8.c: New. * gcc.target/aarch64/aapcs64/test_align-9.c: New. * gcc.target/aarch64/aapcs64/rec_vaarg-1.c: New. * gcc.target/aarch64/aapcs64/rec_vaarg-2.c: New. Backported from trunk: 84ee090575f413f92377812d277b705d023a4b0b Change-Id: Idf931ee8b3b5f556b7341734eb940f9a0926a03f
2017-06-28Implement AAPCS64 updates for alignment attribute.Mikhail Kashkarov2-26/+193
PR target/77728 gcc/ * config/aarch64/aarch64.c(aarch64_function_arg_alignmentq): Rewrite, looking one level down for records and arrays. Ignore TYPE_FIELDS chain decls other than FIELD_DECLs. (aarch64_layout_arg): Adjust aarch64_function_arg_alignment caller. (aarch64_function_arg_boundary): Likewise. Simplify using MIN/MAX. (aarch64_gimplify_va_arg_expr): Adjust aarch64_function_arg_alignment caller. testsuite/ * g++.dg/abi/pr77728-2.C: New test. Backported from trunk: be35fa06e8f976e1cb880988d5c82813106922fd 32cb614ad1f60267f914e38da26a73259299d720 26312b0ea5f3dfc6e3d8d8d18c76d464d6fa328e Change-Id: I4293167468353e9730dc918b87edda4484af8315
2017-06-22PR target/77728jakub2-17/+232
* config/arm/arm.c: Include gimple.h. (aapcs_layout_arg): Emit -Wpsabi note if arm_needs_doubleword_align returns negative, increment ncrn only if it returned positive. (arm_needs_doubleword_align): Return int instead of bool, ignore DECL_ALIGN of non-FIELD_DECL TYPE_FIELDS chain members, but if there is any such non-FIELD_DECL > PARM_BOUNDARY aligned decl, return -1 instead of false. (arm_function_arg): Emit -Wpsabi note if arm_needs_doubleword_align returns negative, increment nregs only if it returned positive. (arm_setup_incoming_varargs): Likewise. (arm_function_arg_boundary): Emit -Wpsabi note if arm_needs_doubleword_align returns negative, return DOUBLEWORD_ALIGNMENT only if it returned positive. testsuite/ * g++.dg/abi/pr77728-1.C: New test. Backported from trunk: 0e6ba620ce829dbde3ece9cefdbe09355ddfbb74 Change-Id: Ia454a63c3ebb930e546188ded5f339a967d81754 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@247259 138bc75d-0d04-0410-961f-82ee72b054a4
2017-06-13[ubsan] Fix for vptr checksubmit/tizen_base/20170705.023439submit/tizen_base/20170613.074657Denis Khalikov2-1/+22
Summary: There can be a situation when vptr not initializing by constructor of the object, and has a junk data which should be properly checked, because c++ standard says: "If the new-initializer is omitted, the object is default-initialized (8.5). [ Note: If no initialization is performed, the object has an indeterminate value. — end note ] Change-Id: I6fd297dc10b2ddb54eaed9e6eb3a46310dafead4 Signed-off-by: Denis Khalikov <d.khalikov@partner.samsung.com>
2017-06-13[asan] Fix ASan preload issue.Denis Khalikov1-6/+18
There might be a situation when ASan initializing later than shared library which has malloc in static constructor. (rtld doesn't provide the order of initiazation) In this case ASan doesn't initialize interceptors but already intercepting malloc. If malloc is too big to be handled by static local pool ASan will die with error: Sanitizer CHECK failed: libsanitizer/asan/asan_malloc_linux.cc:40 ((allocated_for_dlsym)) < ((kDlsymAllocPoolSize)) (1036, 1024) Backported from LLVM mainline rL305058 Change-Id: I93c9662953629b373506fcacacee43edd791c68f Signed-off-by: Denis Khalikov <d.khalikov@partner.samsung.com>
2017-06-08packaging: enable log_exe_name sanitizer option for ASansubmit/tizen_base/20170609.081211accepted/tizen/base/20170609.215631Chan Lee3-3/+3
This option shoule be 'log_exe_name' not 'log_exe_path' According to SanitizerCommonFlags, (https://github.com/google/sanitizers/wiki/SanitizerCommonFlags) Enabling this option makes ASan mention name of executable when reporting error and append executable name to logs (as in "log_path.exe_name.pid"). Change-Id: I0a49a2032355b6527ea7522faa1414ec8d567125 Signed-off-by: Chan Lee <chan45.lee@samsung.com>
2017-06-08PR sanitizer/80414Denis Khalikov4-5/+29
* ubsan.c (ubsan_expand_bounds_ifn): Pass original index to ubsan_encode_value. Change-Id: Id8e339c51aac586cd7d61e02a6711e875354948a Signed-off-by: Denis Khalikov <d.khalikov@partner.samsung.com>
2017-06-08[ubsan] Ported fix for PR sanitizer/79897Denis Khalikov4-0/+27
2017-03-07 Jakub Jelinek <jakub@redhat.com> PR sanitizer/79897 * ubsan.c (ubsan_encode_value): Call mark_addressable on the temporary. Change-Id: I075edb26f51d4ec2eccc2e59dbbe489b43b3b5db Signed-off-by: Denis Khalikov <d.khalikov@partner.samsung.com>
2017-06-08PR c++/79296 - ICE mangling localized template instantiationnathan2-20/+39
* decl2.c (determine_visibility): Use template fn context for local class instantiations. PR c++/79296 * g++.dg/cpp0x/pr79296.C: New. Change-Id: I51b9ba39a48a97a8836976baf5f598ede9ba695a git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245398 138bc75d-0d04-0410-961f-82ee72b054a4
2017-05-23[sanitizer-coverage] Add new coverage dump interfacesubmit/tizen_base/20170524.085448accepted/tizen/base/20170602.151755Dmitriy Nikiforov5-0/+123
libsanitizer/ * include/santizer/coverage_interface.h (__sanitizer_dump_coverage): New function. * sanitizer_common/sanitizer_interface_internal.h (__sanitizer_dump_coverage): Likewise. * sanitizer_common/sanitizer_coverage_libcdep_new.cc: New file. * sanitizer/Makefile.am: Updated. * sanitzer/Makefile.in: Updated. Partially backported from LLVM mainline r289498, r291267, r291736, r289851. Change-Id: I6c13ca8e6e7cfb3c98596970c8ba243296464eeb Signed-off-by: Dmitriy Nikiforov <d.nikiforov@partner.samsung.com>
2017-05-23[sanitizer-coverage] Add interface for coverage symbolizationDmitriy Nikiforov3-0/+66
libsanitizer/ * sanitizer_common/sanitizer_stacktrace_libcdep.cc: (__sanitizer_symbolize_pc): New function. (__sanitizer_get_module_and_offset_for_pc): New function. * include/sanitizer/common_interface_defs.h (__sanitizer_symbolize_pc): Likewise. (__sanitizer_get_module_and_offset_for_pc): Likewise. * sanitizer_common/sanitizer_interface_internal.h (__sanitizer_get_module_and_offset_for_pc): Likewise. Partially backported from LLVM mainline r281886, r279780, r288711, r281668, r281015, r289498. Also, fixed argument names in declarations of __sanitizer_get_module_and_offset_for_pc(). Change-Id: I3722eb8d3e1cd07b6b862f1a4421517b32b22c5a Signed-off-by: Dmitriy Nikiforov <d.nikiforov@partner.samsung.com>
2017-05-23[sanitizer-coverage] Add stub for trace-pc instrumentationDmitriy Nikiforov1-0/+2
libsanitizer/ * sanitizer_common/sanitizer_coverage_libcdep.cc (__sanitizer_cov_trace_pc): New function. Change-Id: I1ead302ccb56c8f20d1a6e29a7cdef8963fa4090 Signed-off-by: Dmitriy Nikiforov <d.nikiforov@partner.samsung.com>
2017-05-16Move static array from header to .c file (fixed increased memory usage bs-45)tizen_4.0.m1_releasesubmit/tizen_base/20170518.085959accepted/tizen/base/20170519.201131Mikhail Kashkarov2-19/+20
Please, remove this commit when merging c1cb342. gcc/ * config/arm/arm-opts.h: Move struct arm_arch_core_flag and static array arm_arch_core_flags to... * common/config/arm/arm-common.c: There. Change-Id: Id71ddb5deac5372791b63f9bf03852e661477bf4
2017-04-28Do not build libgfortran unless requested explicitlysubmit/tizen_base/20170504.000140accepted/tizen/base/20170512.171103Slava Barinov1-2/+5
* gcc/fortran/config-lang.in : add conditional target_libs setup. This option does not make sense in upstream GCC - Fortran frontend is useless without runtime, but will work with qemu-accel in Tizen OBS environment. Change-Id: Ie42fa3201a0bc022ef46ef53b51be896ad091943 Signed-off-by: Slava Barinov <v.barinov@samsung.com>
2017-04-28packaging: add fortran compilerChan Lee3-6/+195
Change-Id: I139d3b29c690a05e29bcfcfa660350f63bbbdadc Signed-off-by: Chan Lee <chan45.lee@samsung.com>
2017-04-27commit 6fdba17a20fd7c5f31f39556dc511abe3a537204submit/tizen_base/20170428.032130accepted/tizen/base/20170429.025027sandbox/ibaravy/isan_baseDenis Khalikov1-0/+1
Author: Maxim Ostapenko <m.ostapenko@partner.samsung.com> Date: Fri Oct 28 06:49:53 2016 +0000 [asan/lsan] Avoid possible deadlock in dynamic ASan runtime thread initialization. There is possible deadlock in dynamic ASan runtime when we dlopen() shared lib which creates a thread at the global initialization stage. The scenario: 1) dlopen grabs a GI_pthread_mutex_lock in main thread. 2) main thread calls pthread_create, ASan intercepts it, calls real pthread_create and waits for the second thread to be "fully initialized". 3) Newly created thread tries to access a thread local disable_counter in LSan (to complete its "full initialization") and hangs in tls_get_addr_tail, because it also tries to acquire GI_pthread_mutex_lock. The issue is reproducible on relative recent Glibc versions e.g. 2.23. Differential Revision: https://reviews.llvm.org/D26028 Change-Id: I0ed82cb81dd9d37d0be96ece03b667090b72164a
2017-04-18Remove hard-coded path to extract-ubsan-logs scriptSlava Barinov1-1/+1
Change-Id: Id515f89e748fbe9a18f5a615e100eb530a0c5930 Signed-off-by: Slava Barinov <v.barinov@samsung.com>
2017-04-11Keep to use version 6.2.1submit/tizen_base/20170412.005421accepted/tizen/base/20170413.143919Dongkyun, Son6-6/+6
This is for the Tizen version policy (First released to 6.2.1 20161213) Change-Id: I6aa5d673c922401eff605448fe4ab6b3512ccd71 Signed-off-by: Dongkyun, Son <dongkyun.s@samsung.com>
2017-04-11packaging: add license files to all sub componentsDongkyun, Son3-6/+63
The license files are added to only library components because they could be included to target binary. Change-Id: I7fb9885843794ea47c29833ead402386d890d663 Signed-off-by: Chan Lee <chan45.lee@samsung.com> Signed-off-by: Dongkyun, Son <dongkyun.s@samsung.com>
2017-04-07packaging: remove cloogChan Lee4-9/+0
Cloog had been removed from gcc. Related git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218348 138bc75d-0d04-0410-961f-82ee72b054a4 Change-Id: Ifc898f5f4b429382d082b43e3cbfd4e46b226e2f Signed-off-by: Chan Lee <chan45.lee@samsung.com>
2017-04-03packaging: provide 64bit libs on 32bit build envChan Lee1-0/+5
In some cases, especially .Net toolchain needs 64bit libs to execute even though 32bit build environment. It's a little weird but possble because almost archtecture of build machine is 64bit. Change-Id: I0d8df53d4743a4fa1b2c00d6aeeeed77e8b964cf Signed-off-by: Chan Lee <chan45.lee@samsung.com>
2017-03-02Enabling libcc1 buildSlava Barinov3-6/+51
Change-Id: I4485bdf215e020450a65970474b591e98a7367f1
2017-03-01Add liblsan packagingSlava Barinov3-3/+54
Change-Id: I44084744a83cdc87e69b2a1f25cc4138bac31913 Signed-off-by: Slava Barinov <v.barinov@samsung.com>
2017-02-28Basing on 6.3.1 branchSlava Barinov3-3/+3
Change-Id: Idbb9664859cb4a000f1a5631bc948652b49e9fc4 Signed-off-by: Slava Barinov <v.barinov@samsung.com>
2017-02-27Move SanitizerToolName definition before MaybeMountProcFS.Maxim Ostapenko2-2/+2
The MaybeMountProcFS uses SanitizerToolName in its failure messages so we need it defined at this point. Change-Id: I6a568e1ebf3d646ecfbdb53fd8e48910e9b66559 Signed-off-by: Maxim Ostapenko <m.ostapenko@samsung.com>
2017-02-27Fix the UBSan inexpensive call sanitizationIvan Baravy4-10/+24
The change imported in order to fix false positive -Wmaybe-uninitialized in several packages in UBSan builds. * gimple.c: Include builtins.h (gimple_inexpensive_call_p): New function. * gimple.h (gimple_inexpensive_call_p): Declare. * tree-ssa-loop-ch.c (should_duplicate_loop_header_p): Use it. * tree-ssa-loop-ivcanon.c (tree_estimate_loop_size): Likewise; fix formatting. upstream hash: f18de397b1e0523fd840800399ec6ea21ec04af8 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@237172 138bc75d-0d04-0410-961f-82ee72b054a4 Authored-by: hubicka
2017-02-27Make lsan-force-options and lsan-build-env more usable. Factor out commonIvan Baravy8-45/+59
code from {A, UB}San to sanitizer_common code. Add -fno-omit-frame-pointer -U_FORTIFY_SOURCE to lsan-force-options because LSan heavily relies on frame pointers. Disable LSan in QEMU builds through LSAN_OPTIONS file. Refactor Tizen specific patches in ASan and UBSan.
2017-02-27Fix ASan tests.Maxim Ostapenko9-19/+79
Some ASan tests fail due to: 1) Unable to unwind malloc trace. 2) Return invalid code due to hant_on_error=false enabled by default. Let's fix this. Change-Id: I634c5bff0e21a693a4168eaa12f443cee114a83e Signed-off-by: Maxim Ostapenko <m.ostapenko@samsung.com>
2017-02-27Set detect_leaks = false and halt_on_error = false by default.Ivan Baravy4-4/+4
Set detect_leaks and halt_on_error to false by default because mic installs asan-build-env package too late.
2017-02-27Remove redundant calls of MaybeMountProcFS and refactor it.Maxim Ostapenko1-7/+2
It seems that we have lots of redundant MaybeMountProcFS, in particular each mapped sanitized shared library calls it from AsanInitializer constructor. Remove redudant MaybeMountProcFS calls from AsanInitializer and __asan_init. Also, it seems that under qemu-aarch64 opening /proc/self/maps for reading might be very expensive, so replace OpenFile("/proc/self/maps", RdOnly) with FileExists("/proc/self/maps") in MaybeMountProcFS to avoid expensive calls. Change-Id: I8ba28dbbc102be519fa2b284520509f601ec5cf7 Signed-off-by: Maxim Ostapenko <m.ostapenko@samsung.com>
2017-02-27Backport from GCC mainline.Ivan Baravy4-1/+58
2016-06-10 Maxim Ostapenko <m.ostapenko@samsung.com> PR sanitizer/71480 * varasm.c (place_block_symbol): Adjust alignment for asan protected STRING_CSTs even if TREE_CONSTANT_POOL_ADDRESS_P. * c-c++-common/asan/pr71480.c: New test.