Summary: | libcap emerge error: can't find a register in class `BREG' while reloading | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Arent Groebner <arent> |
Component: | New packages | Assignee: | SpanKY <vapier> |
Status: | RESOLVED FIXED | ||
Severity: | blocker | CC: | solar |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | x86 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
Full log
Proprietary SuSE loop_fish2 encryption module |
Description
Arent Groebner
2003-09-29 15:29:53 UTC
Created attachment 18508 [details]
Full log
Yeah.. thats a tricky one really. all .so should be able to be compiled with -fPIC, you will also notice this same exact thing happen on proftpd in sys_cap.c The simple solution is to add ---------------------- inherit flag-o-matic filter-flags -fPIC ---------------------- to the ebuild. Ulrich Drepper <drepper@redhat.com> has written an interesting read on How to Write Shared Libraries archived at http://linbsd.net/~solar/ukuug2002slides.pdf which explain some techniques on coding -fPIC aware code. -fPIC basicly reserves the EBX register to resolve text relocations. This can eaisly be seen in this example gcc -o ebx.c ebx ; should compile fine gcc -o ebx.c ebx -fPIC ; will fail with standard BREG error int main(int argc, char **argv) { int i = 0; __asm__ __volatile__("addl $1,%%ebx\n\t"::"b"(i)); return i; } fpic is now filtered in latest stable while latest unstable utilizes the debian patch to properly support PIC Confirmed libcap with -fPIC works on x86 compile & runtime. Thanks so much for finding that solution it's so desired over filtering. Now if we could only get util-linux -2.12 2.11z-r7 with the pic patch bumped to stable. > Now if we could only get util-linux -2.12 2.11z-r7
> with the pic patch bumped to stable.
Will r7 support non-gentoo encryption modules? I'm using a SuSE encryption
module (loop_fish2) and while this is running perfectly under current r6,
I got lots of problems with current *unstable* util-linux:
"ioctl: LOOP_SET_STATUS : Invalid argument"
Steps to reproduce:
insmod /PATH_TO_SUSE_ENCRYPTION_MODULE/loop_fish2.o
mount /MY_ENCRYPTED_PARTITION
I will supply the source of the module so you can check if it will load with
util-linux -2.12 2.11z-r7.
Created attachment 18522 [details]
Proprietary SuSE loop_fish2 encryption module
Arent, perhaps bug #25192 http://bugs.gentoo.org/show_bug.cgi?id=25192 would be a better place for such things. This libcap bug is closed and the chances of it being found by any developer working with encryption are slim. |