From: Peng H. <pe...@cn...> - 2011-08-16 09:14:41
|
Cyril Hrubis said the following on 2011-8-12 19:35: > There seems to be a differently implemented check for similar problem > with ppc64, I would rather see these two merged into one. Eg testing for > any special -m xxx parameters at start and setting variable that is used > in tests. > I merge these into one, please comment. When making with -m32 in x86_64 kernel, ld should be set "LDEMULATION" environment variable to "elf_i386" or added "-m elf_i386" option. Signed-off-by: Peng Haitao <pe...@cn...> --- testcases/commands/ade/ld/ld01 | 34 ++++++++++++++++++---------------- 1 files changed, 18 insertions(+), 16 deletions(-) diff --git a/testcases/commands/ade/ld/ld01 b/testcases/commands/ade/ld/ld01 index cf1d595..95ff669 100755 --- a/testcases/commands/ade/ld/ld01 +++ b/testcases/commands/ade/ld/ld01 @@ -44,6 +44,20 @@ TCdat=${TCdat:-`pwd`} TCtmp=${TCtmp:-/tmp/ld-$$} mkdir $TCtmp +if uname -a | grep -iq x86_64 +then + file $TCdat/ldmain.obj | grep 32-bit >/dev/null 2>&1 + if [ $? -eq 0 ]; then + export LDEMULATION="elf_i386" + fi +elif uname -a | grep -iq powerpc +then + file $TCdat/f1.obj | grep 64-bit >/dev/null 2>&1 + if [ $? -eq 0 ]; then + export LDEMULATION="elf64ppc" + fi +fi + #ASSERTION 1 #Test for graceful failure when ld can't find a fileTest calling ld directly # @@ -139,13 +153,8 @@ fi ## Making sure the "shared" option works as designed ## echo "Assertion 5 .................." -# Check for ppc64 architecture -file f1.obj | grep PowerPC | grep 64-bit >/dev/null 2>&1 -if [ $? -eq 0 ]; then - $LD -m elf64ppc -shared $TCdat/f1.obj $TCdat/d1.obj -o $TCtmp/test.lib -else - $LD -shared $TCdat/f1.obj $TCdat/d1.obj -o $TCtmp/test.lib -fi + +$LD -shared $TCdat/f1.obj $TCdat/d1.obj -o $TCtmp/test.lib file $TCtmp/test.lib | grep -q shared if [ $? -eq 0 ]; then echo "-)" @@ -162,15 +171,8 @@ fi ## echo "Assertion 6 .................." -# Check for ppc64 architecture -file f1.obj | grep PowerPC | grep 64-bit >/dev/null 2>&1 -if [ $? -eq 0 ]; then - $LD -m elf64ppc -Bdynamic -shared $TCdat/f1.obj $TCdat/d1.obj -o $TCtmp/lola 2>$TCtmp/errmsg.out - $LD -m elf64ppc -Bstatic -L. $TCdat/ldmain.obj $TCdat/rd1.obj $TCtmp/lola -o $TCtmp/a.out 2> $TCtmp/errmsg.out - else - $LD -Bdynamic -shared $TCdat/f1.obj $TCdat/d1.obj -o $TCtmp/lola 2>$TCtmp/errmsg.out - $LD -Bstatic -L. $TCdat/ldmain.obj $TCdat/rd1.obj $TCtmp/lola -o $TCtmp/a.out 2> $TCtmp/errmsg.out -fi +$LD -Bdynamic -shared $TCdat/f1.obj $TCdat/d1.obj -o $TCtmp/lola 2>$TCtmp/errmsg.out +$LD -Bstatic -L. $TCdat/ldmain.obj $TCdat/rd1.obj $TCtmp/lola -o $TCtmp/a.out 2> $TCtmp/errmsg.out #nm $TCtmp/a.out | grep -q DYNAMIC rc_code=$? -- 1.7.1 -- Best Regards, Peng Haitao |