https://sources.debian.org/data/main/p/picprog/1.9.1-3/debian/patches/20_iopl.patch Description: Avoid some functions in some architectures Upstream uses iopl() function and other architecture-dependent codes. This patch adds building switches to avoid them in some architectures. Author: Koichi Akabe Last-Update: 2011-11-30 --- picprog-1.9.1.orig/picport.cc +++ picprog-1.9.1/picport.cc @@ -38,7 +38,12 @@ #include #include -#include + +#if defined(__i386__) || defined(__x86_64__) + #include + #define HAVE_IOPL +#endif + #include #include #include @@ -160,8 +165,12 @@ // Not root. Cannot use realtime scheduling. use_nanosleep = 0; } +#ifdef HAVE_IOPL if (iopl (3)) disable_interrupts = 0; +#else + disable_interrupts = 0; +#endif #ifdef CPU_SETSIZE // When computing the delay loops, we do not want the cpu's to change. @@ -403,13 +412,17 @@ { struct timeval tv1, tv2; gettimeofday (&tv1, 0); +#if defined(__i386__) or defined(__x86_64__) if (tsc_1000ns > 1 && disable_interrupts) asm volatile("pushf; cli"); +#endif set_clock_data (1, b); // set data, clock up delay (cable_delay); set_clock_data (0, b); // clock down +#if defined(__i386__) or defined(__x86_64__) if (tsc_1000ns > 1 && disable_interrupts) asm volatile("popf"); +#endif gettimeofday (&tv2, 0); // We may have spent a long time in an interrupt or in another task @@ -428,13 +441,17 @@ { struct timeval tv1, tv2; gettimeofday (&tv1, 0); +#if defined(__i386__) or defined(__x86_64__) if (tsc_1000ns > 1 && disable_interrupts) asm volatile("pushf; cli"); +#endif set_clock_data (1, 1); // clock up delay (cable_delay); set_clock_data (0, 1); // set data up, clock down +#if defined(__i386__) or defined(__x86_64__) if (tsc_1000ns > 1 && disable_interrupts) asm volatile("popf"); +#endif gettimeofday (&tv2, 0); // We may have spent a long time in an interrupt or in another task ef='/guix/log/tests?id=18a588773e21291452744263a0f641d01b75f22c'>tests/records.scm
gnu/packages/telegram.scm (telegram-desktop): Likewise. * gnu/packages/vnc.scm (remmina): Likewise. * gnu/packages/web-browsers.scm (nyxt): Likewise.
AgeCommit message (Expand)Author
2021-08-12records: Support field sanitizers....* guix/records.scm (make-syntactic-constructor): Add #:sanitizers. [field-sanitizer]: New procedure. [wrap-field-value]: Honor F's sanitizer. (define-record-type*)[field-sanitizer]: New procedure. Pass #:sanitizer to 'make-syntactic-constructor'. * tests/records.scm ("define-record-type* & sanitize") ("define-record-type* & sanitize & thunked"): New tests. Ludovic Courtès
2021-04-29diagnostics, ui: Adjust to 'read-error' and 'syntax-error' in Guile 3.0.6....* guix/diagnostics.scm (source-properties->location): Add clause for vectors. * guix/ui.scm (report-load-error): Tweak 'read-error' handling for 3.0.6. * tests/guix-package.sh: Relax regexp for the "unbound variable" diagnostic check. * tests/guix-system.sh: Adjust "missing closing paren" check for 3.0.6. * tests/records.scm (location-alist): New procedure. ("define-record-type* & wrong field specifier") ("define-record-type* & wrong field specifier, identifier") ("define-record-type* & duplicate initializers"): Use it. Ludovic Courtès
Liliana Marie Prikler