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