1*4882a593SmuzhiyunFrom 301ef15aefa6764466c374d07efb511b1c3862cc Mon Sep 17 00:00:00 2001
2*4882a593SmuzhiyunFrom: Nikita Ermakov <coffe92@gmail.com>
3*4882a593SmuzhiyunDate: Wed, 20 May 2020 17:57:17 +0300
4*4882a593SmuzhiyunSubject: [PATCH] Fix 'undefined reference to __data_start' linker error on
5*4882a593Smuzhiyun RISC-V
6*4882a593Smuzhiyun
7*4882a593SmuzhiyunIssue #294 (bdwgc).
8*4882a593Smuzhiyun
9*4882a593Smuzhiyun* include/private/gcconfig.h [RISCV && LINUX] (__data_start): Add
10*4882a593Smuzhiyunattribute(weak).
11*4882a593Smuzhiyun
12*4882a593Smuzhiyun(cherry picked from commit 538562ad01b181f4cc3913da1ac06a77945cd9b9)
13*4882a593SmuzhiyunSigned-off-by: Romain Naour <romain.naour@gmail.com>
14*4882a593Smuzhiyun---
15*4882a593Smuzhiyun include/private/gcconfig.h | 2 +-
16*4882a593Smuzhiyun 1 file changed, 1 insertion(+), 1 deletion(-)
17*4882a593Smuzhiyun
18*4882a593Smuzhiyundiff --git a/include/private/gcconfig.h b/include/private/gcconfig.h
19*4882a593Smuzhiyunindex d9d45da1..d6cefa6f 100644
20*4882a593Smuzhiyun--- a/include/private/gcconfig.h
21*4882a593Smuzhiyun+++ b/include/private/gcconfig.h
22*4882a593Smuzhiyun@@ -2943,7 +2943,7 @@ EXTERN_C_BEGIN
23*4882a593Smuzhiyun #   define ALIGNMENT (CPP_WORDSZ/8)
24*4882a593Smuzhiyun #   ifdef LINUX
25*4882a593Smuzhiyun #     define OS_TYPE "LINUX"
26*4882a593Smuzhiyun-      extern int __data_start[];
27*4882a593Smuzhiyun+      extern int __data_start[] __attribute__((__weak__));
28*4882a593Smuzhiyun #     define DATASTART ((ptr_t)__data_start)
29*4882a593Smuzhiyun #     define LINUX_STACKBOTTOM
30*4882a593Smuzhiyun #     define DYNAMIC_LOADING
31*4882a593Smuzhiyun--
32*4882a593Smuzhiyun2.30.2
33*4882a593Smuzhiyun
34