58.0.3029.110
This commit is contained in:
parent
94cfba9126
commit
850545ed64
1
.gitignore
vendored
1
.gitignore
vendored
@ -19,3 +19,4 @@
|
||||
/chromium-57.0.2987.110-clean.tar.xz
|
||||
/chromium-57.0.2987.133-clean.tar.xz
|
||||
/chromium-58.0.3029.81-clean.tar.xz
|
||||
/chromium-58.0.3029.110-clean.tar.xz
|
||||
|
@ -1,25 +0,0 @@
|
||||
diff -up chromium-52.0.2743.82/chrome/common/chrome_content_client.cc.widevinefix chromium-52.0.2743.82/chrome/common/chrome_content_client.cc
|
||||
--- chromium-52.0.2743.82/chrome/common/chrome_content_client.cc.widevinefix 2016-07-22 12:18:49.505235856 -0400
|
||||
+++ chromium-52.0.2743.82/chrome/common/chrome_content_client.cc 2016-07-22 12:20:04.200789682 -0400
|
||||
@@ -203,10 +203,7 @@ void ComputeBuiltInPlugins(std::vector<c
|
||||
widevine_cdm.is_out_of_process = true;
|
||||
widevine_cdm.path = adapter_path;
|
||||
widevine_cdm.name = kWidevineCdmDisplayName;
|
||||
- widevine_cdm.description =
|
||||
- base::StringPrintf("%s (version: " WIDEVINE_CDM_VERSION_STRING ")",
|
||||
- kWidevineCdmDescription);
|
||||
- widevine_cdm.version = WIDEVINE_CDM_VERSION_STRING;
|
||||
+ widevine_cdm.description = kWidevineCdmDescription;
|
||||
content::WebPluginMimeType widevine_cdm_mime_type(
|
||||
kWidevineCdmPluginMimeType, kWidevineCdmPluginExtension,
|
||||
kWidevineCdmPluginMimeTypeDescription);
|
||||
@@ -555,8 +552,7 @@ void ChromeContentClient::AddContentDecr
|
||||
// CdmInfo needs |path| to be the actual Widevine library,
|
||||
// not the adapter, so adjust as necessary. It will be in the
|
||||
// same directory as the installed adapter.
|
||||
- const base::Version version(WIDEVINE_CDM_VERSION_STRING);
|
||||
- DCHECK(version.IsValid());
|
||||
+ const base::Version version;
|
||||
cdms->push_back(content::CdmInfo(kWidevineCdmType, version, cdm_path,
|
||||
codecs_supported));
|
||||
}
|
14
chromium-58.0.3029.81-ffmpeg-stdatomic.patch
Normal file
14
chromium-58.0.3029.81-ffmpeg-stdatomic.patch
Normal file
@ -0,0 +1,14 @@
|
||||
diff -up chromium-57.0.2987.21/third_party/ffmpeg/libavutil/cpu.c.ffmpeg_stdatomic chromium-57.0.2987.21/third_party/ffmpeg/libavutil/cpu.c
|
||||
--- chromium-57.0.2987.21/third_party/ffmpeg/libavutil/cpu.c.ffmpeg_stdatomic 2017-02-03 07:07:36.000000000 +0100
|
||||
+++ chromium-57.0.2987.21/third_party/ffmpeg/libavutil/cpu.c 2017-02-09 11:54:34.083000442 +0100
|
||||
@@ -20,6 +20,10 @@
|
||||
// Chromium: Windows doesn't provide stdatomic.h, so use the compat version.
|
||||
#if defined(_MSC_VER)
|
||||
#include <compat/atomics/win32/stdatomic.h>
|
||||
+// GCC 4.8 didn't have stdatomic, but was advertising it.
|
||||
+// https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58016
|
||||
+#elif !defined(__clang__) && defined(__GNUC__) && (__GNUC__ == 4 || (__GNUC__ == 4 && (__GNUC_MINOR__ == 8)))
|
||||
+#include <compat/atomics/gcc/stdatomic.h>
|
||||
#else
|
||||
#include <stdatomic.h>
|
||||
#endif
|
@ -0,0 +1,19 @@
|
||||
diff -up chromium-58.0.3029.96/ui/events/devices/x11/device_data_manager_x11.cc.revert chromium-58.0.3029.96/ui/events/devices/x11/device_data_manager_x11.cc
|
||||
--- chromium-58.0.3029.96/ui/events/devices/x11/device_data_manager_x11.cc.revert 2017-05-08 14:58:11.767482431 -0400
|
||||
+++ chromium-58.0.3029.96/ui/events/devices/x11/device_data_manager_x11.cc 2017-05-08 14:58:37.722960109 -0400
|
||||
@@ -790,15 +790,6 @@ void DeviceDataManagerX11::UpdateScrollC
|
||||
DCHECK(deviceid >= 0 && deviceid < kMaxDeviceNum);
|
||||
ScrollInfo& info = scroll_data_[deviceid];
|
||||
|
||||
- bool legacy_scroll_available =
|
||||
- (scroll_class_info->flags & XIScrollFlagNoEmulation) == 0;
|
||||
- // If the device's highest resolution is lower than the resolution of xinput1
|
||||
- // then use xinput1's events instead (ie. don't configure smooth scrolling).
|
||||
- if (legacy_scroll_available &&
|
||||
- std::abs(scroll_class_info->increment) <= 1.0) {
|
||||
- return;
|
||||
- }
|
||||
-
|
||||
switch (scroll_class_info->scroll_type) {
|
||||
case XIScrollTypeVertical:
|
||||
info.vertical.number = scroll_class_info->number;
|
@ -20,7 +20,7 @@
|
||||
# Requires is trickier.
|
||||
|
||||
%global __provides_exclude_from %{chromium_path}/.*\\.so|%{chromium_path}/lib/.*\\.so
|
||||
%global privlibs libaccessibility|libaura_extra|libaura|libbase_i18n|libbase|libbindings|libblink_common|libblink_core|libblink_modules|libblink_platform|libblink_web|libbluetooth|libboringssl|libbrowser_ui_views|libcaptive_portal|libcapture|libcc_animation|libcc_blink|libcc_ipc|libcc_proto|libcc|libcc_surfaces|libchromium_sqlite3|libclearkeycdm|libcloud_policy_proto_generated_compile|libcommon|libcompositor|libcontent|libcpp|libcrcrypto|libdbus|libdevice_base|libdevice_battery|libdevice_event_log|libdevice_gamepad|libdevices|libdevice_vibration|libdiscardable_memory_client|libdiscardable_memory_common|libdiscardable_memory_service|libdisplay_compositor|libdisplay|libdisplay_types|libdisplay_util|libdomain_reliability|libEGL|libevents_base|libevents_devices_x11|libevents_ipc|libevents_ozone_layout|libevents|libevents_x|libffmpeg|libfont_service_library|libgcm|libgeneric_sensor|libgeolocation|libgeometry|libgesture_detection|libgfx_ipc_color|libgfx_ipc_geometry|libgfx_ipc_skia|libgfx_ipc|libgfx|libgfx_x11|libgin|libgles2_c_lib|libgles2_implementation|libgles2_utils|libGLESv2|libgl_in_process_context|libgl_init|libgl_wrapper|libgpu|libgtk2ui|libicui18n|libicuuc|libipc|libjs|libkeyboard|libkeyboard_with_content|libkeycodes_x11|libkeyed_service_content|libkeyed_service_core|libmedia_blink|libmedia_gpu|libmedia|libmessage_center|libmidi|libmojo_common_lib|libmojo_ime_lib|libmojo_public_system_cpp|libmojo_public_system|libmojo_system_impl|libnative_theme|libnet|libnet_with_v8|libonc|libplatform|libpolicy_component|libpolicy_proto|libpower_monitor|libpower_save_blocker|libppapi_host|libppapi_proxy|libppapi_shared|libprefs|libprinting|libprotobuf_lite|libproxy_config|librange|libsandbox_services|libseccomp_bpf|libsessions|libshared_memory_support|libshell_dialogs|libskia|libsnapshot|libsql|libstartup_tracing|libstorage_browser|libstorage_common|libstub_window|libsuid_sandbox_client|libsurface|libtest_ime_driver_library|libtime_zone_monitor|libtracing_library|libtracing|libui_base_ime|libui_base|libui_base_x|libui_data_pack|libui_library|libui_touch_selection|libui_views_mus_lib|liburl_ipc|liburl_matcher|liburl|libuser_manager|libuser_prefs|libv8_libbase|libv8_libplatform|libv8|libviews|libwebdata_common|libweb_dialogs|libwebview|libwidevinecdmadapter|libwidevinecdm|libwm|libwtf|libx11_events_platform|libx11_window
|
||||
%global privlibs libaccessibility|libaura_extra|libaura|libbase_i18n|libbase|libbindings|libblink_common|libblink_core|libblink_modules|libblink_platform|libblink_web|libbluetooth|libboringssl|libbrowser_ui_views|libcaptive_portal|libcapture|libcapture_base|libcapture_lib|libcc_animation|libcc_blink|libcc_ipc|libcc_paint|libcc_proto|libcc|libcc_surfaces|libchromium_sqlite3|libclearkeycdm|libcloud_policy_proto_generated_compile|libcommon|libcompositor|libcontent|libcpp|libcrcrypto|libdbus|libdevice_base|libdevice_battery|libdevice_event_log|libdevice_gamepad|libdevices|libdevice_vibration|libdevice_vr|libdiscardable_memory_client|libdiscardable_memory_common|libdiscardable_memory_service|libdisplay_compositor|libdisplay|libdisplay_types|libdisplay_util|libdomain_reliability|libEGL|libevents_base|libevents_devices_x11|libevents_ipc|libevents_ozone_layout|libevents|libevents_x|libfingerprint|libffmpeg|libfont_service_library|libgcm|libgeneric_sensor|libgeolocation|libgeometry|libgesture_detection|libgfx_ipc_color|libgfx_ipc_geometry|libgfx_ipc_skia|libgfx_ipc|libgfx|libgfx_x11|libgin|libgles2_c_lib|libgles2_implementation|libgles2_utils|libGLESv2|libgl_in_process_context|libgl_init|libgl_wrapper|libgpu|libgtk2ui|libicui18n|libicuuc|libipc|libjs|libkeyboard|libkeyboard_with_content|libkeycodes_x11|libkeyed_service_content|libkeyed_service_core|libmedia_blink|libmedia_gpu|libmedia|libmessage_center|libmidi|libmojo_common_lib|libmojo_ime_lib|libmojo_public_system_cpp|libmojo_public_system|libmojo_system_impl|libnative_theme|libnet|libnet_with_v8|libonc|libplatform|libpolicy_component|libpolicy_proto|libpower_monitor|libpower_save_blocker|libppapi_host|libppapi_proxy|libppapi_shared|libprefs|libprinting|libprotobuf_lite|libproxy_config|librange|libsandbox_services|libseccomp_bpf|libsessions|libshared_memory_support|libshell_dialogs|libskia|libsnapshot|libsql|libstartup_tracing|libstorage_browser|libstorage_common|libstub_window|libsuid_sandbox_client|libsurface|libtest_ime_driver_library|libtime_zone_monitor|libtracing_library|libtracing|libui_base_ime|libui_base|libui_base_x|libui_data_pack|libui_library|libui_touch_selection|libui_views_mus_lib|liburl_ipc|liburl_matcher|liburl|libuser_manager|libuser_prefs|libv8_libbase|libv8_libplatform|libv8|libviews|libwebdata_common|libweb_dialogs|libwebview|libwidevinecdmadapter|libwidevinecdm|libwm|libwtf|libx11_events_platform|libx11_window
|
||||
%global __requires_exclude ^(%{privlibs})\\.so
|
||||
|
||||
# Try to not use the Xvfb as it is slow..
|
||||
@ -96,7 +96,7 @@ BuildRequires: libicu-devel >= 5.4
|
||||
%global majorversion 58
|
||||
|
||||
Name: chromium%{chromium_channel}
|
||||
Version: %{majorversion}.0.3029.81
|
||||
Version: %{majorversion}.0.3029.110
|
||||
Release: 1%{?dist}
|
||||
Summary: A WebKit (Blink) powered web browser
|
||||
Url: http://www.chromium.org/Home
|
||||
@ -158,7 +158,12 @@ Patch34: chromium-58.0.3029.81-enable-mp3.patch
|
||||
# Fix gn build
|
||||
# https://chromium.googlesource.com/chromium/src.git/+/379e35f6f3eaa41a97f2659249509ca599749b27%5E%21/tools/gn/bootstrap/bootstrap.py
|
||||
Patch35: chromium-58.0.3029.81-fix-gn.patch
|
||||
|
||||
# Revert https://chromium.googlesource.com/chromium/src/+/b794998819088f76b4cf44c8db6940240c563cf4%5E%21/#F0
|
||||
# https://bugs.chromium.org/p/chromium/issues/detail?id=712737
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1446851
|
||||
Patch36: chromium-58.0.3029.96-revert-b794998819088f76b4cf44c8db6940240c563cf4.patch
|
||||
# Correctly compile the stdatomic.h in ffmpeg with gcc 4.8
|
||||
Patch37: chromium-58.0.3029.81-ffmpeg-stdatomic.patch
|
||||
|
||||
### Chromium Tests Patches ###
|
||||
Patch100: chromium-46.0.2490.86-use_system_opus.patch
|
||||
@ -194,11 +199,6 @@ Source10: https://dl.google.com/dl/edgedl/chrome/policy/policy_templates.zip
|
||||
Source11: chrome-remote-desktop@.service
|
||||
Source12: chromium-browser.appdata.xml
|
||||
Source13: master_preferences
|
||||
# Only needed for platforms where gcc doesn't have stdatomic.h
|
||||
# RHEL 7 or older
|
||||
# Taken from https://raw.githubusercontent.com/FFmpeg/FFmpeg/master/compat/atomics/gcc/stdatomic.h
|
||||
# on 2017-03-26
|
||||
Source14: stdatomic.h
|
||||
# We can assume gcc and binutils.
|
||||
BuildRequires: gcc-c++
|
||||
|
||||
@ -543,17 +543,13 @@ members of the Chromium and WebDriver teams.
|
||||
%patch33 -p1 -b .gcc7
|
||||
%patch34 -p1 -b .mp3
|
||||
%patch35 -p1 -b .fixgn
|
||||
%patch36 -p1 -b .revert
|
||||
%patch37 -p1 -b .ffmpeg-stdatomic
|
||||
|
||||
### Chromium Tests Patches ###
|
||||
%patch100 -p1 -b .use_system_opus
|
||||
%patch101 -p1 -b .use_system_harfbuzz
|
||||
|
||||
%if 0%{?fedora} >= 24
|
||||
# Do nothing. We're modern enough to not need it.
|
||||
%else
|
||||
cp -a %{SOURCE14} third_party/ffmpeg/
|
||||
%endif
|
||||
|
||||
%if 0%{?asan}
|
||||
export CC="clang"
|
||||
export CXX="clang++"
|
||||
@ -1453,13 +1449,13 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
|
||||
getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-desktop
|
||||
|
||||
%post -n chrome-remote-desktop
|
||||
%systemd_post chrome-remote-desktop.service
|
||||
%systemd_post chrome-remote-desktop@.service
|
||||
|
||||
%preun -n chrome-remote-desktop
|
||||
%systemd_preun chrome-remote-desktop.service
|
||||
%systemd_preun chrome-remote-desktop@.service
|
||||
|
||||
%postun -n chrome-remote-desktop
|
||||
%systemd_postun_with_restart chrome-remote-desktop.service
|
||||
%systemd_postun_with_restart chrome-remote-desktop@.service
|
||||
|
||||
%files
|
||||
%doc AUTHORS
|
||||
@ -1593,6 +1589,12 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt
|
||||
%{chromium_path}/chromedriver
|
||||
|
||||
%changelog
|
||||
* Mon May 15 2017 Tom Callaway <spot@fedoraproject.org> 58.0.3029.110-1
|
||||
- update to 58.0.3029.110
|
||||
|
||||
* Mon May 8 2017 Tom Callaway <spot@fedoraproject.org> 58.0.3029.96-1
|
||||
- update to 58.0.3029.96
|
||||
|
||||
* Fri Apr 21 2017 Tom Callaway <spot@fedoraproject.org> 58.0.3029.81-1
|
||||
- update to 58.0.3029.81
|
||||
|
||||
|
@ -182,7 +182,8 @@ header_files=" libavcodec/x86/inline_asm.h \
|
||||
libavutil/version.h \
|
||||
libswresample/swresample.h \
|
||||
libswresample/version.h \
|
||||
compat/va_copy.h "
|
||||
compat/va_copy.h \
|
||||
compat/atomics/gcc/stdatomic.h "
|
||||
|
||||
manual_files=" libavcodec/x86/hpeldsp_rnd_template.c \
|
||||
libavcodec/x86/rnd_template.c \
|
||||
|
1
sources
1
sources
@ -1,3 +1,4 @@
|
||||
SHA512 (depot_tools.git-master.tar.gz) = d3d6a1873b2b0296a8cd99e0d8d2e629a17b1808934b4972556168f8b4ccea60577ebaeab4445baf15afb1b04080808db59a832a5b61d247bd48da14fa6acf03
|
||||
SHA512 (policy_templates.zip) = 28f1f85eab1719dd1c6a70f7e4cd1c9bea46215adc327a32f2509098e70768a61dbb8b24c186279ec4e4e1299953c219e9eb71af6d5527fe9e422599ad0d785e
|
||||
SHA512 (chromium-58.0.3029.81-clean.tar.xz) = b2ac41d6eccfd025d816b814354330fe4a9bb81c212fd7b98f79cc6f0c693d1b2ce5fbe0ce9397d43808ffcfa171585769c9db5d4b7d24e9bf548c450f8ad7f6
|
||||
SHA512 (chromium-58.0.3029.110-clean.tar.xz) = f26be2eaabe47d6294fd411bbb9abe07721c54fe06e6792a3ff0bd173571bb84ee673bc022f626883fc133e5285cf1386ba8539351d4eb82102feb3cab5f9852
|
||||
|
173
stdatomic.h
173
stdatomic.h
@ -1,173 +0,0 @@
|
||||
/*
|
||||
* This file is part of FFmpeg.
|
||||
*
|
||||
* FFmpeg is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* FFmpeg is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with FFmpeg; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
/*
|
||||
* based on vlc_atomic.h from VLC
|
||||
* Copyright (C) 2010 Rémi Denis-Courmont
|
||||
*/
|
||||
|
||||
#ifndef COMPAT_ATOMICS_GCC_STDATOMIC_H
|
||||
#define COMPAT_ATOMICS_GCC_STDATOMIC_H
|
||||
|
||||
#include <stddef.h>
|
||||
#include <stdint.h>
|
||||
|
||||
#define ATOMIC_FLAG_INIT 0
|
||||
|
||||
#define ATOMIC_VAR_INIT(value) (value)
|
||||
|
||||
#define atomic_init(obj, value) \
|
||||
do { \
|
||||
*(obj) = (value); \
|
||||
} while(0)
|
||||
|
||||
#define kill_dependency(y) ((void)0)
|
||||
|
||||
#define atomic_thread_fence(order) \
|
||||
__sync_synchronize()
|
||||
|
||||
#define atomic_signal_fence(order) \
|
||||
((void)0)
|
||||
|
||||
#define atomic_is_lock_free(obj) 0
|
||||
|
||||
typedef _Bool atomic_flag;
|
||||
typedef _Bool atomic_bool;
|
||||
typedef char atomic_char;
|
||||
typedef signed char atomic_schar;
|
||||
typedef unsigned char atomic_uchar;
|
||||
typedef short atomic_short;
|
||||
typedef unsigned short atomic_ushort;
|
||||
typedef int atomic_int;
|
||||
typedef unsigned int atomic_uint;
|
||||
typedef long atomic_long;
|
||||
typedef unsigned long atomic_ulong;
|
||||
typedef long long atomic_llong;
|
||||
typedef unsigned long long atomic_ullong;
|
||||
typedef wchar_t atomic_wchar_t;
|
||||
typedef int_least8_t atomic_int_least8_t;
|
||||
typedef uint_least8_t atomic_uint_least8_t;
|
||||
typedef int_least16_t atomic_int_least16_t;
|
||||
typedef uint_least16_t atomic_uint_least16_t;
|
||||
typedef int_least32_t atomic_int_least32_t;
|
||||
typedef uint_least32_t atomic_uint_least32_t;
|
||||
typedef int_least64_t atomic_int_least64_t;
|
||||
typedef uint_least64_t atomic_uint_least64_t;
|
||||
typedef int_fast8_t atomic_int_fast8_t;
|
||||
typedef uint_fast8_t atomic_uint_fast8_t;
|
||||
typedef int_fast16_t atomic_int_fast16_t;
|
||||
typedef uint_fast16_t atomic_uint_fast16_t;
|
||||
typedef int_fast32_t atomic_int_fast32_t;
|
||||
typedef uint_fast32_t atomic_uint_fast32_t;
|
||||
typedef int_fast64_t atomic_int_fast64_t;
|
||||
typedef uint_fast64_t atomic_uint_fast64_t;
|
||||
typedef intptr_t atomic_intptr_t;
|
||||
typedef uintptr_t atomic_uintptr_t;
|
||||
typedef size_t atomic_size_t;
|
||||
typedef ptrdiff_t atomic_ptrdiff_t;
|
||||
typedef intmax_t atomic_intmax_t;
|
||||
typedef uintmax_t atomic_uintmax_t;
|
||||
|
||||
#define atomic_store(object, desired) \
|
||||
do { \
|
||||
*(object) = (desired); \
|
||||
__sync_synchronize(); \
|
||||
} while (0)
|
||||
|
||||
#define atomic_store_explicit(object, desired, order) \
|
||||
atomic_store(object, desired)
|
||||
|
||||
#define atomic_load(object) \
|
||||
(__sync_synchronize(), *(object))
|
||||
|
||||
#define atomic_load_explicit(object, order) \
|
||||
atomic_load(object)
|
||||
|
||||
#define atomic_exchange(object, desired) \
|
||||
({ \
|
||||
__typeof__(object) _obj = (object); \
|
||||
__typeof__(*object) _old; \
|
||||
do \
|
||||
_old = atomic_load(_obj); \
|
||||
while (!__sync_bool_compare_and_swap(_obj, _old, (desired))); \
|
||||
_old; \
|
||||
})
|
||||
|
||||
#define atomic_exchange_explicit(object, desired, order) \
|
||||
atomic_exchange(object, desired)
|
||||
|
||||
#define atomic_compare_exchange_strong(object, expected, desired) \
|
||||
({ \
|
||||
__typeof__(object) _exp = (expected); \
|
||||
__typeof__(*object) _old = *_exp; \
|
||||
*_exp = __sync_val_compare_and_swap((object), _old, (desired)); \
|
||||
*_exp == _old; \
|
||||
})
|
||||
|
||||
#define atomic_compare_exchange_strong_explicit(object, expected, desired, success, failure) \
|
||||
atomic_compare_exchange_strong(object, expected, desired)
|
||||
|
||||
#define atomic_compare_exchange_weak(object, expected, desired) \
|
||||
atomic_compare_exchange_strong(object, expected, desired)
|
||||
|
||||
#define atomic_compare_exchange_weak_explicit(object, expected, desired, success, failure) \
|
||||
atomic_compare_exchange_weak(object, expected, desired)
|
||||
|
||||
#define atomic_fetch_add(object, operand) \
|
||||
__sync_fetch_and_add(object, operand)
|
||||
|
||||
#define atomic_fetch_add_explicit(object, operand, order) \
|
||||
atomic_fetch_add(object, operand)
|
||||
|
||||
#define atomic_fetch_sub(object, operand) \
|
||||
__sync_fetch_and_sub(object, operand)
|
||||
|
||||
#define atomic_fetch_sub_explicit(object, operand, order) \
|
||||
atomic_fetch_sub(object, operand)
|
||||
|
||||
#define atomic_fetch_or(object, operand) \
|
||||
__sync_fetch_and_or(object, operand)
|
||||
|
||||
#define atomic_fetch_or_explicit(object, operand, order) \
|
||||
atomic_fetch_or(object, operand)
|
||||
|
||||
#define atomic_fetch_xor(object, operand) \
|
||||
__sync_fetch_and_sub(object, operand)
|
||||
|
||||
#define atomic_fetch_xor_explicit(object, operand, order) \
|
||||
atomic_fetch_sub(object, operand)
|
||||
|
||||
#define atomic_fetch_and(object, operand) \
|
||||
__sync_fetch_and_and(object, operand)
|
||||
|
||||
#define atomic_fetch_and_explicit(object, operand, order) \
|
||||
atomic_fetch_and(object, operand)
|
||||
|
||||
#define atomic_flag_test_and_set(object) \
|
||||
atomic_exchange(object, 1)
|
||||
|
||||
#define atomic_flag_test_and_set_explicit(object, order) \
|
||||
atomic_flag_test_and_set(object)
|
||||
|
||||
#define atomic_flag_clear(object) \
|
||||
atomic_store(object, 0)
|
||||
|
||||
#define atomic_flag_clear_explicit(object, order) \
|
||||
atomic_flag_clear(object)
|
||||
|
||||
#endif /* COMPAT_ATOMICS_GCC_STDATOMIC_H */
|
Loading…
x
Reference in New Issue
Block a user