Fehler beim compilieren / linken branch out of range

OP #2062756
Lesenswert?
• ▲
▼
Hallo zusammen,

ich habe heute ein Update meiner Programmierumgebung gemacht. Und 
bekomme nun einen Fehler den ich nicht kenne. Vermutlich habe ich ein 
problem beim Linken.

Das Projekt konnte ich mit der Vorgänger Version ohne Probleme 
compilieren.

Kann jemand etwas mit der Fehlermeldung branch out of range etwas 
anfangen??? Bin um jede Hilfe dankbar.

MFG codehamster

!E servicecard.s(865): branch out of range
!E servicecard.s(866): symbol 'L75': address changed at phase 3: old 
03DE new 03DC at line 866
!E servicecard.s(893): symbol 'L82': address changed at phase 3: old 
03FC new 03FA at line 893
!E servicecard.s(900): symbol 'L83': address changed at phase 3: old 
0400 new 03FE at line 900
!E servicecard.s(913): symbol 'L79': address changed at phase 3: old 
040C new 040A at line 913
...
...
...
!E servicecard.s(3862): symbol 'L270': address changed at phase 3: old 
172E new 172C at line 3862
C:\iccv7430\bin\imakew.exe: Error code 1
C:\iccv7430\bin\imakew.exe: 'servicecard.o' removed.
OP #2063698
Lesenswert?
• ▲
▼
jemand eine idee?

wenn ich die golbale Optimierung einschalte wird nicht mehr gemeckert...

branch tönt nach einem Sprung, ich verwende keine goto befehle, jedoch 
werden wohl if / else und for Bedingungen auch mit Sprüngen abgebildet.

würde das ganze auch gerne ohne Optimierung kompilieren können.
#2063777
Lesenswert?
• ▲
▼
Fabio S. schrieb:
> Hallo zusammen,
>
> Kann jemand etwas mit der Fehlermeldung branch out of range etwas
> anfangen??? Bin um jede Hilfe dankbar.
>

Relative branches haben oft einen beschraenkten Sprungbereich. Hier 
scheint dieser nicht auszureichen. Vielleicht erzeugt Deine neue 
Tool-Version (wenn ich das bei Dir richtig verstanden habe) groesseren 
Code ?

Moegliche Loesungen:
1) Andere Compiler-Optionen verwenden (z.B. fuer kompakteren code)
2) Module in anderer Reihenfolge zusammenlinken (vielleicht macht das 
die globale Optimierung ?)
3) Branch durch Jump ersezten. Ist bei C code (ist es C code ?) 
natuerlich nicht so einfach.

ZigZeg
OP #2063892
Lesenswert?
• ▲
▼
Hallo Kai,

danke für die Tipps. Ich werde Sie verfolgen. Allenfalls diese 
Monsterfunktion in kleinere Pakete unterteilen. Ist ein älteres Projekt 
dass ich wieder hervorholen musste und nun mit dem neuen Compiler so 
nicht mehr funktioniert. Aber der wird ja aus gutem Grund meckern. Somit 
versuche ich erstmal die unschöne Monsterfunktion in kleinere 
unterfunktionen zu zerlegen. Ev. funktionierts ja dann.

MFG Codehamster

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.