Locale Icon
English
  • Forums

    Popular Forums

    • LTspice
    • Video
    • Power Management
    • RF & Microwave
    • Precision ADCs
    • FPGA Reference Designs

    Product Forums

    • Amplifiers
    • Clocks & Timers
    • Data Converters
    • Direct Digital Synthesis (DDS)
    • Energy
    • Interface and Isolation
    • MEMS Inertial Sensors
    • Power Management
    • Processors & DSP
    • Processors & Microcontrollers
    • Switches & Multiplexers
    • Sensors
    • Voltage References
    View All

    Application Forums

    • A2B Audio Bus
    • Audio
    • Automated Test Equipment (ATE)
    • Condition-Based Monitoring
    • Depth, Perception & Ranging Technologies
    • Embedded Vision Sensing Library
    • Motor Control Hardware Platforms
    • Precision Technology Signal Chains Library
    • Video
    • Wireless Sensor Networks Reference Library

    Design Center Forums

    • ACE Evaluation Software
    • ADEF System Platforms
    • Design Tools & Calculators
    • FPGA Reference Designs
    • Linux Software Drivers
    • Microcontroller no-OS Drivers
    • Precision Studio
    • Power Studio Designer
    • Power Studio Planner
    • Reference Designs
    • Robot Operating System (ROS) SDK
    • Signal Chain Designer
    • Software Interface Tools
  • Learn

    Highlighted Webinar

    Fast-Track Certification: Leveraging IC Safety App Notes for Functional Safety Designs

    Stop guessing, start certifying. Learn how to use IC safety application notes to streamline your FMEDA and meet IEC 61508 and ISO 13849 standards with...

    Places

    • ADI Academy
    • ADI Webinars
    • EZ Blogs
    • Video Annex
    • Virtual Classroom

    Libraries

    • 3D ToF Depth Sensing Library
    • Continuous-Wave CMOS Time of Flight (TOF) Library
    • Embedded Vision Sensing Library
    • Gigabit Multimedia Serial Link (GMSL) Library
    • Optical Sensing Library
    • Other Products Library
    • Precision Technology Signal Chains Library
    • Software Modules and SDKs Library
    • Supervisory Circuits Library
    • Wireless Sensor Networks Library

    Upcoming Learning & Events

    • COTS SoMs & Phased Array Solutions for Rapid RF Subsystem Integration
    • LEO Satcom: Application of RF, Mixed-Signal, & Beamforming ICs
    • 3 Real World Methods to Make Your Power Supply More Intelligent
    View All Webinars
  • Community Hub

    Challenge Yourself!

      KCC's Quiz AQQ300 about Divisibility by 6

      1. Quote of the month: " Friendship is like money - easier made than kept " - Samuel Butler 2. New quiz AQQ300 about a divisibility by 6 puzzle ...

    View All

    What's Brewing

      Read a Blog, Take this Quiz for Another Chance to Win a Gift Card!

      Important: Read the blog first . The quiz questions are all based on the content of the blog: Taming the AI Power Storm: Part 2 of 3 Test your...

    View All

    Places

    • Community Help
    • Analog Dialogue Quiz
    • Logic Lounge
    • Super User Program

    Resources

    • EZ Code of Conduct
    • EZ How To Help Articles
    • Getting Started Guide
    • ADI: Words Matter
    • Community Help Videos
    View All
  • ContentZone

    Visit ContentZone

    Search content by industry or technology.
    • Blogs
    • Technical Articles
    • Tutorials
    • Videos
    • Webinars
    Your ADI content all in one place.
    View ContentZone

    The Latest Read

    Clock Tree Design and Why “PLL Locked” Is Not Enough

    In high-performance RF systems, clocking architecture is a foundational element that directly governs signal integrity, synchronization, and overall system...

    New Release

    Signal Chain Designer: DC Error Simulation
    Signal Chain Designer: DC Error Simulation

    This video covers the DC error calculation capabilities of Signal Chain Designer. DC error is unique in that often requires calibration and has so many...

    Recent Technical Insights

    Latest Technical Article from Analog.com
    Improving Industrial Functional Safety Compliance with High Performance Supervisory CircuitsPart 5: Sequencers Eliminate Systematic Failures

    This article shifts focus from managing the quantitative metrics of functional safety toward mastering the qualitative yet equally critical challenge:...

EngineerZone
EngineerZone
Linux Distribution for Blackfin
  • Log In
  • User
  • Site
  • Search
OR
Ask a Question
Linux Distribution for Blackfin
  • Processors & DSP
  • Software & Development Tools
  • Linux Distribution for Blackfin
  • Cancel
Linux Distribution for Blackfin
Documents [#6018] gcc-4.3 ICEs with {interrupt,exception,nmi}_handler function attributes in copyprop_hardreg_forward_1, at regrename.c:1787
  • Q&A
  • Docs/FAQs
  • Members
  • Tags
  • Cancel
  • +Documents
  • +2013R1 Linux release for Blackfin: FAQ
  • +2013R1: FAQ
  • +AD5700: FAQ
  • +ADI test script: FAQ
  • +bf537 SPI Bus: FAQ
  • +BF609: FAQ
  • +BF70x processor: FAQ
  • +bfin-elf-libstdc++-4.3: FAQ
  • +bfin-elf: FAQ
  • +bfin-uclinux-libstdc++-4.3: FAQ
  • +Blackfin Linux Projects: FAQ
  • +Blackinfin Linux: FAQ
  • +build toolchain: FAQ
  • +CPLB fault or SIGABRT: FAQ
  • +DAS U-BOOT FOR BLACKFIN: FAQ
  • +Default ADI release: FAQ
  • +Flash the uImage into Flash: FAQ
  • +gas test: FAQ
  • -gcc-4.3 ICEs: FAQ
    • [#6018] gcc-4.3 ICEs with {interrupt,exception,nmi}_handler function attributes in copyprop_hardreg_forward_1, at regrename.c:1787
  • +gcc.c-torture/execute/memset-2.c: FAQ
  • +gcc.dg/trampoline-1.c test: FAQ
  • +gcc/g++ test: FAQ
  • +gcc/g++ testcase: FAQ
  • +GDB commands: FAQ
  • +gdb.base/sigall.exp: FAQ
  • +gdb.cp/userdef.exp: FAQ
  • +gdb.gdbtk/c_variable.exp: FAQ
  • +GDB: FAQ
  • +gdb: symbol: FAQ
  • +gdbproxy: FAQ
  • +GNU TOOLCHAIN: FAQ
  • +How to load Linux: FAQ
  • +ldr-utils: FAQ
  • +libstdc++-4.3 21_strings/basic_string/capacity/char/18654.cc test: FAQ
  • +LOOP: FAQ
  • +mcpu: FAQ
  • +Parent Document for U-Boot Bug Archive: FAQ
  • +Parent Document for U-Boot Bug Forum Archive: FAQ
  • +Parent for all content moved from GNU Archive: FAQ
  • +prepare_target_solibs: FAQ
  • +SDP-B: FAQ
  • +signal 11: FAQ
  • +sim binutils: FAQ
  • +SPI eeprom: FAQ
  • +svn head u-boot build: FAQ
  • +test libmudflap: FAQ
  • +toolchain-regtest -r: FAQ
  • +toolchain-regtest: FAQ
  • +trunk head gdbproxy: FAQ
  • +trunk toolchain: FAQ
  • +u-boot with UART: FAQ
  • +u-boot: FAQ
  • +uClinux kernel: FAQ
  • +uClinux: FAQ
  • +Upgrade from 3801 to 3852: FAQ
  • +VDSP: FAQ

[#6018] gcc-4.3 ICEs with {interrupt,exception,nmi}_handler function attributes in copyprop_hardreg_forward_1, at regrename.c:1787

[#6018] gcc-4.3 ICEs with {interrupt,exception,nmi}_handler function attributes in copyprop_hardreg_forward_1, at regrename.c:1787

Submitted By: Mike Frysinger

Open Date

2010-05-05 02:17:11     Close Date

2010-07-29 11:20:59

Priority:

Medium High     Assignee:

Vivi Li

Steve Kilbane

Board:

N/A     Silicon Revision:

Resolution:

Fixed     Fixed In Release:

N/A

Processor:

ALL     

Host Operating System:

toolchain rev.:

    kernel rev.:

State:

Closed     Found In Release:

2009R1.1_RC2

Is this bug repeatable?:

yes     

Summary: gcc-4.3 ICEs with {interrupt,exception,nmi}_handler function attributes in copyprop_hardreg_forward_1, at regrename.c:1787

Details:

gcc-4.1.2 compiles this code just fine.  replacing "nmi" with "interrupt" or "exception" results in same thing.

$ cat test.c

__attribute__((nmi_handler)) void evt_nmi(void) {}

$ bfin-uclinux-gcc test.c -c

test.c: In function ‘evt_nmi’:

test.c:1: error: insn does not satisfy its constraints:

(insn 18 17 19 2 test.c:3 (set (reg:BI 34 CC)

        (const_int 1 [0x1])) 12 {movbi} (nil))

test.c:1: internal compiler error: in extract_constrain_insn_cached, at recog.c:1918

Please submit a full bug report,

with preprocessed source if appropriate.

See <URL:http://blackfin.uclinux.org/gf/project/toolchain/tracker> for instructions.

Follow-ups

--- Steve Kilbane                                            2010-05-28 10:57:24

I believe I have a fix for this. I'll run some tests over the weekend.

Patch:

Index: bfin.md

===================================================================

--- bfin.md     (revision 4603)

+++ bfin.md     (working copy)

@@ -540,7 +540,7 @@

})

(define_insn "movbi"

-  [(set (match_operand:BI 0 "nonimmediate_operand"

"=x,x,d,md,C,d,C,P1")

+  [(set (match_operand:BI 0 "nonimmediate_operand"

"=x,x,d,md,C,d,C,C")

         (match_operand:BI 1 "general_operand"

"x,xKs3,md,d,d,C,P0,P1"))]

   ""

--- Robin Getz                                               2010-06-05 20:41:13

Works for me.

rgetz@curly:~/tmp$ cat foo.c

__attribute__((nmi_handler)) void evt_nmi(void) {}

__attribute__((interrupt_handler)) void evt_interrupt(void) {}

__attribute__((exception_handler)) void evt_exception(void) {}

rgetz@curly:~/tmp$ ~/blackfin/trunk/gcc-elf/bin/bfin-elf-gcc -mcpu=bf537-0.3

-O2 -g foo.c -c -o foo.o

00000000 <_evt_nmi>:

__attribute__((nmi_handler)) void evt_nmi(void) {}

   0:   66 01           [--SP] = ASTAT;

   2:   00 e8 00 00     LINK 0x0;               /* (0) */

   6:   01 e8 00 00     UNLINK;

   a:   26 01           ASTAT = [SP++];

   c:   13 00           RTN;

        ...

00000010 <_evt_interrupt>:

__attribute__((interrupt_handler)) void evt_interrupt(void) {}

  10:   66 01           [--SP] = ASTAT;

  12:   00 e8 00 00     LINK 0x0;               /* (0) */

  16:   01 e8 00 00     UNLINK;

  1a:   26 01           ASTAT = [SP++];

  1c:   11 00           RTI;

        ...

00000020 <_evt_exception>:

__attribute__((exception_handler)) void evt_exception(void) {}

  20:   a6 6f           SP += -0xc;             /* (-12) */

  22:   66 01           [--SP] = ASTAT;

  24:   00 e8 00 00     LINK 0x0;               /* (0) */

  28:   01 e8 00 00     UNLINK;

  2c:   26 01           ASTAT = [SP++];

  2e:   66 6c           SP += 0xc;              /* ( 12) */

  30:   12 00           RTX;

Marking as fixed.

Steve: -- you should be able to add something to

gcc-4.3/gcc/testsuite/gcc.target/bfin

to test with the elf compiler:

which has something like:

/* { dg-do compile { target bfin-elf-* } } */

/* { dg-options "-O0" "-O1" "-O2" "-O3"

} */

/* { dg-final { scan-assembler "RTI" } } */

/* { dg-final { scan-assembler "RTE" } } */

/* { dg-final { scan-assembler "RTX" } } */

I think that should to the trick to make sure we notice this if it breaks

again.

Feel free to close things when you add the testcase.

-Robin

--- Sonic Zhang                                              2010-06-07 04:24:03

Hi Steven,

Can you add a new test case for this bug to test suite under gcc?

--- Steve Kilbane                                            2010-07-29 04:11:54

Added tests a while back:

hdlr_except-1.c

hdlr_intr-1.c

hdlr_intr-2.c

hdlr_nmi-1.c

--- Mike Frysinger                                           2010-07-29 11:20:59

sounds good ... thanks !

    Files

    Changes

    Commits

    Dependencies

    Duplicates

    Associations

    Tags

File Name     File Type     File Size     Posted By

No Files Were Found

  • Share
  • History
  • More
  • Cancel
analog-devices logo

About Analog Devices

  • Who We Are
  • Careers
  • Newsroom
  • What We Do (Signals+)
  • Investor RelationsExternalLink
  • Quality & Reliability
  • Sales and Distribution
  • What's New on Analog.com
  • Contact Us

Find Help

  • Support
  • Resources
  • WikiExternalLink
  • Analog Dialogue
  • ADI Developer PortalExternalLink

myAnalog

Interested in the latest news and articles about ADI products, design tools, training, and events?

Go to myAnalog
  • Instagram page
  • Twitter page
  • Linkedin page
  • Youtube page
  • Facebook
  • Legal and Risk
  • Accessibility
  • Privacy Policy
  • Privacy Settings
  • Cookie Settings

©2026 Analog Devices, Inc. All Rights Reserved

analog-devices

About Analog Devices

Down Up
  • Who We Are
  • Careers
  • Newsroom
  • What We Do (Signals+)
  • Investor RelationsExternalLink
  • Quality & Reliability
  • Sales and Distribution
  • What's New on Analog.com
  • Contact Us

Find Help

Down Up
  • Support
  • Resources
  • WikiExternalLink
  • Analog Dialogue
  • ADI Developer PortalExternalLink

myAnalog

Interested in the latest news and articles about ADI products, design tools, training, and events?

Go to myAnalog
Instagram page Facebook Twitter page Linkedin page Youtube page
  • Legal and Risk
  • Accessibility
  • Privacy Policy
  • Privacy Settings
  • Cookie Settings

©2026 Analog Devices, Inc. All Rights Reserved