fix gcc upgrade causes compilation failure
This commit is contained in:
parent
613b88c82d
commit
dcee42e82c
204
fix-build-error-gcc10.patch
Normal file
204
fix-build-error-gcc10.patch
Normal file
@ -0,0 +1,204 @@
|
|||||||
|
From 599abc8075063f7a29e47224e83135541118781c Mon Sep 17 00:00:00 2001
|
||||||
|
From: zhangtao2020 <zhangtao221@huawei.com>
|
||||||
|
Date: Fri, 6 Aug 2021 23:49:25 -0400
|
||||||
|
Subject: [PATCH] fix build error gcc10
|
||||||
|
|
||||||
|
---
|
||||||
|
src/ignore.c | 2 ++
|
||||||
|
src/ignore.h | 2 +-
|
||||||
|
src/log.c | 1 +
|
||||||
|
src/log.h | 2 +-
|
||||||
|
src/options.c | 2 ++
|
||||||
|
src/options.h | 2 +-
|
||||||
|
src/search.c | 13 +++++++++++++
|
||||||
|
src/search.h | 21 ++++++++++-----------
|
||||||
|
src/util.c | 3 +++
|
||||||
|
src/util.h | 4 ++--
|
||||||
|
10 files changed, 36 insertions(+), 16 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/ignore.c b/src/ignore.c
|
||||||
|
index fa41889..32464d7 100644
|
||||||
|
--- a/src/ignore.c
|
||||||
|
+++ b/src/ignore.c
|
||||||
|
@@ -20,6 +20,8 @@
|
||||||
|
const int fnmatch_flags = FNM_PATHNAME;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+ignores *root_ignores;
|
||||||
|
+
|
||||||
|
/* TODO: build a huge-ass list of files we want to ignore by default (build cache stuff, pyc files, etc) */
|
||||||
|
|
||||||
|
const char *evil_hardcoded_ignore_files[] = {
|
||||||
|
diff --git a/src/ignore.h b/src/ignore.h
|
||||||
|
index 20d5a6a..8db0f37 100644
|
||||||
|
--- a/src/ignore.h
|
||||||
|
+++ b/src/ignore.h
|
||||||
|
@@ -29,7 +29,7 @@ struct ignores {
|
||||||
|
};
|
||||||
|
typedef struct ignores ignores;
|
||||||
|
|
||||||
|
-ignores *root_ignores;
|
||||||
|
+extern ignores *root_ignores;
|
||||||
|
|
||||||
|
extern const char *evil_hardcoded_ignore_files[];
|
||||||
|
extern const char *ignore_pattern_files[];
|
||||||
|
diff --git a/src/log.c b/src/log.c
|
||||||
|
index 1481b6d..f6f4e9a 100644
|
||||||
|
--- a/src/log.c
|
||||||
|
+++ b/src/log.c
|
||||||
|
@@ -4,6 +4,7 @@
|
||||||
|
#include "log.h"
|
||||||
|
#include "util.h"
|
||||||
|
|
||||||
|
+pthread_mutex_t print_mtx = PTHREAD_MUTEX_INITIALIZER;
|
||||||
|
static enum log_level log_threshold = LOG_LEVEL_ERR;
|
||||||
|
|
||||||
|
void set_log_level(enum log_level threshold) {
|
||||||
|
diff --git a/src/log.h b/src/log.h
|
||||||
|
index 85847ee..318622c 100644
|
||||||
|
--- a/src/log.h
|
||||||
|
+++ b/src/log.h
|
||||||
|
@@ -9,7 +9,7 @@
|
||||||
|
#include <pthread.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
-pthread_mutex_t print_mtx;
|
||||||
|
+extern pthread_mutex_t print_mtx;
|
||||||
|
|
||||||
|
enum log_level {
|
||||||
|
LOG_LEVEL_DEBUG = 10,
|
||||||
|
diff --git a/src/options.c b/src/options.c
|
||||||
|
index dbe3e24..2bc6d85 100644
|
||||||
|
--- a/src/options.c
|
||||||
|
+++ b/src/options.c
|
||||||
|
@@ -20,6 +20,8 @@ const char *color_line_number = "\033[1;33m"; /* bold yellow */
|
||||||
|
const char *color_match = "\033[30;43m"; /* black with yellow background */
|
||||||
|
const char *color_path = "\033[1;32m"; /* bold green */
|
||||||
|
|
||||||
|
+cli_options opts;
|
||||||
|
+
|
||||||
|
/* TODO: try to obey out_fd? */
|
||||||
|
void usage(void) {
|
||||||
|
printf("\n");
|
||||||
|
diff --git a/src/options.h b/src/options.h
|
||||||
|
index db3e896..fd7d1f0 100644
|
||||||
|
--- a/src/options.h
|
||||||
|
+++ b/src/options.h
|
||||||
|
@@ -91,7 +91,7 @@ typedef struct {
|
||||||
|
} cli_options;
|
||||||
|
|
||||||
|
/* global options. parse_options gives it sane values, everything else reads from it */
|
||||||
|
-cli_options opts;
|
||||||
|
+extern cli_options opts;
|
||||||
|
|
||||||
|
typedef struct option option_t;
|
||||||
|
|
||||||
|
diff --git a/src/search.c b/src/search.c
|
||||||
|
index 14e9d41..829ab4b 100644
|
||||||
|
--- a/src/search.c
|
||||||
|
+++ b/src/search.c
|
||||||
|
@@ -2,6 +2,19 @@
|
||||||
|
#include "print.h"
|
||||||
|
#include "scandir.h"
|
||||||
|
|
||||||
|
+size_t alpha_skip_lookup[256];
|
||||||
|
+size_t *find_skip_lookup;
|
||||||
|
+uint8_t h_table[H_SIZE] __attribute__((aligned(64)));
|
||||||
|
+
|
||||||
|
+work_queue_t *work_queue = NULL;
|
||||||
|
+work_queue_t *work_queue_tail = NULL;
|
||||||
|
+int done_adding_files = 0;
|
||||||
|
+pthread_cond_t files_ready = PTHREAD_COND_INITIALIZER;
|
||||||
|
+pthread_mutex_t stats_mtx = PTHREAD_MUTEX_INITIALIZER;
|
||||||
|
+pthread_mutex_t work_queue_mtx = PTHREAD_MUTEX_INITIALIZER;
|
||||||
|
+
|
||||||
|
+symdir_t *symhash = NULL;
|
||||||
|
+
|
||||||
|
void search_buf(const char *buf, const size_t buf_len,
|
||||||
|
const char *dir_full_path) {
|
||||||
|
int binary = -1; /* 1 = yes, 0 = no, -1 = don't know */
|
||||||
|
diff --git a/src/search.h b/src/search.h
|
||||||
|
index 1071114..bbd3036 100644
|
||||||
|
--- a/src/search.h
|
||||||
|
+++ b/src/search.h
|
||||||
|
@@ -31,9 +31,9 @@
|
||||||
|
#include "uthash.h"
|
||||||
|
#include "util.h"
|
||||||
|
|
||||||
|
-size_t alpha_skip_lookup[256];
|
||||||
|
-size_t *find_skip_lookup;
|
||||||
|
-uint8_t h_table[H_SIZE] __attribute__((aligned(64)));
|
||||||
|
+extern size_t alpha_skip_lookup[256];
|
||||||
|
+extern size_t *find_skip_lookup;
|
||||||
|
+extern uint8_t h_table[H_SIZE] __attribute__((aligned(64)));
|
||||||
|
|
||||||
|
struct work_queue_t {
|
||||||
|
char *path;
|
||||||
|
@@ -41,13 +41,12 @@ struct work_queue_t {
|
||||||
|
};
|
||||||
|
typedef struct work_queue_t work_queue_t;
|
||||||
|
|
||||||
|
-work_queue_t *work_queue;
|
||||||
|
-work_queue_t *work_queue_tail;
|
||||||
|
-int done_adding_files;
|
||||||
|
-pthread_cond_t files_ready;
|
||||||
|
-pthread_mutex_t stats_mtx;
|
||||||
|
-pthread_mutex_t work_queue_mtx;
|
||||||
|
-
|
||||||
|
+extern work_queue_t *work_queue;
|
||||||
|
+extern work_queue_t *work_queue_tail;
|
||||||
|
+extern int done_adding_files;
|
||||||
|
+extern pthread_cond_t files_ready;
|
||||||
|
+extern pthread_mutex_t stats_mtx;
|
||||||
|
+extern pthread_mutex_t work_queue_mtx;
|
||||||
|
|
||||||
|
/* For symlink loop detection */
|
||||||
|
#define SYMLOOP_ERROR (-1)
|
||||||
|
@@ -64,7 +63,7 @@ typedef struct {
|
||||||
|
UT_hash_handle hh;
|
||||||
|
} symdir_t;
|
||||||
|
|
||||||
|
-symdir_t *symhash;
|
||||||
|
+extern symdir_t *symhash;
|
||||||
|
|
||||||
|
void search_buf(const char *buf, const size_t buf_len,
|
||||||
|
const char *dir_full_path);
|
||||||
|
diff --git a/src/util.c b/src/util.c
|
||||||
|
index e509e58..5ea71d1 100644
|
||||||
|
--- a/src/util.c
|
||||||
|
+++ b/src/util.c
|
||||||
|
@@ -21,6 +21,9 @@
|
||||||
|
} \
|
||||||
|
return ptr;
|
||||||
|
|
||||||
|
+FILE *out_fd = NULL;
|
||||||
|
+ag_stats stats;
|
||||||
|
+
|
||||||
|
void *ag_malloc(size_t size) {
|
||||||
|
void *ptr = malloc(size);
|
||||||
|
CHECK_AND_RETURN(ptr)
|
||||||
|
diff --git a/src/util.h b/src/util.h
|
||||||
|
index 4350822..e158714 100644
|
||||||
|
--- a/src/util.h
|
||||||
|
+++ b/src/util.h
|
||||||
|
@@ -12,7 +12,7 @@
|
||||||
|
#include "log.h"
|
||||||
|
#include "options.h"
|
||||||
|
|
||||||
|
-FILE *out_fd;
|
||||||
|
+extern FILE *out_fd;
|
||||||
|
|
||||||
|
#ifndef TRUE
|
||||||
|
#define TRUE 1
|
||||||
|
@@ -51,7 +51,7 @@ typedef struct {
|
||||||
|
} ag_stats;
|
||||||
|
|
||||||
|
|
||||||
|
-ag_stats stats;
|
||||||
|
+extern ag_stats stats;
|
||||||
|
|
||||||
|
/* Union to translate between chars and words without violating strict aliasing */
|
||||||
|
typedef union {
|
||||||
|
--
|
||||||
|
2.23.0
|
||||||
|
|
||||||
@ -7,13 +7,15 @@
|
|||||||
|
|
||||||
Name: the_silver_searcher
|
Name: the_silver_searcher
|
||||||
Version: 2.1.0
|
Version: 2.1.0
|
||||||
Release: 2
|
Release: 3
|
||||||
Summary: Super-fast text searching tool (ag)
|
Summary: Super-fast text searching tool (ag)
|
||||||
Group: Applications/Text
|
Group: Applications/Text
|
||||||
License: ASL 2.0 and BSD
|
License: ASL 2.0 and BSD
|
||||||
URL: https://github.com/ggreer/the_silver_searcher
|
URL: https://github.com/ggreer/the_silver_searcher
|
||||||
Source: https://github.com/ggreer/the_silver_searcher/archive/%{commit}/%{version}-%{shortcommit}.tar.gz
|
Source: https://github.com/ggreer/the_silver_searcher/archive/%{commit}/%{version}-%{shortcommit}.tar.gz
|
||||||
|
|
||||||
|
Patch1: fix-build-error-gcc10.patch
|
||||||
|
|
||||||
BuildRequires: autoconf gcc
|
BuildRequires: autoconf gcc
|
||||||
BuildRequires: automake
|
BuildRequires: automake
|
||||||
BuildRequires: pcre-devel
|
BuildRequires: pcre-devel
|
||||||
@ -29,7 +31,7 @@ with a focus on speed.
|
|||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q -n %{name}-%{commit}
|
%setup -q -n %{name}-%{commit}
|
||||||
|
%patch1 -p1
|
||||||
%build
|
%build
|
||||||
aclocal
|
aclocal
|
||||||
autoconf
|
autoconf
|
||||||
@ -58,6 +60,9 @@ rm -rf $RPM_BUILD_ROOT%{_datadir}/%{name}
|
|||||||
%{_datadir}/zsh/site-functions/_%{name}
|
%{_datadir}/zsh/site-functions/_%{name}
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Sat 7 Aug 2021 zhangtao <zhangtao221@huawei.com> - 2.1.0-3
|
||||||
|
- fix gcc upgrade causes compilation failure
|
||||||
|
|
||||||
* Tue 27 Jul 2021 sunguoshuai <sunguoshuai@huawei.com> - 2.1.0-2
|
* Tue 27 Jul 2021 sunguoshuai <sunguoshuai@huawei.com> - 2.1.0-2
|
||||||
- Add gcc for buildrequires
|
- Add gcc for buildrequires
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user