Hacker News

Top stories

Live mirror
30 storiesupdated just nowView source snapshot
  1. Human brain is two separate organs, Stanford Medicine-led research finds(stanford.edu ↗)
    8comments
  2. San Francisco Onion Futures Company(onionfutures.com ↗)
    47comments
  3. Android 17 is the first since 3.x to add new APIs without releasing to the AOSP(grapheneos.social ↗)
    361comments
  4. Typesafe-computer-use drives a Mac toward a goal for 1/50th of a cent per step(github.com/awlevin ↗)
    13comments
  5. SDCC – Small Device C Compiler(sourceforge.net ↗)
    14comments
  6. Science Is Open Software(jepedersen.dk ↗)
    25comments
  7. If math is more than proof, we need to better celebrate the rest of it(terrytao.wordpress.com ↗)
    discuss
  8. Cloudflare Quick Tunnels(cloudflare.com ↗)
    272comments
  9. Why building a Rust LSP is hard(rust-glancer.github.io ↗)
    20comments
  10. Saving another 100TB of RAM(cloudflare.com ↗)
    61comments
  11. How OpenAI Used Its Own LLMs to Design Its Jalapeño Chip(ieee.org ↗)
    76comments
  12. NASA-IBM Lunar Foundation open-Source Geospatial AI Model(usra.edu ↗)
    1comments
  13. How to Write with an LLM(sockpuppet.org ↗)
    312comments
  14. Ctenophores: Wonders of Biology(quantamagazine.org ↗)
    4comments
  15. You can run Git on object storage if you re-make packfiles(tigrisdata.com ↗)
    4comments
  16. Goroutine Leak Profiles(go.dev ↗)
    2comments
  17. The first new cat species discovered in 100 years(nationalgeographic.com ↗)
    90comments
  18. Show HN: Cactus Needle 3: 8-29MB automation models can match DeepSeek V4 Flash(cactuscompute.com ↗)
    85comments
  19. OpenJev(openjev.com ↗)
    257comments
  20. Photon-Emission-Guided Laser Fault Injection Enables RP2350 Secure Debug(ledger.com ↗)
    65comments
  21. The Farnese letter(simonklee.dk ↗)
    6comments
  22. Cache-to-Cache: Direct Semantic Communication Between LLMs (2025)(arxiv.org ↗)
    12comments
  23. Xcode 27.1 Beta Release Notes(developer.apple.com ↗)
    95comments
  24. Minimal Phone 2(minimalcompany.com ↗)
    208comments
  25. Cyclomatic Complexity in C#(ndepend.com ↗)
    17comments
  26. Inside ZCode: Silently uploading your Git history to the cloud(ferstar.org ↗)
    97comments
  27. Claude Code now reads AGENTS.md if there is no Claude.md(claude.com ↗)
    219comments
  28. Warez: The Infrastructure and Aesthetics of Piracy (2021)(archive.org ↗)
    46comments
  29. LispBM is a concurrent Lisp for microcontrollers with message passing(lispbm.com ↗)
    3comments
  30. Alibaba open-sources AI model that can detect cancer and nearly 150 conditions(scmp.com ↗)
    11comments

SDCC – Small Device C Compiler

54 pointsby 4h agosdcc.sourceforge.net
14 comments
3h agoHN ↗

TIL about Dallas Semiconductor from this page.

Love Silicon Prairie lore.

3h agoHN ↗

SDCC has the best OSS 8051 compiler. It is buggy as hell, but it is free. Sometimes that is good enough.

2h agoHN ↗

I used it for some toy projects never ran into "bugs" as in this is just broken, but it's quirky for sure.

2h agoHN ↗

when you have large code, bugs will find you. for example two uint16 vars globally declared one after another. adding them together to each other will produce an access to garbage memory after 5-6 additions. dumb code but a simple repro. i ran into its bug when working on eInk price tags a while back.

1h agoHN ↗

As a student, 20 years ago, I felt like I was going crazy when using SDCC for pic16. Being new to microcontrollers and C, SDCC seemed cursed - even simple 'blink LED' test cases pseudo-randomly worked or didn't. It turned out that the compiler optimized away some 'empty' loops a little bit too aggressively without realizing that these loops were setting output pins. These bugs have long been fixed but still live on in my long-term memory.

45m agoHN ↗

I still run across this to this day with GCC and Cortex-M code. The optimizer will occasionally decide to blow away loops that are clearly doing something.

39m agoHN ↗

Please file a bug report, if you haven't done so.

32m agoHN ↗

that the compiler optimized away some 'empty' loops a little bit too aggressively without realizing that these loops were setting output pins.

Doesn't sounds like a bug in the compiler, sounds more like `volatile` was not used (unless, of course, `volatile` was not being honoured).

43m agoHN ↗

What a coincidence, just yesterday I asked an LLM to generate a C compiler for the 8051 because SDCC's output was not optimized. Within an 1.5 hour it was correctly compiling my project at 60% of the size of what SDCC generates. One or 2 quota refreshes later it passed the SDCC test suite and optimized soft floats.

https://github.com/jyaif/cc51

26m agoHN ↗

I assume you're running that test suite using a 3rd party 8051 emulator to avoid the potential for common-mode errors in both your compiler and emulator resulting in false confidence the compiler's correctness?

two simulators used for testing, sim51 (a plain 8051) and minitel_sim

Narrator: No, he was not.

2h agoHN ↗

Has worked well enough for me on 8051 and stm8

2h agoHN ↗

SDCC has been a nice resource for a variety of MCUs. I wish it had support for some of the 8-bit PIC chips like the PIC10 and PIC12... maybe one day!

1h agoHN ↗

If it has not to be SDCC, Mikroe compilers have support for them across C, BASIC and Pascal compilers, if I am not mistaken.

1h agoHN ↗

The PIC compiler options were never standards compliant up until around when Microchip purchased AVR. There are great chips now that have free gcc support, reasonable power draw, and 32bit float support (ATSAM3X8E current prices are not worth it in many cases.)

PIC does still have a few key use-cases, but most people will hit the stack depth limits pretty quickly in C. A pic12 Assembly project is fun, but the limitations cut deep these days.

STM32/ESP32/RP2350 or nRF for low power stuff are far less effort these days, and give much better value. =3