From: Anonymous on
Doug Barton <dougb(a)FreeBSD.org> writes:

> nm libssp.so.0 | grep __stack_chk_fail_local
> 00000ac0 t __stack_chk_fail_local
>
> So I'm at a loss, and pretty close to throwing in the towel and going
> back to the base gcc for everything.

I'm not sure what FreeBSD version you're using but I have
__stack_chk_fail_local alias in libc.

$ readelf -s $LOCALBASE/lib/gcc45/libssp.so.0 | fgrep __stack_chk_fail
11: 0000000000000c80 24 FUNC GLOBAL DEFAULT 8 __stack_chk_fail@@LIBSSP_1.0
51: 0000000000000cc0 5 FUNC LOCAL HIDDEN 8 __stack_chk_fail_local
68: 0000000000000c80 24 FUNC GLOBAL DEFAULT 8 __stack_chk_fail

$ readelf -s /lib/libc.so.7 | fgrep __stack_chk_fail
989: 00000000000adf90 12 FUNC GLOBAL DEFAULT 10 __stack_chk_fail@@FBSD_1.0
1514: 00000000000adf90 12 FUNC GLOBAL DEFAULT 10 __stack_chk_fail_local(a)FBSD_1.0
1605: 00000000000adf90 12 FUNC GLOBAL DEFAULT 10 __stack_chk_fail
2130: 00000000000adf90 12 FUNC GLOBAL DEFAULT 10 __stack_chk_fail_local(a)FB

$ fgrep __stack_chk_fail_local -r lib/libc -C2
lib/libc/sys/stack_protector.c-
lib/libc/sys/stack_protector.c-#ifdef PIC
lib/libc/sys/stack_protector.c:__sym_compat(__stack_chk_fail_local, __stack_chk_fail, FBSD_1.0);
lib/libc/sys/stack_protector.c-#else
lib/libc/sys/stack_protector.c:__weak_reference(__stack_chk_fail, __stack_chk_fail_local);
lib/libc/sys/stack_protector.c-#endif
_______________________________________________
freebsd-ports(a)freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscribe(a)freebsd.org"

From: Doug Barton on
On Wed, 30 Jun 2010, Anonymous wrote:

> Doug Barton <dougb(a)FreeBSD.org> writes:
>
>> nm libssp.so.0 | grep __stack_chk_fail_local
>> 00000ac0 t __stack_chk_fail_local
>
> I'm not sure what FreeBSD version you're using

-current, and I update just about every day. I tried upgrading -current
with a clean /usr/obj today (r209614) and a totally stripped down
everything (make.conf, loader.conf, etc.) to get as stock as possible,
then I recompiled gcc 4.5.1 again, still no joy.

> but I have
> __stack_chk_fail_local alias in libc.
>
> $ readelf -s $LOCALBASE/lib/gcc45/libssp.so.0 | fgrep __stack_chk_fail
> 11: 0000000000000c80 24 FUNC GLOBAL DEFAULT 8 __stack_chk_fail@@LIBSSP_1.0
> 51: 0000000000000cc0 5 FUNC LOCAL HIDDEN 8 __stack_chk_fail_local
> 68: 0000000000000c80 24 FUNC GLOBAL DEFAULT 8 __stack_chk_fail

readelf -s /usr/local/lib/gcc45/libssp.so.0 | fgrep __stack_chk_fail
12: 00000a40 50 FUNC GLOBAL DEFAULT 10
__stack_chk_fail@@LIBSSP_1.0
74: 00000ac0 30 FUNC LOCAL HIDDEN 10 __stack_chk_fail_local
95: 00000a40 50 FUNC GLOBAL DEFAULT 10 __stack_chk_fail


> $ readelf -s /lib/libc.so.7 | fgrep __stack_chk_fail
> 989: 00000000000adf90 12 FUNC GLOBAL DEFAULT 10 __stack_chk_fail@@FBSD_1.0
> 1514: 00000000000adf90 12 FUNC GLOBAL DEFAULT 10 __stack_chk_fail_local(a)FBSD_1.0
> 1605: 00000000000adf90 12 FUNC GLOBAL DEFAULT 10 __stack_chk_fail
> 2130: 00000000000adf90 12 FUNC GLOBAL DEFAULT 10 __stack_chk_fail_local(a)FB

readelf -s /lib/libc.so.7 | fgrep __stack_chk_fail
952: 00028060 26 FUNC GLOBAL DEFAULT 10
__stack_chk_fail@@FBSD_1.0
1457: 00028060 26 FUNC GLOBAL DEFAULT 10
__stack_chk_fail_local(a)FBSD_1.0
45: 000ecec0 29 FUNC LOCAL HIDDEN 10 __stack_chk_fail_local
1542: 00028060 26 FUNC GLOBAL DEFAULT 10 __stack_chk_fail
2047: 00028060 26 FUNC GLOBAL DEFAULT 10
__stack_chk_fail_local(a)FB


> $ fgrep __stack_chk_fail_local -r lib/libc -C2
> lib/libc/sys/stack_protector.c-
> lib/libc/sys/stack_protector.c-#ifdef PIC
> lib/libc/sys/stack_protector.c:__sym_compat(__stack_chk_fail_local, __stack_chk_fail, FBSD_1.0);
> lib/libc/sys/stack_protector.c-#else
> lib/libc/sys/stack_protector.c:__weak_reference(__stack_chk_fail, __stack_chk_fail_local);
> lib/libc/sys/stack_protector.c-#endif

fgrep __stack_chk_fail_local -r lib/libc -C2 | grep -v \.svn
--
lib/libc/sys/stack_protector.c-
lib/libc/sys/stack_protector.c-#ifdef PIC
lib/libc/sys/stack_protector.c:__sym_compat(__stack_chk_fail_local,
__stack_chk_fail, FBSD_1.0);
lib/libc/sys/stack_protector.c-#else
lib/libc/sys/stack_protector.c:__weak_reference(__stack_chk_fail,
__stack_chk_fail_local);
lib/libc/sys/stack_protector.c-#endif



--

Improve the effectiveness of your Internet presence with
a domain name makeover! http://SupersetSolutions.com/

Computers are useless. They can only give you answers.
-- Pablo Picasso

_______________________________________________
freebsd-ports(a)freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscribe(a)freebsd.org"

From: Anonymous on
Doug Barton <dougb(a)FreeBSD.org> writes:

> readelf -s /lib/libc.so.7 | fgrep __stack_chk_fail
> 952: 00028060 26 FUNC GLOBAL DEFAULT 10 __stack_chk_fail@@FBSD_1.0
> 1457: 00028060 26 FUNC GLOBAL DEFAULT 10 __stack_chk_fail_local(a)FBSD_1.0

> 45: 000ecec0 29 FUNC LOCAL HIDDEN 10 __stack_chk_fail_local

I don't see such HIDDEN symbol on i386/amd64 snapshots from Jun 30 at
allbsd.org. Can you *install* libc.so.7 from there and try again?

> 1542: 00028060 26 FUNC GLOBAL DEFAULT 10 __stack_chk_fail
> 2047: 00028060 26 FUNC GLOBAL DEFAULT 10 __stack_chk_fail_local(a)FB
_______________________________________________
freebsd-ports(a)freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscribe(a)freebsd.org"

From: Anonymous on
Anonymous <swell.k(a)gmail.com> writes:

> Doug Barton <dougb(a)FreeBSD.org> writes:
>
>> readelf -s /lib/libc.so.7 | fgrep __stack_chk_fail
>> 952: 00028060 26 FUNC GLOBAL DEFAULT 10 __stack_chk_fail@@FBSD_1.0
>> 1457: 00028060 26 FUNC GLOBAL DEFAULT 10 __stack_chk_fail_local(a)FBSD_1.0
>
>> 45: 000ecec0 29 FUNC LOCAL HIDDEN 10 __stack_chk_fail_local
>
> I don't see such HIDDEN symbol on i386/amd64 snapshots from Jun 30 at
> allbsd.org. Can you *install* libc.so.7 from there and try again?

Did it help? Based on result from above suggestion either my guesses
were incorrect[1] or you have messed up environment/make.conf[2].
To debug the latter you'd have to bisect your own build configuration.

[1] the problem is reproducable on libc from snapshot
[2] ... *not* reproducable ...

>
>> 1542: 00028060 26 FUNC GLOBAL DEFAULT 10 __stack_chk_fail
>> 2047: 00028060 26 FUNC GLOBAL DEFAULT 10 __stack_chk_fail_local(a)FB
_______________________________________________
freebsd-ports(a)freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscribe(a)freebsd.org"

From: "b. f." on
> Anonymous <swell.k at gmail.com> writes:
>
> > Doug Barton <dougb at FreeBSD.org> writes:
> >
> >> readelf -s /lib/libc.so.7 | fgrep __stack_chk_fail
> >> 952: 00028060 26 FUNC GLOBAL DEFAULT 10 __stack_chk_fail@@FBSD_1.0
> >> 1457: 00028060 26 FUNC GLOBAL DEFAULT 10 __stack_chk_fail_local at FBSD_1.0
> >
> >> 45: 000ecec0 29 FUNC LOCAL HIDDEN 10 __stack_chk_fail_local
> >
> > I don't see such HIDDEN symbol on i386/amd64 snapshots from Jun 30 at
> > allbsd.org. Can you *install* libc.so.7 from there and try again?
>
> Did it help? Based on result from above suggestion either my guesses
> were incorrect[1] or you have messed up environment/make.conf[2].
> To debug the latter you'd have to bisect your own build configuration.
>
> [1] the problem is reproducable on libc from snapshot
> [2] ... *not* reproducable ...
>
> >
> >> 1542: 00028060 26 FUNC GLOBAL DEFAULT 10 __stack_chk_fail
> >> 2047: 00028060 26 FUNC GLOBAL DEFAULT 10 __stack_chk_fail_local at FB


I have not attempted to reproduce this particular problem, but some of
these symbols in the base system libraries appear similar to others I
have seen when parts of the base system are built while remapping the
base system compiler libraries to their counterparts in lang/gcc4*
ports via libmap.conf(5), as recommended in, for example,

http://www.freebsd.org/doc/en_US.ISO8859-1/articles/custom-gcc/configuring-ports-gcc.html

Despite claims of 100% backwards-compatibility for these libraries,
this remapping will have some consequences, so you may want to check
if you have disabled the remapping while building/installing the base
system, which I would recommend. And to be on the safe side, I would
do this by editing or temporarily moving libmap.conf, rather than by
setting LD_LIBMAP_DISABLE in the build/installation environment, to
avoid potential problems with sgid/suid binaries.

Also, when updating or reinstalling ports, I would first deinstall the
old versions (including old versions of the shared libraries that may
be in *compat*) before rebuilding the new versions, to avoid any
linking problems. (We are still eagerly awaiting this or an equivalent
sandbox "safe rebuild" option in ports-mgmt/portmaster. ;) )

Regards,
b.
_______________________________________________
freebsd-ports(a)freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscribe(a)freebsd.org"