When making with -m32 in x86_64 kernel, the following error messages may be 
outputted:
/usr/bin/ld: i386 architecture of input file 
`/root/ltp-dev/testcases/commands/ade/ldd/lddfile1.obj' is incompatible with 
i386:x86-64 output
collect2: ld returned 1 exit status

The following patch can fix this.

Signed-off-by: Peng Haitao <[email protected]>
---
 testcases/commands/ade/ldd/ldd01 |   33 +++++++++++++++++----------------
 1 files changed, 17 insertions(+), 16 deletions(-)

diff --git a/testcases/commands/ade/ldd/ldd01 b/testcases/commands/ade/ldd/ldd01
index 3fa446e..fc26ecd 100755
--- a/testcases/commands/ade/ldd/ldd01
+++ b/testcases/commands/ade/ldd/ldd01
@@ -46,23 +46,24 @@ do_setup()
 {
        mkdir $TCtmp
 
-       # Check for ppc64 architecture
-       file lddfile1.obj | grep PowerPC | grep 64-bit >/dev/null 2>&1
-       if [ $? -eq 0 ]; then
-               $CC -m64 -shared -o $TCtmp/lddfile1.obj.so $TCdat/lddfile1.obj
-               $CC -m64 -shared -o $TCtmp/lddfile2.obj.so $TCdat/lddfile2.obj
-               $CC -m64 -shared -o $TCtmp/lddfile3.obj.so $TCdat/lddfile3.obj
-               $CC -m64 -shared -o $TCtmp/lddfile4.obj.so $TCdat/lddfile4.obj
-               $CC -m64 -shared -o $TCtmp/lddfile5.obj.so $TCdat/lddfile5.obj
-               $CC -m64 -O -o $TCtmp/a.out $TCtmp/lddfile*.obj.so 
$TCdat/main.obj
-       else
-               $CC -shared -o $TCtmp/lddfile1.obj.so $TCdat/lddfile1.obj
-               $CC -shared -o $TCtmp/lddfile2.obj.so $TCdat/lddfile2.obj
-               $CC -shared -o $TCtmp/lddfile3.obj.so $TCdat/lddfile3.obj
-               $CC -shared -o $TCtmp/lddfile4.obj.so $TCdat/lddfile4.obj
-               $CC -shared -o $TCtmp/lddfile5.obj.so $TCdat/lddfile5.obj
-               $CC -O -o $TCtmp/a.out $TCtmp/lddfile*.obj.so $TCdat/main.obj
+       # Check for ppc64 architecture or x86_64 architecture
+       if uname -a | grep -iq powerpc; then
+               file lddfile1.obj | grep 64-bit >/dev/null 2>&1
+               if [ $? -eq 0 ]; then
+                       CFLAGS="-m64"
+               fi
+       elif uname -a | grep -iq x86_64; then
+               file lddfile1.obj | grep 32-bit >/dev/null 2>&1
+               if [ $? -eq 0 ]; then
+                       CFLAGS="-m32"
+               fi
        fi
+       $CC $CFLAGS -shared -o $TCtmp/lddfile1.obj.so $TCdat/lddfile1.obj
+       $CC $CFLAGS -shared -o $TCtmp/lddfile2.obj.so $TCdat/lddfile2.obj
+       $CC $CFLAGS -shared -o $TCtmp/lddfile3.obj.so $TCdat/lddfile3.obj
+       $CC $CFLAGS -shared -o $TCtmp/lddfile4.obj.so $TCdat/lddfile4.obj
+       $CC $CFLAGS -shared -o $TCtmp/lddfile5.obj.so $TCdat/lddfile5.obj
+       $CC $CFLAGS -O -o $TCtmp/a.out $TCtmp/lddfile*.obj.so $TCdat/main.obj
 } 
 
 do_test()
-- 
1.7.1


-- 
Best Regards,
Peng Haitao


------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure contains a
definitive record of customers, application performance, security
threats, fraudulent activity and more. Splunk takes this data and makes
sense of it. Business sense. IT sense. Common sense.
http://p.sf.net/sfu/splunk-d2dcopy1
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list

Reply via email to