Jump to content
BulForum.com

Gentoo - Segmentation Fault при компилиране с Gcc


Recommended Posts

Много се извинявам на хората , но повече линукс гурута от форума си знаят езика (все пак им е нужен) и не мога да преведа точно какво ми пишеше ... може да се объркам нещо .

 

well the problem is

I have a program

it compiles and runs Valgrind with no errors under linux x86, with gcc 3.5

however, when compiled on a 64 bit version of linux, it issues over 1 million errors to valgrind, which is the limit it can process, and will just segfault when you execute it

 

ah, and I'm not using any data from the limits.h, neither any of the variables exceed the limits of a 32 bit number of any kind.

 

mostly memory addressing errors.

 

my (the 32 bit) OS is openSUSE 10.3 running the XEN kernel

the 64 bit test system is the university server, running mooshak as shell on Gentoo

 

check for new builds ... there can't be one

 

first, because it's running gcc 3.5

second because my program uses only standard libraries stdio.h stdlib.h and string.h

and lastly because you can't change the server software.

but the server has the newest version

it's automatically kept up to date

it's the same server that hosts linux mirrors for most distributions, nationally

 

:laughing:

Link to comment
Share on other sites

  • 2 weeks later...
Много се извинявам на хората , но повече линукс гурута от форума си знаят езика (все пак им е нужен) и не мога да преведа точно какво ми пишеше ... може да се объркам нещо .

 

well the problem is

I have a program

it compiles and runs Valgrind with no errors under linux x86, with gcc 3.5

however, when compiled on a 64 bit version of linux, it issues over 1 million errors to valgrind, which is the limit it can process, and will just segfault when you execute it

 

:laughing:

 

Проблемът е изцяло в програмата която се компилира. За съжаление не може да се каже каква е грешката без самата програма. Щом valgrind дава грешка, значи проблемът е локализиран, отива се на реда посочен от него и се умува какво се е объркало. Многото грешки вероятно идват от изпълнението на една и съща операция, защото valgrind продължава работа дори след грешки които биха убили програмата. gdb също може да помогне (да отпечата стойностите на променливите).

 

Не забравяй да компилираш с debug support "-g3" и без оптимизации "-O0". Като се замисля добави и "-Wall" така компилатора ще предупреждава за всеки съмнително изглеждащ код.

 

И една подсказка 32bit програми вървят и на 64bit linux. Ако се свържат статично няма да имат нужда и от допълнителни 32bit библиотеки.

Link to comment
Share on other sites

Благодаря , ще му го кажа това като съвет и ще видим до къде ще го закара ... после ако има нещо ще пиша пак .

:laughing:

Link to comment
Share on other sites

  • 5 weeks later...

Всъщност, цялостна поддръжка на х64 при линукс системите до ден днешен няма. Поддръжката е х86_64, което е доста далече от х64 като реализация :)

 

Попитай твоя приятел дали случайно не се е опитал да emerge-не софтуер който е бил маскиран. Обикновенно маскираните пакети имат причина за да бъдат маскирани.

Link to comment
Share on other sites

Всъщност, цялостна поддръжка на х64 при линукс системите до ден днешен няма. Поддръжката е х86_64, което е доста далече от х64 като реализация :)

Изобщо си нямаш на представа какво говориш.

Линукс върви на доста 64 хардуер дълго преди да се появи първия x86_64.

Също така ми е любопитно защо мислиш че x86_64 е непълноценно в някакво отношение спрямо каквото там имаш предвид под x64 (Itanic?).

Link to comment
Share on other sites

Всъщност, цялостна поддръжка на х64 при линукс системите до ден днешен няма. Поддръжката е х86_64, което е доста далече от х64 като реализация :)

 

Това някак си не го разбрах. Как очакваш х86_64 да е истинска 64-битова ОС платформа като самия хардуер, върху която е направена да върви не е такъв? Истински 64-битови Линукс платформи има за съответния истински хардуер - IA64.

Link to comment
Share on other sites

Добре де аз имам 1 въпрос - преди да тръгне да се чуди какво да прави твоя човек направи ли си труда да прочете за каква грешка става дума изобщо. И след като всичко се компилира под x86 може някоя библиотека или функция да трябва да се смени. Аналогични истории съм имал преди време с ASCII/Unicode функциите - слага се условна компилация в зависимост за какво компилираш и готово.

Link to comment
Share on other sites

Добре де аз имам 1 въпрос - преди да тръгне да се чуди какво да прави твоя човек направи ли си труда да прочете за каква грешка става дума изобщо. И след като всичко се компилира под x86 може някоя библиотека или функция да трябва да се смени. Аналогични истории съм имал преди време с ASCII/Unicode функциите - слага се условна компилация в зависимост за какво компилираш и готово.

 

Не само това ами на първо място трябва да е ясно какво изобщо се компилира. Аз лично не можах да разбера от написаното. :blink:

Link to comment
Share on other sites

Не само това ами на първо място трябва да е ясно какво изобщо се компилира. Аз лично не можах да разбера от написаното. :blink:

 

То и аз нищо не можах да разбера, но все пак lil_stenly го е писал - може да се очаква :lol:

 

При всички положения преди някой да може да помогне трябва малко повече информация за самата програма и отделно поне 10тина реда от съобщенията за грешки че да се ориентираме за какво става дума.

 

PS: Ей тва момче го скъсах от бъзик... трябва накрая да взема да го почерпя...

Link to comment
Share on other sites

Писах му на човека , отказал се изобщо да го бара , а техниците по поддръжката , те също не успяли да го оправят ... аз си знам за неразбирането и не виждам с какво си ме базикнал за да ме черпиш после .

:)

Link to comment
Share on other sites

аз си знам за неразбирането и не виждам с какво си ме базикнал за да ме черпиш после . :)

Абе като искат да те черпят мълчи бе!

Сега вече няма да те почерпят, като сам не щеш.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...