mikrocontroller.net

Forum: Compiler & IDEs Warning: expression dangerous with linker stubs


Autor: Markus C. (ljmarkus)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo..

ich bekomme folgende Warnung angezeigt kann damit aber nicht wirklich 
was anfangen.

Compiling C: lib_rdm_in.c
avr-gcc -c -mmcu=atmega8515 -I. -gdwarf-2 -DF_CPU=16000000UL -Os 
-funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall 
-Wstrict-prototypes -Wa,-adhlns=./lib_rdm_in.lst  -std=gnu99 -Wundef 
-MMD -MP -MF .dep/lib_rdm_in.o.d lib_rdm_in.c -o lib_rdm_in.o
C:\DOKUME~1\markus\LOKALE~1\Temp/cc45Ep3L.s: Assembler messages:
C:\DOKUME~1\markus\LOKALE~1\Temp/cc45Ep3L.s:552: Warning: expression 
dangerous with linker stubs
C:\DOKUME~1\markus\LOKALE~1\Temp/cc45Ep3L.s:553: Warning: expression 
dangerous with linker stubs

im Anhang die lib_rdm_in.c


Danke, Markus

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> C:\DOKUME~1\markus\LOKALE~1\Temp/cc45Ep3L.s: Assembler messages:

Das ist eine vom GCC generierte Datei.

Um den Fehler darin nachzuvollziehen, müsste man am besten die Datei 
haben oder sie sich notfalls erzeugen.

Für ersteres ist der Anhang falsch und für zweiteres fehlen Dateien 
(lib_rdm_in.h) und Angaben zur Version der Toolchain.

Autor: Markus C. (ljmarkus)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
hier noch die .h
avr-gcc (GCC) 4.2.2 (WinAVR 20071221)


Danke, Markus

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es handelt sich wohl um diese Stelle, wo bei POS1/POS2 eine der acht 
Spungadressen (L73-L80) ab Label L81 indirekt (ijmp) angesprungen werden 
soll:

.LVL29:
.L70:
.LM84:
  lds r24,RxState
.LVL30:
  ldi r25,lo8(0)
  movw r30,r24
  sbiw r30,1
  cpi r30,8
  cpc r31,__zero_reg__
  brlo .+2
  rjmp .L98
  subi r30,lo8(-(gs(.L81))) ; ### POS1 ###
  sbci r31,hi8(-(gs(.L81))) ; ### POS2 ###
  ijmp
  .data
  .section .progmem.gcc_sw_table, "ax", @progbits
  .p2align 1
.L81:
  .data
  .section .progmem.gcc_sw_table, "ax", @progbits
  .p2align 1
  rjmp .L73
  rjmp .L74
  rjmp .L75
  rjmp .L76
  rjmp .L77
  rjmp .L78
  rjmp .L79
  rjmp .L80


Das Problem ist bekannt
http://osdir.com/ml/hardware.avr.libc.devel/2006-1...

Und sollte in neueren Toolchains weg sein
http://www.avrfreaks.net/index.php?name=PNphpBB2&f...

Bei dem Atmega8515 sollte man die Warnung auch sicher ignorieren können.

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stefan B. wrote:

> Bei dem Atmega8515 sollte man die Warnung auch sicher ignorieren können.

Du kannst die Warnung praktisch immer ignorieren.  Bei neueren
Toolchains wird sie auch einfach nur gar nicht mehr generiert.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.