Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 244907 - app-laptop/thinkpad-5.9-r1 - thinkpad-5.9/2.6/drivers/smapi_call.S:53: Error: suffix or operands invalid for `pop'
Summary: app-laptop/thinkpad-5.9-r1 - thinkpad-5.9/2.6/drivers/smapi_call.S:53: Error:...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: High normal (vote)
Assignee: Steev Klimaszewski (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-10-29 18:00 UTC by Marek Zachara
Modified: 2008-11-10 18:25 UTC (History)
1 user (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 Marek Zachara 2008-10-29 18:00:01 UTC
while emerging the package it fails when trying to compile 
the bug seem to be the result of using non-portable (to 64bit)
code within the package.


Reproducible: Always

Steps to Reproduce:
1. emerge thinkpad
2.
3.

Actual Results:  
<snip>
 * Preparing thinkpad module                                                                   
make -j3 HOSTCC=x86_64-pc-linux-gnu-gcc CROSS_COMPILE=x86_64-pc-linux-gnu- LDFLAGS= KSRC=/usr/src/linux default
make -C /usr/src/linux SUBDIRS=/var/tmp/paludis/app-laptop-thinkpad-5.9-r1/work/thinkpad-5.9/2.6/drivers modules
make[1]: Entering directory `/usr/src/linux-2.6.26-hardened-r4'                                                 
  CC [M]  /var/tmp/paludis/app-laptop-thinkpad-5.9-r1/work/thinkpad-5.9/2.6/drivers/thinkpad.o                  
  CC [M]  /var/tmp/paludis/app-laptop-thinkpad-5.9-r1/work/thinkpad-5.9/2.6/drivers/smapi_core.o                
  AS [M]  /var/tmp/paludis/app-laptop-thinkpad-5.9-r1/work/thinkpad-5.9/2.6/drivers/smapi_call.o                
/var/tmp/paludis/app-laptop-thinkpad-5.9-r1/work/thinkpad-5.9/2.6/drivers/smapi_call.S: Assembler messages:     
/var/tmp/paludis/app-laptop-thinkpad-5.9-r1/work/thinkpad-5.9/2.6/drivers/smapi_call.S:38: Error: suffix or operands invalid for `push'                                                                                                             
/var/tmp/paludis/app-laptop-thinkpad-5.9-r1/work/thinkpad-5.9/2.6/drivers/smapi_call.S:42: Error: suffix or operands invalid for `push'                                                                                                             
/var/tmp/paludis/app-laptop-thinkpad-5.9-r1/work/thinkpad-5.9/2.6/drivers/smapi_call.S:43: Error: suffix or operands invalid for `push'                                                                                                             
/var/tmp/paludis/app-laptop-thinkpad-5.9-r1/work/thinkpad-5.9/2.6/drivers/smapi_call.S:45: Error: suffix or operands invalid for `push'                                                                                                             
/var/tmp/paludis/app-laptop-thinkpad-5.9-r1/work/thinkpad-5.9/2.6/drivers/smapi_call.S:46: Error: suffix or operands invalid for `push'                                                                                                             
/var/tmp/paludis/app-laptop-thinkpad-5.9-r1/work/thinkpad-5.9/2.6/drivers/smapi_call.S:50: Warning: indirect lcall without `*'                                                                                                                      
/var/tmp/paludis/app-laptop-thinkpad-5.9-r1/work/thinkpad-5.9/2.6/drivers/smapi_call.S:53: Error: suffix or operands invalid for `pop'                                                                                                              
In file included from /var/tmp/paludis/app-laptop-thinkpad-5.9-r1/work/thinkpad-5.9/2.6/drivers/../include/thinkpad_common.h:80,                                                                                                                    
                 from /var/tmp/paludis/app-laptop-thinkpad-5.9-r1/work/thinkpad-5.9/2.6/drivers/smapi_core.c:39:          
/var/tmp/paludis/app-laptop-thinkpad-5.9-r1/work/thinkpad-5.9/2.6/drivers/../include/rtcmosram.h:171: warning: 'packed' attribute ignored                                                                                                           
/var/tmp/paludis/app-laptop-thinkpad-5.9-r1/work/thinkpad-5.9/2.6/drivers/smapi_core.c: In function 'smapi_init':         
/var/tmp/paludis/app-laptop-thinkpad-5.9-r1/work/thinkpad-5.9/2.6/drivers/smapi_core.c:282: warning: cast from pointer to integer of different size                                                                                                 
make[2]: *** [/var/tmp/paludis/app-laptop-thinkpad-5.9-r1/work/thinkpad-5.9/2.6/drivers/smapi_call.o] Error 1             
make[2]: *** Waiting for unfinished jobs....                                                                              
In file included from /var/tmp/paludis/app-laptop-thinkpad-5.9-r1/work/thinkpad-5.9/2.6/drivers/../include/thinkpad_common.h:80,                                                                                                                    
                 from /var/tmp/paludis/app-laptop-thinkpad-5.9-r1/work/thinkpad-5.9/2.6/drivers/thinkpad.c:49:            
/var/tmp/paludis/app-laptop-thinkpad-5.9-r1/work/thinkpad-5.9/2.6/drivers/../include/rtcmosram.h:171: warning: 'packed' attribute ignored                                                                                                           
make[1]: *** [_module_/var/tmp/paludis/app-laptop-thinkpad-5.9-r1/work/thinkpad-5.9/2.6/drivers] Error 2                  
make[1]: Leaving directory `/usr/src/linux-2.6.26-hardened-r4'                                                            
make: *** [default] Error 2                                                                                               
/usr/libexec/paludis/utils/emake: emake returned error 2                                                                  

Expected Results:  
compile modules on 64bit architecture

i know the package is marked x86 only, and i have manually
changed this to make it start compile on my machine.
Browsing old bug reports for thinkpad i found out that amd64
keyword was removed around 2005 as there were no thinkpads
with 64bit CPUs then. However, nowadays thinkpad
laptops do come with amd64 compatible processors (intel core duo)
i have amd64 on my x60 and it generally works well, but
this specific package doesnt.





Portage 2.1.4.5 (hardened/linux/amd64/2008.0, gcc-4.1.2, glibc-2.6.1-r0, 2.6.26-hardened-r4 x86_64)
=================================================================                                  
System uname: 2.6.26-hardened-r4 x86_64 Intel(R) Core(TM)2 CPU T5500 @ 1.66GHz                     
Timestamp of tree: Wed, 29 Oct 2008 06:00:01 +0000                                                 
app-shells/bash:     3.2_p33                                                                       
dev-java/java-config: 1.3.7, 2.1.6                                                                 
dev-lang/python:     2.4.4-r13, 2.5.2-r7                                                           
dev-python/pycrypto: 2.0.1-r6                                                                      
dev-util/cmake:      2.6.2                                                                         
sys-apps/baselayout: 1.12.11.1                                                                     
sys-apps/sandbox:    1.2.18.1-r2                                                                   
sys-devel/autoconf:  2.13, 2.61-r2                                                                 
sys-devel/automake:  1.7.9-r1, 1.9.6-r2, 1.10.1-r1                                                 
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.23-r3                                                                     
ACCEPT_KEYWORDS="amd64 ~amd64"                                                                     
CBUILD="x86_64-pc-linux-gnu"                                                                       
CFLAGS="-O2 -pipe -march=nocona"                                                                   
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/terminfo /etc/udev/rules.d"                                                                                                        
CXXFLAGS="-O2 -pipe -march=nocona"
DISTDIR="/usr/portage/distfiles"
FEATURES="distlocks metadata-transfer sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://mirror.gentoo.no/ http://www.mirrorservice.org/sites/www.ibiblio.org/gentoo/ http://gentoo.virginmedia.com/ http://distro.ibiblio.org/pub/linux/distributions/gentoo/"
LDFLAGS="-Wl,-O1 -Wl,--enable-new-dtags -Wl,--sort-common -Wl,--as-needed -s"
MAKEOPTS="-j3"
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"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="acl amd64 berkdb bzip2 cli cracklib crypt cups dri gdbm gpm hardened iconv isdnlog justify midi mmx mudflap multilibncurses nptl nptlonly openmp pam pcre perl pic pppd python readline reflection session spl sse sse2 ssl sysfs tcpd urandom xorg zlib" ALSA_CARDS="hda-intel" 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 authn_alias authn_anon 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 deflate dir disk_cache env expires ext_filter file_cachefilter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="i810 vesa"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
Comment 1 Wormo (RETIRED) gentoo-dev 2008-10-29 21:51:15 UTC
How old is your thinkpad? This thinkpad ebuild has deprecated tpctl modules, which don't even build with latest kernels. Hopefully you can use tp_smapi instead, which is keyworded for amd64 (testing, though not yet stable)
http://www.thinkwiki.org/wiki/SMAPI_support_for_Linux#Using_the_tp_smapi_module
Comment 2 Marek Zachara 2008-10-30 10:46:22 UTC
I didnt know thinkpad module was depreciated. I have tried tp_smapi - it does build, but it does not load. When i try to insmod them i get:
WARNING: Error inserting thinkpad_ec (/lib/modules/2.6.26-hardened-r4/extra/thinkpad_ec.ko): No such device or address
FATAL: Error inserting tp_smapi (/lib/modules/2.6.26-hardened-r4/extra/tp_smapi.ko): Unknown symbol in module, or unknownparameter (see dmesg)

in dmesg:
thinkpad_ec: cannot claim io ports 0x1600-0x161f
thinkpad_ec: cannot claim io ports 0x1600-0x161f
tp_smapi: Unknown symbol thinkpad_ec_unlock
tp_smapi: Unknown symbol thinkpad_ec_invalidate
tp_smapi: Unknown symbol thinkpad_ec_read_row
tp_smapi: Unknown symbol thinkpad_ec_lock

the root cause seems to be the thinkpad_ec not being able to read the io space.
I wonder if that may be caused by the hardened configuration, though the module is not an executable itself, so I cant control its execution (e.g. via paxctl)
Comment 3 Wormo (RETIRED) gentoo-dev 2008-10-31 06:53:13 UTC
This could be your tp_smapi problem:
http://fixunix.com/debian/531137-bug-498207-does-not-load-2-6-26-1-openvz-amd64.html

The solution was getting rid of the kernel-included hdaps driver (module for debian, perhaps you have it builtin); if hdaps is needed, turn on the useflag and let tp_smapi install a compatible one.
Comment 4 Marek Zachara 2008-10-31 12:01:48 UTC
Thanks, this does solve the problem. removing the hdaps from the kernel allow tp_smapi to load - though tp_smapi does not pull in hdapsd even when the use flag is set. trying to emerge hdapsd manually fails as it requires the hdaps functionality in the kernel. But since tp_smapi ignored it, maybe its not needed? does tp_smapi provide hdaps functionality? Last thing: if tp_smapi shall replace thinkpad package, maybe some info shall be added to it to point users to tp_smapi? Anyway, i think this bug can be closed now. 
Comment 5 Wormo (RETIRED) gentoo-dev 2008-11-10 08:06:42 UTC
Steev, hope you don't mind me closing your bug, but it seems the reporter is fairly satisfied now :)
Comment 6 Steev Klimaszewski (RETIRED) gentoo-dev 2008-11-10 15:56:14 UTC
Not at all - I do apologize - real life being hectic, and my thinkpad is actually on the fritz - well, past it - its a 600E - i have a new one arriving some time this week or next thanks to a nice friend of mine who no longer uses his and is giving it to me
Comment 7 Marek Zachara 2008-11-10 18:25:51 UTC
yes, i am happy with the resolution - and until there is some better way to point the users wanting to install thinkpad module to tp_smapi i guess this bug can do the job