linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [linux-next:master 9327/11713] drivers/leds/leds-pca955x.c:149:19: warning: unused function 'pca95xx_num_led_regs'
@ 2022-03-09 15:48 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2022-03-09 15:48 UTC (permalink / raw)
  To: Andrew Jeffery
  Cc: llvm, kbuild-all, Linux Memory Management List, Pavel Machek,
	Cédric Le Goater

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head:   4e7a74a6856f8613dab9794da4b5cfb8fd54fb8c
commit: ca386253ff6fb86128a7c61e1c38ca91de38048d [9327/11713] leds: pca955x: Make the gpiochip always expose all pins
config: mips-randconfig-c004-20220309 (https://download.01.org/0day-ci/archive/20220309/202203092319.4Bkj9Bnn-lkp@intel.com/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 276ca87382b8f16a65bddac700202924228982f6)
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # install mips cross compiling tool for clang build
        # apt-get install binutils-mips-linux-gnu
        # https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=ca386253ff6fb86128a7c61e1c38ca91de38048d
        git remote add linux-next https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
        git fetch --no-tags linux-next master
        git checkout ca386253ff6fb86128a7c61e1c38ca91de38048d
        # save the config file to linux build tree
        mkdir build_dir
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=mips SHELL=/bin/bash drivers/leds/

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All warnings (new ones prefixed by >>):

>> drivers/leds/leds-pca955x.c:149:19: warning: unused function 'pca95xx_num_led_regs'
   static inline int pca95xx_num_led_regs(int bits)
   ^
   fatal error: error in backend: Nested variants found in inline asm string: ' .set push
   .set mips64r2
   .if ( 0x00 ) != -1)) 0x00 ) != -1)) : ($( static struct ftrace_branch_data __attribute__((__aligned__(4))) __attribute__((__section__("_ftrace_branch"))) __if_trace = $( .func = __func__, .file = "arch/mips/include/asm/bitops.h", .line = 103, $); 0x00 ) != -1)) : $))) ) && ( 0 ); .set push; .set mips64r2; .rept 1; sync 0x00; .endr; .set pop; .else; ; .endif
   1: ll $0, $1
   or $0, $2
   sc $0, $1
   beqz $0, 1b
   .set pop
   '
   PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script.
   Stack dump:
   0. Program arguments: clang -Wp,-MMD,drivers/leds/.leds-pca955x.o.d -nostdinc -Iarch/mips/include -I./arch/mips/include/generated -Iinclude -I./include -Iarch/mips/include/uapi -I./arch/mips/include/generated/uapi -Iinclude/uapi -I./include/generated/uapi -include include/linux/compiler-version.h -include include/linux/kconfig.h -include include/linux/compiler_types.h -D__KERNEL__ -DVMLINUX_LOAD_ADDRESS=0xffffffff80101000 -DLINKER_LOAD_ADDRESS=0x80101000 -DDATAOFFSET=0 -Qunused-arguments -fmacro-prefix-map== -DKBUILD_EXTRA_WARN1 -Wall -Wundef -Werror=strict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -fshort-wchar -fno-PIE -Werror=implicit-function-declaration -Werror=implicit-int -Werror=return-type -Wno-format-security -std=gnu89 --target=mipsel-linux -fintegrated-as -Werror=unknown-warning-option -Werror=ignored-optimization-argument -mno-check-zero-division -mabi=32 -G 0 -mno-abicalls -fno-pic -pipe -msoft-float -DGAS_HAS_SET_HARDFLOAT -Wa,-msoft-float -ffreestanding -EL -fno-stack-check -march=mips32 -Wa,--trap -DTOOLCHAIN_SUPPORTS_VIRT -Iarch/mips/include/asm/mach-rc32434 -Iarch/mips/include/asm/mach-generic -fno-asynchronous-unwind-tables -fno-delete-null-pointer-checks -Wno-frame-address -Wno-address-of-packed-member -O2 -Wframe-larger-than=1024 -fno-stack-protector -Wimplicit-fallthrough -Wno-gnu -mno-global-merge -Wno-unused-but-set-variable -Wno-unused-const-variable -ftrivial-auto-var-init=zero -enable-trivial-auto-var-init-zero-knowing-it-will-be-removed-from-clang -fno-stack-clash-protection -pg -Wdeclaration-after-statement -Wvla -Wno-pointer-sign -Wcast-function-type -Wno-array-bounds -fno-strict-overflow -fno-stack-check -Werror=date-time -Werror=incompatible-pointer-types -Wextra -Wunused -Wno-unused-parameter -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wold-style-definition -Wmissing-include-dirs -Wunused-but-set-variable -Wunused-const-variable -Wno-missing-field-initializers -Wno-sign-compare -Wno-type-limits -fsanitize=array-bounds -fsanitize=shift -fsanitize=bool -fsanitize=enum -I drivers/leds -I ./drivers/leds -DMODULE -mlong-calls -DKBUILD_BASENAME="leds_pca955x" -DKBUILD_MODNAME="leds_pca955x" -D__KBUILD_MODNAME=kmod_leds_pca955x -c -o drivers/leds/leds-pca955x.o drivers/leds/leds-pca955x.c
   1. <eof> parser at end of file
   2. Code generation
   3. Running pass 'Function Pass Manager' on module 'drivers/leds/leds-pca955x.c'.
   4. Running pass 'Mips Assembly Printer' on function '@pca955x_probe'
   #0 0x00005606c72f860f Signals.cpp:0:0
   #1 0x00005606c72f64ec llvm::sys::CleanupOnSignal(unsigned long) (/opt/cross/clang-276ca87382/bin/clang-15+0x34914ec)
   #2 0x00005606c7236ac7 llvm::CrashRecoveryContext::HandleExit(int) (/opt/cross/clang-276ca87382/bin/clang-15+0x33d1ac7)
   #3 0x00005606c72eeb9e llvm::sys::Process::Exit(int, bool) (/opt/cross/clang-276ca87382/bin/clang-15+0x3489b9e)
   #4 0x00005606c4efd62b (/opt/cross/clang-276ca87382/bin/clang-15+0x109862b)
   #5 0x00005606c723d5ec llvm::report_fatal_error(llvm::Twine const&, bool) (/opt/cross/clang-276ca87382/bin/clang-15+0x33d85ec)
   #6 0x00005606c7f52900 llvm::AsmPrinter::emitInlineAsm(llvm::MachineInstr const (/opt/cross/clang-276ca87382/bin/clang-15+0x40ed900)
   #7 0x00005606c7f4e834 llvm::AsmPrinter::emitFunctionBody() (/opt/cross/clang-276ca87382/bin/clang-15+0x40e9834)
   #8 0x00005606c5975df7 llvm::MipsAsmPrinter::runOnMachineFunction(llvm::MachineFunction&) (/opt/cross/clang-276ca87382/bin/clang-15+0x1b10df7)
   #9 0x00005606c663db4d llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (.part.53) MachineFunctionPass.cpp:0:0
   #10 0x00005606c6a861b7 llvm::FPPassManager::runOnFunction(llvm::Function&) (/opt/cross/clang-276ca87382/bin/clang-15+0x2c211b7)
   #11 0x00005606c6a86331 llvm::FPPassManager::runOnModule(llvm::Module&) (/opt/cross/clang-276ca87382/bin/clang-15+0x2c21331)
   #12 0x00005606c6a86eaf llvm::legacy::PassManagerImpl::run(llvm::Module&) (/opt/cross/clang-276ca87382/bin/clang-15+0x2c21eaf)
   #13 0x00005606c7615797 clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::HeaderSearchOptions const&, clang::CodeGenOptions const&, clang::TargetOptions const&, clang::LangOptions const&, llvm::StringRef, clang::BackendAction, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream> >) (/opt/cross/clang-276ca87382/bin/clang-15+0x37b0797)
   #14 0x00005606c826ed33 clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) (/opt/cross/clang-276ca87382/bin/clang-15+0x4409d33)
   #15 0x00005606c8d5b291 clang::ParseAST(clang::Sema&, bool, bool) (/opt/cross/clang-276ca87382/bin/clang-15+0x4ef6291)
   #16 0x00005606c826db6f clang::CodeGenAction::ExecuteAction() (/opt/cross/clang-276ca87382/bin/clang-15+0x4408b6f)
   #17 0x00005606c7c6cb01 clang::FrontendAction::Execute() (/opt/cross/clang-276ca87382/bin/clang-15+0x3e07b01)
   #18 0x00005606c7c0295a clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/opt/cross/clang-276ca87382/bin/clang-15+0x3d9d95a)
   #19 0x00005606c7d31f3b (/opt/cross/clang-276ca87382/bin/clang-15+0x3eccf3b)
   #20 0x00005606c4efebdc cc1_main(llvm::ArrayRef<char char (/opt/cross/clang-276ca87382/bin/clang-15+0x1099bdc)
   #21 0x00005606c4efb8ab ExecuteCC1Tool(llvm::SmallVectorImpl<char driver.cpp:0:0
   #22 0x00005606c7a9a4a5 void llvm::function_ref<void ()>::callback_fn<clang::driver::CC1Command::Execute(llvm::ArrayRef<llvm::Optional<llvm::StringRef> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> const::'lambda'()>(long) Job.cpp:0:0
   #23 0x00005606c7236983 llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/opt/cross/clang-276ca87382/bin/clang-15+0x33d1983)
   #24 0x00005606c7a9ad9e clang::driver::CC1Command::Execute(llvm::ArrayRef<llvm::Optional<llvm::StringRef> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> const (.part.216) Job.cpp:0:0
   #25 0x00005606c7a6f4b7 clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const (/opt/cross/clang-276ca87382/bin/clang-15+0x3c0a4b7)
   #26 0x00005606c7a6fe97 clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command >&) const (/opt/cross/clang-276ca87382/bin/clang-15+0x3c0ae97)
   #27 0x00005606c7a793ea clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command >&) (/opt/cross/clang-276ca87382/bin/clang-15+0x3c143ea)
   #28 0x00005606c4e487cf main (/opt/cross/clang-276ca87382/bin/clang-15+0xfe37cf)
   #29 0x00007f23d2855d0a __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x26d0a)
   #30 0x00005606c4efb3ca _start (/opt/cross/clang-276ca87382/bin/clang-15+0x10963ca)
   clang-15: error: clang frontend command failed with exit code 70 (use -v to see invocation)
   clang version 15.0.0 (git://gitmirror/llvm_project 276ca87382b8f16a65bddac700202924228982f6)
   Target: mipsel-unknown-linux
   Thread model: posix
   InstalledDir: /opt/cross/clang-276ca87382/bin
   clang-15: note: diagnostic msg:
   Makefile arch drivers fs include kernel nr_bisected scripts source usr
--
>> drivers/leds/leds-pca955x.c:149:19: warning: unused function 'pca95xx_num_led_regs'
   static inline int pca95xx_num_led_regs(int bits)
   ^
   fatal error: error in backend: Nested variants found in inline asm string: ' .set push
   .set mips64r2
   .if ( 0x00 ) != -1)) 0x00 ) != -1)) : ($( static struct ftrace_branch_data __attribute__((__aligned__(4))) __attribute__((__section__("_ftrace_branch"))) __if_trace = $( .func = __func__, .file = "arch/mips/include/asm/bitops.h", .line = 103, $); 0x00 ) != -1)) : $))) ) && ( 0 ); .set push; .set mips64r2; .rept 1; sync 0x00; .endr; .set pop; .else; ; .endif
   1: ll $0, $1
   or $0, $2
   sc $0, $1
   beqz $0, 1b
   .set pop
   '
   PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script.
   Stack dump:
   0. Program arguments: clang -Wp,-MMD,drivers/leds/.leds-pca955x.o.d -nostdinc -Iarch/mips/include -I./arch/mips/include/generated -Iinclude -I./include -Iarch/mips/include/uapi -I./arch/mips/include/generated/uapi -Iinclude/uapi -I./include/generated/uapi -include include/linux/compiler-version.h -include include/linux/kconfig.h -include include/linux/compiler_types.h -D__KERNEL__ -DVMLINUX_LOAD_ADDRESS=0xffffffff80101000 -DLINKER_LOAD_ADDRESS=0x80101000 -DDATAOFFSET=0 -Qunused-arguments -fmacro-prefix-map== -DKBUILD_EXTRA_WARN1 -Wall -Wundef -Werror=strict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -fshort-wchar -fno-PIE -Werror=implicit-function-declaration -Werror=implicit-int -Werror=return-type -Wno-format-security -std=gnu89 --target=mipsel-linux -fintegrated-as -Werror=unknown-warning-option -Werror=ignored-optimization-argument -mno-check-zero-division -mabi=32 -G 0 -mno-abicalls -fno-pic -pipe -msoft-float -DGAS_HAS_SET_HARDFLOAT -Wa,-msoft-float -ffreestanding -EL -fno-stack-check -march=mips32 -Wa,--trap -DTOOLCHAIN_SUPPORTS_VIRT -Iarch/mips/include/asm/mach-rc32434 -Iarch/mips/include/asm/mach-generic -fno-asynchronous-unwind-tables -fno-delete-null-pointer-checks -Wno-frame-address -Wno-address-of-packed-member -O2 -Wframe-larger-than=1024 -fno-stack-protector -Wimplicit-fallthrough -Wno-gnu -mno-global-merge -Wno-unused-but-set-variable -Wno-unused-const-variable -ftrivial-auto-var-init=zero -enable-trivial-auto-var-init-zero-knowing-it-will-be-removed-from-clang -fno-stack-clash-protection -pg -Wdeclaration-after-statement -Wvla -Wno-pointer-sign -Wcast-function-type -Wno-array-bounds -fno-strict-overflow -fno-stack-check -Werror=date-time -Werror=incompatible-pointer-types -Wextra -Wunused -Wno-unused-parameter -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wold-style-definition -Wmissing-include-dirs -Wunused-but-set-variable -Wunused-const-variable -Wno-missing-field-initializers -Wno-sign-compare -Wno-type-limits -fsanitize=array-bounds -fsanitize=shift -fsanitize=bool -fsanitize=enum -DMODULE -mlong-calls -DKBUILD_BASENAME="leds_pca955x" -DKBUILD_MODNAME="leds_pca955x" -D__KBUILD_MODNAME=kmod_leds_pca955x -c -o drivers/leds/leds-pca955x.o drivers/leds/leds-pca955x.c
   1. <eof> parser at end of file
   2. Code generation
   3. Running pass 'Function Pass Manager' on module 'drivers/leds/leds-pca955x.c'.
   4. Running pass 'Mips Assembly Printer' on function '@pca955x_probe'
   #0 0x000055fd91ce560f Signals.cpp:0:0
   #1 0x000055fd91ce34ec llvm::sys::CleanupOnSignal(unsigned long) (/opt/cross/clang-276ca87382/bin/clang-15+0x34914ec)
   #2 0x000055fd91c23ac7 llvm::CrashRecoveryContext::HandleExit(int) (/opt/cross/clang-276ca87382/bin/clang-15+0x33d1ac7)
   #3 0x000055fd91cdbb9e llvm::sys::Process::Exit(int, bool) (/opt/cross/clang-276ca87382/bin/clang-15+0x3489b9e)
   #4 0x000055fd8f8ea62b (/opt/cross/clang-276ca87382/bin/clang-15+0x109862b)
   #5 0x000055fd91c2a5ec llvm::report_fatal_error(llvm::Twine const&, bool) (/opt/cross/clang-276ca87382/bin/clang-15+0x33d85ec)
   #6 0x000055fd9293f900 llvm::AsmPrinter::emitInlineAsm(llvm::MachineInstr const (/opt/cross/clang-276ca87382/bin/clang-15+0x40ed900)
   #7 0x000055fd9293b834 llvm::AsmPrinter::emitFunctionBody() (/opt/cross/clang-276ca87382/bin/clang-15+0x40e9834)
   #8 0x000055fd90362df7 llvm::MipsAsmPrinter::runOnMachineFunction(llvm::MachineFunction&) (/opt/cross/clang-276ca87382/bin/clang-15+0x1b10df7)
   #9 0x000055fd9102ab4d llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (.part.53) MachineFunctionPass.cpp:0:0
   #10 0x000055fd914731b7 llvm::FPPassManager::runOnFunction(llvm::Function&) (/opt/cross/clang-276ca87382/bin/clang-15+0x2c211b7)
   #11 0x000055fd91473331 llvm::FPPassManager::runOnModule(llvm::Module&) (/opt/cross/clang-276ca87382/bin/clang-15+0x2c21331)
   #12 0x000055fd91473eaf llvm::legacy::PassManagerImpl::run(llvm::Module&) (/opt/cross/clang-276ca87382/bin/clang-15+0x2c21eaf)
   #13 0x000055fd92002797 clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::HeaderSearchOptions const&, clang::CodeGenOptions const&, clang::TargetOptions const&, clang::LangOptions const&, llvm::StringRef, clang::BackendAction, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream> >) (/opt/cross/clang-276ca87382/bin/clang-15+0x37b0797)
   #14 0x000055fd92c5bd33 clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) (/opt/cross/clang-276ca87382/bin/clang-15+0x4409d33)
   #15 0x000055fd93748291 clang::ParseAST(clang::Sema&, bool, bool) (/opt/cross/clang-276ca87382/bin/clang-15+0x4ef6291)
   #16 0x000055fd92c5ab6f clang::CodeGenAction::ExecuteAction() (/opt/cross/clang-276ca87382/bin/clang-15+0x4408b6f)
   #17 0x000055fd92659b01 clang::FrontendAction::Execute() (/opt/cross/clang-276ca87382/bin/clang-15+0x3e07b01)
   #18 0x000055fd925ef95a clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/opt/cross/clang-276ca87382/bin/clang-15+0x3d9d95a)
   #19 0x000055fd9271ef3b (/opt/cross/clang-276ca87382/bin/clang-15+0x3eccf3b)
   #20 0x000055fd8f8ebbdc cc1_main(llvm::ArrayRef<char char (/opt/cross/clang-276ca87382/bin/clang-15+0x1099bdc)
   #21 0x000055fd8f8e88ab ExecuteCC1Tool(llvm::SmallVectorImpl<char driver.cpp:0:0
   #22 0x000055fd924874a5 void llvm::function_ref<void ()>::callback_fn<clang::driver::CC1Command::Execute(llvm::ArrayRef<llvm::Optional<llvm::StringRef> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> const::'lambda'()>(long) Job.cpp:0:0
   #23 0x000055fd91c23983 llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/opt/cross/clang-276ca87382/bin/clang-15+0x33d1983)
   #24 0x000055fd92487d9e clang::driver::CC1Command::Execute(llvm::ArrayRef<llvm::Optional<llvm::StringRef> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> const (.part.216) Job.cpp:0:0
   #25 0x000055fd9245c4b7 clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const (/opt/cross/clang-276ca87382/bin/clang-15+0x3c0a4b7)
   #26 0x000055fd9245ce97 clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command >&) const (/opt/cross/clang-276ca87382/bin/clang-15+0x3c0ae97)
   #27 0x000055fd924663ea clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command >&) (/opt/cross/clang-276ca87382/bin/clang-15+0x3c143ea)
   #28 0x000055fd8f8357cf main (/opt/cross/clang-276ca87382/bin/clang-15+0xfe37cf)
   #29 0x00007fe4d637bd0a __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x26d0a)
   #30 0x000055fd8f8e83ca _start (/opt/cross/clang-276ca87382/bin/clang-15+0x10963ca)
   clang-15: error: clang frontend command failed with exit code 70 (use -v to see invocation)
   clang version 15.0.0 (git://gitmirror/llvm_project 276ca87382b8f16a65bddac700202924228982f6)
   Target: mipsel-unknown-linux
   Thread model: posix
   InstalledDir: /opt/cross/clang-276ca87382/bin
   clang-15: note: diagnostic msg:
   Makefile arch drivers fs include kernel nr_bisected scripts source usr


vim +/pca95xx_num_led_regs +149 drivers/leds/leds-pca955x.c

f46e9203d9a100 Nate Case 2008-07-16  147  
f46e9203d9a100 Nate Case 2008-07-16  148  /* 4 bits per LED selector register */
f46e9203d9a100 Nate Case 2008-07-16 @149  static inline int pca95xx_num_led_regs(int bits)
f46e9203d9a100 Nate Case 2008-07-16  150  {
f46e9203d9a100 Nate Case 2008-07-16  151  	return (bits + 3)  / 4;
f46e9203d9a100 Nate Case 2008-07-16  152  }
f46e9203d9a100 Nate Case 2008-07-16  153  

:::::: The code at line 149 was first introduced by commit
:::::: f46e9203d9a100bae216cc06e17f2e77351aa8d8 leds: Add support for Philips PCA955x I2C LED drivers

:::::: TO: Nate Case <ncase@xes-inc.com>
:::::: CC: Richard Purdie <rpurdie@rpsys.net>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2022-03-09 15:49 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-03-09 15:48 [linux-next:master 9327/11713] drivers/leds/leds-pca955x.c:149:19: warning: unused function 'pca95xx_num_led_regs' kernel test robot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).