From patchwork Sun Oct 14 20:17:41 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Carl Eugen Hoyos X-Patchwork-Id: 10673 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id E5167446E26 for ; Sun, 14 Oct 2018 23:17:43 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 43F0F68A1D1; Sun, 14 Oct 2018 23:17:25 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-it1-f174.google.com (mail-it1-f174.google.com [209.85.166.174]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 22C486882CF for ; Sun, 14 Oct 2018 23:17:19 +0300 (EEST) Received: by mail-it1-f174.google.com with SMTP id h6-v6so25903030ith.0 for ; Sun, 14 Oct 2018 13:17:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=tFGS36Q3wTdGOrfmh4get5lgTIZWekdgu5h7M7Lk5HA=; b=jMtD8p6kMC80zO9fa0cdXrD6fW0rGO/MV51D6nuXrRE5tU+qG5R+Byjlraadt4RBNK iPGzbpEhv/inxFDlXxiRyWiGpRcGevHddTGTMkE/X4p28uXSoq+Fa6vwyuMenJqfBfqt 8nBWOgS3R8Kfekej8n2UNQf8fhmiHYyWWfoXhXeKoOYsdU40nxwzEFdlfEHIeNQiytWx envWtOaWN3PBZKHZknpV4N8J1BtIie5nIHnHqCLo9jQWJ9eUjoGVIgfejDpjyio+XcDB C06gnRM8GKZAzpuhQToXrWg/NbZRiZhre7Y65Y7kTFjAnvhgrbvhSz1eWr4LgDBBZypy SVNA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=tFGS36Q3wTdGOrfmh4get5lgTIZWekdgu5h7M7Lk5HA=; b=IVv9dUfWy/lfCVnU2E5fgLcF7nGbwD4jwciof12Sav3007qG+8uPT5kIlRtofn/xT/ 1GxYxmr+8B+uZJr0Qy4vBVYTPqwsahylM3m7us0h26VkG4IID0UTlUhvBstEYpQGMLKm oTr6MzLc4Ehn1Ms24FhsaPmo+CYZwyY1rE3vQoaM+cU9cXHTS8WzgtKH4C6YWlzeVHMf 12HGIW3HDmrubnHk7fhdmVaxaOPxNloHBe5A6fuSYw5HO3gII8rl/6SYjs9iHfWT6xRc yGul6MaOkCBzcMoeSYSPxu+tUfm5YbC12PmJt3l3ItyXj/tMwW07wSHKtJydkRBdoIKp f/cA== X-Gm-Message-State: ABuFfoixf/f4xihRmRBHAcUECGOtXenk3WKGwRcLdCAuKTUA3wYmJ/ZS ufhyfVOgk7NmuLxOnHiasWuoXPwAa+ZaaG8/8oNTSw== X-Google-Smtp-Source: ACcGV63eORKyEySNzJKz9yZSgDN8bCmK1XfqZ30L7taiKCgzFNCMoWjV0pKwRWfdbMBi0wY0Sqo/x8NmQve5O5srDL4= X-Received: by 2002:a24:5e50:: with SMTP id h77-v6mr10727939itb.58.1539548261658; Sun, 14 Oct 2018 13:17:41 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:a02:c489:0:0:0:0:0 with HTTP; Sun, 14 Oct 2018 13:17:41 -0700 (PDT) From: Carl Eugen Hoyos Date: Sun, 14 Oct 2018 22:17:41 +0200 Message-ID: To: FFmpeg development discussions and patches Subject: [FFmpeg-devel] [PATCH]lavc/sinewin: Do not declare tables as const X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Hi! Attached patch is supposed to fix ticket #7491, I currently don't have gcc 8 to test myself. Please comment, Carl Eugen From 90ac3c2b931d060e918a66047ff76c7d45f2274a Mon Sep 17 00:00:00 2001 From: Carl Eugen Hoyos Date: Sun, 14 Oct 2018 22:13:34 +0200 Subject: [PATCH] lavc/sinewin: Do not declare the tables as const. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit At least ff_sine_window_init() is writing to some of the tables causing a crash if compiled with gcc 8 and lto. Analyzed by Martin Liška in: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85132 Fixes ticket #7491. --- libavcodec/sinewin.h | 10 ++-------- libavcodec/sinewin_tablegen.h | 2 +- 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/libavcodec/sinewin.h b/libavcodec/sinewin.h index 6b97a71..146d4e5 100644 --- a/libavcodec/sinewin.h +++ b/libavcodec/sinewin.h @@ -25,18 +25,12 @@ #include "libavutil/mem.h" #include "libavcodec/aac_defines.h" -#if CONFIG_HARDCODED_TABLES -# define SINETABLE_CONST const -#else -# define SINETABLE_CONST -#endif - #ifndef USE_FIXED #define USE_FIXED 0 #endif #define SINETABLE(size) \ - SINETABLE_CONST DECLARE_ALIGNED(32, INTFLOAT, AAC_RENAME(ff_sine_##size))[size] + DECLARE_ALIGNED(32, INTFLOAT, AAC_RENAME(ff_sine_##size))[size] /** * Generate a sine window. @@ -62,6 +56,6 @@ extern SINETABLE(2048); extern SINETABLE(4096); extern SINETABLE(8192); -extern SINETABLE_CONST INTFLOAT * const AAC_RENAME(ff_sine_windows)[16]; +extern INTFLOAT * const AAC_RENAME(ff_sine_windows)[16]; #endif /* AVCODEC_SINEWIN_H */ diff --git a/libavcodec/sinewin_tablegen.h b/libavcodec/sinewin_tablegen.h index 0fa3561..e1f7c4f 100644 --- a/libavcodec/sinewin_tablegen.h +++ b/libavcodec/sinewin_tablegen.h @@ -59,7 +59,7 @@ SINETABLE(8192); #define SIN_FIX(a) a #endif -SINETABLE_CONST INTFLOAT * const AAC_RENAME(ff_sine_windows)[] = { +INTFLOAT * const AAC_RENAME(ff_sine_windows)[] = { NULL, NULL, NULL, NULL, NULL, // unused AAC_RENAME(ff_sine_32) , AAC_RENAME(ff_sine_64), AAC_RENAME(ff_sine_128), AAC_RENAME(ff_sine_256), AAC_RENAME(ff_sine_512), AAC_RENAME(ff_sine_1024), -- 1.7.10.4