diff options
author | https://me.yahoo.com/a/g3Ccalpj0NhN566pHbUl6i9QF0QEkrhlfPM-#b1c14 <diana@web> | 2015-02-16 20:08:03 +0100 |
---|---|---|
committer | GNU Hurd web pages engine <web-hurd@gnu.org> | 2015-02-16 20:08:03 +0100 |
commit | 95878586ec7611791f4001a4ee17abf943fae3c1 (patch) | |
tree | 847cf658ab3c3208a296202194b16a6550b243cf /service_solahart_jakarta_selatan__082122541663/gcc | |
parent | 8063426bf7848411b0ef3626d57be8cb4826715e (diff) | |
download | web-95878586ec7611791f4001a4ee17abf943fae3c1.tar.gz web-95878586ec7611791f4001a4ee17abf943fae3c1.tar.bz2 web-95878586ec7611791f4001a4ee17abf943fae3c1.zip |
rename open_issues.mdwn to service_solahart_jakarta_selatan__082122541663.mdwn
Diffstat (limited to 'service_solahart_jakarta_selatan__082122541663/gcc')
-rw-r--r-- | service_solahart_jakarta_selatan__082122541663/gcc/libmudflap.mdwn | 74 | ||||
-rw-r--r-- | service_solahart_jakarta_selatan__082122541663/gcc/pie.mdwn | 51 |
2 files changed, 125 insertions, 0 deletions
diff --git a/service_solahart_jakarta_selatan__082122541663/gcc/libmudflap.mdwn b/service_solahart_jakarta_selatan__082122541663/gcc/libmudflap.mdwn new file mode 100644 index 00000000..f14ca1bc --- /dev/null +++ b/service_solahart_jakarta_selatan__082122541663/gcc/libmudflap.mdwn @@ -0,0 +1,74 @@ +[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled +[[GNU Free Documentation License|/fdl]]."]]"""]] + +[[!tag open_issue_porting open_issue_gcc]] + +Single-threaded use appears to work: + + $ echo 'int main(void) { int *a; a[10]=0; return a[5]; }' | ↩ + gcc -o a -fmudflap -x c - -lmudflap + $ ./a + ******* + mudflap violation 1 (check/write): time=1227208721.922064 ptr=0x1023de0 size=4 + pc=0x1037a33 location=`<stdin>:1:26 (main)' + /usr/lib/libmudflap.so.0(__mf_check+0x33) [0x1037a33] + ./a(main+0x7c) [0x80486c4] + /usr/lib/libmudflap.so.0(__wrap_main+0x49) [0x1037239] + Nearby object 1: checked region begins 68B before and ends 65B before + mudflap object 0x80ca268: name=`argv[]' + bounds=[0x1023e24,0x1023e2b] size=8 area=static check=0r/0w liveness=0 + alloc time=1227208721.922064 pc=0x10371d3 + Nearby object 2: checked region begins 76B before and ends 73B before + mudflap object 0x80cb448: name=`environ[]' + bounds=[0x1023e2c,0x1023ed7] size=172 area=static check=0r/0w liveness=0 + alloc time=1227208721.922064 pc=0x10371d3 + number of nearby objects: 2 + ******* + mudflap violation 2 (check/read): time=1227208721.942109 ptr=0x1023dcc size=4 + pc=0x1037a33 location=`<stdin>:1:35 (main)' + /usr/lib/libmudflap.so.0(__mf_check+0x33) [0x1037a33] + ./a(main+0xf3) [0x804873b] + /usr/lib/libmudflap.so.0(__wrap_main+0x49) [0x1037239] + Nearby object 1: checked region begins 88B before and ends 85B before + mudflap object 0x80ca268: name=`argv[]' + Nearby object 2: checked region begins 96B before and ends 93B before + mudflap object 0x80cb448: name=`environ[]' + number of nearby objects: 2 + +Multi-threaded use doesn't: + + $ echo 'int main(void) { int *a; a[10]=0; return a[5]; }' | ↩ + gcc -include pthread.h -o a -fmudflapth -x c - -lmudflapth -lpthread + $ ./a + Killed + $ gdb a + [...] + Starting program: /media/data/home/tschwinge/a + + Program received signal EXC_BAD_ACCESS, Could not access memory. + 0x01180653 in getenv () from /lib/libc.so.0.3 + (gdb) bt + #0 0x01180653 in getenv () from /lib/libc.so.0.3 + #1 0x01177a02 in __dcigettext () from /lib/libc.so.0.3 + #2 0x01176a57 in dcgettext () from /lib/libc.so.0.3 + #3 0x011c03b5 in strerror_r () from /lib/libc.so.0.3 + #4 0x01175b57 in __assert_perror_fail () from /lib/libc.so.0.3 + #5 0x0111f1ad in cthread_fork (func=0x114f630 <_hurd_msgport_receive>, arg=0x0) + at /build/buildd/hurd-20080607/build-tree/hurd/libpthread/pthread/cthreads-compat.c:41 + #6 0x0115713e in _hurdsig_init () from /lib/libc.so.0.3 + #7 0x01140852 in _hurd_proc_init@@GLIBC_2.2.6 () from /lib/libc.so.0.3 + #8 0x01140e86 in _hurd_init () from /lib/libc.so.0.3 + #9 0x011690ce in init1 () from /lib/libc.so.0.3 + #10 0x00001e96 in _dl_start_user () from /lib/ld.so + #11 0x00000001 in ?? () + #12 0x01024000 in ?? () + #13 0x00000000 in ?? () + +Also `libmudflap` is pthread-only. diff --git a/service_solahart_jakarta_selatan__082122541663/gcc/pie.mdwn b/service_solahart_jakarta_selatan__082122541663/gcc/pie.mdwn new file mode 100644 index 00000000..5ae4bdcb --- /dev/null +++ b/service_solahart_jakarta_selatan__082122541663/gcc/pie.mdwn @@ -0,0 +1,51 @@ +[[!meta copyright="Copyright © 2012, 2013 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta title="Position-Independent Executables"]] + +[[!tag open_issue_glibc]] + + +# IRC, freenode, #hurd, 2012-11-08 + + <pinotree> tschwinge: i'm not totally sure, but it seems the pie options + for gcc/ld are causing issues + <pinotree> namely, producing executables that sigsegv straight away + <tschwinge> pinotree: OK, I do remember some issues about these, too. + <tschwinge> Also for -pg. + <tschwinge> These have in common that they use different crt*.o files for + linking. + <tschwinge> Might well be there's some bugs there. + <pinotree> one way is to try the w3m debian build: the current build + configuration enables also pie, which in turns makes an helper executable + (mktable) sigsegv when invoked + <pinotree> if «,-pie» is appended to the DEB_BUILD_MAINT_OPTIONS variable + in debian/rules, pie is not added and the resulting mktable runs + correctly + + +## IRC, OFTC, #debian-hurd, 2012-11-09 + + <pinotree> youpi: ah, as i noted to tschwinge earlier, it seems -fPIE -pie + miscompile stuff + <youpi> uh + <pinotree> this causes the w3m build failure and (indirectly, due to elinks + built with -pie) aptitude + + +## IRC, freenode, #hurd, 2013-01-19 + + <gnu_srs> pinotree: I can confirm that -fPIE -pie fails and only -fPIE + works for mktable in w3m. Still have to check with elinks. What's up doc? + + +## [[!message-id "20130211040854.GN5926@type.youpi.perso.aquilenet.fr"]] + +[[glibc]] `t/pie-sbrk` branch. |