Bug 59394
Summary: | Building RPM 4.0.4 from Source (Available Mutex?) | ||
---|---|---|---|
Product: | [Retired] Red Hat Linux | Reporter: | Noam Rathaus <dolittle> |
Component: | rpm | Assignee: | Jeff Johnson <jbj> |
Status: | CLOSED WONTFIX | QA Contact: | |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | 7.2 | ||
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | strongarm | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2002-02-06 22:04:11 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Noam Rathaus
2002-02-06 22:04:06 UTC
You're on an arm platform, you're gonna need arm assembly voo-doo for a test-and-set mutex, no other platform's assembly language will do. Try looking in libpthread for arm specific mutexes, or ask an ARM developer on an arm-specific mailing list for the Right Thing To Do. Sorry, ARM is not a platform that's available to me, so I can't undertake a fix flying blind, as it were. Please reopen this bug if you have a patch for rpm on arm, however, I'll be happy to integrate a known good patch Wow, well Debian has been nicer with their reply, and they have one of their own, so I guess I will just move there. If you will be kind enough to look into their's available here: http://ftp.de.debian.org/debian/dists/woody/main/binary-arm/pool/main/r/rpm/ Thanks for the pointer. Here's what I find + +The rpm source also includes (but is not built using) a copy of db3, which has +a BSD license (db/LICENSE in the source tree). + as it's db[34], not rpm, what needs the arm patch. And I do not see an arm mutex patch at ../../d/db3/db3_3.2.9.patch.gz (relative to the URL you've given me). Again, if there's a patch, I'll be happy to integrate into the db-4.0.14 code within rpm. I have no way of testing still ... Here's the arm asm voo-doo AFAICT: However your path of least resistance is gonna be to configure the internal db-4.0.14 with --enable-posixmutexes to use the mutexes from libpthread. Have fun with Debian however, I still cannot test the above. int __pthread_spin_lock (pthread_spinlock_t *lock) { unsigned int val; do asm volatile ("swp %0, %1, [%2]" : "=r" (val) : "0" (1), "r" (lock) : "memory"); while (val != 0); return 0; } weak_alias (__pthread_spin_lock, pthread_spin_lock) int __pthread_spin_trylock (pthread_spinlock_t *lock) { unsigned int val; asm volatile ("swp %0, %1, [%2]" : "=r" (val) : "0" (1), "r" (lock) : "memory"); return val ? EBUSY : 0; } weak_alias (__pthread_spin_trylock, pthread_spin_trylock) int __pthread_spin_unlock (pthread_spinlock_t *lock) { return *lock = 0; } weak_alias (__pthread_spin_unlock, pthread_spin_unlock) |