URL
https://opencores.org/ocsvn/open8_urisc/open8_urisc/trunk
Subversion Repositories open8_urisc
Compare Revisions
- This comparison shows the changes necessary to convert path
/open8_urisc/trunk/gnu
- from Rev 63 to Rev 64
- ↔ Reverse comparison
Rev 63 → Rev 64
/binutils/ld/testsuite/ld-gc/abi-note.s
0,0 → 1,15
.text |
.global _start |
_start: |
.long 1 |
|
.section ".note.ABI-tag", "a" |
.p2align 2 |
.long 1f - 0f /* name length */ |
.long 3f - 2f /* data length */ |
.long 1 /* note type */ |
0: .asciz "GNU" /* vendor name */ |
1: .p2align 2 |
2: .long 1 |
.long 2 |
3: .p2align 2 /* pad out section */ |
/binutils/ld/testsuite/ld-gc/start.d
0,0 → 1,9
#name: --gc-sections with __start_ |
#ld: --gc-sections -e _start |
#nm: -n |
#target: *-*-linux* *-*-gnu* |
#notarget: *-*-*aout *-*-*oldld frv-*-linux* |
|
#... |
[0-9a-f]+ A +__start__foo |
#... |
/binutils/ld/testsuite/ld-gc/abi-note.d
0,0 → 1,9
#name: --gc-sections with note section |
#ld: --gc-sections -e _start |
#readelf: -S --wide |
#target: *-*-linux* *-*-gnu* |
#notarget: *-*-*aout *-*-*oldld |
|
#... |
.* .note.ABI-tag[ ]+NOTE.* |
#... |
/binutils/ld/testsuite/ld-gc/pr11218.d
0,0 → 1,5
# name: --gc-sections with shared library |
# source: dummy.s |
# ld: --gc-sections -e main tmpdir/pr11218-2.o tmpdir/pr11218-1.so |
# target: *-*-linux* *-*-gnu* |
# error: undefined reference to `unresolved_detected_at_runtime_not_at_linktime' |
/binutils/ld/testsuite/ld-gc/gc.exp
0,0 → 1,108
# Expect script for ld-gc tests |
# Copyright 2008, 2009, 2010 |
# Free Software Foundation, Inc. |
# |
# This file is part of the GNU Binutils. |
# |
# This program is free software; you can redistribute it and/or modify |
# it under the terms of the GNU General Public License as published by |
# the Free Software Foundation; either version 3 of the License, or |
# (at your option) any later version. |
# |
# This program is distributed in the hope that it will be useful, |
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
# GNU General Public License for more details. |
# |
# You should have received a copy of the GNU General Public License |
# along with this program; if not, write to the Free Software |
# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, |
# MA 02110-1301, USA. |
|
# These tests require --gc-sections |
if ![check_gc_sections_available] { |
return |
} |
|
set cflags "-ffunction-sections -fdata-sections" |
set objfile "tmpdir/gc.o" |
|
if [istarget powerpc64*-*-*] { |
# otherwise with -mcmodel=medium gcc we get XPASSes. |
set cflags "$cflags -mminimal-toc" |
} |
|
if { [is_remote host] || [which $CC] != 0 } { |
ld_compile "$CC -c $CFLAGS $cflags" $srcdir/$subdir/gc.c $objfile |
} |
|
proc test_gc { testname filename linker ldflags} { |
global nm |
global srcdir |
global subdir |
global nm_output |
global objfile |
|
if ![file readable $objfile ] { |
untested $testname |
return |
} |
|
set outfile "tmpdir/$filename" |
set options "-L$srcdir/$subdir" |
append options " " $ldflags " " [ld_simple_link_defsyms] " " $objfile |
|
# SH64 targets needs an extra ld option for this test. |
if [istarget sh64*-*-*] { |
if [istarget sh64*l*-*-*] { |
set options "-mshlelf32 $options" |
} else { |
set options "-mshelf32 $options" |
} |
} |
|
if ![ld_simple_link $linker $outfile $options] { |
fail $testname |
return |
} |
if ![ld_nm $nm "" $outfile] { |
unresolved $testname |
return |
} |
if {![info exists nm_output(used_func)] \ |
|| ![info exists nm_output(used_var)]} { |
send_log "used sections do not exist\n" |
verbose "used sections do not exist" |
fail $testname |
return |
} |
#ppc64_elf_gc_mark_hook needs to be taught how to look through |
#the .toc section to properly mark variable sections for gc. |
setup_xfail "powerpc64*-*-*" |
if {[info exists nm_output(unused_func)] \ |
|| [info exists nm_output(unused_var)]} { |
send_log "unused section still here\n" |
verbose "unused section still here" |
fail $testname |
return |
} |
pass $testname |
} |
|
test_gc "Check --gc-section" "gcexe" $ld "--gc-sections -e main" |
test_gc "Check --gc-section/-q" "gcrexe" $ld "--gc-sections -q -e main" |
test_gc "Check --gc-section/-r/-e" "gcrel" $ld "-r --gc-sections -e main" |
test_gc "Check --gc-section/-r/-u" "gcrel" $ld "-r --gc-sections -u used_func" |
|
run_dump_test "noent" |
run_dump_test "abi-note" |
run_dump_test "start" |
if { [is_remote host] || [which $CC] != 0 } { |
if { [istarget "*-*-linux*"] |
|| [istarget "*-*-gnu*"] } { |
ld_compile "$CC -fPIC $CFLAGS $cflags" $srcdir/$subdir/pr11218-1.c tmpdir/pr11218-1.o |
ld_simple_link $ld tmpdir/pr11218-1.so "-shared tmpdir/pr11218-1.o" |
ld_compile "$CC -c $CFLAGS $cflags" $srcdir/$subdir/pr11218-2.c tmpdir/pr11218-2.o |
run_dump_test "pr11218" |
} |
} |
/binutils/ld/testsuite/ld-gc/noent.s
0,0 → 1,4
.text |
.globl entry |
entry: |
.long 0 |
/binutils/ld/testsuite/ld-gc/noent.d
0,0 → 1,3
# name: --gc-sections -r without -e |
# ld: --gc-sections -r |
# error: gc-sections requires either an entry or an undefined symbol |
/binutils/ld/testsuite/ld-gc/gc.c
0,0 → 1,41
int unused_var = 7; |
int used_var = 7; |
|
int |
unused_func (int v) |
{ |
return 3 * unused_var; |
} |
|
int |
__attribute__((noinline)) |
used_func (int v) |
{ |
return 2 * used_var; |
} |
|
int |
main (void) |
{ |
return used_func (5); |
} |
|
void |
dummy_func (void) |
{ |
/* These are here in case the target prepends an underscore to |
the start of function names. They are inside a dummy function |
so that they will appear at the end of gcc's assembler output, |
after the definitions of main() and used_func(), rather than |
at the beginning of the file. */ |
|
__asm__(".ifndef main\n\ |
.global main\n\ |
.set main, _main\n\ |
.endif"); |
|
__asm__(".ifndef used_func\n\ |
.global used_func\n\ |
.set used_func, _used_func\n\ |
.endif"); |
} |
/binutils/ld/testsuite/ld-gc/dummy.s
0,0 → 1,41
# Dummy |
/binutils/ld/testsuite/ld-gc/pr11218-1.c
0,0 → 1,5
extern void unresolved_detected_at_runtime_not_at_linktime(void); |
void foo_in_so(void) |
{ |
unresolved_detected_at_runtime_not_at_linktime(); |
} |
/binutils/ld/testsuite/ld-gc/pr11218-2.c
0,0 → 1,14
extern void foo_in_so(void); |
extern void unresolved_detected_at_runtime_not_at_linktime (void); |
|
void call_unresolved(void) |
{ |
unresolved_detected_at_runtime_not_at_linktime(); |
} |
|
int main(int argc, char *argv[]) |
{ |
foo_in_so(); |
|
return 0; |
} |
/binutils/ld/testsuite/ld-gc/start.s
0,0 → 1,6
.globl _start |
_start: |
.dc.a __start__foo |
.section _foo,"aw",%progbits |
foo: |
.long 1 |