[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug ld/28875] New: ld should warn or error out about creating copy relo
From: |
thiago at kde dot org |
Subject: |
[Bug ld/28875] New: ld should warn or error out about creating copy relocs & direct external references for protected symbols |
Date: |
Wed, 09 Feb 2022 19:59:02 +0000 |
https://sourceware.org/bugzilla/show_bug.cgi?id=28875
Bug ID: 28875
Summary: ld should warn or error out about creating copy relocs
& direct external references for protected symbols
Product: binutils
Version: 2.38
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: ld
Assignee: unassigned at sourceware dot org
Reporter: thiago at kde dot org
Target Milestone: ---
Related: #15228, #17711, #27973.
For a library that has protected symbols:
$ cat libb2.cpp
__attribute__((visibility("protected"))) long internal_i = 0;
__attribute__((visibility("protected"))) long internal_f()
{
return 2;
}
$ gcc -shared -fPIC -o libb.so libb2.cpp
$ eu-readelf --dyn-syms libb.so| grep internal
5: 0000000000004028 8 OBJECT GLOBAL PROTECTED 22 internal_i
6: 00000000000010f9 11 FUNC GLOBAL PROTECTED 11 _Z10internal_fv
The linker should produce a warning when creating copy relocations or
position-dependent moves:
$ cat main.cpp
extern __attribute__((visibility("default"))) long internal_i;
extern __attribute__((visibility("default"))) long internal_f();
int main()
{
internal_i = (long) &internal_f;
}
$ gcc main.cpp libb.so
[no error]
gold already does:
$ gcc -fuse-ld=gold main.cpp libb.so
/usr/bin/ld.gold: error: /tmp/ccg0cNpy.o: cannot make copy relocation for
protected symbol 'internal_i', defined in libb.so
collect2: error: ld returned 1 exit status
--
You are receiving this mail because:
You are on the CC list for the bug.
- [Bug ld/28875] New: ld should warn or error out about creating copy relocs & direct external references for protected symbols,
thiago at kde dot org <=
- [Bug ld/28875] ld should warn or error out about creating copy relocs & direct external references for protected symbols, hjl.tools at gmail dot com, 2022/02/09
- [Bug ld/28875] ld should warn or error out about creating copy relocs & direct external references for protected symbols, pinskia at gcc dot gnu.org, 2022/02/09
- [Bug ld/28875] ld should warn or error out about creating copy relocs & direct external references for protected symbols, pinskia at gcc dot gnu.org, 2022/02/09
- [Bug ld/28875] ld should warn or error out about creating copy relocs & direct external references for protected symbols, hjl.tools at gmail dot com, 2022/02/09
- [Bug ld/28875] ld should warn or error out about creating copy relocs & direct external references for protected symbols, hjl.tools at gmail dot com, 2022/02/09
- [Bug ld/28875] ld should warn or error out about creating copy relocs & direct external references for protected symbols, thiago at kde dot org, 2022/02/10
- [Bug ld/28875] ld should warn or error out about creating copy relocs & direct external references for protected symbols, thiago at kde dot org, 2022/02/10
- [Bug ld/28875] ld should warn or error out about creating copy relocs & direct external references for protected symbols, hjl.tools at gmail dot com, 2022/02/10
- [Bug ld/28875] ld should warn or error out about creating copy relocs & direct external references for protected symbols, thiago at kde dot org, 2022/02/11
- [Bug ld/28875] ld should warn or error out about creating copy relocs & direct external references for protected symbols, cvs-commit at gcc dot gnu.org, 2022/02/11