Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 256679 - dev-lang/polyml-5.2.1: QA Notice: The following files contain executable stacks
Summary: dev-lang/polyml-5.2.1: QA Notice: The following files contain executable stacks
Status: CONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Hardened (show other bugs)
Hardware: AMD64 Linux
: High QA with 1 vote (vote)
Deadline: 2019-05-03
Assignee: No maintainer - Look at https://wiki.gentoo.org/wiki/Project:Proxy_Maintainers if you want to take care of it
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-01-28 20:16 UTC by Martin Walch
Modified: 2019-12-13 14:31 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Walch 2009-01-28 20:16:31 UTC
portage throws a qa notice after compiling polyml:

QA Notice: The following files contain executable stacks
 Files with executable stacks will not work properly (or at all!)
 on some architectures/operating systems.  A bug should be filed
 at http://bugs.gentoo.org/ to make sure the file is fixed.
 For more information, see http://hardened.gentoo.org/gnu-stack.xml
 Please include the following list of files in your report:
RWX R-X RWX usr/bin/poly
!WX --- --- usr/lib64/libpolyml.a:x86asmtemp.o
RWX --- --- usr/lib64/libpolyml.so.1.0.1


emerge --info
Portage 2.2_rc23 (default/linux/amd64/2008.0/desktop, gcc-4.3.2, glibc-2.7-r2, 2.6.27-gentoo-r8 x86_64)
=================================================================                                      
System uname: Linux-2.6.27-gentoo-r8-x86_64-Intel-R-_Core-TM-2_CPU_4300_@_1.80GHz-with-glibc2.2.5      
Timestamp of tree: Wed, 28 Jan 2009 11:45:02 +0000                                                     
ccache version 2.4 [enabled]                                                                           
app-shells/bash:     3.2_p39                                                                           
dev-java/java-config: 1.3.7-r1, 2.1.6-r1                                                               
dev-lang/python:     2.5.2-r7                                                                          
dev-util/ccache:     2.4-r7
dev-util/cmake:      2.6.2-r1
sys-apps/baselayout: 2.0.0
sys-apps/openrc:     0.4.1-r1
sys-apps/sandbox:    1.2.18.1-r2
sys-devel/autoconf:  2.13, 2.63
sys-devel/automake:  1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.2
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   1.5.26
virtual/os-headers:  2.6.27-r2
ACCEPT_KEYWORDS="amd64"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -fgcse-after-reload -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-march=native -O2 -fgcse-after-reload -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="ccache collision-protect distlocks fixpackages metadata-transfer parallel-fetch preserve-libs protect-owned sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://mirrors.sec.informatik.tu-darmstadt.de/gentoo/ http://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/ http://mirror.switch.ch/ftp/mirror/gentoo/"
LANG="de_DE.utf8"
LC_ALL="de_DE.utf8"
LDFLAGS="-Wl,-O1"
LINGUAS="de"
MAKEOPTS="-j4"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/portage/local/layman/java-overlay /usr/portage/local/layman/gnash-cvs /usr/portage/local/layman/mysql-testing /usr/portage/local/layman/enlightenment /usr/portage/local/layman/enlightenment /usr/local/portage"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="X Xaw3d a52 aac aalib accessibility acl acpi agg akode alsa amarok amd64 apache2 bash-completion berkdb blender-game bluetooth branding bzip2 cairo captury cdaudio cdr cdrom cjk cli clucene cracklib crypt cups curl cviewer daap dbus designer-plugin dga dirac djvu dri dvd dvdnav dvdr dvdread dxr3 eds emacs embedded emboss encode evo fam fbcon ffmpeg fftw firefox fits flac fortran gcj gdbm ggi gif glibc-omitfp glitz gopher gpg gpm gstreamer hal hdri htmlhandbook iceweasel iconv icu imagemagick insecure-savers ipv6 isdnlog jabber jack java java5 java6 javascript jingle jpeg kde kde4 kdebuild kdecards kdeenablefinal kdehiddenvisibility kdepim kdm kontact ktts latex lcms ldap libcaca libnotify libwww lm_sensors logitech-mouse lua mad matroska mdnsresponder-compat midi mikmod mmx mng mp3 mpeg mpeg2 mpi mudflap mule multilib musepack mysql ncurses nepomuk nls noamazon nova nptl nptlonly nsplugin offensive ogg ogg123 openal openexr opengl openmp oss pam pcre pdf perl plasma png posix povray ppds pppd python qt3support qt4 quicktime readline reflection reiser4 reiserfs schroedinger sdl sdl-image semantic-desktop sensord session sndfile solver songs sound speex spell spl sse sse2 ssl startup-notification svg sysfs tcpd tetex theora threads tidytiff tools truetype type1 unicode usb vhook visualization vorbis wav wavpack xcomposite xemacs xine xml xorg xosd xprint xscreensaver xulrunner xv zip zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic auth_digest authn_anon authn_dbd authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="de" USERLAND="GNU" VIDEO_CARDS="i810 intel nv nvidia vesa"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 solar (RETIRED) gentoo-dev 2009-01-28 22:18:19 UTC
Simply because we document the problem does not mean we want to fix it for everybody. pkgs that violate QA policies/checks should be addressed by the maintainers of the given packages. Please do not assign directly to hardened@ in the future.

Based on the output of scanelf however the error looks quite clear. Some .asm/.S file lacks the proper markings.
Comment 2 Mark Wright gentoo-dev 2012-01-08 10:40:10 UTC
Fixed 2 of the QA Notices by patching the asm files with
files/polyml-5.4.1-asm.patch in polyml-5.4.1.ebuild. One remains:
 * RWX R-X RWX usr/bin/pol

They come from:

# pwd
/var/tmp/portage/dev-lang/polyml-5.4.1/work/polyml.5.4.1
# scanelf -qeR .
--- R-X RWX  ./.libs/poly
!WX --- ---  ./polyexport.o
# 

From Makefile.am:

# Select the architecture-specific modules
if ARCHI386
POLYIMPORT = $(srcdir)/imports/polymli386.txt
else
if ARCHPPC
POLYIMPORT = $(srcdir)/imports/polymlppc.txt
else
if ARCHSPARC
POLYIMPORT = $(srcdir)/imports/polymlsparc.txt
else
if ARCHINTERPRET
POLYIMPORT = $(srcdir)/imports/polymlint.txt
else
if ARCHINTERPRET64
POLYIMPORT = $(srcdir)/imports/polymlint64.txt
else
if ARCHX86_64
POLYIMPORT = $(srcdir)/imports/polymlx86_64.txt
else
endif
endif
endif
endif
endif
endif

is translated to this in Makefile:

polyexport.o: polyimport exportPoly.sml polytemp.txt
	./polyimport $(POLYIMPORT_OPTIONS) polytemp.txt -I $(srcdir) < $(srcdir)/exportPoly.sml

polytemp.txt: $(POLYIMPORT)
	cp $(POLYIMPORT) polytemp.txt