An ld bug?
H.J. Lu
hjl@nynexst.com
Mon Oct 2 21:00:00 GMT 1995
Hi,
It seems gas-950822 doesn't treat common symbols right. Does the newer
snapshot still have this bug? BTW, I tested it under i486-linux.
Thanks.
--
H.J. Lu
NYNEX Science and Technology, Inc. hjl@nynexst.com
---
#!/bin/sh
# This is a shell archive (produced by GNU sharutils 4.1).
# To extract the files from this archive, save it to some FILE, remove
# everything before the `!/bin/sh' line above, then type `sh FILE'.
#
# Made on 1995-10-02 23:51 EDT by <hjl@didi>.
# Source directory was `/home/hjl/bugs/ld/common'.
#
# Existing files will *not* be overwritten unless `-c' is specified.
#
# This shar contains:
# length mode name
# ------ ---------- ------------------------------------------
# 273 -rw-r--r-- Makefile
# 14 -rw-r--r-- bar.c
# 71 -rw-r--r-- x.c
#
touch -am 1231235999 $$.touch >/dev/null 2>&1
if test ! -f 1231235999 && test -f $$.touch; then
shar_touch=touch
else
shar_touch=:
echo
echo 'WARNING: not restoring timestamps. Consider getting and'
echo "installing GNU \`touch', distributed in GNU File Utilities..."
echo
fi
rm -f 1231235999 $$.touch
#
# ============= Makefile ==============
if test -f 'Makefile' && test X"$1" != X"-c"; then
echo 'x - skipping Makefile (file already exists)'
else
echo 'x - extracting Makefile (text)'
sed 's/^X//' << 'SHAR_EOF' > 'Makefile' &&
SRCS= foo.c bar.c
SRCS= bar.c #foo.c
OBJS=$(SRCS:.c=.o)
AR=ar
CFLAGS=
CC=gcc
RANLIB =ranlib
RANLIB =echo
X
X.c.o:
X $(CC) $(CFLAGS) -c $<
X
all: f1
X
f1: libbar.a
X $(CC) -o $@ x.c -L. -lbar
X
libbar.a:$(OBJS)
X $(AR) ucvr $@ $(OBJS)
X $(RANLIB) $@
X
clean:
X -rm -f *.o *.a f1 f2 f3
SHAR_EOF
$shar_touch -am 1002235095 'Makefile' &&
chmod 0644 'Makefile' ||
echo 'restore of Makefile failed'
shar_count="`wc -c < 'Makefile'`"
test 273 -eq "$shar_count" ||
echo "Makefile: original size 273, current size $shar_count"
fi
# ============= bar.c ==============
if test -f 'bar.c' && test X"$1" != X"-c"; then
echo 'x - skipping bar.c (file already exists)'
else
echo 'x - extracting bar.c (text)'
sed 's/^X//' << 'SHAR_EOF' > 'bar.c' &&
int bar = 10;
SHAR_EOF
$shar_touch -am 1002223695 'bar.c' &&
chmod 0644 'bar.c' ||
echo 'restore of bar.c failed'
shar_count="`wc -c < 'bar.c'`"
test 14 -eq "$shar_count" ||
echo "bar.c: original size 14, current size $shar_count"
fi
# ============= x.c ==============
if test -f 'x.c' && test X"$1" != X"-c"; then
echo 'x - skipping x.c (file already exists)'
else
echo 'x - extracting x.c (text)'
sed 's/^X//' << 'SHAR_EOF' > 'x.c' &&
#include <stdio.h>
X
int bar;
X
main ()
{
X printf ("bar: %d\n", bar);
}
SHAR_EOF
$shar_touch -am 1002224095 'x.c' &&
chmod 0644 'x.c' ||
echo 'restore of x.c failed'
shar_count="`wc -c < 'x.c'`"
test 71 -eq "$shar_count" ||
echo "x.c: original size 71, current size $shar_count"
fi
exit 0
More information about the Gas2
mailing list