* config/default.exp (ld_assemble): Pass flags parameter to
default_ld_assemble. (ld_assemble_flags): New function. * ld-elf/frame.exp: Pass -mpic and -mpid flags to the assembler on tic6x. * ld-elf/exclude.exp: Likewise. * lib/ld-lib.exp (default_ld_assemble): Take extra argument in_flags and pass it to the assembler.
This commit is contained in:
parent
335e41d4eb
commit
de1491f042
5 changed files with 43 additions and 8 deletions
|
@ -1,3 +1,14 @@
|
|||
2011-05-12 Bernd Schmidt <bernds@codesourcery.com>
|
||||
|
||||
* config/default.exp (ld_assemble): Pass flags parameter to
|
||||
default_ld_assemble.
|
||||
(ld_assemble_flags): New function.
|
||||
* ld-elf/frame.exp: Pass -mpic and -mpid flags to the assembler on
|
||||
tic6x.
|
||||
* ld-elf/exclude.exp: Likewise.
|
||||
* lib/ld-lib.exp (default_ld_assemble): Take extra argument in_flags
|
||||
and pass it to the assembler.
|
||||
|
||||
2011-05-11 Richard Sandiford <rdsandiford@googlemail.com>
|
||||
|
||||
* ld-mips-elf/mips-elf.exp: Add missing $has_newabi tests.
|
||||
|
|
|
@ -205,7 +205,15 @@ proc ld_compile { cc source object } {
|
|||
# assemble a file
|
||||
#
|
||||
proc ld_assemble { as source object } {
|
||||
default_ld_assemble $as $source $object
|
||||
default_ld_assemble $as "" $source $object
|
||||
}
|
||||
|
||||
#
|
||||
# ld_assemble_flags
|
||||
# assemble a file with extra flags
|
||||
#
|
||||
proc ld_assemble_flags { as flags source object } {
|
||||
default_ld_assemble $as $flags $source $object
|
||||
}
|
||||
|
||||
#
|
||||
|
|
|
@ -31,6 +31,14 @@ if { [istarget "mcore-*-*"] } {
|
|||
return
|
||||
}
|
||||
|
||||
set as_opt ""
|
||||
|
||||
# This target requires extra as options when building code for shared
|
||||
# libraries.
|
||||
if { [istarget "tic6x-*-*"] } {
|
||||
set as_opt "-mpic -mpid=near"
|
||||
}
|
||||
|
||||
global ar
|
||||
global as
|
||||
global ld
|
||||
|
@ -47,8 +55,8 @@ set test7 "ld exclude symbols from archive - --exclude-libs foo:libexclude.a"
|
|||
set test8 "ld exclude symbols from archive - --exclude-libs foo,libexclude.a"
|
||||
set test9 "ld don't exclude symbols from archive - --exclude-libs foo:bar"
|
||||
|
||||
if { ![ld_assemble $as $srcdir/$subdir/exclude1.s tmpdir/exclude1.o ]
|
||||
|| ![ld_assemble $as $srcdir/$subdir/exclude2.s tmpdir/exclude2.o] } {
|
||||
if { ![ld_assemble_flags $as $as_opt $srcdir/$subdir/exclude1.s tmpdir/exclude1.o ]
|
||||
|| ![ld_assemble_flags $as $as_opt $srcdir/$subdir/exclude2.s tmpdir/exclude2.o] } {
|
||||
unresolved $test1
|
||||
return
|
||||
}
|
||||
|
|
|
@ -44,14 +44,22 @@ if { [istarget "hppa64-*-*"] || [istarget "v850-*-*"] } {
|
|||
return
|
||||
}
|
||||
|
||||
set as_opt ""
|
||||
|
||||
# This target requires extra as options when building code for shared
|
||||
# libraries.
|
||||
if { [istarget "tic6x-*-*"] } {
|
||||
set as_opt "-mpic -mpid=near"
|
||||
}
|
||||
|
||||
set test1 "read-only .eh_frame section"
|
||||
set test2 "read-only .gcc_except_table section"
|
||||
|
||||
global as
|
||||
global ld
|
||||
|
||||
if { ![ld_assemble $as $srcdir/$subdir/tbss.s tmpdir/tbss.o ]
|
||||
|| ![ld_assemble $as $srcdir/$subdir/frame.s tmpdir/frame.o] } {
|
||||
if { ![ld_assemble_flags $as $as_opt $srcdir/$subdir/tbss.s tmpdir/tbss.o ]
|
||||
|| ![ld_assemble_flags $as $as_opt $srcdir/$subdir/frame.s tmpdir/frame.o] } {
|
||||
unresolved "$test1"
|
||||
return
|
||||
}
|
||||
|
@ -66,7 +74,7 @@ if { [ld_simple_link $ld tmpdir/frame.so "--shared tmpdir/frame.o tmpdir/tbss.o"
|
|||
}
|
||||
}
|
||||
|
||||
if ![ld_assemble $as $srcdir/$subdir/table.s tmpdir/table.o ] {
|
||||
if ![ld_assemble_flags $as $as_opt $srcdir/$subdir/table.s tmpdir/table.o ] {
|
||||
unresolved "$test2"
|
||||
return
|
||||
}
|
||||
|
|
|
@ -295,14 +295,14 @@ proc default_ld_compile { cc source object } {
|
|||
|
||||
# Assemble a file.
|
||||
#
|
||||
proc default_ld_assemble { as source object } {
|
||||
proc default_ld_assemble { as in_flags source object } {
|
||||
global ASFLAGS
|
||||
global host_triplet
|
||||
|
||||
if ![info exists ASFLAGS] { set ASFLAGS "" }
|
||||
|
||||
set flags [big_or_little_endian]
|
||||
set exec_output [run_host_cmd "$as" "$flags $ASFLAGS -o $object $source"]
|
||||
set exec_output [run_host_cmd "$as" "$flags $in_flags $ASFLAGS -o $object $source"]
|
||||
set exec_output [prune_warnings $exec_output]
|
||||
if [string match "" $exec_output] then {
|
||||
return 1
|
||||
|
|
Loading…
Reference in a new issue